@redsift/products 12.5.1 → 12.5.2-alpha.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.
- package/_internal/ChartSankey.js +1 -1
- package/_internal/SignalCardSpfDomain.js +14 -2
- package/_internal/SignalCardSpfDomain.js.map +1 -1
- package/_internal/bimi-checker.js +1 -1
- package/_internal/signal-cards.js +33 -5
- package/_internal/signal-cards.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +1 -1
- package/package.json +6 -6
- package/signal-cards.d.ts +3 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { aA as withSignalCardTheme, az as SignalCardBimi$1, ax as SignalCardDmarcDomain$1, ay as SignalCardSpfDomain$1 } from './SignalCardSpfDomain.js';
|
|
2
2
|
export { S as SignalCardThemeProvider, a as useResolvedTheme, u as useSignalCardTheme } from './SignalCardSpfDomain.js';
|
|
3
3
|
export { BIMI_CHECKER_SIGNAL_TYPES, CARD_STATUS, SIGNAL_TYPES, STATUS_COLORS, STATUS_ICONS, STATUS_ICON_STYLES, getStatusColor, getStatusIcon, getStatusIconStyle, isCardStatus, isFailureStatus, isSuccessStatus, isWarningStatus, mapStatusToDetailedCardColor, normalizeStatus } from '@redsift/signal-logic';
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as ARecord,
|
|
1
|
+
import { a7 as signalCardsLogger, a8 as useSignalCardTranslation, a9 as useCollapseController, aa as adaptAmpExtractor, ab as ExtractedCategoryContent, ac as Checklist, ad as SignalCardNormal, ae as EXTRACTION_CAPTION_KEYS, af as adaptDkimExtractor, ag as useMultiNamespaceTranslation, ah as adaptDomainAnalyzerDkimExtractor, ai as COLOR, aj as parseGlossaryMarkdown, ak as TooltipInPortalWrapper, al as FONT, am as adaptDmarcExtractor, an as DmarcPromoBanner, ao as adaptDnssecExtractor, ap as adaptFcrdnsExtractor, aq as adaptMtaStsExtractor, ar as adaptSpfExtractor, E as Ehlo, R as ReturnPath, as as adaptDomainAnalyzerSpfExtractor, at as adaptSubdoExtractor, au as adaptThreatIntelligenceExtractor, av as adaptTlsExtractor, aw as adaptUrlsExtractor, ax as SignalCardDmarcDomain$1, ay as SignalCardSpfDomain$1, az as SignalCardBimi$1, a as useResolvedTheme, S as SignalCardThemeProvider, aA as withSignalCardTheme } from './SignalCardSpfDomain.js';
|
|
2
|
+
export { A as ARecord, Q as ATAG, I as BimiRecord, M as CMC, i as Canonicalization, H as CipherSuite, C as CnameRecord, D as Dkim, m as DkimAlgorithm, w as DkimAlignment, h as DkimSelector, k as DkimSignature, s as DkimSigningDomain, U as Dmarc, J as DmarcCompliant, n as DmarcPolicy, E as Ehlo, F as From, a6 as GLOSSARY_ICON_MAP, G as GlossaryTerm, N as ITAG, K as KeyLength, a0 as MaxAge, _ as Mode, a1 as MtaStsCertificate, a3 as MtaStsCertificateCnameName, a5 as MtaStsCertificateCnameType, a4 as MtaStsCertificateCnameValue, a2 as MtaStsCertificateExpiry, Y as MtaStsPolicyFile, X as MtaStsRecord, $ as Mx, O as OrganizationalDomain, o as Pct, P as PtrRecord, R as ReturnPath, q as Rua, r as Ruf, L as SVG, b as SenderIp, S as SignalCardThemeProvider, j as SignedHeaders, f as SignerDomain, p as Sp, y as Spf, x as SpfAlignment, t as SpfDomain, d as SpfRecord, B as Ssl, v as SubdomainPolicy, z as Tls, W as TlsRptRecord, l as Ttl, T as TxtRecord, e as TxtRecords, V as VMC, Z as Version, c as createGlossaryLink, g as glossaryLabelIds, a as useResolvedTheme, u as useSignalCardTheme } from './SignalCardSpfDomain.js';
|
|
3
3
|
import { DKIM_KEY, extractGoogleYahooComplianceData, statusToTranslationKey, buildSPFCheckerLink, getSpfPassResult, SUBDO_CARD_STATUS, SIGNAL_TYPES, BIMI_CHECKER_SIGNAL_TYPES, DOMAIN_ANALYZER_SIGNAL_TYPES, SIGNAL_CARD_POSITIONS, STATUS_ICON_STYLES, getCanonicalSignalType, DEFAULT_PRIORITY_SIGNAL_TYPES, getSignalStatus } from '@redsift/signal-logic';
|
|
4
4
|
export { BIMI_CHECKER_SIGNAL_TYPES, CARD_STATUS, DOMAIN_ANALYZER_SIGNAL_TYPES, PUBLIC_INVESTIGATE_SIGNAL_TYPES, SIGNAL_TYPES, getSignalStatus } from '@redsift/signal-logic';
|
|
5
5
|
import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
|
|
@@ -1689,6 +1689,19 @@ function hasReportWarnings(dmarc) {
|
|
|
1689
1689
|
return getTranslatableReportWarnings(dmarc).length > 0;
|
|
1690
1690
|
}
|
|
1691
1691
|
|
|
1692
|
+
/**
|
|
1693
|
+
* Returns true when the subdomain has no own DMARC TXT record but inherits
|
|
1694
|
+
* a policy from its organisational (parent) domain.
|
|
1695
|
+
*/
|
|
1696
|
+
function isInheritedPolicy(dmarc) {
|
|
1697
|
+
if (!dmarc) return false;
|
|
1698
|
+
if (dmarc.result !== 'none' || !dmarc.policy) return false;
|
|
1699
|
+
if (!dmarc.policyDomain || !dmarc.fromDomain) return false;
|
|
1700
|
+
// policyDomain is e.g. '_dmarc.redsift.io', fromDomain is 'sub.redsift.io'
|
|
1701
|
+
const orgDomain = dmarc.policyDomain.replace(/^_dmarc\./, '');
|
|
1702
|
+
return orgDomain !== dmarc.fromDomain;
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1692
1705
|
/**
|
|
1693
1706
|
* DmarcSummaryBoxes renders two side-by-side summary boxes for the DMARC card.
|
|
1694
1707
|
*
|
|
@@ -1699,7 +1712,7 @@ function hasReportWarnings(dmarc) {
|
|
|
1699
1712
|
* On smaller viewports (≤765px) the boxes stack vertically.
|
|
1700
1713
|
*/
|
|
1701
1714
|
function DmarcSummaryBoxes(_ref2) {
|
|
1702
|
-
var _dmarc$policy$pct, _dmarc$policy2, _dmarc$policy3, _dmarc$policy3$rua, _dmarc$raw2;
|
|
1715
|
+
var _dmarc$policy$pct, _dmarc$policy2, _dmarc$policy3, _dmarc$policy3$rua, _dmarc$raw2, _dmarc$policyDomain$r, _dmarc$policyDomain;
|
|
1703
1716
|
let {
|
|
1704
1717
|
dmarc,
|
|
1705
1718
|
isDomainAnalyzer = false,
|
|
@@ -1710,6 +1723,8 @@ function DmarcSummaryBoxes(_ref2) {
|
|
|
1710
1723
|
const pct = (_dmarc$policy$pct = dmarc === null || dmarc === void 0 ? void 0 : (_dmarc$policy2 = dmarc.policy) === null || _dmarc$policy2 === void 0 ? void 0 : _dmarc$policy2.pct) !== null && _dmarc$policy$pct !== void 0 ? _dmarc$policy$pct : 100;
|
|
1711
1724
|
const reportWarnings = hasReportWarnings(dmarc);
|
|
1712
1725
|
const hasRua = Boolean(dmarc === null || dmarc === void 0 ? void 0 : (_dmarc$policy3 = dmarc.policy) === null || _dmarc$policy3 === void 0 ? void 0 : (_dmarc$policy3$rua = _dmarc$policy3.rua) === null || _dmarc$policy3$rua === void 0 ? void 0 : _dmarc$policy3$rua.length) || /(?:^|;\s*)rua\s*=\s*mailto:/i.test((_dmarc$raw2 = dmarc === null || dmarc === void 0 ? void 0 : dmarc.raw) !== null && _dmarc$raw2 !== void 0 ? _dmarc$raw2 : '');
|
|
1726
|
+
const inherited = isInheritedPolicy(dmarc);
|
|
1727
|
+
const orgDomain = (_dmarc$policyDomain$r = dmarc === null || dmarc === void 0 ? void 0 : (_dmarc$policyDomain = dmarc.policyDomain) === null || _dmarc$policyDomain === void 0 ? void 0 : _dmarc$policyDomain.replace(/^_dmarc\./, '')) !== null && _dmarc$policyDomain$r !== void 0 ? _dmarc$policyDomain$r : '';
|
|
1713
1728
|
const getDomainBody = state => {
|
|
1714
1729
|
// When reject-full has report warnings, use a combined summary that replaces
|
|
1715
1730
|
// specific problem details with a concise impact statement.
|
|
@@ -1773,6 +1788,12 @@ function DmarcSummaryBoxes(_ref2) {
|
|
|
1773
1788
|
}).join(' ');
|
|
1774
1789
|
body = `${body} ${warnings}`;
|
|
1775
1790
|
}
|
|
1791
|
+
if (inherited) {
|
|
1792
|
+
const prefix = t('card.dmarc.summary-domain-inherited-prefix', {
|
|
1793
|
+
orgDomain
|
|
1794
|
+
});
|
|
1795
|
+
body = `${prefix} ${body}`;
|
|
1796
|
+
}
|
|
1776
1797
|
return body;
|
|
1777
1798
|
};
|
|
1778
1799
|
const getEmailBody = state => {
|
|
@@ -3722,7 +3743,8 @@ const SignalListSection = /*#__PURE__*/memo(function SignalListSection(_ref) {
|
|
|
3722
3743
|
})));
|
|
3723
3744
|
});
|
|
3724
3745
|
|
|
3725
|
-
const _excluded = ["signals", "error", "isCardEnabledMap", "prioritySignalTypes", "initialSelectedSignalType", "onSelectSignalType", "renderCardHeader", "cardPromoHref", "renderCardFooter", "prioritySectionHeading", "remainingSectionHeading", "useInvestigateColors", "isCollapsible", "areAllCollapsed", "onCollapseAll", "recommendations", "recommendationsLoading", "showRecommendations", "recommendationsCTA", "onExpandSignalCard", "onCheckAnotherEmail", "renderHeaderAction", "className"]
|
|
3746
|
+
const _excluded = ["signals", "error", "isCardEnabledMap", "prioritySignalTypes", "initialSelectedSignalType", "onSelectSignalType", "renderCardHeader", "cardPromoHref", "renderCardFooter", "prioritySectionHeading", "remainingSectionHeading", "useInvestigateColors", "isCollapsible", "areAllCollapsed", "onCollapseAll", "recommendations", "recommendationsLoading", "showRecommendations", "recommendationsCTA", "onExpandSignalCard", "onCheckAnotherEmail", "renderHeaderAction", "className"],
|
|
3747
|
+
_excluded2 = ["shortDescription", "longDescription", "introDescription"];
|
|
3726
3748
|
const COMPONENT_NAME = 'SignalCardList';
|
|
3727
3749
|
const CLASSNAME = 'redsift-signal-card-list';
|
|
3728
3750
|
const SignalCardList$1 = /*#__PURE__*/forwardRef(function SignalCardList(_ref, ref) {
|
|
@@ -3997,6 +4019,12 @@ const SignalCardList$1 = /*#__PURE__*/forwardRef(function SignalCardList(_ref, r
|
|
|
3997
4019
|
} = summary;
|
|
3998
4020
|
const isSelected = signal.signalType === activeSignalType;
|
|
3999
4021
|
if (!CardComponent) return null;
|
|
4022
|
+
|
|
4023
|
+
// Strip consumer-provided descriptions so each card uses its own DS translations
|
|
4024
|
+
// (synced with @redsift/signal-logic). Without this, consumers like ondmarc pass
|
|
4025
|
+
// i18next values that override the DS translations via SignalCardNormal's ?? fallback,
|
|
4026
|
+
// which can result in empty "Show more" content when the consumer lacks translations.
|
|
4027
|
+
const signalProps = _objectWithoutProperties(signal, _excluded2);
|
|
4000
4028
|
return /*#__PURE__*/React__default.createElement(StyledCardWrapper, {
|
|
4001
4029
|
key: signal.signalType,
|
|
4002
4030
|
style: {
|
|
@@ -4004,7 +4032,7 @@ const SignalCardList$1 = /*#__PURE__*/forwardRef(function SignalCardList(_ref, r
|
|
|
4004
4032
|
}
|
|
4005
4033
|
}, /*#__PURE__*/React__default.createElement(StyledCardContainer, null, /*#__PURE__*/React__default.createElement(SignalCardErrorBoundary, {
|
|
4006
4034
|
signalType: signal.signalType
|
|
4007
|
-
}, /*#__PURE__*/React__default.createElement(CardComponent, _extends({},
|
|
4035
|
+
}, /*#__PURE__*/React__default.createElement(CardComponent, _extends({}, signalProps, {
|
|
4008
4036
|
domain: (_ref7 = (_signal$jmap$extsecre = (_signal$jmap4 = signal.jmap) === null || _signal$jmap4 === void 0 ? void 0 : (_signal$jmap4$extsecr = _signal$jmap4.extsecrep) === null || _signal$jmap4$extsecr === void 0 ? void 0 : (_signal$jmap4$extsecr2 = _signal$jmap4$extsecr.dmarc) === null || _signal$jmap4$extsecr2 === void 0 ? void 0 : _signal$jmap4$extsecr2.fromDomain) !== null && _signal$jmap$extsecre !== void 0 ? _signal$jmap$extsecre : (_signal$jmap5 = signal.jmap) === null || _signal$jmap5 === void 0 ? void 0 : (_signal$jmap5$extsecr = _signal$jmap5.extsecrep) === null || _signal$jmap5$extsecr === void 0 ? void 0 : (_signal$jmap5$extsecr2 = _signal$jmap5$extsecr.spf) === null || _signal$jmap5$extsecr2 === void 0 ? void 0 : _signal$jmap5$extsecr2.domain) !== null && _ref7 !== void 0 ? _ref7 : undefined,
|
|
4009
4037
|
onHeightChange: noopHeightChange,
|
|
4010
4038
|
renderHeader: renderCardHeader ? () => renderCardHeader(signal) : undefined,
|