@clay-design-system/tokens 0.10.0 → 0.12.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/dist/tokens.js CHANGED
@@ -7,7 +7,7 @@ export const ClayFoundationBrandColorGrey100 = "#f3f4f5";
7
7
  export const ClayFoundationBrandColorGrey200 = "#e6e7ea";
8
8
  export const ClayFoundationBrandColorGrey300 = "#cacbcd";
9
9
  export const ClayFoundationBrandColorGrey500 = "#7c7b7b";
10
- export const ClayFoundationBrandColorGrey700 = "#45454a"; // Dark elevation
10
+ export const ClayFoundationBrandColorGrey700 = "#45454a"; // Dark elevation; secondary text (text-default-secondary, WCAG AA)
11
11
  export const ClayFoundationBrandColorGrey800 = "#252526";
12
12
  export const ClayFoundationBrandColorGrey900 = "#17181c"; // Deep dark background
13
13
  export const ClayFoundationBrandColorGrey950 = "#000000"; // Pure black
@@ -148,6 +148,7 @@ export const ClayColorBorderDefaultSecondary = "#7c7b7b";
148
148
  export const ClayColorBorderDefaultTertiary = "#252526";
149
149
  export const ClayColorBorderNeutralDefault = "#252526";
150
150
  export const ClayColorBorderNeutralTertiary = "#e6e7ea";
151
+ export const ClayColorBorderNeutralTranslucent = "#1c1d2180"; // Half-opacity neutral line, e.g. a text-link underline.
151
152
  export const ClayColorBorderBrandDefault = "#6161ff";
152
153
  export const ClayColorBorderBlackDefault = "#000000";
153
154
  export const ClayColorBorderDangerDefault = "#8b0038";
@@ -237,8 +238,9 @@ export const ClayColorIconDangerTertiary = "#ec221f";
237
238
  export const ClayColorIconDangerOnDanger = "#fee9e7";
238
239
  export const ClayColorIconDangerOnDangerSecondary = "#900b09";
239
240
  export const ClayColorIconDangerOnDangerTertiary = "#900b09";
241
+ export const ClayColorOverlayScrim = "#00000080"; // Half-opacity black, the dark end of an image-to-transparent gradient.
240
242
  export const ClayColorTextDefaultDefault = "#252526";
241
- export const ClayColorTextDefaultSecondary = "#7c7b7b";
243
+ export const ClayColorTextDefaultSecondary = "#45454a"; // WCAG AA for normal text on white (9.5:1) and grey-100 (8.7:1)
242
244
  export const ClayColorTextDefaultTertiary = "#cacbcd";
243
245
  export const ClayColorTextDisabledDefault = "#7c7b7b";
244
246
  export const ClayColorTextBrandDefault = "#6161ff";
@@ -271,8 +273,9 @@ export const ClayBrandSvcSurface = "#fff1fc";
271
273
  export const ClayBrandSvcDark = "#4f0000";
272
274
  export const ClayBreakpointLargeMobile = 480; // 480px+ — phablet / landscape phone
273
275
  export const ClayBreakpointTablet = 768; // 768px+ — tablet portrait
274
- export const ClayBreakpointLaptop = 992; // 992px+ — medium-large screens
275
- export const ClayBreakpointDesktop = 1230; // 1230px+ — large screens
276
+ export const ClayBreakpointLaptop = 992; // 992px+ — small laptop / tablet landscape
277
+ export const ClayBreakpointSmallDesktop = 1024; // 1024px+ — small desktop
278
+ export const ClayBreakpointDesktop = 1280; // 1280px+ — desktop
276
279
  export const ClayWebTypeHeadingLineHeight = 1.2;
277
280
  export const ClayWebTypeBodyLineHeight = 1.5;
278
281
  export const ClayWebTypeBodyLgSize = 20;
@@ -376,8 +379,151 @@ export const ClayWebTypeP4Size = 14;
376
379
  export const ClayWebTypeP5Size = 12;
377
380
  export const ClayWebTypePLineHeight = 1.5;
378
381
  export const ClayWebTypePLetterSpacing = 0;
382
+ export const ClayWebTypeSmallLetterSpacing = -0.01; // Letter-spacing (em) for 13–14px small text (footer links and headings).
383
+ export const ClayWebBulletsSectionHeadingMaxWidth = 700; // `.heading` max-width — px
384
+ export const ClayWebBulletsSectionGridGapLaptop = 84; // `.grid` gap — px
385
+ export const ClayWebBulletsSectionTextColumnMaxWidthDesktop = 436; // `.textColumn` max-width — px
386
+ export const ClayWebBulletsSectionCardsGridMaxWidthDesktop = 804; // `.cardsGrid` max-width — px
387
+ export const ClayWebCardsSectionTextBlockMaxWidthDesktop = 540; // `.textBlock` max-width — px
388
+ export const ClayWebCardsSectionSideBySideMediaMaxWidthLaptop = 608; // `.side-by-side .media` max-width — px
389
+ export const ClayWebCardsSectionGridMediaHeight = 280; // `.gridMedia` height — px
390
+ export const ClayWebCardsSectionGridCardHeightDesktop = 332; // `.gridCard` height — px
391
+ export const ClayWebCardsSectionGridMediaWidthDesktop = 315; // `.gridMedia` width; `.gridMedia` min-width — px
392
+ export const ClayWebCardsSectionMmMediaCardHeight = 272; // `.mmMediaCard` height — px
393
+ export const ClayWebCardsSectionMtMediaAreaHeight = 240; // `.mtMediaArea` height — px
394
+ export const ClayWebCardsSectionMtTagHeight = 34; // `.mtTag` height — px
395
+ export const ClayWebCardsSectionMtMediaAreaHeightDesktop = 360; // `.mtMediaArea` height — px
396
+ export const ClayWebCardsSectionSectionHeaderMaxWidth = 768; // `.sectionHeader` max-width — px
397
+ export const ClayWebContactSectionLogoPlaceholderWidth = 90; // `.logoPlaceholder` width — px
398
+ export const ClayWebContactSectionPhoneFlagWidth = 18; // `.phoneFlag` width — px
399
+ export const ClayWebContactSectionPhoneFlagHeight = 13; // `.phoneFlag` height — px
400
+ export const ClayWebContactSectionPhonePrefixChevronWidth = 9; // `.phonePrefixChevron` width — px
401
+ export const ClayWebContactSectionPhonePrefixChevronHeight = 5; // `.phonePrefixChevron` height — px
402
+ export const ClayWebContactSectionContentMaxWidthLaptop = 635; // `.content` max-width — px
403
+ export const ClayWebContactSectionFormCardMinWidthLaptop = 320; // `.formCard` min-width — px
404
+ export const ClayWebContactSectionFormCardMaxWidthLaptop = 480; // `.formCard` max-width — px
405
+ export const ClayWebContactSectionBadgeWidth = 95; // `.badgeImage` width (trust badge image) — px
406
+ export const ClayWebContactSectionBadgeHeight = 109; // `.badgeImage` height (trust badge image) — px
407
+ export const ClayWebCountryFlagXsHeight = 11; // `.xs` height — px
408
+ export const ClayWebCountryFlagSmHeight = 14; // `.sm` height — px
409
+ export const ClayWebCountryFlagLgHeight = 22; // `.lg` height — px
410
+ export const ClayWebCtaSectionColumnMaxWidth = 960; // `.column` max-width — px
411
+ export const ClayWebCustomerLogoWebWidth = 100; // `.web` width — px
412
+ export const ClayWebCustomerLogoWebHeight = 46.667; // `.web` height — px
413
+ export const ClayWebCustomersBigCardsSlideWidth = 1120; // `.slide` width — px
414
+ export const ClayWebCustomersBigCardsCardQuoteFontSize = 28; // `.cardQuote` font-size — px
415
+ export const ClayWebCustomersBigCardsCardImageWrapWidthLaptop = 380; // `.cardImageWrap` width — px
416
+ export const ClayWebCustomersBigCardsCardImageWrapHeightLaptop = 476; // `.cardImageWrap` height — px
417
+ export const ClayWebCustomersBigCardsCardContentHeightLaptop = 476; // `.cardContent` height — px
418
+ export const ClayWebFaqSectionCenteredListWidthLaptop = 720; // `.centered .list` width — px
379
419
  export const ClayWebFeaturesSectionCardRadius = 24; // Corner radius of the tabs-background and stroke card container.
380
420
  export const ClayWebFeaturesSectionMediaRadius = 16; // Corner radius of the media slot inside a tab panel.
421
+ export const ClayWebFeaturesSectionStrokeSectionDescMaxWidth = 600; // `.strokeSectionDesc` max-width — px
422
+ export const ClayWebFeaturesSectionStrokeTextGroupMaxWidth = 480; // `.strokeTextGroup` max-width — px
423
+ export const ClayWebFeaturesSectionTcTabHeight = 54; // `.tcTab` height — px
424
+ export const ClayWebFeaturesSectionTcMediaHeight = 280; // `.tcMedia` height — px
425
+ export const ClayWebFeaturesSectionSrCardInnerMaxWidth = 544; // `.srCardInner` max-width — px
426
+ export const ClayWebFeaturesSectionNaMobileNumberTop = 18; // `.naMobileNumber` top — px
427
+ export const ClayWebFeaturesSectionTabTextMaxWidthTablet = 448; // `.tabText` max-width — px
428
+ export const ClayWebFeaturesSectionTabMediaMaxWidthTablet = 608; // `.tabMedia` max-width — px
429
+ export const ClayWebFeaturesSectionLrmMediaMaxWidthLaptop = 656; // `.lrmMedia` max-width — px
430
+ export const ClayWebFeaturesSectionStrokeMediaMaxWidthDesktop = 640; // `.strokeMedia` max-width — px
431
+ export const ClayWebFeaturesSectionTcCardBasisDesktop = 860; // `.tcCard` flex — px
432
+ export const ClayWebFeaturesSectionNaPanelBasisDesktop = 82; // `.naPanel` flex; `.naPanelSide` flex; `.naPanelSide` min-width — px
433
+ export const ClayWebFeaturesSectionNaLabelWrapWidthDesktop = 34; // `.naLabelWrap` width — px
434
+ export const ClayWebFeaturesSectionSnRowsMaxWidthDesktop = 992; // `.snRows` max-width — px
435
+ export const ClayWebFeaturesSectionSectionHeadingMaxWidth = 768; // `.hiHeader` max-width; `.naSectionHeader` max-width; `.hmtSectionHeading` max-width; +1 more — px
436
+ export const ClayWebFeaturesSectionTcCardIconSize = 54; // `.tcCardIcon` width; `.tcCardIcon` height — px
437
+ export const ClayWebFeaturesSectionTcCardIconSizeDesktop = 70; // `.tcCardIcon` width; `.tcCardIcon` height — px
438
+ export const ClayWebFeaturesSectionSilIconSize = 44; // `.silIcon` width; `.silIcon` height — px
439
+ export const ClayWebFeaturesSectionSrTagDotSize = 18; // `.srTagDot` width; `.srTagDot` height — px
440
+ export const ClayWebFooterSectionColumnPaddingBottom = 35; // `.column` padding-bottom — px
441
+ export const ClayWebFooterSectionColumnBrandPaddingTop = 10; // `.columnBrand` padding-top — px
442
+ export const ClayWebFooterSectionLogoImgHeight = 26; // `.logoImg` height — px
443
+ export const ClayWebFooterSectionHeadingMarginTop = 10; // `.heading` margin — px
444
+ export const ClayWebFooterSectionHeadingMarginBottom = 18; // `.heading` margin — px
445
+ export const ClayWebFooterSectionLinksGap = 15.5; // `.links` gap — px
446
+ export const ClayWebFooterSectionLinkLineHeight = 22; // `.link` line-height — px
447
+ export const ClayWebFooterSectionSubGroupMarginTop = 38; // `.subGroup` margin-top — px
448
+ export const ClayWebFooterSectionBottomCenterGap = 5; // `.bottomCenter` gap — px
449
+ export const ClayWebFooterSectionLegalLinkLineHeight = 18; // `.legalLink` line-height — px
450
+ export const ClayWebFooterSectionCopyrightLineHeight = 20; // `.copyright` line-height — px
451
+ export const ClayWebFooterSectionPipeHeightLaptop = 14; // `.pipe` height — px
452
+ export const ClayWebFooterSectionShortColumnMaxWidthLaptop = 222; // `.short .column` max-width — px
453
+ export const ClayWebFooterSectionShortColumnBasisLaptop = 220; // `.short .columnBrand` flex; `.short .column:first-child` flex — px
454
+ export const ClayWebFooterSectionLinkIconSize = 18; // `.linkIcon` width; `.linkIcon` height — px
455
+ export const ClayWebFooterSectionAccessibilityIconSize = 21; // `.accessibilityIcon` width; `.accessibilityIcon` height — px
456
+ export const ClayWebFooterSectionBottomRowHeightLaptop = 92; // `.bottomLeft` height; `.bottomCenter` height; `.bottomRight` height — px
457
+ export const ClayWebFooterSectionSmallFontSize = 13; // `.link` font-size; `.legalLink` font-size; `.copyright` font-size — px
458
+ export const ClayWebHeaderSectionColumnMaxWidth = 960; // `.column` max-width — px
459
+ export const ClayWebHeaderSectionHeadingFluidIntercept = 30.2864; // `.heading` font-size; `.split .heading` font-size — px
460
+ export const ClayWebHeaderSectionDescriptionFluidIntercept = 15.4288; // `.description` font-size — px
461
+ export const ClayWebHeaderSectionActionCaptionFontSize = 13; // `.actionCaption` font-size — px
462
+ export const ClayWebHeaderSectionMediaMaxWidthLaptop = 1096; // `.media` max-width — px
463
+ export const ClayWebHeaderSectionSplitContentMaxWidthLaptop = 544; // `.split .content` max-width — px
464
+ export const ClayWebHeaderSectionSplitMediaMaxWidthLaptop = 600; // `.split .media` max-width — px
465
+ export const ClayWebHeaderSectionSplitMediaMaxWidthDesktop = 656; // `.split .media` max-width — px
466
+ export const ClayWebHeaderSectionSplitSearchActionsMaxWidthLaptop = 513; // `.split-search .actions` max-width — px
467
+ export const ClayWebHeaderSectionSplitFullImageMediaHeight = 375; // `.split-full-image .media` height — px
468
+ export const ClayWebHeaderSectionSplitFullImageContentMaxWidthLaptop = 560; // `.split-full-image .content` max-width — px
469
+ export const ClayWebHeaderSectionSplitMosaicMediaHeight = 460; // `.split-mosaic .media` height — px
470
+ export const ClayWebHeaderSectionCardHeightLaptop = 640; // `.card` height — px
471
+ export const ClayWebHeaderSectionDefaultContentMaxWidthLaptop = 729; // `.default .content` max-width — px
472
+ export const ClayWebHeaderSectionDefaultContentGapLaptop = 30; // `.default .content` gap — px
473
+ export const ClayWebHeaderSectionHeadingFluidInterceptDesktop = 12.5712; // `.split .heading` font-size — px
474
+ export const ClayWebHeaderSectionColumnMinWidthLaptop = 300; // `.split-full-image .column` min-width; `.split-mosaic .column` min-width; `.split-strip .column` min-width — px
475
+ export const ClayWebIntegrationsStripOuterHeight = 90; // `.stripOuter` height — px
476
+ export const ClayWebIntegrationsHexBadgeHeight = 90; // `.hexBadge` height — px
477
+ export const ClayWebIntegrationsHeadingMaxWidthLaptop = 720; // `.heading` max-width — px
478
+ export const ClayWebIntegrationsDescriptionMaxWidthLaptop = 754; // `.description` max-width — px
479
+ export const ClayWebMotionLightboxDialogWidth = 1200; // `.clay-lightbox-dialog` width — px
480
+ export const ClayWebNavbarMenuLogoImgMaxWidth = 260; // `.logoImg` max-width — px
481
+ export const ClayWebNavbarMenuMenuIconGap = 3; // `.menuIcon` gap — px
482
+ export const ClayWebNavbarMenuMenuIconWidth = 18; // `.menuIcon` width — px
483
+ export const ClayWebNavbarMenuMenuBarWidth = 18; // `.menuBar` width — px
484
+ export const ClayWebNavbarMenuDropdownColumnMinWidth = 140; // `.dropdownColumn` min-width — px
485
+ export const ClayWebNavbarMenuInnerPaddingY = 14; // `.inner` padding-top; `.inner` padding-bottom — px
486
+ export const ClayWebNavbarMenuDropdownItemIconSize = 17; // `.dropdownItemIcon` width; `.dropdownItemIcon` height — px
487
+ export const ClayWebShapesOrbSwooshOffsetY33 = 5; // `33%` transform — px
488
+ export const ClayWebShapesOrbSwooshOffsetY66 = 3; // `66%` transform — px
489
+ export const ClayWebSiteFooterGridColumn = 140; // `.grid` grid-template-columns — px
490
+ export const ClayWebTestimonialsSectionLogoSlotHeight = 62; // `.logoSlot` height; `.splitLogoSlot` height; `.centeredLogoSlot` height — px
491
+ export const ClayWebTestimonialsSectionLogoSlotWidth = 132; // `.logoSlot` width; `.splitLogoSlot` width; `.centeredLogoSlot` width — px
492
+ export const ClayWebTestimonialsSectionSummaryCardWidthLaptop = 484; // `.summaryCard` width — px
493
+ export const ClayWebTestimonialsSectionAvatarWidthLaptop = 300; // `.avatar` width; `.centeredAvatar` width — px
494
+ export const ClayWebTestimonialsSectionCarouselCardMinHeight = 513; // `.carouselCard` min-height — px
495
+ export const ClayWebTestimonialsSectionSplitDividerHeightLaptop = 61; // `.splitDivider` height — px
496
+ export const ClayWebTestimonialsSectionCenteredContentMaxWidthLaptop = 768; // `.centeredContent` max-width — px
497
+ export const ClayWebTestimonialsSectionCaseStudyCardLogoSlotHeight = 47; // `.caseStudyCardLogoSlot` height; `.statQuoteLogoSlot` height — px
498
+ export const ClayWebTestimonialsSectionCaseStudyCardLogoSlotWidth = 100; // `.caseStudyCardLogoSlot` width; `.statQuoteLogoSlot` width — px
499
+ export const ClayWebTestimonialsSectionCaseStudyCardMediaHeight = 146; // `.caseStudyCardMedia` height — px
500
+ export const ClayWebTestimonialsSectionCaseStudyStatLabelWidth = 132; // `.caseStudyStatLabel` width — px
501
+ export const ClayWebTestimonialsSectionCaseStudyCardBasisLaptop = 390; // `.caseStudyCard` flex — px
502
+ export const ClayWebTestimonialsSectionStatQuoteCardMaxWidthLaptop = 1102; // `.statQuoteCard` max-width — px
503
+ export const ClayWebTestimonialsSectionStatQuoteStatColWidthLaptop = 380; // `.statQuoteStatCol` width — px
504
+ export const ClayWebTestimonialsSectionQuoteCardLogoSlotHeight = 56; // `.quoteCardLogoSlot` height — px
505
+ export const ClayWebTestimonialsSectionQuoteCardsHeadingWidthLaptop = 497; // `.quote-cards .quoteCardsHeading` width — px
506
+ export const ClayWebTestimonialsSectionQuoteCardBasisLaptop = 416; // `.quote-cards .quoteCardsTrack` max-inline-size; `.quote-cards .quoteCard` flex — px
507
+ export const ClayWebTestimonialsSectionQcmCardMediaHeight = 246; // `.qcmCardMedia` height — px
508
+ export const ClayWebTestimonialsSectionQcmCardLogoSlotHeight = 49; // `.qcmCardLogoSlot` height — px
509
+ export const ClayWebTestimonialsSectionQcmCardLogoSlotWidth = 106; // `.qcmCardLogoSlot` width — px
510
+ export const ClayWebTestimonialsSectionQcmCardBasisLaptop = 480; // `.caseStudyHeading` max-width; `.qcmHeading` max-width; `.qcmTrack` max-inline-size; +1 more — px
511
+ export const ClayWebTestimonialsSectionAvatarPhotoSize = 56; // `.avatarPhoto` width; `.avatarPhoto` height; `.quoteCardAvatarPhoto` width; +3 more — px
512
+ export const ClayWebTestimonialsSectionSplitColumnMaxWidthLaptop = 616; // `.splitMediaSlot` max-width; `.splitTextCol` max-width — px
513
+ export const ClayWebTestimonialsSectionMixedHeaderMaxWidthLaptop = 1120; // `.mixed-stat-and-quote .mixedHeader` max-width — px
514
+ export const ClayWebTestimonialsSectionMixedHeaderTextMaxWidthLaptop = 496; // `.mixed-stat-and-quote .mixedHeaderText` max-width — px
515
+ export const ClayWebTestimonialsSectionMixedCarouselCardWidthLaptop = 678; // `.mixed-stat-and-quote .carouselCard` width — px
516
+ export const ClayWebTestimonialsSectionMixedCarouselCardContentBasisLaptop = 320; // `.mixed-stat-and-quote .carouselCardContent` flex — px
517
+ export const ClayWebTestimonialsSectionMixedCarouselCardMediaSizeLaptop = 314; // `.mixed-stat-and-quote .carouselCardMedia` flex; `.mixed-stat-and-quote .carouselCardMedia` width; `.mixed-stat-and-quote .carouselCardMedia` height — px
518
+ export const ClayWebTestimonialsSectionQuoteIconWidth = 88; // `.statQuoteQuoteCol .quoteIcon` width — px
519
+ export const ClayWebTestimonialsSectionQuoteIconWidthLaptop = 123; // `.statQuoteQuoteCol .quoteIcon` width — px
520
+ export const ClayWebTrustBadgeRegularWidth = 104; // `.regular` width — px
521
+ export const ClayWebTrustBadgeLargeWidth = 156; // `.large` width — px
522
+ export const ClayWebTrustBadgeLargeHeight = 179; // `.large` height — px
523
+ export const ClayWebTrustSectionStatCardMinHeight = 424; // `.statCard` min-height — px
524
+ export const ClayWebTrustSectionStatLogoHeight = 60; // `.statLogo` height — px
525
+ export const ClayWebTrustSectionSecurityCardBasisDesktop = 617; // `.securityCard` flex — px
526
+ export const ClayWebTrustSectionComplianceLogoSizeTablet = 116; // `.complianceLogo` width; `.complianceLogo` height — px
381
527
  export const ClayEffectShadowLight = "0px 0px 40px 0px rgba(23, 24, 28, 0.06)";
382
528
  export const ClayEffectShadowHard = "0px 8px 40px 0px rgba(23, 24, 28, 0.12)";
383
529
  export const ClayEffectShadowRiseSmall =
@@ -390,6 +536,7 @@ export const ClayEffectGlassShadow =
390
536
  export const ClayEffectGlassBackground = "#ffffff1a";
391
537
  export const ClayEffectGlassBlur = "33px";
392
538
  export const ClayEffectGlassBorder = "1px solid rgba(255, 255, 255, 0.12)";
539
+ export const ClayEffectTextShadowLegible = "0px 1px 4px rgba(0, 0, 0, 0.5)"; // Soft dark halo under light text on busy media (text-shadow: no spread value).
393
540
  export const ClayLayoutContainerMaxWidth = 1440;
394
541
  export const ClayLayoutContainerLarge = 1440;
395
542
  export const ClayLayoutContainerNarrow = 1220;
@@ -599,7 +746,7 @@ export const ClayCardActionRadius = 16;
599
746
  export const ClayCardActionHoverShadow =
600
747
  "0px 0px 40px 0px rgba(23, 24, 28, 0.06)";
601
748
  export const ClayCardActionTitleColor = "#252526";
602
- export const ClayCardActionDescriptionColor = "#7c7b7b";
749
+ export const ClayCardActionDescriptionColor = "#45454a";
603
750
  export const ClayCardActionRatingColor = "#f5a623";
604
751
  export const ClayCardActionMediaTopPadding = 16;
605
752
  export const ClayCardActionMediaTopGap = 24;
@@ -640,7 +787,7 @@ export const ClayCardSizeTileMinHeight = 0;
640
787
  export const ClayCardHorizontalBorderColor = "#cacbcd";
641
788
  export const ClayCardHorizontalRadius = 20;
642
789
  export const ClayCardHorizontalHeadingColor = "#252526";
643
- export const ClayCardHorizontalDescriptionColor = "#7c7b7b";
790
+ export const ClayCardHorizontalDescriptionColor = "#45454a";
644
791
  export const ClayCardHorizontalTagColor = "#252526";
645
792
  export const ClayCardHorizontalContentPadding = 24;
646
793
  export const ClayCardHorizontalContentGap = 32;
@@ -660,6 +807,9 @@ export const ClayCardHorizontalMobilePadding = 16;
660
807
  export const ClayCardHorizontalMobileGap = 24;
661
808
  export const ClayCardHorizontalMobileShadow =
662
809
  "0px 0px 40px 0px rgba(23, 24, 28, 0.06)";
810
+ export const ClayCardActionCardVariantAgentWidth = 280; // `.actionCard.variant_agent` width — px
811
+ export const ClayCardActionCardVariantAgentHeight = 332; // `.actionCard.variant_agent` height — px
812
+ export const ClayCardActionCardVariantAgentIconWidth = 240; // `.actionCard.variant_agentIcon` width — px
663
813
  export const ClayCheckboxSize = 20;
664
814
  export const ClayCheckboxRadius = 4;
665
815
  export const ClayCheckboxGap = 8;
@@ -714,6 +864,11 @@ export const ClayCustomerStoryCardQuoteWithPictureMediaHeight = 246;
714
864
  export const ClayCustomerStoryCardQuoteWithPictureAvatarGap = 16;
715
865
  export const ClayCustomerStoryCardMobileMinHeight = 513;
716
866
  export const ClayCustomerStoryCardMobileGap = 20;
867
+ export const ClayCustomerStoryCardTypeQuoteWithPictureWidth = 479; // `.type_quoteWithPicture` width — px
868
+ export const ClayCustomerStoryCardAvatarWidth = 300; // `.avatar` width — px
869
+ export const ClayCustomerStoryCardLogoSlotHeight = 56; // `.logoSlot` height — px
870
+ export const ClayCustomerStoryCardLogoSlotEndHeight = 50; // `.logoSlotEnd` height — px
871
+ export const ClayCustomerStoryCardContentWidth = 320; // `.statsContent` width; `.quoteContent` width — px
717
872
  export const ClayHoverFlipCardRadius = 12;
718
873
  export const ClayHoverFlipCardPaddingMobile = 24;
719
874
  export const ClayHoverFlipCardPaddingTop = 48;
@@ -8,7 +8,7 @@
8
8
  --clay-foundation-brand-color-grey-200: #e6e7ea;
9
9
  --clay-foundation-brand-color-grey-300: #cacbcd;
10
10
  --clay-foundation-brand-color-grey-500: #7c7b7b;
11
- --clay-foundation-brand-color-grey-700: #45454a; /** Dark elevation */
11
+ --clay-foundation-brand-color-grey-700: #45454a; /** Dark elevation; secondary text (text-default-secondary, WCAG AA) */
12
12
  --clay-foundation-brand-color-grey-800: #252526;
13
13
  --clay-foundation-brand-color-grey-900: #17181c; /** Deep dark background */
14
14
  --clay-foundation-brand-color-grey-950: #000000; /** Pure black */
@@ -144,6 +144,7 @@
144
144
  --clay-color-border-default-tertiary: #252526;
145
145
  --clay-color-border-neutral-default: #252526;
146
146
  --clay-color-border-neutral-tertiary: #e6e7ea;
147
+ --clay-color-border-neutral-translucent: rgba(28, 29, 33, 0.5); /** Half-opacity neutral line, e.g. a text-link underline. */
147
148
  --clay-color-border-brand-default: #6161ff;
148
149
  --clay-color-border-black-default: #000000;
149
150
  --clay-color-border-danger-default: #8b0038;
@@ -233,8 +234,9 @@
233
234
  --clay-color-icon-danger-on-danger: #fee9e7;
234
235
  --clay-color-icon-danger-on-danger-secondary: #900b09;
235
236
  --clay-color-icon-danger-on-danger-tertiary: #900b09;
237
+ --clay-color-overlay-scrim: rgba(0, 0, 0, 0.5); /** Half-opacity black, the dark end of an image-to-transparent gradient. */
236
238
  --clay-color-text-default-default: #252526;
237
- --clay-color-text-default-secondary: #7c7b7b;
239
+ --clay-color-text-default-secondary: #45454a; /** WCAG AA for normal text on white (9.5:1) and grey-100 (8.7:1) */
238
240
  --clay-color-text-default-tertiary: #cacbcd;
239
241
  --clay-color-text-disabled-default: #7c7b7b;
240
242
  --clay-color-text-brand-default: #6161ff;
@@ -267,8 +269,9 @@
267
269
  --clay-brand-svc-dark: #4f0000;
268
270
  --clay-breakpoint-large-mobile: 480; /** 480px+ — phablet / landscape phone */
269
271
  --clay-breakpoint-tablet: 768; /** 768px+ — tablet portrait */
270
- --clay-breakpoint-laptop: 992; /** 992px+ — medium-large screens */
271
- --clay-breakpoint-desktop: 1230; /** 1230px+ — large screens */
272
+ --clay-breakpoint-laptop: 992; /** 992px+ — small laptop / tablet landscape */
273
+ --clay-breakpoint-small-desktop: 1024; /** 1024px+ — small desktop */
274
+ --clay-breakpoint-desktop: 1280; /** 1280px+ — desktop */
272
275
  --clay-web-type-heading-line-height: 1.2;
273
276
  --clay-web-type-body-line-height: 1.5;
274
277
  --clay-web-type-body-lg-size: 20;
@@ -372,8 +375,151 @@
372
375
  --clay-web-type-p5-size: 12;
373
376
  --clay-web-type-p-line-height: 1.5;
374
377
  --clay-web-type-p-letter-spacing: 0;
378
+ --clay-web-type-small-letter-spacing: -0.01; /** Letter-spacing (em) for 13–14px small text (footer links and headings). */
379
+ --clay-web-bullets-section-heading-max-width: 700; /** `.heading` max-width — px */
380
+ --clay-web-bullets-section-grid-gap-laptop: 84; /** `.grid` gap — px */
381
+ --clay-web-bullets-section-text-column-max-width-desktop: 436; /** `.textColumn` max-width — px */
382
+ --clay-web-bullets-section-cards-grid-max-width-desktop: 804; /** `.cardsGrid` max-width — px */
383
+ --clay-web-cards-section-text-block-max-width-desktop: 540; /** `.textBlock` max-width — px */
384
+ --clay-web-cards-section-side-by-side-media-max-width-laptop: 608; /** `.side-by-side .media` max-width — px */
385
+ --clay-web-cards-section-grid-media-height: 280; /** `.gridMedia` height — px */
386
+ --clay-web-cards-section-grid-card-height-desktop: 332; /** `.gridCard` height — px */
387
+ --clay-web-cards-section-grid-media-width-desktop: 315; /** `.gridMedia` width; `.gridMedia` min-width — px */
388
+ --clay-web-cards-section-mm-media-card-height: 272; /** `.mmMediaCard` height — px */
389
+ --clay-web-cards-section-mt-media-area-height: 240; /** `.mtMediaArea` height — px */
390
+ --clay-web-cards-section-mt-tag-height: 34; /** `.mtTag` height — px */
391
+ --clay-web-cards-section-mt-media-area-height-desktop: 360; /** `.mtMediaArea` height — px */
392
+ --clay-web-cards-section-section-header-max-width: 768; /** `.sectionHeader` max-width — px */
393
+ --clay-web-contact-section-logo-placeholder-width: 90; /** `.logoPlaceholder` width — px */
394
+ --clay-web-contact-section-phone-flag-width: 18; /** `.phoneFlag` width — px */
395
+ --clay-web-contact-section-phone-flag-height: 13; /** `.phoneFlag` height — px */
396
+ --clay-web-contact-section-phone-prefix-chevron-width: 9; /** `.phonePrefixChevron` width — px */
397
+ --clay-web-contact-section-phone-prefix-chevron-height: 5; /** `.phonePrefixChevron` height — px */
398
+ --clay-web-contact-section-content-max-width-laptop: 635; /** `.content` max-width — px */
399
+ --clay-web-contact-section-form-card-min-width-laptop: 320; /** `.formCard` min-width — px */
400
+ --clay-web-contact-section-form-card-max-width-laptop: 480; /** `.formCard` max-width — px */
401
+ --clay-web-contact-section-badge-width: 95; /** `.badgeImage` width (trust badge image) — px */
402
+ --clay-web-contact-section-badge-height: 109; /** `.badgeImage` height (trust badge image) — px */
403
+ --clay-web-country-flag-xs-height: 11; /** `.xs` height — px */
404
+ --clay-web-country-flag-sm-height: 14; /** `.sm` height — px */
405
+ --clay-web-country-flag-lg-height: 22; /** `.lg` height — px */
406
+ --clay-web-cta-section-column-max-width: 960; /** `.column` max-width — px */
407
+ --clay-web-customer-logo-web-width: 100; /** `.web` width — px */
408
+ --clay-web-customer-logo-web-height: 46.667; /** `.web` height — px */
409
+ --clay-web-customers-big-cards-slide-width: 1120; /** `.slide` width — px */
410
+ --clay-web-customers-big-cards-card-quote-font-size: 28; /** `.cardQuote` font-size — px */
411
+ --clay-web-customers-big-cards-card-image-wrap-width-laptop: 380; /** `.cardImageWrap` width — px */
412
+ --clay-web-customers-big-cards-card-image-wrap-height-laptop: 476; /** `.cardImageWrap` height — px */
413
+ --clay-web-customers-big-cards-card-content-height-laptop: 476; /** `.cardContent` height — px */
414
+ --clay-web-faq-section-centered-list-width-laptop: 720; /** `.centered .list` width — px */
375
415
  --clay-web-features-section-card-radius: 24; /** Corner radius of the tabs-background and stroke card container. */
376
416
  --clay-web-features-section-media-radius: 16; /** Corner radius of the media slot inside a tab panel. */
417
+ --clay-web-features-section-stroke-section-desc-max-width: 600; /** `.strokeSectionDesc` max-width — px */
418
+ --clay-web-features-section-stroke-text-group-max-width: 480; /** `.strokeTextGroup` max-width — px */
419
+ --clay-web-features-section-tc-tab-height: 54; /** `.tcTab` height — px */
420
+ --clay-web-features-section-tc-media-height: 280; /** `.tcMedia` height — px */
421
+ --clay-web-features-section-sr-card-inner-max-width: 544; /** `.srCardInner` max-width — px */
422
+ --clay-web-features-section-na-mobile-number-top: 18; /** `.naMobileNumber` top — px */
423
+ --clay-web-features-section-tab-text-max-width-tablet: 448; /** `.tabText` max-width — px */
424
+ --clay-web-features-section-tab-media-max-width-tablet: 608; /** `.tabMedia` max-width — px */
425
+ --clay-web-features-section-lrm-media-max-width-laptop: 656; /** `.lrmMedia` max-width — px */
426
+ --clay-web-features-section-stroke-media-max-width-desktop: 640; /** `.strokeMedia` max-width — px */
427
+ --clay-web-features-section-tc-card-basis-desktop: 860; /** `.tcCard` flex — px */
428
+ --clay-web-features-section-na-panel-basis-desktop: 82; /** `.naPanel` flex; `.naPanelSide` flex; `.naPanelSide` min-width — px */
429
+ --clay-web-features-section-na-label-wrap-width-desktop: 34; /** `.naLabelWrap` width — px */
430
+ --clay-web-features-section-sn-rows-max-width-desktop: 992; /** `.snRows` max-width — px */
431
+ --clay-web-features-section-section-heading-max-width: 768; /** `.hiHeader` max-width; `.naSectionHeader` max-width; `.hmtSectionHeading` max-width; +1 more — px */
432
+ --clay-web-features-section-tc-card-icon-size: 54; /** `.tcCardIcon` width; `.tcCardIcon` height — px */
433
+ --clay-web-features-section-tc-card-icon-size-desktop: 70; /** `.tcCardIcon` width; `.tcCardIcon` height — px */
434
+ --clay-web-features-section-sil-icon-size: 44; /** `.silIcon` width; `.silIcon` height — px */
435
+ --clay-web-features-section-sr-tag-dot-size: 18; /** `.srTagDot` width; `.srTagDot` height — px */
436
+ --clay-web-footer-section-column-padding-bottom: 35; /** `.column` padding-bottom — px */
437
+ --clay-web-footer-section-column-brand-padding-top: 10; /** `.columnBrand` padding-top — px */
438
+ --clay-web-footer-section-logo-img-height: 26; /** `.logoImg` height — px */
439
+ --clay-web-footer-section-heading-margin-top: 10; /** `.heading` margin — px */
440
+ --clay-web-footer-section-heading-margin-bottom: 18; /** `.heading` margin — px */
441
+ --clay-web-footer-section-links-gap: 15.5; /** `.links` gap — px */
442
+ --clay-web-footer-section-link-line-height: 22; /** `.link` line-height — px */
443
+ --clay-web-footer-section-sub-group-margin-top: 38; /** `.subGroup` margin-top — px */
444
+ --clay-web-footer-section-bottom-center-gap: 5; /** `.bottomCenter` gap — px */
445
+ --clay-web-footer-section-legal-link-line-height: 18; /** `.legalLink` line-height — px */
446
+ --clay-web-footer-section-copyright-line-height: 20; /** `.copyright` line-height — px */
447
+ --clay-web-footer-section-pipe-height-laptop: 14; /** `.pipe` height — px */
448
+ --clay-web-footer-section-short-column-max-width-laptop: 222; /** `.short .column` max-width — px */
449
+ --clay-web-footer-section-short-column-basis-laptop: 220; /** `.short .columnBrand` flex; `.short .column:first-child` flex — px */
450
+ --clay-web-footer-section-link-icon-size: 18; /** `.linkIcon` width; `.linkIcon` height — px */
451
+ --clay-web-footer-section-accessibility-icon-size: 21; /** `.accessibilityIcon` width; `.accessibilityIcon` height — px */
452
+ --clay-web-footer-section-bottom-row-height-laptop: 92; /** `.bottomLeft` height; `.bottomCenter` height; `.bottomRight` height — px */
453
+ --clay-web-footer-section-small-font-size: 13; /** `.link` font-size; `.legalLink` font-size; `.copyright` font-size — px */
454
+ --clay-web-header-section-column-max-width: 960; /** `.column` max-width — px */
455
+ --clay-web-header-section-heading-fluid-intercept: 30.2864; /** `.heading` font-size; `.split .heading` font-size — px */
456
+ --clay-web-header-section-description-fluid-intercept: 15.4288; /** `.description` font-size — px */
457
+ --clay-web-header-section-action-caption-font-size: 13; /** `.actionCaption` font-size — px */
458
+ --clay-web-header-section-media-max-width-laptop: 1096; /** `.media` max-width — px */
459
+ --clay-web-header-section-split-content-max-width-laptop: 544; /** `.split .content` max-width — px */
460
+ --clay-web-header-section-split-media-max-width-laptop: 600; /** `.split .media` max-width — px */
461
+ --clay-web-header-section-split-media-max-width-desktop: 656; /** `.split .media` max-width — px */
462
+ --clay-web-header-section-split-search-actions-max-width-laptop: 513; /** `.split-search .actions` max-width — px */
463
+ --clay-web-header-section-split-full-image-media-height: 375; /** `.split-full-image .media` height — px */
464
+ --clay-web-header-section-split-full-image-content-max-width-laptop: 560; /** `.split-full-image .content` max-width — px */
465
+ --clay-web-header-section-split-mosaic-media-height: 460; /** `.split-mosaic .media` height — px */
466
+ --clay-web-header-section-card-height-laptop: 640; /** `.card` height — px */
467
+ --clay-web-header-section-default-content-max-width-laptop: 729; /** `.default .content` max-width — px */
468
+ --clay-web-header-section-default-content-gap-laptop: 30; /** `.default .content` gap — px */
469
+ --clay-web-header-section-heading-fluid-intercept-desktop: 12.5712; /** `.split .heading` font-size — px */
470
+ --clay-web-header-section-column-min-width-laptop: 300; /** `.split-full-image .column` min-width; `.split-mosaic .column` min-width; `.split-strip .column` min-width — px */
471
+ --clay-web-integrations-strip-outer-height: 90; /** `.stripOuter` height — px */
472
+ --clay-web-integrations-hex-badge-height: 90; /** `.hexBadge` height — px */
473
+ --clay-web-integrations-heading-max-width-laptop: 720; /** `.heading` max-width — px */
474
+ --clay-web-integrations-description-max-width-laptop: 754; /** `.description` max-width — px */
475
+ --clay-web-motion-lightbox-dialog-width: 1200; /** `.clay-lightbox-dialog` width — px */
476
+ --clay-web-navbar-menu-logo-img-max-width: 260; /** `.logoImg` max-width — px */
477
+ --clay-web-navbar-menu-menu-icon-gap: 3; /** `.menuIcon` gap — px */
478
+ --clay-web-navbar-menu-menu-icon-width: 18; /** `.menuIcon` width — px */
479
+ --clay-web-navbar-menu-menu-bar-width: 18; /** `.menuBar` width — px */
480
+ --clay-web-navbar-menu-dropdown-column-min-width: 140; /** `.dropdownColumn` min-width — px */
481
+ --clay-web-navbar-menu-inner-padding-y: 14; /** `.inner` padding-top; `.inner` padding-bottom — px */
482
+ --clay-web-navbar-menu-dropdown-item-icon-size: 17; /** `.dropdownItemIcon` width; `.dropdownItemIcon` height — px */
483
+ --clay-web-shapes-orb-swoosh-offset-y-33: 5; /** `33%` transform — px */
484
+ --clay-web-shapes-orb-swoosh-offset-y-66: 3; /** `66%` transform — px */
485
+ --clay-web-site-footer-grid-column: 140; /** `.grid` grid-template-columns — px */
486
+ --clay-web-testimonials-section-logo-slot-height: 62; /** `.logoSlot` height; `.splitLogoSlot` height; `.centeredLogoSlot` height — px */
487
+ --clay-web-testimonials-section-logo-slot-width: 132; /** `.logoSlot` width; `.splitLogoSlot` width; `.centeredLogoSlot` width — px */
488
+ --clay-web-testimonials-section-summary-card-width-laptop: 484; /** `.summaryCard` width — px */
489
+ --clay-web-testimonials-section-avatar-width-laptop: 300; /** `.avatar` width; `.centeredAvatar` width — px */
490
+ --clay-web-testimonials-section-carousel-card-min-height: 513; /** `.carouselCard` min-height — px */
491
+ --clay-web-testimonials-section-split-divider-height-laptop: 61; /** `.splitDivider` height — px */
492
+ --clay-web-testimonials-section-centered-content-max-width-laptop: 768; /** `.centeredContent` max-width — px */
493
+ --clay-web-testimonials-section-case-study-card-logo-slot-height: 47; /** `.caseStudyCardLogoSlot` height; `.statQuoteLogoSlot` height — px */
494
+ --clay-web-testimonials-section-case-study-card-logo-slot-width: 100; /** `.caseStudyCardLogoSlot` width; `.statQuoteLogoSlot` width — px */
495
+ --clay-web-testimonials-section-case-study-card-media-height: 146; /** `.caseStudyCardMedia` height — px */
496
+ --clay-web-testimonials-section-case-study-stat-label-width: 132; /** `.caseStudyStatLabel` width — px */
497
+ --clay-web-testimonials-section-case-study-card-basis-laptop: 390; /** `.caseStudyCard` flex — px */
498
+ --clay-web-testimonials-section-stat-quote-card-max-width-laptop: 1102; /** `.statQuoteCard` max-width — px */
499
+ --clay-web-testimonials-section-stat-quote-stat-col-width-laptop: 380; /** `.statQuoteStatCol` width — px */
500
+ --clay-web-testimonials-section-quote-card-logo-slot-height: 56; /** `.quoteCardLogoSlot` height — px */
501
+ --clay-web-testimonials-section-quote-cards-heading-width-laptop: 497; /** `.quote-cards .quoteCardsHeading` width — px */
502
+ --clay-web-testimonials-section-quote-card-basis-laptop: 416; /** `.quote-cards .quoteCardsTrack` max-inline-size; `.quote-cards .quoteCard` flex — px */
503
+ --clay-web-testimonials-section-qcm-card-media-height: 246; /** `.qcmCardMedia` height — px */
504
+ --clay-web-testimonials-section-qcm-card-logo-slot-height: 49; /** `.qcmCardLogoSlot` height — px */
505
+ --clay-web-testimonials-section-qcm-card-logo-slot-width: 106; /** `.qcmCardLogoSlot` width — px */
506
+ --clay-web-testimonials-section-qcm-card-basis-laptop: 480; /** `.caseStudyHeading` max-width; `.qcmHeading` max-width; `.qcmTrack` max-inline-size; +1 more — px */
507
+ --clay-web-testimonials-section-avatar-photo-size: 56; /** `.avatarPhoto` width; `.avatarPhoto` height; `.quoteCardAvatarPhoto` width; +3 more — px */
508
+ --clay-web-testimonials-section-split-column-max-width-laptop: 616; /** `.splitMediaSlot` max-width; `.splitTextCol` max-width — px */
509
+ --clay-web-testimonials-section-mixed-header-max-width-laptop: 1120; /** `.mixed-stat-and-quote .mixedHeader` max-width — px */
510
+ --clay-web-testimonials-section-mixed-header-text-max-width-laptop: 496; /** `.mixed-stat-and-quote .mixedHeaderText` max-width — px */
511
+ --clay-web-testimonials-section-mixed-carousel-card-width-laptop: 678; /** `.mixed-stat-and-quote .carouselCard` width — px */
512
+ --clay-web-testimonials-section-mixed-carousel-card-content-basis-laptop: 320; /** `.mixed-stat-and-quote .carouselCardContent` flex — px */
513
+ --clay-web-testimonials-section-mixed-carousel-card-media-size-laptop: 314; /** `.mixed-stat-and-quote .carouselCardMedia` flex; `.mixed-stat-and-quote .carouselCardMedia` width; `.mixed-stat-and-quote .carouselCardMedia` height — px */
514
+ --clay-web-testimonials-section-quote-icon-width: 88; /** `.statQuoteQuoteCol .quoteIcon` width — px */
515
+ --clay-web-testimonials-section-quote-icon-width-laptop: 123; /** `.statQuoteQuoteCol .quoteIcon` width — px */
516
+ --clay-web-trust-badge-regular-width: 104; /** `.regular` width — px */
517
+ --clay-web-trust-badge-large-width: 156; /** `.large` width — px */
518
+ --clay-web-trust-badge-large-height: 179; /** `.large` height — px */
519
+ --clay-web-trust-section-stat-card-min-height: 424; /** `.statCard` min-height — px */
520
+ --clay-web-trust-section-stat-logo-height: 60; /** `.statLogo` height — px */
521
+ --clay-web-trust-section-security-card-basis-desktop: 617; /** `.securityCard` flex — px */
522
+ --clay-web-trust-section-compliance-logo-size-tablet: 116; /** `.complianceLogo` width; `.complianceLogo` height — px */
377
523
  --clay-effect-shadow-light: 0px 0px 40px 0px rgba(23, 24, 28, 0.06);
378
524
  --clay-effect-shadow-hard: 0px 8px 40px 0px rgba(23, 24, 28, 0.12);
379
525
  --clay-effect-shadow-rise-small: 0px 4px 8px 0px rgba(23, 24, 28, 0.2);
@@ -383,6 +529,7 @@
383
529
  --clay-effect-glass-background: rgba(255, 255, 255, 0.1);
384
530
  --clay-effect-glass-blur: 33px;
385
531
  --clay-effect-glass-border: 1px solid rgba(255, 255, 255, 0.12);
532
+ --clay-effect-text-shadow-legible: 0px 1px 4px rgba(0, 0, 0, 0.5); /** Soft dark halo under light text on busy media (text-shadow: no spread value). */
386
533
  --clay-layout-container-max-width: 1440;
387
534
  --clay-layout-container-large: 1440;
388
535
  --clay-layout-container-narrow: 1220;
@@ -591,7 +738,7 @@
591
738
  --clay-card-action-radius: 16;
592
739
  --clay-card-action-hover-shadow: 0px 0px 40px 0px rgba(23, 24, 28, 0.06);
593
740
  --clay-card-action-title-color: #252526;
594
- --clay-card-action-description-color: #7c7b7b;
741
+ --clay-card-action-description-color: #45454a;
595
742
  --clay-card-action-rating-color: #f5a623;
596
743
  --clay-card-action-media-top-padding: 16;
597
744
  --clay-card-action-media-top-gap: 24;
@@ -632,7 +779,7 @@
632
779
  --clay-card-horizontal-border-color: #cacbcd;
633
780
  --clay-card-horizontal-radius: 20;
634
781
  --clay-card-horizontal-heading-color: #252526;
635
- --clay-card-horizontal-description-color: #7c7b7b;
782
+ --clay-card-horizontal-description-color: #45454a;
636
783
  --clay-card-horizontal-tag-color: #252526;
637
784
  --clay-card-horizontal-content-padding: 24;
638
785
  --clay-card-horizontal-content-gap: 32;
@@ -651,6 +798,9 @@
651
798
  --clay-card-horizontal-mobile-padding: 16;
652
799
  --clay-card-horizontal-mobile-gap: 24;
653
800
  --clay-card-horizontal-mobile-shadow: 0px 0px 40px 0px rgba(23, 24, 28, 0.06);
801
+ --clay-card-action-card-variant-agent-width: 280; /** `.actionCard.variant_agent` width — px */
802
+ --clay-card-action-card-variant-agent-height: 332; /** `.actionCard.variant_agent` height — px */
803
+ --clay-card-action-card-variant-agent-icon-width: 240; /** `.actionCard.variant_agentIcon` width — px */
654
804
  --clay-checkbox-size: 20;
655
805
  --clay-checkbox-radius: 4;
656
806
  --clay-checkbox-gap: 8;
@@ -705,6 +855,11 @@
705
855
  --clay-customer-story-card-quote-with-picture-avatar-gap: 16;
706
856
  --clay-customer-story-card-mobile-min-height: 513;
707
857
  --clay-customer-story-card-mobile-gap: 20;
858
+ --clay-customer-story-card-type-quote-with-picture-width: 479; /** `.type_quoteWithPicture` width — px */
859
+ --clay-customer-story-card-avatar-width: 300; /** `.avatar` width — px */
860
+ --clay-customer-story-card-logo-slot-height: 56; /** `.logoSlot` height — px */
861
+ --clay-customer-story-card-logo-slot-end-height: 50; /** `.logoSlotEnd` height — px */
862
+ --clay-customer-story-card-content-width: 320; /** `.statsContent` width; `.quoteContent` width — px */
708
863
  --clay-hover-flip-card-radius: 12;
709
864
  --clay-hover-flip-card-padding-mobile: 24;
710
865
  --clay-hover-flip-card-padding-top: 48;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clay-design-system/tokens",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -0,0 +1,75 @@
1
+ /**
2
+ * stylelint-plugin: clay-ds/allowed-breakpoints
3
+ *
4
+ * Mobile-first media queries on the Clay breakpoint set only. An `@media` query may use:
5
+ * - (min-width: Npx) where N is a Clay breakpoint: 480 · 768 · 992 · 1024 · 1280
6
+ * - any prefers-* feature: (prefers-reduced-motion: …), (prefers-color-scheme: …), …
7
+ * - media types (screen, print, all) and the keywords and / not / only
8
+ *
9
+ * Flagged: max-width (write the mobile default first, then a min-width override), any other
10
+ * min-width value, non-px widths, range syntax (width >= …), and every other feature.
11
+ * The values mirror @clay-design-system/tokens/mq — @media can't read custom properties.
12
+ *
13
+ * Usage in .stylelintrc:
14
+ * plugins: ['@clay-design-system/tokens/stylelint-plugin/allowed-breakpoints.js']
15
+ * rules:
16
+ * 'clay-ds/allowed-breakpoints': true // or [true, { breakpoints: [480, 768] }]
17
+ */
18
+
19
+ import stylelint from 'stylelint'
20
+
21
+ const { createPlugin, utils } = stylelint
22
+
23
+ const ruleName = 'clay-ds/allowed-breakpoints'
24
+ const BREAKPOINTS = [480, 768, 992, 1024, 1280]
25
+
26
+ const messages = utils.ruleMessages(ruleName, {
27
+ maxWidth: (feature) =>
28
+ `"${feature}" — media queries are mobile-first: style the default for mobile and override with (min-width: …).`,
29
+ value: (feature, allowed) =>
30
+ `"${feature}" is not a Clay breakpoint. Use (min-width: Npx) with N in ${allowed.join(' · ')}.`,
31
+ feature: (feature) =>
32
+ `"${feature}" is not allowed in @media. Only (min-width: <breakpoint>) and prefers-* features.`,
33
+ })
34
+
35
+ const ruleFunction = (primary, secondary) => {
36
+ return (root, result) => {
37
+ const validOptions = utils.validateOptions(
38
+ result,
39
+ ruleName,
40
+ { actual: primary, possible: [true] },
41
+ {
42
+ actual: secondary,
43
+ possible: { breakpoints: [(v) => Number.isInteger(v) && v > 0] },
44
+ optional: true,
45
+ },
46
+ )
47
+ if (!validOptions) return
48
+ const allowed = secondary?.breakpoints ?? BREAKPOINTS
49
+
50
+ root.walkAtRules(/^media$/i, (atRule) => {
51
+ const report = (message, word) =>
52
+ utils.report({ message, node: atRule, result, ruleName, word })
53
+
54
+ for (const [, raw] of atRule.params.matchAll(/\(([^()]*)\)/g)) {
55
+ const feature = raw.trim()
56
+ const [name, value = ''] = feature.split(':').map((s) => s.trim().toLowerCase())
57
+ if (name.startsWith('prefers-')) continue
58
+ if (name === 'max-width') {
59
+ report(messages.maxWidth(`(${feature})`), feature)
60
+ } else if (name === 'min-width') {
61
+ const px = value.match(/^(\d+)px$/)
62
+ if (!px || !allowed.includes(Number(px[1])))
63
+ report(messages.value(`(${feature})`, allowed), feature)
64
+ } else {
65
+ report(messages.feature(`(${feature})`), feature)
66
+ }
67
+ }
68
+ })
69
+ }
70
+ }
71
+
72
+ ruleFunction.ruleName = ruleName
73
+ ruleFunction.messages = messages
74
+
75
+ export default createPlugin(ruleName, ruleFunction)