@redsift/products 12.5.13-muiv6 → 12.5.13
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/bimi-checker.d.ts +92 -92
- package/index.d.ts +292 -292
- package/package.json +2 -2
- package/signal-cards.d.ts +292 -292
package/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as _redsift_design_system from '@redsift/design-system';
|
|
|
4
4
|
import { ButtonColor, Theme, ValueOf, ContainerProps, HeadingProps, IconProps, StylingProps, Comp, ButtonProps } from '@redsift/design-system';
|
|
5
5
|
import * as _redsift_pickers from '@redsift/pickers';
|
|
6
6
|
import { ItemProps, MenuButtonProps, MenuButtonContentProps, MenuButtonContentHeaderProps, MenuButtonContentMenuProps } from '@redsift/pickers';
|
|
7
|
-
import {
|
|
7
|
+
import { RecommendationsData, JmapProps, DmarcProps, DkimProps, SpfProps, EhloProps, FcrdnsProps, EhloCheckProps, TlsProps, DmarcDomainData, DomainAnalyzerSpfProps, DomainAnalyzerDkimProps, MtaProps, ExtsecrepProps, DnsSecurityProps, InvestigateProps } from '@redsift/signal-logic';
|
|
8
8
|
export { BIMI_CHECKER_SIGNAL_TYPES, BimiCheckerSignalType, CARD_STATUS, DOMAIN_ANALYZER_SIGNAL_TYPES, DomainAnalyzerSignalType, PUBLIC_INVESTIGATE_SIGNAL_TYPES, PublicInvestigateSignalType, RecommendationSignal, RecommendationsAnalysis, RecommendationsData, SIGNAL_TYPES, SignalType, getSignalStatus } from '@redsift/signal-logic';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -220,6 +220,132 @@ declare const RadarSimpleMenuButton: Comp<Omit<MenuButtonProps, 'children'> & {
|
|
|
220
220
|
icon?: Omit<IconProps, 'ref'>;
|
|
221
221
|
} & Pick<MenuButtonContentMenuProps, 'children'>, HTMLDivElement>;
|
|
222
222
|
|
|
223
|
+
type SignalData = {
|
|
224
|
+
signalType: string;
|
|
225
|
+
jmap?: {
|
|
226
|
+
extsecrep?: Record<string, any>;
|
|
227
|
+
[key: string]: unknown;
|
|
228
|
+
};
|
|
229
|
+
shortDescription?: unknown;
|
|
230
|
+
[key: string]: unknown;
|
|
231
|
+
};
|
|
232
|
+
type ErrorLike = {
|
|
233
|
+
name?: string;
|
|
234
|
+
message?: string;
|
|
235
|
+
stack?: string;
|
|
236
|
+
};
|
|
237
|
+
type CardEnabledOverrides = Record<string, boolean | undefined>;
|
|
238
|
+
interface SignalCardListProps extends Omit<ComponentProps<'div'>, 'children'> {
|
|
239
|
+
/** Array of signal data objects containing DMARC, DKIM, SPF information */
|
|
240
|
+
signals?: SignalData[];
|
|
241
|
+
/** Error object to display if signal loading fails */
|
|
242
|
+
error?: ErrorLike | null;
|
|
243
|
+
/** Map of signal types to enabled/disabled state */
|
|
244
|
+
isCardEnabledMap?: CardEnabledOverrides;
|
|
245
|
+
/** Signal types to display in the priority section (shown first). Defaults to DMARC, DKIM, SPF */
|
|
246
|
+
prioritySignalTypes?: string[];
|
|
247
|
+
/** Initial selected signal type for external selection control */
|
|
248
|
+
initialSelectedSignalType?: string | null;
|
|
249
|
+
/** Callback when a signal card is selected */
|
|
250
|
+
onSelectSignalType?: (signalType: string) => void;
|
|
251
|
+
/** Custom header renderer for adding content at the top of each card, after the title */
|
|
252
|
+
renderCardHeader?: (signal: SignalData) => React.ReactNode;
|
|
253
|
+
/** Override the promo banner button href on all cards and the email provider banner CTA link (e.g. to add UTM parameters). For per-card promo banners, only used when renderCardHeader is not provided. Defaults to the OnDMARC signup URL (`https://iam.redsift.cloud/signup?redirectapp=cloud&product=ondmarc`). */
|
|
254
|
+
cardPromoHref?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Optional callback fired when the user clicks any CTA link that navigates
|
|
257
|
+
* to the promo/signup href. This includes:
|
|
258
|
+
* - The "Protect your domain" promo banner inside each card (shown when
|
|
259
|
+
* `renderCardHeader` is not provided; uses `cardPromoHref` or the default
|
|
260
|
+
* OnDMARC signup URL)
|
|
261
|
+
* - The "Set up monitoring" link in the email provider banner (only rendered
|
|
262
|
+
* when `cardPromoHref` is set)
|
|
263
|
+
*
|
|
264
|
+
* Fires alongside the normal navigation (does not prevent default).
|
|
265
|
+
*/
|
|
266
|
+
onCardPromoClick?: () => void;
|
|
267
|
+
/** Override the promo banner text on all cards. Only used when renderCardHeader is not provided. Defaults to the translated OnDMARC trial copy. */
|
|
268
|
+
cardPromoText?: string;
|
|
269
|
+
/** Override the promo banner button label on all cards. Defaults to the translated 'Protect your domain'. */
|
|
270
|
+
cardPromoButtonLabel?: string;
|
|
271
|
+
/** Custom footer renderer for adding content at the bottom of each card */
|
|
272
|
+
renderCardFooter?: (signal: SignalData) => React.ReactNode;
|
|
273
|
+
/**
|
|
274
|
+
* Heading text for the priority signals section.
|
|
275
|
+
* Defaults to "Required for the selected compliance profile"
|
|
276
|
+
*/
|
|
277
|
+
prioritySectionHeading?: string;
|
|
278
|
+
/**
|
|
279
|
+
* Heading text for the remaining signals section.
|
|
280
|
+
* Defaults to "Not required for the selected compliance profile"
|
|
281
|
+
*/
|
|
282
|
+
remainingSectionHeading?: string;
|
|
283
|
+
/** Use Investigate handbook colors instead of Design System CSS variables */
|
|
284
|
+
useInvestigateColors?: boolean;
|
|
285
|
+
/**
|
|
286
|
+
* Enable collapsible sections inside all child cards.
|
|
287
|
+
* @default true
|
|
288
|
+
*/
|
|
289
|
+
isCollapsible?: boolean;
|
|
290
|
+
/**
|
|
291
|
+
* Controlled collapsed state for all sections in all child cards.
|
|
292
|
+
* Used with isCollapsible to manage collapsed state externally.
|
|
293
|
+
*/
|
|
294
|
+
areAllCollapsed?: boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Callback fired when the collapse-all toggle changes in any child card.
|
|
297
|
+
*/
|
|
298
|
+
onCollapseAll?: (areAllCollapsed: boolean) => void;
|
|
299
|
+
/**
|
|
300
|
+
* AI-powered recommendations data including analysis and per-protocol signals.
|
|
301
|
+
* When provided (and showRecommendations is not false), renders a RecommendationsSummary
|
|
302
|
+
* section above the signal cards.
|
|
303
|
+
*/
|
|
304
|
+
recommendations?: RecommendationsData | null;
|
|
305
|
+
/**
|
|
306
|
+
* Whether recommendations data is still loading.
|
|
307
|
+
* When true, shows a skeleton/shimmer placeholder for the recommendations section.
|
|
308
|
+
*/
|
|
309
|
+
recommendationsLoading?: boolean;
|
|
310
|
+
/**
|
|
311
|
+
* Whether to show the recommendations section.
|
|
312
|
+
* @default true
|
|
313
|
+
*/
|
|
314
|
+
showRecommendations?: boolean;
|
|
315
|
+
/**
|
|
316
|
+
* Structured data for the CTA card in the recommendations section.
|
|
317
|
+
* The DS owns the layout; the consumer provides the content and click handler.
|
|
318
|
+
*/
|
|
319
|
+
recommendationsCTA?: {
|
|
320
|
+
title: string;
|
|
321
|
+
description: string;
|
|
322
|
+
buttonLabel: string;
|
|
323
|
+
onClickCTA: () => void;
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* Callback when user clicks "See more details" on a status card.
|
|
327
|
+
* The consumer uses this to scroll to and expand the corresponding signal card.
|
|
328
|
+
*/
|
|
329
|
+
onExpandSignalCard?: (signalType: string) => void;
|
|
330
|
+
/**
|
|
331
|
+
* Callback for the "Check another email" button in the header.
|
|
332
|
+
* When provided, renders a styled button with a sync icon and translated label.
|
|
333
|
+
* Only rendered when a checked email is found in the signal data.
|
|
334
|
+
*/
|
|
335
|
+
onCheckAnotherEmail?: () => void;
|
|
336
|
+
/**
|
|
337
|
+
* Render prop for custom action area in the header.
|
|
338
|
+
* Overrides the default "Check another email" button when provided.
|
|
339
|
+
* Only rendered when a checked email is found in the signal data.
|
|
340
|
+
*/
|
|
341
|
+
renderHeaderAction?: () => ReactNode;
|
|
342
|
+
/**
|
|
343
|
+
* Whether to show the "Powered by OnDMARC" branding in the header.
|
|
344
|
+
* @default true
|
|
345
|
+
*/
|
|
346
|
+
showBranding?: boolean;
|
|
347
|
+
}
|
|
348
|
+
|
|
223
349
|
/**
|
|
224
350
|
* Common props shared by all signal card components. These cover layout options
|
|
225
351
|
* that ultimately map to `SignalCardNormal`.
|
|
@@ -251,148 +377,147 @@ interface SignalCardSharedProps extends Omit<ComponentProps<'div'>, 'children' |
|
|
|
251
377
|
onCollapseAll?: (areAllCollapsed: boolean) => void;
|
|
252
378
|
}
|
|
253
379
|
|
|
380
|
+
/**
|
|
381
|
+
* Extended JMAP props for DMARC card including required extsecrep data
|
|
382
|
+
*/
|
|
383
|
+
interface SignalCardDmarcJmapProps extends JmapProps {
|
|
384
|
+
extsecrep: {
|
|
385
|
+
dmarc?: DmarcProps;
|
|
386
|
+
dkim?: DkimProps | DkimProps[];
|
|
387
|
+
spf?: SpfProps;
|
|
388
|
+
};
|
|
389
|
+
}
|
|
254
390
|
/**
|
|
255
391
|
* Component props.
|
|
256
392
|
*/
|
|
257
|
-
interface
|
|
258
|
-
/**
|
|
259
|
-
* Domain name (currently not used but maintained for API compatibility)
|
|
260
|
-
*/
|
|
261
|
-
domain?: string | null;
|
|
393
|
+
interface SignalCardDmarcProps extends SignalCardSharedProps {
|
|
262
394
|
/**
|
|
263
|
-
* JMAP
|
|
395
|
+
* JMAP email data containing DMARC, DKIM, SPF information
|
|
264
396
|
*/
|
|
265
|
-
jmap
|
|
397
|
+
jmap: SignalCardDmarcJmapProps;
|
|
266
398
|
/**
|
|
267
|
-
*
|
|
399
|
+
* Whether this is being used in domain analyzer mode
|
|
268
400
|
*/
|
|
269
|
-
|
|
401
|
+
isDomainAnalyzer?: boolean;
|
|
270
402
|
}
|
|
271
403
|
|
|
404
|
+
type SpfData = SpfProps;
|
|
272
405
|
/**
|
|
273
406
|
* Component props.
|
|
274
407
|
*/
|
|
275
|
-
interface
|
|
276
|
-
/**
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
408
|
+
interface SignalCardSpfProps extends SignalCardSharedProps {
|
|
409
|
+
/** JMAP email data containing SPF information */
|
|
410
|
+
jmap: {
|
|
411
|
+
extsecrep: {
|
|
412
|
+
spf?: SpfData;
|
|
413
|
+
};
|
|
414
|
+
};
|
|
280
415
|
}
|
|
281
416
|
|
|
417
|
+
type DkimResult = DkimProps;
|
|
418
|
+
type DmarcResult = DmarcProps | null;
|
|
282
419
|
/**
|
|
283
|
-
*
|
|
420
|
+
* Component props.
|
|
284
421
|
*/
|
|
285
|
-
interface
|
|
286
|
-
/**
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
422
|
+
interface SignalCardDkimProps extends SignalCardSharedProps {
|
|
423
|
+
/** JMAP email data containing DKIM, DMARC information */
|
|
424
|
+
jmap: {
|
|
425
|
+
extsecrep: {
|
|
426
|
+
dkim?: DkimResult | DkimResult[] | null;
|
|
427
|
+
dmarc?: DmarcResult;
|
|
428
|
+
};
|
|
429
|
+
};
|
|
292
430
|
}
|
|
431
|
+
|
|
293
432
|
/**
|
|
294
433
|
* Component props.
|
|
295
434
|
*/
|
|
296
|
-
interface
|
|
297
|
-
/** JMAP data containing
|
|
435
|
+
interface SignalCardFcrdnsProps extends SignalCardSharedProps {
|
|
436
|
+
/** JMAP data containing EHLO information */
|
|
298
437
|
jmap: {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
438
|
+
extsecrep: {
|
|
439
|
+
ehlo?: EhloProps;
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
/** Investigation data with FCrDNS and EHLO check results */
|
|
443
|
+
investigate?: {
|
|
444
|
+
fcrdns?: FcrdnsProps | null;
|
|
445
|
+
ehloCheck?: EhloCheckProps | null;
|
|
305
446
|
};
|
|
306
447
|
}
|
|
307
448
|
|
|
308
449
|
/**
|
|
309
450
|
* Component props.
|
|
310
451
|
*/
|
|
311
|
-
interface
|
|
312
|
-
/** JMAP data containing
|
|
313
|
-
jmap
|
|
314
|
-
extsecrep
|
|
315
|
-
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
/** Custom short description (overrides default based on result) */
|
|
319
|
-
shortDescription?: ReactNode;
|
|
452
|
+
interface SignalCardTlsProps extends SignalCardSharedProps {
|
|
453
|
+
/** JMAP email data containing TLS information */
|
|
454
|
+
jmap: {
|
|
455
|
+
extsecrep: {
|
|
456
|
+
tls?: TlsProps;
|
|
457
|
+
};
|
|
458
|
+
};
|
|
320
459
|
}
|
|
321
460
|
|
|
322
|
-
type
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
email?: string | null;
|
|
461
|
+
type Originator = {
|
|
462
|
+
domain?: string | null;
|
|
463
|
+
orgDomain?: string | null;
|
|
326
464
|
} | null;
|
|
327
|
-
|
|
328
|
-
* Component props.
|
|
329
|
-
*/
|
|
330
|
-
interface SignalCardThreatInvProps extends SignalCardSharedProps {
|
|
331
|
-
/** JMAP email data containing threat intelligence information */
|
|
465
|
+
interface SignalCardDmarcDomainProps extends SignalCardSharedProps {
|
|
332
466
|
jmap: {
|
|
333
|
-
extsecrep:
|
|
334
|
-
|
|
467
|
+
extsecrep: {
|
|
468
|
+
dmarc: DmarcDomainData;
|
|
469
|
+
originator?: Originator;
|
|
470
|
+
};
|
|
335
471
|
};
|
|
336
|
-
/** Whether this is being used in domain analyzer mode */
|
|
337
|
-
isDomainAnalyzer?: boolean;
|
|
338
472
|
}
|
|
339
473
|
|
|
340
|
-
|
|
474
|
+
/**
|
|
475
|
+
* SPF report item from the BIMI Checker API
|
|
476
|
+
*/
|
|
477
|
+
interface SpfReportItem {
|
|
478
|
+
status?: string;
|
|
341
479
|
message?: string;
|
|
342
480
|
spfError?: string;
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
481
|
+
}
|
|
482
|
+
interface SpfDetails {
|
|
483
|
+
raw?: string | string[] | null;
|
|
484
|
+
status?: string | null;
|
|
485
|
+
txtExtractedFrom?: string | null;
|
|
486
|
+
report?: SpfReportItem[];
|
|
346
487
|
[key: string]: unknown;
|
|
347
|
-
}
|
|
488
|
+
}
|
|
348
489
|
/**
|
|
349
|
-
*
|
|
490
|
+
* Props for the SignalCardSpfDomain component.
|
|
491
|
+
*
|
|
492
|
+
* Simplified SPF Domain Card for BIMI Checker - shows only pass/fail status and raw SPF record.
|
|
350
493
|
*/
|
|
351
|
-
interface
|
|
494
|
+
interface SignalCardSpfDomainProps extends SignalCardSharedProps {
|
|
352
495
|
/**
|
|
353
|
-
* JMAP data containing SPF
|
|
496
|
+
* JMAP data containing SPF authentication results
|
|
354
497
|
*/
|
|
355
498
|
jmap?: {
|
|
356
499
|
extsecrep?: {
|
|
357
|
-
spf?:
|
|
358
|
-
domain?: string | null;
|
|
359
|
-
report?: SubdoReportEntry[] | null;
|
|
360
|
-
} | null;
|
|
361
|
-
} | null;
|
|
362
|
-
} | null;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* Component props.
|
|
367
|
-
*/
|
|
368
|
-
interface SignalCardMtaStsProps extends SignalCardSharedProps {
|
|
369
|
-
/** JMAP email data containing MTA-STS information */
|
|
370
|
-
jmap?: {
|
|
371
|
-
extsecrep?: {
|
|
372
|
-
mta?: MtaProps | null;
|
|
500
|
+
spf?: SpfDetails | null;
|
|
373
501
|
} | null;
|
|
374
502
|
} | null;
|
|
375
|
-
/** Domain to analyze */
|
|
376
|
-
domain?: string;
|
|
377
503
|
}
|
|
378
504
|
|
|
379
505
|
/**
|
|
380
506
|
* Component props.
|
|
381
507
|
*/
|
|
382
|
-
interface
|
|
508
|
+
interface SignalCardSpfDomainAnalyzerProps extends SignalCardSharedProps {
|
|
383
509
|
/**
|
|
384
|
-
* JMAP data containing
|
|
510
|
+
* JMAP data containing SPF analysis results
|
|
385
511
|
*/
|
|
386
512
|
jmap: {
|
|
387
513
|
extsecrep: {
|
|
388
|
-
|
|
389
|
-
|
|
514
|
+
spf: DomainAnalyzerSpfProps;
|
|
515
|
+
originator?: {
|
|
516
|
+
domain?: string | null;
|
|
517
|
+
orgDomain?: string | null;
|
|
518
|
+
} | null;
|
|
390
519
|
};
|
|
391
520
|
};
|
|
392
|
-
/**
|
|
393
|
-
* Optional callback invoked when the component mounts.
|
|
394
|
-
*/
|
|
395
|
-
onComponentMount?: () => void;
|
|
396
521
|
}
|
|
397
522
|
|
|
398
523
|
/**
|
|
@@ -424,270 +549,145 @@ interface SignalCardDkimDomainAnalyzerProps extends SignalCardSharedProps {
|
|
|
424
549
|
/**
|
|
425
550
|
* Component props.
|
|
426
551
|
*/
|
|
427
|
-
interface
|
|
552
|
+
interface SignalCardBimiProps extends SignalCardSharedProps {
|
|
428
553
|
/**
|
|
429
|
-
* JMAP data containing
|
|
554
|
+
* JMAP data containing BIMI and DMARC information from the email security report.
|
|
430
555
|
*/
|
|
431
556
|
jmap: {
|
|
432
557
|
extsecrep: {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
domain?: string | null;
|
|
436
|
-
orgDomain?: string | null;
|
|
437
|
-
} | null;
|
|
558
|
+
bimi?: any;
|
|
559
|
+
dmarc?: any;
|
|
438
560
|
};
|
|
439
561
|
};
|
|
562
|
+
/**
|
|
563
|
+
* Optional callback invoked when the component mounts.
|
|
564
|
+
*/
|
|
565
|
+
onComponentMount?: () => void;
|
|
440
566
|
}
|
|
441
567
|
|
|
442
568
|
/**
|
|
443
|
-
*
|
|
569
|
+
* Component props.
|
|
444
570
|
*/
|
|
445
|
-
interface
|
|
446
|
-
|
|
571
|
+
interface SignalCardMtaStsProps extends SignalCardSharedProps {
|
|
572
|
+
/** JMAP email data containing MTA-STS information */
|
|
573
|
+
jmap?: {
|
|
574
|
+
extsecrep?: {
|
|
575
|
+
mta?: MtaProps | null;
|
|
576
|
+
} | null;
|
|
577
|
+
} | null;
|
|
578
|
+
/** Domain to analyze */
|
|
579
|
+
domain?: string;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
type SubdoReportEntry = {
|
|
447
583
|
message?: string;
|
|
448
584
|
spfError?: string;
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
status?: string | null;
|
|
453
|
-
txtExtractedFrom?: string | null;
|
|
454
|
-
report?: SpfReportItem[];
|
|
585
|
+
raw?: string;
|
|
586
|
+
value?: unknown;
|
|
587
|
+
details?: unknown;
|
|
455
588
|
[key: string]: unknown;
|
|
456
|
-
}
|
|
589
|
+
};
|
|
457
590
|
/**
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
* Simplified SPF Domain Card for BIMI Checker - shows only pass/fail status and raw SPF record.
|
|
591
|
+
* Component props.
|
|
461
592
|
*/
|
|
462
|
-
interface
|
|
593
|
+
interface SignalCardSubdoProps extends SignalCardSharedProps {
|
|
463
594
|
/**
|
|
464
|
-
* JMAP data containing SPF
|
|
595
|
+
* JMAP data containing SPF subdomain takeover report
|
|
465
596
|
*/
|
|
466
597
|
jmap?: {
|
|
467
598
|
extsecrep?: {
|
|
468
|
-
spf?:
|
|
599
|
+
spf?: {
|
|
600
|
+
domain?: string | null;
|
|
601
|
+
report?: SubdoReportEntry[] | null;
|
|
602
|
+
} | null;
|
|
469
603
|
} | null;
|
|
470
604
|
} | null;
|
|
471
605
|
}
|
|
472
606
|
|
|
473
|
-
type
|
|
474
|
-
|
|
475
|
-
|
|
607
|
+
type ExtsecrepThreatLevel = ExtsecrepProps;
|
|
608
|
+
type FromInfo = {
|
|
609
|
+
name?: string | null;
|
|
610
|
+
email?: string | null;
|
|
476
611
|
} | null;
|
|
477
|
-
interface SignalCardDmarcDomainProps extends SignalCardSharedProps {
|
|
478
|
-
jmap: {
|
|
479
|
-
extsecrep: {
|
|
480
|
-
dmarc: DmarcDomainData;
|
|
481
|
-
originator?: Originator;
|
|
482
|
-
};
|
|
483
|
-
};
|
|
484
|
-
}
|
|
485
|
-
|
|
486
612
|
/**
|
|
487
613
|
* Component props.
|
|
488
614
|
*/
|
|
489
|
-
interface
|
|
490
|
-
/** JMAP email data containing
|
|
615
|
+
interface SignalCardThreatInvProps extends SignalCardSharedProps {
|
|
616
|
+
/** JMAP email data containing threat intelligence information */
|
|
491
617
|
jmap: {
|
|
492
|
-
extsecrep:
|
|
493
|
-
|
|
494
|
-
};
|
|
618
|
+
extsecrep: ExtsecrepThreatLevel;
|
|
619
|
+
from?: FromInfo;
|
|
495
620
|
};
|
|
621
|
+
/** Whether this is being used in domain analyzer mode */
|
|
622
|
+
isDomainAnalyzer?: boolean;
|
|
496
623
|
}
|
|
497
624
|
|
|
498
625
|
/**
|
|
499
626
|
* Component props.
|
|
500
627
|
*/
|
|
501
|
-
interface
|
|
502
|
-
/** JMAP data containing
|
|
503
|
-
jmap
|
|
504
|
-
extsecrep
|
|
505
|
-
|
|
506
|
-
};
|
|
507
|
-
};
|
|
508
|
-
/**
|
|
509
|
-
|
|
510
|
-
fcrdns?: FcrdnsProps | null;
|
|
511
|
-
ehloCheck?: EhloCheckProps | null;
|
|
512
|
-
};
|
|
628
|
+
interface SignalCardDnssecProps extends SignalCardSharedProps {
|
|
629
|
+
/** JMAP data containing DNS security information */
|
|
630
|
+
jmap?: {
|
|
631
|
+
extsecrep?: {
|
|
632
|
+
dnsSecurity?: DnsSecurityProps | null;
|
|
633
|
+
} | null;
|
|
634
|
+
} | null;
|
|
635
|
+
/** Custom short description (overrides default based on result) */
|
|
636
|
+
shortDescription?: ReactNode;
|
|
513
637
|
}
|
|
514
638
|
|
|
515
|
-
type DkimResult = DkimProps;
|
|
516
|
-
type DmarcResult = DmarcProps | null;
|
|
517
639
|
/**
|
|
518
|
-
*
|
|
640
|
+
* External security report data structure
|
|
519
641
|
*/
|
|
520
|
-
interface
|
|
521
|
-
/**
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
};
|
|
642
|
+
interface ExtsecrepData {
|
|
643
|
+
/** SPF check data */
|
|
644
|
+
spf?: SpfProps | null;
|
|
645
|
+
/** DMARC policy data */
|
|
646
|
+
dmarc?: DmarcProps | null;
|
|
647
|
+
/** DKIM signature data - can be array or object */
|
|
648
|
+
dkim?: DkimProps | DkimProps[] | null;
|
|
528
649
|
}
|
|
529
|
-
|
|
530
|
-
type SpfData = SpfProps;
|
|
531
650
|
/**
|
|
532
651
|
* Component props.
|
|
533
652
|
*/
|
|
534
|
-
interface
|
|
535
|
-
/** JMAP
|
|
653
|
+
interface SignalCardAmpProps extends SignalCardSharedProps {
|
|
654
|
+
/** JMAP data containing authentication information */
|
|
536
655
|
jmap: {
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
656
|
+
/** External security report with SPF, DMARC, DKIM data */
|
|
657
|
+
extsecrep: ExtsecrepData;
|
|
658
|
+
/** From email address information */
|
|
659
|
+
from?: {
|
|
660
|
+
email?: string | null;
|
|
661
|
+
} | null;
|
|
540
662
|
};
|
|
541
663
|
}
|
|
542
664
|
|
|
543
|
-
/**
|
|
544
|
-
* Extended JMAP props for DMARC card including required extsecrep data
|
|
545
|
-
*/
|
|
546
|
-
interface SignalCardDmarcJmapProps extends JmapProps {
|
|
547
|
-
extsecrep: {
|
|
548
|
-
dmarc?: DmarcProps;
|
|
549
|
-
dkim?: DkimProps | DkimProps[];
|
|
550
|
-
spf?: SpfProps;
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
665
|
/**
|
|
554
666
|
* Component props.
|
|
555
667
|
*/
|
|
556
|
-
interface
|
|
557
|
-
/**
|
|
558
|
-
* JMAP email data containing DMARC, DKIM, SPF information
|
|
559
|
-
*/
|
|
560
|
-
jmap: SignalCardDmarcJmapProps;
|
|
668
|
+
interface SignalCardUrlsProps extends SignalCardSharedProps {
|
|
561
669
|
/**
|
|
562
|
-
*
|
|
670
|
+
* Investigate data containing extracted URLs
|
|
563
671
|
*/
|
|
564
|
-
|
|
672
|
+
investigate?: InvestigateProps | null;
|
|
565
673
|
}
|
|
566
674
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
[key: string]: unknown;
|
|
572
|
-
};
|
|
573
|
-
shortDescription?: unknown;
|
|
574
|
-
[key: string]: unknown;
|
|
575
|
-
};
|
|
576
|
-
type ErrorLike = {
|
|
577
|
-
name?: string;
|
|
578
|
-
message?: string;
|
|
579
|
-
stack?: string;
|
|
580
|
-
};
|
|
581
|
-
type CardEnabledOverrides = Record<string, boolean | undefined>;
|
|
582
|
-
interface SignalCardListProps extends Omit<ComponentProps<'div'>, 'children'> {
|
|
583
|
-
/** Array of signal data objects containing DMARC, DKIM, SPF information */
|
|
584
|
-
signals?: SignalData[];
|
|
585
|
-
/** Error object to display if signal loading fails */
|
|
586
|
-
error?: ErrorLike | null;
|
|
587
|
-
/** Map of signal types to enabled/disabled state */
|
|
588
|
-
isCardEnabledMap?: CardEnabledOverrides;
|
|
589
|
-
/** Signal types to display in the priority section (shown first). Defaults to DMARC, DKIM, SPF */
|
|
590
|
-
prioritySignalTypes?: string[];
|
|
591
|
-
/** Initial selected signal type for external selection control */
|
|
592
|
-
initialSelectedSignalType?: string | null;
|
|
593
|
-
/** Callback when a signal card is selected */
|
|
594
|
-
onSelectSignalType?: (signalType: string) => void;
|
|
595
|
-
/** Custom header renderer for adding content at the top of each card, after the title */
|
|
596
|
-
renderCardHeader?: (signal: SignalData) => React.ReactNode;
|
|
597
|
-
/** Override the promo banner button href on all cards and the email provider banner CTA link (e.g. to add UTM parameters). For per-card promo banners, only used when renderCardHeader is not provided. Defaults to the OnDMARC signup URL (`https://iam.redsift.cloud/signup?redirectapp=cloud&product=ondmarc`). */
|
|
598
|
-
cardPromoHref?: string;
|
|
599
|
-
/**
|
|
600
|
-
* Optional callback fired when the user clicks any CTA link that navigates
|
|
601
|
-
* to the promo/signup href. This includes:
|
|
602
|
-
* - The "Protect your domain" promo banner inside each card (shown when
|
|
603
|
-
* `renderCardHeader` is not provided; uses `cardPromoHref` or the default
|
|
604
|
-
* OnDMARC signup URL)
|
|
605
|
-
* - The "Set up monitoring" link in the email provider banner (only rendered
|
|
606
|
-
* when `cardPromoHref` is set)
|
|
607
|
-
*
|
|
608
|
-
* Fires alongside the normal navigation (does not prevent default).
|
|
609
|
-
*/
|
|
610
|
-
onCardPromoClick?: () => void;
|
|
611
|
-
/** Override the promo banner text on all cards. Only used when renderCardHeader is not provided. Defaults to the translated OnDMARC trial copy. */
|
|
612
|
-
cardPromoText?: string;
|
|
613
|
-
/** Override the promo banner button label on all cards. Defaults to the translated 'Protect your domain'. */
|
|
614
|
-
cardPromoButtonLabel?: string;
|
|
615
|
-
/** Custom footer renderer for adding content at the bottom of each card */
|
|
616
|
-
renderCardFooter?: (signal: SignalData) => React.ReactNode;
|
|
617
|
-
/**
|
|
618
|
-
* Heading text for the priority signals section.
|
|
619
|
-
* Defaults to "Required for the selected compliance profile"
|
|
620
|
-
*/
|
|
621
|
-
prioritySectionHeading?: string;
|
|
622
|
-
/**
|
|
623
|
-
* Heading text for the remaining signals section.
|
|
624
|
-
* Defaults to "Not required for the selected compliance profile"
|
|
625
|
-
*/
|
|
626
|
-
remainingSectionHeading?: string;
|
|
627
|
-
/** Use Investigate handbook colors instead of Design System CSS variables */
|
|
628
|
-
useInvestigateColors?: boolean;
|
|
629
|
-
/**
|
|
630
|
-
* Enable collapsible sections inside all child cards.
|
|
631
|
-
* @default true
|
|
632
|
-
*/
|
|
633
|
-
isCollapsible?: boolean;
|
|
634
|
-
/**
|
|
635
|
-
* Controlled collapsed state for all sections in all child cards.
|
|
636
|
-
* Used with isCollapsible to manage collapsed state externally.
|
|
637
|
-
*/
|
|
638
|
-
areAllCollapsed?: boolean;
|
|
639
|
-
/**
|
|
640
|
-
* Callback fired when the collapse-all toggle changes in any child card.
|
|
641
|
-
*/
|
|
642
|
-
onCollapseAll?: (areAllCollapsed: boolean) => void;
|
|
643
|
-
/**
|
|
644
|
-
* AI-powered recommendations data including analysis and per-protocol signals.
|
|
645
|
-
* When provided (and showRecommendations is not false), renders a RecommendationsSummary
|
|
646
|
-
* section above the signal cards.
|
|
647
|
-
*/
|
|
648
|
-
recommendations?: RecommendationsData | null;
|
|
649
|
-
/**
|
|
650
|
-
* Whether recommendations data is still loading.
|
|
651
|
-
* When true, shows a skeleton/shimmer placeholder for the recommendations section.
|
|
652
|
-
*/
|
|
653
|
-
recommendationsLoading?: boolean;
|
|
654
|
-
/**
|
|
655
|
-
* Whether to show the recommendations section.
|
|
656
|
-
* @default true
|
|
657
|
-
*/
|
|
658
|
-
showRecommendations?: boolean;
|
|
659
|
-
/**
|
|
660
|
-
* Structured data for the CTA card in the recommendations section.
|
|
661
|
-
* The DS owns the layout; the consumer provides the content and click handler.
|
|
662
|
-
*/
|
|
663
|
-
recommendationsCTA?: {
|
|
664
|
-
title: string;
|
|
665
|
-
description: string;
|
|
666
|
-
buttonLabel: string;
|
|
667
|
-
onClickCTA: () => void;
|
|
668
|
-
};
|
|
669
|
-
/**
|
|
670
|
-
* Callback when user clicks "See more details" on a status card.
|
|
671
|
-
* The consumer uses this to scroll to and expand the corresponding signal card.
|
|
672
|
-
*/
|
|
673
|
-
onExpandSignalCard?: (signalType: string) => void;
|
|
675
|
+
/**
|
|
676
|
+
* Component props.
|
|
677
|
+
*/
|
|
678
|
+
interface SignalCardGoogleYahooComplianceProps extends SignalCardSharedProps {
|
|
674
679
|
/**
|
|
675
|
-
*
|
|
676
|
-
* When provided, renders a styled button with a sync icon and translated label.
|
|
677
|
-
* Only rendered when a checked email is found in the signal data.
|
|
680
|
+
* Domain name (currently not used but maintained for API compatibility)
|
|
678
681
|
*/
|
|
679
|
-
|
|
682
|
+
domain?: string | null;
|
|
680
683
|
/**
|
|
681
|
-
*
|
|
682
|
-
* Overrides the default "Check another email" button when provided.
|
|
683
|
-
* Only rendered when a checked email is found in the signal data.
|
|
684
|
+
* JMAP extsecrep data containing authentication results
|
|
684
685
|
*/
|
|
685
|
-
|
|
686
|
+
jmap?: JmapProps | null;
|
|
686
687
|
/**
|
|
687
|
-
*
|
|
688
|
-
* @default true
|
|
688
|
+
* Investigate data with FCrDNS and EHLO check results
|
|
689
689
|
*/
|
|
690
|
-
|
|
690
|
+
investigate?: InvestigateProps | null;
|
|
691
691
|
}
|
|
692
692
|
|
|
693
693
|
/**
|