UNPKG

@peculiar/fortify-webcomponents

Version:

Web-components for creating CSR or Certificate and viewing certificates list using Fortify

533 lines (510 loc) 93.1 kB
/*! * © Peculiar Ventures https://peculiarventures.com/ - BSD 3-Clause License */ 'use strict'; var index = require('./index-C-N1xkRB.js'); var ssh_certificate = require('./ssh_certificate-ClDh-FAQ.js'); var x509_crl = require('./x509_crl-ePTz18Qg.js'); var miscellaneous = require('./miscellaneous-B2N65fym.js'); var typography = require('./typography-BzZd2J3Y.js'); var utils = require('./utils-DSHncyfG.js'); var button = require('./button-CdL8Icyk.js'); var download = require('./download-DTvpTQTZ.js'); /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const BasicAttribute = (props, children) => { const { attribute } = props; return ([ index.h(miscellaneous.RowValue, { name: "Name", value: miscellaneous.getStringByOID(attribute.asn.type) }), children, index.h("tr", null, index.h("td", { colSpan: 2, class: "divider" }, index.h("span", null))), ]); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // eslint-disable-next-line @typescript-eslint/no-explicit-any const NamePart = (props) => { const { name } = props; if (!name) { return null; } return name.map((relativeDistinguishedName) => (relativeDistinguishedName.map((attributeTypeAndValue) => (index.h(miscellaneous.RowValue, { name: ssh_certificate.OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type, value: attributeTypeAndValue.value.toString() }))))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const NameAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(NamePart, { name: attribute.value }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const ActivityDescriptionAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('codeAuthority'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: attribute.value.codeAuthority, getDNSNameLink: () => '', getIPAddressLink: () => '' })), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('codeId'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: attribute.value.codeId, getDNSNameLink: () => '', getIPAddressLink: () => '' })), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('shortName'), value: attribute.value.shortName }), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('shortDescription'), value: attribute.value.shortDescription }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const WebGdprAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('assessmentAuthority'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: attribute.value.assessmentAuthority, getDNSNameLink: () => '', getIPAddressLink: () => '' })), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('assessmentLocation'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: attribute.value.assessmentLocation, getDNSNameLink: () => '', getIPAddressLink: () => '' })), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('assessmentRef'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: attribute.value.assessmentRef, getDNSNameLink: () => '', getIPAddressLink: () => '' })), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('dataStorageTerritory'), value: attribute.value.dataStorageTerritory }), index.h(miscellaneous.RowValue, { name: miscellaneous.camelCaseToWords('description'), value: attribute.value.description }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const InsuranceValueAttribute = (props) => { const { attribute } = props; const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Value", value: value }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const TypeRelationshipAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, Object.keys(attribute.value).map((keyName) => (index.h(miscellaneous.RowValue, { name: keyName, value: attribute.value[keyName].toNumber() ? ssh_certificate.l10n.getString('yes') : ssh_certificate.l10n.getString('no') }))))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const getValueRank = (value) => { let ratio = 1; if (value / 100 > 1) { ratio = 100; } else if (value / 10 > 1) { ratio = 10; } return `${value}/${5 * ratio}`; }; const ValuationRankingAttribute = (props) => { const { attribute } = props; const values = Object.keys(attribute.value).map((keyName) => ([ getValueRank(attribute.value[keyName]), index.h("br", null), ])); return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Value", value: values }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const AsStringAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Value", value: attribute.value, monospace: true }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const UnstructuredNameAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Value", value: attribute.value.utf8String }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const ChallengePasswordAttribute = (props) => { const { attribute } = props; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Value", value: attribute.value.toString() }))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const ExtensionRequestAttribute = (props) => { const { attribute } = props; let extensions; if (attribute.value) { extensions = attribute.value.map((e) => new utils.Extension(ssh_certificate.AsnConvert.serialize(e))); } return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.Extensions, { extensions: extensions, getDNSNameLink: () => '', getIPAddressLink: () => '', getLEILink: () => '' })))); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const PrivateKeyPossessionStatementAttribute = (props) => { const { attribute } = props; const certificateRaw = attribute.value.cert ? ssh_certificate.AsnConvert.serialize(attribute.value.cert) : null; return (index.h(BasicAttribute, { attribute: attribute }, index.h(miscellaneous.RowValue, { name: "Serial Number", value: ssh_certificate.buildExports.Convert.ToHex(attribute.value.signer.serialNumber), monospace: true }), index.h(miscellaneous.RowValue, { name: "Issuer", value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(NamePart, { name: attribute.value.signer.issuer })), certificateRaw && [ index.h(miscellaneous.RowValue, { name: "Certificate", value: "" }), index.h(miscellaneous.TableRowTable, null, index.h("peculiar-certificate-viewer", { certificate: ssh_certificate.buildExports.Convert.ToBase64(certificateRaw) })), ])); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const Attributes = (props) => { const { attributes } = props; if (!attributes || !attributes.length) { return null; } return ([ index.h(miscellaneous.RowTitle, { value: "Attributes" }), attributes.map((attribute) => { try { if (attribute.value instanceof ssh_certificate.Name$1) { return (index.h(NameAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.ExtensionRequest) { return (index.h(ExtensionRequestAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.ActivityDescription) { return (index.h(ActivityDescriptionAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.WebGDPR) { return (index.h(WebGdprAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.InsuranceValue) { return (index.h(InsuranceValueAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.TypeRelationship) { return (index.h(TypeRelationshipAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.ValuationRanking) { return (index.h(ValuationRankingAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.UnstructuredName) { return (index.h(UnstructuredNameAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.ChallengePassword) { return (index.h(ChallengePasswordAttribute, { attribute: attribute })); } if (attribute.value instanceof ssh_certificate.PrivateKeyPossessionStatement) { return (index.h(PrivateKeyPossessionStatementAttribute, { attribute: attribute })); } if (typeof attribute.value === 'string') { return (index.h(AsStringAttribute, { attribute: attribute })); } return (index.h(BasicAttribute, { attribute: attribute })); } catch (_a) { console.error('Error render attribute:', attribute.asn.type); return null; } }), ]); }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const RevokedCertificates = (props) => { const { revokedCertificates, getDNSNameLink, getIPAddressLink, } = props; if (!revokedCertificates || !revokedCertificates.length) { return null; } return [ index.h(miscellaneous.RowTitle, { value: ssh_certificate.l10n.getString('revokedCertificates') }), revokedCertificates.map((certificate) => ([ index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('serialNumber'), value: ssh_certificate.buildExports.Convert.ToHex(certificate.userCertificate), monospace: true }), index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('revocationDate'), value: ssh_certificate.dateShort(certificate.revocationDate.getTime()) }), (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([ index.h(miscellaneous.RowValue, { name: `${ssh_certificate.l10n.getString('crlEntryExtensions')}:`, value: "" }), index.h(miscellaneous.TableRowTable, null, certificate.crlEntryExtensions.map((extension) => { if (extension.value instanceof ssh_certificate.CRLReason) { return (index.h(miscellaneous.RowValue, { name: miscellaneous.getStringByOID(extension.asn.extnID), value: extension.value.toJSON() || extension.value.reason })); } if (extension.value instanceof ssh_certificate.InvalidityDate) { return (index.h(miscellaneous.RowValue, { name: miscellaneous.getStringByOID(extension.asn.extnID), value: extension.value.value.getTime() })); } if (extension.value instanceof ssh_certificate.CertificateIssuer && extension.value.length) { return ([ index.h(miscellaneous.RowValue, { name: `${miscellaneous.getStringByOID(extension.asn.extnID)}:`, value: "" }), extension.value.map((gn) => (index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.GeneralNamePart, { generalName: gn, getDNSNameLink: getDNSNameLink, getIPAddressLink: getIPAddressLink })))), ]); } return (index.h(miscellaneous.RowValue, { name: miscellaneous.getStringByOID(extension.asn.extnID), value: ssh_certificate.buildExports.Convert.ToHex(extension.asn.extnValue), monospace: true })); })), ])), index.h("tr", null, index.h("td", { colSpan: 2, class: "divider" }, index.h("span", null))), ])), ]; }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const Holder = (props) => { const { holder } = props; if (!holder) { return null; } const { baseCertificateID, objectDigestInfo } = holder; return [ index.h(miscellaneous.RowTitle, { value: ssh_certificate.l10n.getString('holder') }), baseCertificateID && ([ baseCertificateID.issuer.map((item) => (index.h(miscellaneous.GeneralNamePart, { generalName: item, getDNSNameLink: () => '', getIPAddressLink: () => '' }))), index.h("tr", null, index.h("td", null), index.h("td", null)), index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('serialNumber'), value: ssh_certificate.buildExports.Convert.ToHex(baseCertificateID.serial), monospace: true }), index.h("tr", null, index.h("td", null), index.h("td", null)), ]), objectDigestInfo && ([ index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('digestInfo'), value: "" }), index.h(miscellaneous.TableRowTable, null, index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('algorithm'), value: miscellaneous.getStringByOID(objectDigestInfo.digestAlgorithm.algorithm) }), index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('value'), value: ssh_certificate.buildExports.Convert.ToHex(objectDigestInfo.objectDigest), monospace: true }), index.h(miscellaneous.RowValue, { name: ssh_certificate.l10n.getString('type'), value: objectDigestInfo.digestedObjectType })), ]), ]; }; /*! * © Peculiar Ventures https://peculiarventures.com/ - MIT License */ /** * @license * Copyright (c) Peculiar Ventures, LLC. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const Issuer = (props) => { const { issuer } = props; if (!issuer) { return null; } return [ index.h(miscellaneous.RowTitle, { value: ssh_certificate.l10n.getString('issuer') }), issuer.map((item) => (index.h(miscellaneous.GeneralNamePart, { generalName: item, getDNSNameLink: () => '', getIPAddressLink: () => '' }))), ]; }; const certificateViewerCss$3 = () => `*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:calc(var(--pv-size-base) * 6);min-width:calc(var(--pv-size-base) * 6);padding:0 calc(var(--pv-size-base) * 2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:calc(var(--pv-size-base) * 2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word;--pv-certificate-viewer-td-horizontal-padding:calc(var(--pv-size-base) * 4)}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:calc(var(--pv-size-base) * 2) var(--pv-certificate-viewer-td-horizontal-padding);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:calc(var(--pv-size-base) * 2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:calc(var(--pv-size-base) * 6);padding-bottom:calc(var(--pv-size-base) * 2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:calc(var(--pv-size-base) * 2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:calc(var(--pv-size-base) * 6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-certificate-viewer-td-horizontal-padding)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-certificate-viewer-td-horizontal-padding);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}`; const AttributeCertificateViewer = class { constructor(hostRef) { index.registerInstance(this, hostRef); /** * Mobile media query string to control screen view change. * <br /> * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia. * @example * (max-width: 900px) */ this.mobileMediaQueryString = '(max-width: 900px)'; this.mobileScreenView = false; this.isDecodeInProcess = true; this.getAuthKeyIdParentLink = (value) => { var _a; return (_a = this.authKeyIdParentLink) === null || _a === void 0 ? void 0 : _a.replace('{{authKeyId}}', value); }; this.getAuthKeyIdSiblingsLink = (value) => { var _a; return (_a = this.authKeyIdSiblingsLink) === null || _a === void 0 ? void 0 : _a.replace('{{authKeyId}}', value); }; this.getSubjectKeyIdChildrenLink = (value) => { var _a; return (_a = this.subjectKeyIdChildrenLink) === null || _a === void 0 ? void 0 : _a.replace('{{subjectKeyId}}', value); }; this.getSubjectKeyIdSiblingsLink = (value) => { var _a; return (_a = this.subjectKeyIdSiblingsLink) === null || _a === void 0 ? void 0 : _a.replace('{{subjectKeyId}}', value); }; } handleMediaQueryChange(event) { this.mobileScreenView = event.matches; } componentWillLoad() { this.decodeCertificate(this.certificate); { this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString); this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this)); this.mobileScreenView = this.mobileMediaQuery.matches; } } disconnectedCallback() { this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this)); } async decodeCertificate(certificate) { this.isDecodeInProcess = true; try { if (certificate instanceof x509_crl.X509AttributeCertificate) { this.certificateDecoded = certificate; } else if (typeof certificate === 'string') { this.certificateDecoded = new x509_crl.X509AttributeCertificate(certificate); } else { return; } this.certificateDecoded.parseExtensions(); this.certificateDecoded.parseAttributes(); await this.certificateDecoded.getThumbprint('SHA-1'); await this.certificateDecoded.getThumbprint('SHA-256'); } catch (error) { this.certificateDecodeError = error; console.error('Error certificate parse:', error); } this.isDecodeInProcess = false; } /** * Rerun decodeCertificate if previuos value not equal current value */ watchCertificateAndDecode(newValue, oldValue) { if (typeof newValue === 'string' && typeof oldValue === 'string') { if (newValue !== oldValue) { this.decodeCertificate(newValue); } return; } if (newValue instanceof x509_crl.X509AttributeCertificate && oldValue instanceof x509_crl.X509AttributeCertificate) { if (newValue.serialNumber !== oldValue.serialNumber) { this.decodeCertificate(newValue); } } } renderErrorState() { return (index.h("div", { class: "status_wrapper" }, index.h(typography.Typography, null, "There was an error decoding this attribute certificate."))); } renderEmptyState() { return (index.h("div", { class: "status_wrapper" }, index.h(typography.Typography, null, "There is no attribute certificate available."))); } render() { if (this.certificateDecodeError) { return this.renderErrorState(); } if (!this.certificateDecoded) { return this.renderEmptyState(); } return (index.h(index.Host, { "data-mobile-screen-view": String(this.mobileScreenView) }, index.h("table", null, index.h(miscellaneous.BasicInformation, Object.assign({}, this.certificateDecoded)), index.h(Issuer, { issuer: this.certificateDecoded.issuer }), index.h(Holder, { holder: this.certificateDecoded.holder }), index.h(miscellaneous.Signature, { signature: this.certificateDecoded.signature }), index.h(miscellaneous.Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), index.h(Attributes, { attributes: this.certificateDecoded.attributes, getLEILink: miscellaneous.getLEILink, getDNSNameLink: miscellaneous.getDNSNameLink, getIPAddressLink: miscellaneous.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), index.h(miscellaneous.Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: miscellaneous.getLEILink, getDNSNameLink: miscellaneous.getDNSNameLink, getIPAddressLink: miscellaneous.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), this.download && (index.h(miscellaneous.Miscellaneous, { certificate: this.certificateDecoded }))))); } static get watchers() { return { "certificate": ["watchCertificateAndDecode"] }; } }; AttributeCertificateViewer.style = certificateViewerCss$3(); const certificateChainViewerCss = () => `*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:calc(var(--pv-size-base) * 6);min-width:calc(var(--pv-size-base) * 6);padding:0 calc(var(--pv-size-base) * 2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:calc(var(--pv-size-base) * 2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word;--pv-certificate-viewer-td-horizontal-padding:calc(var(--pv-size-base) * 4)}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table tr:last-child .divider{display:none}table td{padding:calc(var(--pv-size-base) * 2) var(--pv-certificate-viewer-td-horizontal-padding);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:calc(var(--pv-size-base) * 2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:calc(var(--pv-size-base) * 6);padding-bottom:calc(var(--pv-size-base) * 2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:calc(var(--pv-size-base) * 2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:calc(var(--pv-size-base) * 6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-certificate-viewer-td-horizontal-padding)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-certificate-viewer-td-horizontal-padding);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}:host{display:block;width:100%}.tabs{white-space:nowrap;overflow-x:auto;border-bottom:1px solid var(--pv-color-gray-4);padding:0 calc(var(--pv-size-base) * 4);margin-bottom:calc(var(--pv-size-base) * 6)}.tab{font-family:inherit;outline:none;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;border-bottom:3px solid transparent;min-height:calc(var(--pv-size-base) * 12);height:100%;padding:0 calc(var(--pv-size-base) * 3);background-color:transparent;-webkit-transition:background-color 200ms, color 200ms, border-color 200ms;transition:background-color 200ms, color 200ms, border-color 200ms;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing);color:var(--pv-color-gray-10)}.tab:hover{background-color:var(--pv-color-secondary-tint-5)}.tab[aria-selected=true]{color:var(--pv-color-black);border-color:var(--pv-color-secondary)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}`; const CertificateChainViewer = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.selectedCertificateIndex = 0; } renderEmptyState() { return (index.h("div", { class: "status_wrapper" }, index.h(typography.Typography, null, "There is no certificates available."))); } render() { if (!this.certificates) { return this.renderEmptyState(); } return (index.h(index.Host, null, index.h("div", { role: "tablist", class: "tabs" }, Array.from(this.certificates).map((certificate, index$1) => (index.h("button", { type: "button", role: "tab", class: "tab", "aria-selected": index$1 === this.selectedCertificateIndex ? 'true' : 'false', onClick: () => { this.selectedCertificateIndex = index$1; } }, certificate.commonName)))), Array.from(this.certificates).map((certificate, index$1) => { if (index$1 === this.selectedCertificateIndex) { return (index.h("peculiar-certificate-viewer", { certificate: certificate, download: false })); } return null; }), index.h("table", null, this.download && (index.h(miscellaneous.Miscellaneous, { certificate: this.certificates }))))); } }; CertificateChainViewer.style = certificateChainViewerCss(); const certificateViewerCss$2 = () => `*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-seconda