diff --git a/about/card-offgrid-showcase.page.tsx b/about/card-offgrid-showcase.page.tsx new file mode 100644 index 0000000000..d68c945c51 --- /dev/null +++ b/about/card-offgrid-showcase.page.tsx @@ -0,0 +1,668 @@ +import * as React from "react"; +import { PageGrid, PageGridRow, PageGridCol } from "shared/components/PageGrid/page-grid"; +import { CardOffgrid } from "shared/components/CardOffgrid"; +import { Divider } from "shared/components/Divider"; + +export const frontmatter = { + seo: { + title: 'CardOffgrid Component Showcase', + description: "A comprehensive showcase of all CardOffgrid component variants, states, and interactions in the XRPL.org Design System.", + } +}; + +// Sample icon component for demonstration +const SampleIcon = () => ( + + + + + + +); + +// Alternative icon for variety +const MetadataIcon = () => ( + + + + +); + +// Chain icon +const ChainIcon = () => ( + + + + +); + +export default function CardOffgridShowcase() { + const [clickedCard, setClickedCard] = React.useState(null); + + const handleCardClick = (cardName: string) => { + setClickedCard(cardName); + setTimeout(() => setClickedCard(null), 1500); + }; + + return ( +
+
+ {/* Hero Section */} +
+
+
Component Showcase
+

CardOffgrid Component

+

+ A versatile card component for displaying feature highlights with an icon, title, and description. + Supports neutral and green color variants with interactive states and bottom-to-top gradient hover animation. +

+
+
+ + {/* Variant Showcase */} + + + +

Color Variants

+

CardOffgrid supports two color variants: neutral (default) and green.

+ +
+
+
Neutral Variant (Default)
+ } + title={"Onchain\nMetadata"} + description="Easily store key asset information or link to off-chain data using simple APIs, giving token holders transparency." + onClick={() => handleCardClick('neutral')} + /> + {clickedCard === 'neutral' && ( +

✓ Card clicked!

+ )} +
+ +
+
Green Variant
+ } + title={"Onchain\nMetadata"} + description="Easily store key asset information or link to off-chain data using simple APIs, giving token holders transparency." + onClick={() => handleCardClick('green')} + /> + {clickedCard === 'green' && ( +

✓ Card clicked!

+ )} +
+
+
+
+
+ + {/* Interactive States */} + + + +

Interactive States

+

Hover, focus, and press the cards below to see the state transitions.

+ + {/* Neutral States */} +
Neutral Variant States
+
+
+ Default + } + title={"Token\nManagement"} + description="Create and manage fungible and non-fungible tokens with built-in compliance features." + onClick={() => handleCardClick('neutral-default')} + /> +
+
+ Disabled + } + title={"Token\nManagement"} + description="Create and manage fungible and non-fungible tokens with built-in compliance features." + disabled + /> +
+
+ + {/* Green States */} +
Green Variant States
+
+
+ Default + } + title={"Cross-Chain\nBridges"} + description="Connect XRPL with other blockchain networks through secure and efficient bridge protocols." + onClick={() => handleCardClick('green-default')} + /> +
+
+ Disabled + } + title={"Cross-Chain\nBridges"} + description="Connect XRPL with other blockchain networks through secure and efficient bridge protocols." + disabled + /> +
+
+
+
+
+ + {/* Color Palette */} + + + +

Color Palette

+

+ All colors are mapped from styles/_colors.scss. + The site defaults to dark mode. Light mode is activated via html.light. +

+ + {/* Dark Mode Colors */} +
Dark Mode (Default)
+
+ {/* Neutral Colors - Dark */} +
+
Neutral Variant
+
+
+
+
+ Default: $gray-500 +
+ #72777E (white text) +
+
+
+
+
+ Hover/Focus: $gray-400 +
+ #8A919A (white text) +
+
+
+
+
+ Pressed: rgba($gray-500, 0.7) +
+ 70% opacity +
+
+
+
+
+ Disabled: $gray-500 @ 30% +
+ opacity: 0.3 +
+
+
+
+ + {/* Green Colors - Dark */} +
+
Green Variant
+
+
+
+
+ Default: $green-300 +
+ #21E46B (black text) +
+
+
+
+
+ Hover/Focus: $green-200 +
+ #70EE97 (black text) +
+
+
+
+
+ Pressed: $green-400 +
+ #0DAA3E (black text) +
+
+
+
+
+ Disabled: $gray-500 @ 30% +
+ opacity: 0.3 (white text) +
+
+
+
+
+ + + + {/* Light Mode Colors */} +
Light Mode (html.light)
+
+ {/* Neutral Colors - Light */} +
+
Neutral Variant
+
+
+
+
+ Default: $gray-200 +
+ #E6EAF0 (dark text) +
+
+
+
+
+ Hover/Focus: $gray-300 +
+ #CAD4DF (black text) +
+
+
+
+
+ Pressed: $gray-400 +
+ #8A919A (black text) +
+
+
+
+
+ Disabled: $gray-100 +
+ #F0F3F7 (gray text) +
+
+
+
+ + {/* Green Colors - Light */} +
+
Green Variant
+
+
+
+
+ Default: $green-200 +
+ #70EE97 (black text) +
+
+
+
+
+ Hover/Focus: $green-300 +
+ #21E46B (black text) +
+
+
+
+
+ Pressed: $green-400 +
+ #0DAA3E (black text) +
+
+
+
+
+ Disabled: $gray-100 +
+ #F0F3F7 (gray text) +
+
+
+
+
+
+
+
+ + {/* Animation Details */} + + + +

Animation Specifications

+ +
+
+
Timing
+
    +
  • Duration: 200ms
  • +
  • Easing: cubic-bezier(0.98, 0.12, 0.12, 0.98)
  • +
+
+
+
Hover Effect ("Window Shade")
+
    +
  • Hover in: Shade rises up (bottom → top)
  • +
  • Hover out: Shade falls down (top → bottom)
  • +
  • Darker pressed state on click
  • +
+
+
+
State Flow
+
    +
  • Default → Hover → Pressed
  • +
  • Full card area is clickable
  • +
  • Focus ring on keyboard navigation
  • +
+
+
+
+
+
+ + {/* Link vs Button */} + + + +

Link vs Button Rendering

+

The component renders as an <a> tag when href is provided, otherwise as a <button>.

+ +
+
+
As Button (onClick)
+ } + title={"Click Me"} + description="This card renders as a button element and triggers an onClick handler." + onClick={() => handleCardClick('button-demo')} + /> + {clickedCard === 'button-demo' && ( +

✓ Button clicked!

+ )} +
+ +
+
As Link (href)
+ } + title={"Navigate"} + description="This card renders as an anchor element and navigates to the specified href." + href="#link-demo" + /> +

↑ Click to navigate to #link-demo

+
+
+
+
+
+ + {/* Dimensions */} + + + +

Dimensions

+ +
+ {/* Header Row */} +
+
Property
+
Value
+
+ +
+
Card Width
+
400px (full-width on mobile)
+
+ + +
+
Card Height
+
480px
+
+ + +
+
Padding
+
24px
+
+ + +
+
Icon Container
+
84px × 84px
+
+ + +
+
Icon Size
+
~68px × 68px
+
+ + +
+
Content Gap
+
40px (between title and description)
+
+
+
+
+
+ + {/* Typography */} + + + +

Typography

+ +
+
+
Title
+
    +
  • Font Size: 32px
  • +
  • Font Weight: 300 (light)
  • +
  • Line Height: 40px
  • +
  • Letter Spacing: -1px
  • +
+
+
+
Description
+
    +
  • Font Size: 18px
  • +
  • Font Weight: 300 (light)
  • +
  • Line Height: 26.1px
  • +
  • Letter Spacing: -0.5px
  • +
+
+
+
+
+
+ + {/* API Reference */} + + + +

Component API

+
+ {/* Header Row */} +
+
Prop
+
Type
+
Default
+
Description
+
+ + {/* variant */} +
+
variant
+
'neutral' | 'green'
+
'neutral'
+
Color variant of the card
+
+ + + {/* icon */} +
+
icon
+
ReactNode | string
+
required
+
Icon element or image URL
+
+ + + {/* title */} +
+
title
+
string
+
required
+
Card title (use \n for line breaks)
+
+ + + {/* description */} +
+
description
+
string
+
required
+
Card description text
+
+ + + {/* onClick */} +
+
onClick
+
() => void
+
undefined
+
Click handler (renders as button)
+
+ + + {/* href */} +
+
href
+
string
+
undefined
+
Link destination (renders as anchor)
+
+ + + {/* disabled */} +
+
disabled
+
boolean
+
false
+
Disabled state
+
+ + + {/* className */} +
+
className
+
string
+
''
+
Additional CSS classes
+
+
+
+
+
+ + {/* Usage Examples */} + + + +

Usage Examples

+ +
+ {/* Basic Usage */} +
+
Basic Usage
+
+{`import { CardOffgrid } from 'shared/components/CardOffgrid';
+
+}
+  title="Onchain\\nMetadata"
+  description="Easily store key asset information..."
+  onClick={() => console.log('clicked')}
+/>`}
+                  
+
+ + {/* With Link */} +
+
With Link
+
+{``}
+                  
+
+ + {/* Disabled State */} +
+
Disabled State
+
+{`}
+  title="Coming Soon"
+  description="This feature is not yet available..."
+  disabled
+/>`}
+                  
+
+
+
+
+
+ + {/* Figma References */} + + + +

Figma References

+ +
+
+
+
+
+ ); +} diff --git a/shared/components/CardOffgrid/CardOffgrid.md b/shared/components/CardOffgrid/CardOffgrid.md new file mode 100644 index 0000000000..2626ddf2a6 --- /dev/null +++ b/shared/components/CardOffgrid/CardOffgrid.md @@ -0,0 +1,436 @@ +# CardOffgrid Component - Usage Guide + +## Overview + +`CardOffgrid` is a feature highlight card component designed to showcase key capabilities, features, or resources. It combines an icon, title, and description in a visually engaging, interactive card format with smooth hover animations. + +**Use CardOffgrid when:** +- Highlighting key features or capabilities +- Creating feature grids or showcases +- Linking to important documentation or resources +- Presenting product/service highlights + +**Don't use CardOffgrid for:** +- Simple content cards (use standard Bootstrap cards) +- Navigation items (use navigation components) +- Data display (use tables or data components) +- Long-form content (use article/page layouts) + +--- + +## When to Use Each Variant + +### Neutral Variant (`variant="neutral"`) + +**Use for:** +- General feature highlights +- Standard content cards +- Secondary or supporting features +- When you want subtle, professional presentation + +**Example use cases:** +- Documentation sections +- Feature lists +- Service offerings +- Standard informational cards + +### Green Variant (`variant="green"`) + +**Use for:** +- Primary or featured highlights +- Call-to-action cards +- Important announcements +- Brand-emphasized content + +**Example use cases:** +- Hero feature cards +- Primary CTAs +- Featured resources +- Branded highlights + +--- + +## Content Best Practices + +### Title Guidelines + +✅ **Do:** +- Keep titles concise (1-3 words ideal) +- Use line breaks (`\n`) for multi-word titles when needed +- Make titles action-oriented or descriptive +- Examples: "Onchain Metadata", "Token\nManagement", "Cross-Chain\nBridges" + +❌ **Don't:** +- Write long sentences as titles +- Use more than 2 lines +- Include punctuation (periods, commas) +- Make titles too generic ("Feature", "Service") + +### Description Guidelines + +✅ **Do:** +- Write 1-2 sentences (15-25 words ideal) +- Focus on benefits or key information +- Use clear, simple language +- Keep descriptions scannable + +❌ **Don't:** +- Write paragraphs (save for full pages) +- Use jargon without context +- Include multiple ideas in one description +- Make descriptions too short (< 10 words) or too long (> 40 words) + +### Icon Guidelines + +✅ **Do:** +- Use SVG icons for crisp rendering +- Choose icons that represent the feature clearly +- Ensure icons are recognizable at 68×68px +- Use consistent icon style across cards + +❌ **Don't:** +- Use low-resolution raster images +- Choose overly complex icons +- Mix icon styles within a single grid +- Use icons that don't relate to the content + +--- + +## Interaction Patterns + +### Using `onClick` vs `href` + +**Use `onClick` when:** +- Triggering JavaScript actions (modals, analytics, state changes) +- Opening external links in new tabs +- Performing client-side navigation +- Handling complex interactions + +```tsx +} + title="View Analytics" + description="See detailed usage statistics and insights." + onClick={() => { + trackEvent('analytics_viewed'); + openModal('analytics'); + }} +/> +``` + +**Use `href` when:** +- Navigating to internal pages +- Linking to documentation +- Simple page navigation +- SEO-friendly links + +```tsx + +``` + +### Disabled State + +Use `disabled` when: +- Feature is coming soon +- Feature requires authentication +- Feature is temporarily unavailable +- You want to show but not allow interaction + +```tsx +} + title="Coming\nSoon" + description="This feature will be available in the next release." + disabled +/> +``` + +--- + +## Layout Best Practices + +### Grid Layouts + +**Recommended grid patterns:** + +```tsx +// 2-column grid (desktop) +
+
+ +
+
+ +
+
+ +// 3-column grid (desktop) +
+ {cards.map(card => ( +
+ +
+ ))} +
+``` + +**Spacing:** +- Use Bootstrap spacing utilities (`mb-4`, `mb-5`) between cards +- Maintain consistent spacing in grids +- Cards are responsive and stack on mobile automatically + +### Single Card Usage + +For hero sections or featured highlights: + +```tsx +
+ } + title="New Feature" + description="Introducing our latest capability..." + href="/features/new" + /> +
+``` + +--- + +## Accessibility Best Practices + +### Semantic HTML + +The component automatically renders as: +- ` + ); +}; + +export default CardOffgrid; diff --git a/shared/components/CardOffgrid/index.ts b/shared/components/CardOffgrid/index.ts new file mode 100644 index 0000000000..6d0b63a446 --- /dev/null +++ b/shared/components/CardOffgrid/index.ts @@ -0,0 +1,2 @@ +export { CardOffgrid, type CardOffgridProps } from './CardOffgrid'; +export { default } from './CardOffgrid'; diff --git a/static/css/devportal2024-v1.css b/static/css/devportal2024-v1.css index 5e80cbbae3..785387f736 100644 --- a/static/css/devportal2024-v1.css +++ b/static/css/devportal2024-v1.css @@ -127,17 +127,17 @@ --bs-white: #FFFFFF; --bs-gray: #454549; --bs-gray-dark: #232325; - --bs-gray-100: #F5F5F7; - --bs-gray-200: #E0E0E1; - --bs-gray-300: #C1C1C2; - --bs-gray-400: #A2A2A4; - --bs-gray-500: #838386; + --bs-gray-100: #F0F3F7; + --bs-gray-200: #E6EAF0; + --bs-gray-300: #CAD4DF; + --bs-gray-400: #8A919A; + --bs-gray-500: #72777E; --bs-gray-600: #454549; --bs-gray-700: #343437; --bs-gray-800: #232325; --bs-gray-900: #111112; --bs-primary: #7649E3; - --bs-secondary: #E0E0E1; + --bs-secondary: #E6EAF0; --bs-success: #078139; --bs-info: #0A4DC0; --bs-warning: #D4C02D; @@ -145,7 +145,7 @@ --bs-light: #FFFFFF; --bs-dark: #111112; --bs-primary-rgb: 118, 73, 227; - --bs-secondary-rgb: 224, 224, 225; + --bs-secondary-rgb: 230, 234, 240; --bs-success-rgb: 7, 129, 57; --bs-info-rgb: 10, 77, 192; --bs-warning-rgb: 212, 192, 45; @@ -153,7 +153,7 @@ --bs-light-rgb: 255, 255, 255; --bs-dark-rgb: 17, 17, 18; --bs-primary-text-emphasis: rgb(47.2, 29.2, 90.8); - --bs-secondary-text-emphasis: rgb(89.6, 89.6, 90); + --bs-secondary-text-emphasis: rgb(92, 93.6, 96); --bs-success-text-emphasis: rgb(2.8, 51.6, 22.8); --bs-info-text-emphasis: rgb(4, 30.8, 76.8); --bs-warning-text-emphasis: rgb(84.8, 76.8, 18); @@ -161,21 +161,21 @@ --bs-light-text-emphasis: #343437; --bs-dark-text-emphasis: #343437; --bs-primary-bg-subtle: rgb(227.6, 218.6, 249.4); - --bs-secondary-bg-subtle: rgb(248.8, 248.8, 249); + --bs-secondary-bg-subtle: rgb(250, 250.8, 252); --bs-success-bg-subtle: rgb(205.4, 229.8, 215.4); --bs-info-bg-subtle: rgb(206, 219.4, 242.4); --bs-warning-bg-subtle: rgb(246.4, 242.4, 213); --bs-danger-bg-subtle: rgb(248, 218, 226.2); - --bs-light-bg-subtle: #fafafb; - --bs-dark-bg-subtle: #A2A2A4; + --bs-light-bg-subtle: rgb(247.5, 249, 251); + --bs-dark-bg-subtle: #8A919A; --bs-primary-border-subtle: rgb(200.2, 182.2, 243.8); - --bs-secondary-border-subtle: rgb(242.6, 242.6, 243); + --bs-secondary-border-subtle: rgb(245, 246.6, 249); --bs-success-border-subtle: rgb(155.8, 204.6, 175.8); --bs-info-border-subtle: rgb(157, 183.8, 229.8); --bs-warning-border-subtle: rgb(237.8, 229.8, 171); --bs-danger-border-subtle: rgb(241, 181, 197.4); - --bs-light-border-subtle: #E0E0E1; - --bs-dark-border-subtle: #838386; + --bs-light-border-subtle: #E6EAF0; + --bs-dark-border-subtle: #72777E; --bs-white-rgb: 255, 255, 255; --bs-black-rgb: 0, 0, 0; --bs-font-sans-serif: "Booton", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; @@ -185,20 +185,20 @@ --bs-body-font-size: 1rem; --bs-body-font-weight: 400; --bs-body-line-height: 1.5; - --bs-body-color: #E0E0E1; - --bs-body-color-rgb: 224, 224, 225; + --bs-body-color: #E6EAF0; + --bs-body-color-rgb: 230, 234, 240; --bs-body-bg: #111112; --bs-body-bg-rgb: 17, 17, 18; --bs-emphasis-color: #000000; --bs-emphasis-color-rgb: 0, 0, 0; - --bs-secondary-color: rgba(224, 224, 225, 0.75); - --bs-secondary-color-rgb: 224, 224, 225; - --bs-secondary-bg: #E0E0E1; - --bs-secondary-bg-rgb: 224, 224, 225; - --bs-tertiary-color: rgba(224, 224, 225, 0.5); - --bs-tertiary-color-rgb: 224, 224, 225; - --bs-tertiary-bg: #F5F5F7; - --bs-tertiary-bg-rgb: 245, 245, 247; + --bs-secondary-color: rgba(230, 234, 240, 0.75); + --bs-secondary-color-rgb: 230, 234, 240; + --bs-secondary-bg: #E6EAF0; + --bs-secondary-bg-rgb: 230, 234, 240; + --bs-tertiary-color: rgba(230, 234, 240, 0.5); + --bs-tertiary-color-rgb: 230, 234, 240; + --bs-tertiary-bg: #F0F3F7; + --bs-tertiary-bg-rgb: 240, 243, 247; --bs-heading-color: #FFFFFF; --bs-link-color: #FFFFFF; --bs-link-color-rgb: 255, 255, 255; @@ -206,12 +206,12 @@ --bs-link-hover-color: #7649E3; --bs-link-hover-color-rgb: 118, 73, 227; --bs-link-hover-decoration: underline; - --bs-code-color: #E0E0E1; - --bs-highlight-color: #E0E0E1; + --bs-code-color: #E6EAF0; + --bs-highlight-color: #E6EAF0; --bs-highlight-bg: #F3F1EB; --bs-border-width: 1px; --bs-border-style: solid; - --bs-border-color: #C1C1C2; + --bs-border-color: #CAD4DF; --bs-border-color-translucent: rgba(0, 0, 0, 0.175); --bs-border-radius: 4px; --bs-border-radius-sm: 4px; @@ -235,30 +235,30 @@ [data-bs-theme=dark] { color-scheme: dark; - --bs-body-color: #C1C1C2; - --bs-body-color-rgb: 193, 193, 194; + --bs-body-color: #CAD4DF; + --bs-body-color-rgb: 202, 212, 223; --bs-body-bg: #111112; --bs-body-bg-rgb: 17, 17, 18; --bs-emphasis-color: #FFFFFF; --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(193, 193, 194, 0.75); - --bs-secondary-color-rgb: 193, 193, 194; + --bs-secondary-color: rgba(202, 212, 223, 0.75); + --bs-secondary-color-rgb: 202, 212, 223; --bs-secondary-bg: #232325; --bs-secondary-bg-rgb: 35, 35, 37; - --bs-tertiary-color: rgba(193, 193, 194, 0.5); - --bs-tertiary-color-rgb: 193, 193, 194; + --bs-tertiary-color: rgba(202, 212, 223, 0.5); + --bs-tertiary-color-rgb: 202, 212, 223; --bs-tertiary-bg: rgb(26, 26, 27.5); --bs-tertiary-bg-rgb: 26, 26, 28; --bs-primary-text-emphasis: rgb(172.8, 145.8, 238.2); - --bs-secondary-text-emphasis: rgb(236.4, 236.4, 237); + --bs-secondary-text-emphasis: rgb(240, 242.4, 246); --bs-success-text-emphasis: rgb(106.2, 179.4, 136.2); --bs-info-text-emphasis: rgb(108, 148.2, 217.2); --bs-warning-text-emphasis: rgb(229.2, 217.2, 129); --bs-danger-text-emphasis: rgb(234, 144, 168.6); - --bs-light-text-emphasis: #F5F5F7; - --bs-dark-text-emphasis: #C1C1C2; + --bs-light-text-emphasis: #F0F3F7; + --bs-dark-text-emphasis: #CAD4DF; --bs-primary-bg-subtle: rgb(23.6, 14.6, 45.4); - --bs-secondary-bg-subtle: rgb(44.8, 44.8, 45); + --bs-secondary-bg-subtle: rgb(46, 46.8, 48); --bs-success-bg-subtle: rgb(1.4, 25.8, 11.4); --bs-info-bg-subtle: rgb(2, 15.4, 38.4); --bs-warning-bg-subtle: rgb(42.4, 38.4, 9); @@ -266,7 +266,7 @@ --bs-light-bg-subtle: #232325; --bs-dark-bg-subtle: rgb(17.5, 17.5, 18.5); --bs-primary-border-subtle: rgb(70.8, 43.8, 136.2); - --bs-secondary-border-subtle: rgb(134.4, 134.4, 135); + --bs-secondary-border-subtle: rgb(138, 140.4, 144); --bs-success-border-subtle: rgb(4.2, 77.4, 34.2); --bs-info-border-subtle: rgb(6, 46.2, 115.2); --bs-warning-border-subtle: rgb(127.2, 115.2, 27); @@ -278,8 +278,8 @@ --bs-link-hover-color: rgb(172.8, 145.8, 238.2); --bs-link-color-rgb: 173, 146, 238; --bs-link-hover-color-rgb: 173, 146, 238; - --bs-code-color: rgb(236.4, 236.4, 237); - --bs-highlight-color: #C1C1C2; + --bs-code-color: rgb(240, 242.4, 246); + --bs-highlight-color: #CAD4DF; --bs-highlight-bg: rgb(84.8, 76.8, 18); --bs-border-color: #343437; --bs-border-color-translucent: rgba(255, 255, 255, 0.15); @@ -1887,13 +1887,13 @@ progress { .table-secondary { --bs-table-color: #000000; - --bs-table-bg: rgb(248.8, 248.8, 249); - --bs-table-border-color: rgb(199.04, 199.04, 199.2); - --bs-table-striped-bg: rgb(236.36, 236.36, 236.55); + --bs-table-bg: rgb(250, 250.8, 252); + --bs-table-border-color: rgb(200, 200.64, 201.6); + --bs-table-striped-bg: rgb(237.5, 238.26, 239.4); --bs-table-striped-color: #000000; - --bs-table-active-bg: rgb(223.92, 223.92, 224.1); + --bs-table-active-bg: rgb(225, 225.72, 226.8); --bs-table-active-color: #000000; - --bs-table-hover-bg: rgb(230.14, 230.14, 230.325); + --bs-table-hover-bg: rgb(231.25, 231.99, 233.1); --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -2086,7 +2086,7 @@ progress { padding: 0; } .form-control::placeholder { - color: #A2A2A4; + color: #8A919A; opacity: 1; } .form-control:disabled { @@ -2251,7 +2251,7 @@ textarea.form-control-lg { } [data-bs-theme=dark] .form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23C1C1C2' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23CAD4DF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } .form-check { @@ -2929,19 +2929,19 @@ textarea.form-control-lg { .btn-secondary { --bs-btn-color: #000000; - --bs-btn-bg: #E0E0E1; - --bs-btn-border-color: #E0E0E1; + --bs-btn-bg: #E6EAF0; + --bs-btn-border-color: #E6EAF0; --bs-btn-hover-color: #000000; - --bs-btn-hover-bg: rgb(228.65, 228.65, 229.5); - --bs-btn-hover-border-color: rgb(227.1, 227.1, 228); - --bs-btn-focus-shadow-rgb: 190, 190, 191; + --bs-btn-hover-bg: rgb(233.75, 237.15, 242.25); + --bs-btn-hover-border-color: rgb(232.5, 236.1, 241.5); + --bs-btn-focus-shadow-rgb: 196, 199, 204; --bs-btn-active-color: #000000; - --bs-btn-active-bg: rgb(230.2, 230.2, 231); - --bs-btn-active-border-color: rgb(227.1, 227.1, 228); + --bs-btn-active-bg: rgb(235, 238.2, 243); + --bs-btn-active-border-color: rgb(232.5, 236.1, 241.5); --bs-btn-active-shadow: none; --bs-btn-disabled-color: #000000; - --bs-btn-disabled-bg: #E0E0E1; - --bs-btn-disabled-border-color: #E0E0E1; + --bs-btn-disabled-bg: #E6EAF0; + --bs-btn-disabled-border-color: #E6EAF0; } .btn-success { @@ -3064,19 +3064,19 @@ textarea.form-control-lg { } .btn-outline-secondary { - --bs-btn-color: #E0E0E1; - --bs-btn-border-color: #E0E0E1; + --bs-btn-color: #E6EAF0; + --bs-btn-border-color: #E6EAF0; --bs-btn-hover-color: #000000; - --bs-btn-hover-bg: #E0E0E1; - --bs-btn-hover-border-color: #E0E0E1; - --bs-btn-focus-shadow-rgb: 224, 224, 225; + --bs-btn-hover-bg: #E6EAF0; + --bs-btn-hover-border-color: #E6EAF0; + --bs-btn-focus-shadow-rgb: 230, 234, 240; --bs-btn-active-color: #000000; - --bs-btn-active-bg: #E0E0E1; - --bs-btn-active-border-color: #E0E0E1; + --bs-btn-active-bg: #E6EAF0; + --bs-btn-active-border-color: #E6EAF0; --bs-btn-active-shadow: none; - --bs-btn-disabled-color: #E0E0E1; + --bs-btn-disabled-color: #E6EAF0; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #E0E0E1; + --bs-btn-disabled-border-color: #E6EAF0; --bs-gradient: none; } @@ -3254,7 +3254,7 @@ textarea.form-control-lg { --bs-dropdown-padding-y: 0.5rem; --bs-dropdown-spacer: 0.125rem; --bs-dropdown-font-size: 1rem; - --bs-dropdown-color: #E0E0E1; + --bs-dropdown-color: #E6EAF0; --bs-dropdown-bg: #111112; --bs-dropdown-border-color: #111112; --bs-dropdown-border-radius: var(--bs-border-radius); @@ -3509,18 +3509,18 @@ textarea.form-control-lg { } .dropdown-menu-dark { - --bs-dropdown-color: #C1C1C2; + --bs-dropdown-color: #CAD4DF; --bs-dropdown-bg: #232325; --bs-dropdown-border-color: #111112; --bs-dropdown-box-shadow: ; - --bs-dropdown-link-color: #C1C1C2; + --bs-dropdown-link-color: #CAD4DF; --bs-dropdown-link-hover-color: #FFFFFF; --bs-dropdown-divider-bg: #000000; --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); --bs-dropdown-link-active-color: #FFFFFF; --bs-dropdown-link-active-bg: transparent; - --bs-dropdown-link-disabled-color: #838386; - --bs-dropdown-header-color: #838386; + --bs-dropdown-link-disabled-color: #72777E; + --bs-dropdown-header-color: #72777E; } .nav { @@ -3674,7 +3674,7 @@ textarea.form-control-lg { --bs-navbar-toggler-padding-y: 0.25rem; --bs-navbar-toggler-padding-x: 0.75rem; --bs-navbar-toggler-font-size: 1.25rem; - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28224, 224, 225, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28230, 234, 240, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); --bs-navbar-toggler-border-radius: var(--bs-border-radius); --bs-navbar-toggler-focus-width: 0.25rem; @@ -4242,7 +4242,7 @@ textarea.form-control-lg { --bs-breadcrumb-border-radius: ; --bs-breadcrumb-divider-color: var(--bs-secondary-color); --bs-breadcrumb-item-padding-x: 0.5rem; - --bs-breadcrumb-item-active-color: #A2A2A4; + --bs-breadcrumb-item-active-color: #8A919A; display: flex; flex-wrap: wrap; padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); @@ -4273,7 +4273,7 @@ textarea.form-control-lg { --bs-modal-margin: 0.5rem; --bs-modal-color: var(--bs-body-color); --bs-modal-bg: #000000; - --bs-modal-border-color: #E0E0E1; + --bs-modal-border-color: #E6EAF0; --bs-modal-border-width: var(--bs-border-width); --bs-modal-border-radius: var(--bs-border-radius-lg); --bs-modal-box-shadow: var(--bs-box-shadow-sm); @@ -4638,8 +4638,8 @@ textarea.form-control-lg { text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; } .link-secondary:hover, .link-secondary:focus { - color: RGBA(224, 224, 225, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(224, 224, 225, var(--bs-link-underline-opacity, 1)) !important; + color: RGBA(230, 234, 240, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(230, 234, 240, var(--bs-link-underline-opacity, 1)) !important; } .link-success { @@ -9222,7 +9222,7 @@ h6, .h6 { .longform { font-size: 1.5rem; line-height: 32px; - color: #F5F5F7; + color: #F0F3F7; font-weight: 500; } @media (max-width: 575.98px) { @@ -9797,7 +9797,7 @@ html .algolia-autocomplete .ds-dropdown-menu::before { box-shadow: none; } .dark .DocSearch-Hit-source { - color: #A2A2A4; + color: #8A919A; } .dark .DocSearch-Input { color: #FFFFFF; @@ -9806,7 +9806,7 @@ html .algolia-autocomplete .ds-dropdown-menu::before { .dark .DocSearch-Hit-path, .dark .DocSearch-Label, .dark .DocSearch-Help { - color: #F5F5F7 !important; + color: #F0F3F7 !important; } .dark .DocSearch-Hit[aria-selected=true] a { background: #343437; @@ -9851,7 +9851,7 @@ html .algolia-autocomplete .ds-dropdown-menu::before { color: #FFFFFF; } .dark .algolia-autocomplete .algolia-docsearch-suggestion--text { - color: #E0E0E1; + color: #E6EAF0; } .dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight { color: #FFFFFF; @@ -10944,11 +10944,11 @@ aside .active-parent > a { } .grey-400 { - color: #A2A2A4; + color: #8A919A; } .grey-500 { - color: #838386; + color: #72777E; } .grey-700 { @@ -11250,8 +11250,8 @@ button[disabled=disabled] { gap: 16px; } .bds-btn--primary:disabled, .bds-btn--primary.bds-btn--disabled { - color: #838386; - background-color: #E0E0E1; + color: #72777E; + background-color: #E6EAF0; cursor: not-allowed; pointer-events: none; } @@ -11334,9 +11334,9 @@ button[disabled=disabled] { gap: 16px; } .bds-btn--secondary:disabled, .bds-btn--secondary.bds-btn--disabled { - color: #A2A2A4; + color: #8A919A; background-color: transparent; - border-color: #A2A2A4; + border-color: #8A919A; cursor: not-allowed; pointer-events: none; } @@ -11393,8 +11393,8 @@ button[disabled=disabled] { color: #FFFFFF; } .bds-btn--black.bds-btn--primary:disabled, .bds-btn--black.bds-btn--primary.bds-btn--disabled { - color: #838386; - background-color: #E0E0E1; + color: #72777E; + background-color: #E6EAF0; } .bds-btn--black.bds-btn--secondary { color: #141414; @@ -11418,8 +11418,8 @@ button[disabled=disabled] { border-color: #141414; } .bds-btn--black.bds-btn--secondary:disabled, .bds-btn--black.bds-btn--secondary.bds-btn--disabled { - color: #838386; - border-color: #A2A2A4; + color: #72777E; + border-color: #8A919A; } .bds-btn--black.bds-btn--tertiary { color: #141414; @@ -11446,7 +11446,7 @@ button[disabled=disabled] { text-decoration: underline; } .bds-btn--black.bds-btn--tertiary:disabled, .bds-btn--black.bds-btn--tertiary.bds-btn--disabled { - color: #838386; + color: #72777E; } @media (max-width: 1279.98px) { .bds-btn--black.bds-btn--tertiary:hover:not(:disabled):not(.bds-btn--disabled):not(.bds-btn--no-icon) { @@ -11507,7 +11507,7 @@ button[disabled=disabled] { gap: 16px; } .bds-btn--tertiary:disabled, .bds-btn--tertiary.bds-btn--disabled { - color: #A2A2A4; + color: #8A919A; background-color: transparent; text-decoration: none; cursor: not-allowed; @@ -11617,9 +11617,9 @@ html.dark .bds-btn--secondary:not(.bds-btn--black):active:not(:disabled):not(.bd gap: 16px; } html.dark .bds-btn--secondary:not(.bds-btn--black):disabled, html.dark .bds-btn--secondary:not(.bds-btn--black).bds-btn--disabled { - color: #A2A2A4; + color: #8A919A; background-color: transparent; - border-color: #A2A2A4; + border-color: #8A919A; cursor: not-allowed; pointer-events: none; } @@ -11692,7 +11692,7 @@ html.dark .bds-btn--tertiary:not(.bds-btn--black):active:not(:disabled):not(.bds gap: 16px; } html.dark .bds-btn--tertiary:not(.bds-btn--black):disabled, html.dark .bds-btn--tertiary:not(.bds-btn--black).bds-btn--disabled { - color: #A2A2A4; + color: #8A919A; background-color: transparent; text-decoration: none; cursor: not-allowed; @@ -11741,10 +11741,10 @@ article table code { overflow-wrap: normal; } article table th { - border-bottom: 2px solid #E0E0E1; + border-bottom: 2px solid #E6EAF0; } article table tr { - border-bottom: 1px solid #E0E0E1; + border-bottom: 1px solid #E6EAF0; } article table th, article table td { padding: 0.2em; @@ -11773,7 +11773,7 @@ article table td:nth-child(1) { border-bottom: none; } .landing-table tbody td { - color: #E0E0E1; + color: #E6EAF0; } .dblue { @@ -13498,7 +13498,7 @@ body, } } .top-nav #topnav-pages .nav-link { - color: #F5F5F7; + color: #F0F3F7; font-size: 1rem; line-height: 1.25rem; text-decoration: none; @@ -13513,7 +13513,7 @@ body, .top-nav .dropdown-menu h5, .top-nav .dropdown-menu .h5 { font-weight: 400; font-size: 12px; - color: #A2A2A4; + color: #8A919A; margin-bottom: 0; } .top-nav .dropdown-menu .dropdown-item { @@ -13539,7 +13539,7 @@ body, } .top-nav .dropdown-menu .dropdown-item.dropdown-hero p { font-size: 14px; - color: #C1C1C2; + color: #CAD4DF; margin: 0; white-space: normal; } @@ -13743,7 +13743,7 @@ body, .top-nav .navbar-toggler .navbar-toggler-icon div { position: absolute; content: " "; - background-color: #F5F5F7; + background-color: #F0F3F7; display: block; width: 100%; height: 3px; @@ -14837,13 +14837,13 @@ a:focus .bds-link-icon--external:not(.bds-link-icon--disabled) svg .arrow-horizo html.light .bds-link-icon--disabled svg path, .light .bds-link-icon--disabled svg path { - stroke: #A2A2A4; + stroke: #8A919A; } html.dark .bds-link-icon--disabled svg path, .dark .bds-link-icon--disabled svg path, html:not(.light) .bds-link-icon--disabled svg path { - stroke: #838386; + stroke: #72777E; } .bds-link-icon--internal.bds-link-icon--small { @@ -15007,7 +15007,7 @@ html.light nav a.bds-link:visited:not(.bds-link--disabled) { } html.light a.bds-link.bds-link--disabled, html.light nav a.bds-link.bds-link--disabled { - color: #A2A2A4; + color: #8A919A; cursor: not-allowed; pointer-events: none; text-decoration: none; @@ -15017,7 +15017,7 @@ html.light nav a.bds-link.bds-link--disabled:hover, html.light nav a.bds-link.bds-link--disabled:focus, html.light nav a.bds-link.bds-link--disabled:active, html.light nav a.bds-link.bds-link--disabled:visited { - color: #A2A2A4; + color: #8A919A; text-decoration: none; } @@ -15051,7 +15051,7 @@ html.dark nav a.bds-link:visited:not(.bds-link--disabled) { } html.dark a.bds-link.bds-link--disabled, html.dark nav a.bds-link.bds-link--disabled { - color: #838386; + color: #72777E; cursor: not-allowed; pointer-events: none; text-decoration: none; @@ -15061,13 +15061,13 @@ html.dark nav a.bds-link.bds-link--disabled:hover, html.dark nav a.bds-link.bds-link--disabled:focus, html.dark nav a.bds-link.bds-link--disabled:active, html.dark nav a.bds-link.bds-link--disabled:visited { - color: #838386; + color: #72777E; text-decoration: none; } a.bds-link.bds-link--disabled, .bds-link.bds-link--disabled { - color: #A2A2A4; + color: #8A919A; cursor: not-allowed; pointer-events: none; text-decoration: none; @@ -15081,7 +15081,7 @@ a.bds-link.bds-link--disabled:hover, a.bds-link.bds-link--disabled:focus, a.bds- .bds-link.bds-link--disabled:focus, .bds-link.bds-link--disabled:active, .bds-link.bds-link--disabled:visited { - color: #A2A2A4; + color: #8A919A; text-decoration: none; } @@ -15091,7 +15091,7 @@ html.dark .bds-link.bds-link--disabled, .dark .bds-link.bds-link--disabled, html:not(.light) a.bds-link.bds-link--disabled, html:not(.light) .bds-link.bds-link--disabled { - color: #838386; + color: #72777E; } html.dark a.bds-link.bds-link--disabled:hover, html.dark a.bds-link.bds-link--disabled:focus, html.dark a.bds-link.bds-link--disabled:active, html.dark a.bds-link.bds-link--disabled:visited, html.dark .bds-link.bds-link--disabled:hover, @@ -15114,7 +15114,7 @@ html:not(.light) .bds-link.bds-link--disabled:hover, html:not(.light) .bds-link.bds-link--disabled:focus, html:not(.light) .bds-link.bds-link--disabled:active, html:not(.light) .bds-link.bds-link--disabled:visited { - color: #838386; + color: #72777E; } .bds-link--inline { @@ -15192,7 +15192,7 @@ hr.bds-divider--green, html.light hr.bds-divider--gray, html.light .bds-divider--gray { - background-color: #C1C1C2; + background-color: #CAD4DF; } html.light hr.bds-divider--base, html.light .bds-divider--base { @@ -15203,6 +15203,179 @@ html.light .bds-divider--green { background-color: #21E46B; } +.bds-card-offgrid { + appearance: none; + border: none; + background: none; + padding: 0; + margin: 0; + font: inherit; + color: inherit; + text-decoration: none; + cursor: pointer; + text-align: left; + position: relative; + display: flex; + flex-direction: column; + justify-content: space-between; + width: 400px; + height: 480px; + padding: 24px; + overflow: hidden; + transition: background-color 200ms cubic-bezier(0.98, 0.12, 0.12, 0.98), opacity 200ms cubic-bezier(0.98, 0.12, 0.12, 0.98); +} +.bds-card-offgrid:focus { + outline: 2px solid #FFFFFF; + outline-offset: 1px; +} +.bds-card-offgrid:focus:not(:focus-visible) { + outline: none; +} +.bds-card-offgrid:focus-visible { + outline: 2px solid #FFFFFF; + outline-offset: 2px; +} + +.bds-card-offgrid__overlay { + position: absolute; + inset: 0; + pointer-events: none; + z-index: 0; + clip-path: inset(100% 0 0 0); + transition: clip-path 200ms cubic-bezier(0.98, 0.12, 0.12, 0.98); +} + +.bds-card-offgrid--hovered .bds-card-offgrid__overlay { + clip-path: inset(0 0 0 0); +} + +.bds-card-offgrid__icon-container { + position: relative; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 84px; + height: 84px; + flex-shrink: 0; +} +.bds-card-offgrid__icon-container > * { + max-width: 68px; + max-height: 68px; +} + +.bds-card-offgrid__icon-image { + width: auto; + height: auto; + max-width: 68px; + max-height: 68px; + object-fit: contain; +} + +.bds-card-offgrid__content { + position: relative; + z-index: 1; + display: flex; + flex-direction: column; + gap: 40px; +} + +.bds-card-offgrid__title { + font-size: 32px; + font-weight: 300; + line-height: 40px; + letter-spacing: -1px; + white-space: pre-wrap; +} + +.bds-card-offgrid__description { + font-size: 18px; + font-weight: 300; + line-height: 26.1px; + letter-spacing: -0.5px; +} + +.bds-card-offgrid--neutral { + background-color: #72777E; + color: #FFFFFF; +} +.bds-card-offgrid--neutral .bds-card-offgrid__overlay { + background-color: #8A919A; +} +.bds-card-offgrid--neutral:active:not(.bds-card-offgrid--disabled) .bds-card-offgrid__overlay { + background-color: rgba(114, 119, 126, 0.7); + clip-path: inset(0 0 0 0); +} + +.bds-card-offgrid--green { + background-color: #21E46B; + color: #000000; +} +.bds-card-offgrid--green .bds-card-offgrid__overlay { + background-color: #70EE97; +} +.bds-card-offgrid--green:active:not(.bds-card-offgrid--disabled) .bds-card-offgrid__overlay { + background-color: #0DAA3E; + clip-path: inset(0 0 0 0); +} + +.bds-card-offgrid--disabled { + background-color: #72777E; + color: #FFFFFF; + opacity: 0.3; + cursor: not-allowed; +} +.bds-card-offgrid--disabled:focus, .bds-card-offgrid--disabled:focus-visible { + outline: none; +} + +html.light .bds-card-offgrid:focus { + outline-color: #111112; +} +html.light .bds-card-offgrid:focus-visible { + outline-color: #111112; +} +html.light .bds-card-offgrid--neutral { + background-color: #E6EAF0; + color: #111112; +} +html.light .bds-card-offgrid--neutral .bds-card-offgrid__overlay { + background-color: #CAD4DF; +} +html.light .bds-card-offgrid--neutral.bds-card-offgrid--hovered { + color: #000000; +} +html.light .bds-card-offgrid--neutral:active:not(.bds-card-offgrid--disabled) .bds-card-offgrid__overlay { + background-color: #8A919A; + clip-path: inset(0 0 0 0); +} +html.light .bds-card-offgrid--green { + background-color: #70EE97; + color: #000000; +} +html.light .bds-card-offgrid--green .bds-card-offgrid__overlay { + background-color: #21E46B; +} +html.light .bds-card-offgrid--green:active:not(.bds-card-offgrid--disabled) .bds-card-offgrid__overlay { + background-color: #0DAA3E; + clip-path: inset(0 0 0 0); +} +html.light .bds-card-offgrid--disabled { + background-color: #F0F3F7; + color: #72777E; + opacity: 1; +} +html.light .bds-card-offgrid--disabled .bds-card-offgrid__icon-container { + opacity: 0.5; +} + +@media (max-width: 767px) { + .bds-card-offgrid { + width: 100%; + min-height: 480px; + height: auto; + } +} pre { color: #FFFFFF; background-color: #232325; @@ -15295,7 +15468,7 @@ pre code { .codehilite .cpf, .codehilite .c1, .codehilite .cs { - color: #838386; + color: #72777E; } .codehilite .k, .codehilite .kc, @@ -15333,7 +15506,7 @@ pre code { color: #FFFFFF; } .codehilite .p { - color: #E0E0E1; + color: #E6EAF0; } .codehilite .s, .codehilite .s1, @@ -15461,19 +15634,19 @@ html:not(.light) article svg[fill=black] g[stroke=blue] { stroke: #0A4DC0; } html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"] { - fill: #E0E0E1; + fill: #E6EAF0; } html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"] { - stroke: #E0E0E1; + stroke: #E6EAF0; } html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"] { fill: #343437; } html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"] { - fill: #838386; + fill: #72777E; } html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"] { - stroke: #838386; + stroke: #72777E; } html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"] { fill: #7649E3; @@ -15537,17 +15710,17 @@ html:not(.light) article svg[fill=none] path[stroke="#23282f"] { } html:not(.light) article svg[fill=none] path[fill="#2c3e50"], html:not(.light) article svg[fill=none] path[fill="#2b3e51"] { - fill: #E0E0E1; + fill: #E6EAF0; } html:not(.light) article svg[fill=none] path[stroke="#2c3e50"], html:not(.light) article svg[fill=none] path[stroke="#2b3e51"] { - stroke: #E0E0E1; + stroke: #E6EAF0; } html:not(.light) article svg[fill=none] path[fill="#1c2835"] { - fill: #F5F5F7; + fill: #F0F3F7; } html:not(.light) article svg[fill=none] path[stroke="#1c2835"] { - stroke: #F5F5F7; + stroke: #F0F3F7; } html:not(.light) article svg[fill=none] path[fill="#21aa47"] { fill: #078139; @@ -15640,7 +15813,7 @@ html.light svg[fill=black] g[stroke="rgb(120,120,120)"] { stroke: #343437; } html.light svg[fill=black] g[fill="rgb(200,200,200)"] { - fill: #A2A2A4; + fill: #8A919A; } html.light svg[fill=black] g[fill="rgb(70,70,70)"] { fill: #343437; @@ -15678,13 +15851,13 @@ html.light svg[fill=black] g[stroke="rgb(255,255,0)"] { stroke: #DC466F; } html.light svg[fill=none] rect[fill="#111112"] { - fill: #F5F5F7; + fill: #F0F3F7; } html.light svg[fill=none] path[fill=white] { fill: #000000; } html.light svg[fill=none] path[fill="#343437"] { - fill: #C1C1C2; + fill: #CAD4DF; } html.light svg[fill=none] path[fill="#A2A2A4"], html.light svg[fill=none] rect[fill="#A2A2A4"], @@ -15692,7 +15865,7 @@ html.light svg[fill=none] ellipse[fill="#A2A2A4"] { fill: #454549; } html.light svg[fill=none] path[fill="#232325"] { - fill: #E0E0E1; + fill: #E6EAF0; } html.light svg[fill=none] path[fill="#F5F5F7"] { fill: #111112; @@ -15793,7 +15966,7 @@ html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"] { [data-component-name="Footer/Footer"] h5, [data-component-name="Footer/Footer"] .h5 { font-size: 1rem; font-weight: 600; - color: #A2A2A4; + color: #8A919A; } [data-component-name="Footer/Footer"] .nav-link { padding: 0.75rem 0; @@ -16349,7 +16522,7 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo } .breadcrumb-item a { - color: #E0E0E1; + color: #E6EAF0; text-decoration: none; } .breadcrumb-item a:hover { @@ -16455,7 +16628,7 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo } .landing .nav .nav-link { padding: 1rem 2rem 1rem 0; - color: #E0E0E1; + color: #E6EAF0; border-bottom: 1px solid #232325; position: relative; } @@ -16506,7 +16679,7 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo color: white; } .alert-info a:hover { - color: #E0E0E1; + color: #E6EAF0; } .highlight-subcard { @@ -16555,7 +16728,7 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo .interactive-block .breadcrumb-item.done a:after { content: "\f058"; /* fontawesome check-circle icon */ font-family: FontAwesome; - color: #E0E0E1; + color: #E6EAF0; padding-right: 5px; padding-left: 5px; } @@ -16597,7 +16770,7 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo } .pg-category { - color: #A2A2A4; + color: #8A919A; } .pg-category::after { content: "\f105"; /* fontawesome angle-right */ @@ -16627,35 +16800,35 @@ main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-fo } .label { background-color: #111112; - color: #C1C1C2; + color: #CAD4DF; } html.light .label { - background-color: #E0E0E1; + background-color: #E6EAF0; color: #232325; } html.light .label .badge-pill { - color: #E0E0E1; + color: #E6EAF0; background-color: #232325; } html.light .label:hover { - background-color: #C1C1C2; + background-color: #CAD4DF; color: #111112; } html.light .label:hover .badge-pill { - color: #C1C1C2; + color: #CAD4DF; background-color: #111112; } .label .badge-pill { color: #111112; - background-color: #C1C1C2; + background-color: #CAD4DF; } .label:hover { - color: #E0E0E1; + color: #E6EAF0; background-color: #232325; } .label:hover .badge-pill { color: #232325; - background-color: #E0E0E1; + background-color: #E6EAF0; } .label.label-accounts, .label.label-payment-channels, .label.label-amm, .label.label-アカウント, .label.label-payment-channel, .label.label-use-infrastructure, .label.label-use-security, .label.blog-category-development, .label.chip-indigo { background-color: #5429A1; @@ -16926,7 +17099,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments #tx-sender-history ul { overflow: auto; height: 220px; - border: 1px solid #E0E0E1; + border: 1px solid #E6EAF0; } .progress small, .progress .small { @@ -17371,7 +17544,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments } .page-uses .card-uses:hover { text-decoration: none; - color: #E0E0E1; + color: #E6EAF0; transform: translateY(-16px); text-decoration: none; } @@ -17391,7 +17564,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments .page-uses .category-header { font-weight: bold; /*color: $gray-300;*/ - color: #C1C1C2; + color: #CAD4DF; } .page-uses .light .category-checkbox label { color: #ffffff; @@ -17891,7 +18064,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments right: 0px; } .page-events .event-hero { - color: #F5F5F7; + color: #F0F3F7; } .page-events .event-hero p { font-weight: 500; @@ -17905,7 +18078,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments line-height: 26px; } .page-events .event-small-gray { - color: #E0E0E1; + color: #E6EAF0; } .page-events .btn { padding: 0.75rem; @@ -17926,7 +18099,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments border-radius: 8px; font-size: 16px; line-height: 24px; - color: #E0E0E1; + color: #E6EAF0; } .page-events .event-card .event-card-header { position: relative; @@ -17939,7 +18112,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments position: absolute; bottom: 32px; padding: 0 32px; - color: #F5F5F7; + color: #F0F3F7; font-weight: bold; font-size: 20px; line-height: 28px; @@ -18002,7 +18175,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments border-radius: 4px; border-width: 2px; border-style: solid; - border-color: #A2A2A4; + border-color: #8A919A; } .page-events .events-filter[type=checkbox]::after { position: relative; @@ -18016,7 +18189,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments border-radius: 4px; border-width: 2px; border-style: solid; - border-color: #A2A2A4; + border-color: #8A919A; } .page-events .events-filter[type=checkbox]:checked::before { background: #111112; @@ -18512,7 +18685,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments background-image: url("../img/cards/3-col-pink-purple.svg"); } .page-dev-tools .nav-link { - color: #A2A2A4; + color: #8A919A; background-color: #111112; border-top: none; border-left: none; @@ -18551,7 +18724,7 @@ html.light .label.label-fees:hover .badge-pill, html.light .label.label-payments } html.light .page-dev-tools .nav-link { - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .page-dev-tools .nav-link.active { border-bottom-color: #7649E3; @@ -19466,7 +19639,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { .use-case-payments .token-utility-section .utility-card .utility-description { font-size: 16px; line-height: 24px; - color: #E0E0E1; + color: #E6EAF0; } .page-rwa-tokenization .token-utility-section .utility-card .utility-description a, .use-case-payments .token-utility-section .utility-card .utility-description a { @@ -19648,13 +19821,13 @@ html.light .page-dev-tools #trasaction-sender .card-footer { padding: 1em; background: #232325; overflow: hidden; - color: #F5F5F7 !important; + color: #F0F3F7 !important; font-size: 14px; letter-spacing: 0; } .json-view svg { height: 11px !important; - color: #F5F5F7; + color: #F0F3F7; } .jv-button { @@ -19677,7 +19850,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { } .json-view--property { - color: #F5F5F7 !important; + color: #F0F3F7 !important; } .json-view--null, @@ -19686,7 +19859,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { padding: 1px 2px; border-radius: 3px; background-color: #454549; - color: #F5F5F7 !important; + color: #F0F3F7 !important; font-size: 11px; } @@ -19740,7 +19913,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { left: 0px; } .dev-blog .card-date { - color: #A2A2A4; + color: #8A919A; } .dev-blog .hero-post-date { text-decoration: overline solid #32E685 10%; @@ -19886,7 +20059,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { .dev-blog .category-header { font-weight: normal; width: 200px; - color: #F5F5F7; + color: #F0F3F7; } .dev-blog label { margin: 0; @@ -19906,7 +20079,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { border-radius: 4px; border-width: 2px; border-style: solid; - border-color: #A2A2A4; + border-color: #8A919A; } .dev-blog .blog-filter[type=checkbox]::after { position: relative; @@ -19920,7 +20093,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { border-radius: 4px; border-width: 2px; border-style: solid; - border-color: #A2A2A4; + border-color: #8A919A; } .dev-blog .blog-filter[type=checkbox]:checked::before { background: #111112; @@ -21218,7 +21391,7 @@ html.light .page-dev-tools #trasaction-sender .card-footer { color: #FFFFFF; } .dark .flat-card-grid .nav-link:hover { - color: #E0E0E1; + color: #E6EAF0; } .get-started-img, .flat-card { @@ -21462,11 +21635,11 @@ html.light .page-dev-tools #trasaction-sender .card-footer { html.light article p code, html.light article table code, html.light article li > code { - background-color: #E0E0E1; + background-color: #E6EAF0; color: #111112; } html.light body { - background-color: #F5F5F7; + background-color: #F0F3F7; color: #000000; } html.light #topnav-theme .custom-theme-toggle .form-check-input { @@ -21504,7 +21677,7 @@ html.light .h6.green-500 { text-shadow: white 0 0 2px, white -1px -1px 2px, white 1px 1px 2px; } html.light .bg-grey-800 { - background-color: #FCFCFD; + background-color: #F0F3F7; } html.light .grey-400 { color: #454549; @@ -21531,7 +21704,7 @@ html.light .arrow-link::after { html.light .search .input-group-text, html.light .input-group .input-group-text, html.light .form-group .input-group-text { - background-color: #E0E0E1; + background-color: #E6EAF0; color: #232325; } html.light .search label .input-group-text, @@ -21541,15 +21714,15 @@ html.light .input-group .form-control:not(.btn), html.light .form-group label .input-group-text, html.light .form-group .form-control:not(.btn) { color: #000000; - background-color: #E0E0E1; - border-color: #E0E0E1; + background-color: #E6EAF0; + border-color: #E6EAF0; } html.light .search .ds-input, html.light .input-group .ds-input, html.light .form-group .ds-input { color: #000000; - background-color: #E0E0E1; - border-color: #E0E0E1; + background-color: #E6EAF0; + border-color: #E6EAF0; } html.light .search .ds-input:focus, html.light .input-group .ds-input:focus, @@ -21558,13 +21731,13 @@ html.light .form-group .ds-input:focus { } html.light .list-group-item { border-color: #232325; - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .list-group-item.disabled { - color: #A2A2A4; + color: #8A919A; } html.light .progress { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light [data-component-name="Search/SearchIcon"] > path { fill: black; @@ -21620,7 +21793,7 @@ html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disable background-color: transparent; } html.light .breadcrumb { - background: #F5F5F7; + background: #F0F3F7; } html.light .breadcrumb-item a { color: #454549; @@ -21629,7 +21802,7 @@ html.light .breadcrumb-item a:hover { color: #7649E3; } html.light .top-nav { - background: #F5F5F7; + background: #F0F3F7; } html.light .top-nav #topnav-pages .nav-link { color: #000000; @@ -21645,9 +21818,9 @@ html.light .top-nav #dropdown-hero-for-community > img { content: url(../img/icons/lightmode/contribute.svg); } html.light .top-nav .dropdown-menu { - background-color: #F5F5F7; - border-color: #F5F5F7; - box-shadow: 0px 5px 20px 0px #C1C1C2; + background-color: #F0F3F7; + border-color: #F0F3F7; + box-shadow: 0px 5px 20px 0px #CAD4DF; } html.light .top-nav .dropdown-menu a:hover, html.light .top-nav .dropdown-menu a.active { @@ -21666,10 +21839,10 @@ html.light .top-nav .dropdown-menu h5, html.light .top-nav .dropdown-menu .h5 { color: #454549; } html.light .top-nav .dropdown-menu .col-for-get_started { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light .top-nav #topnav-button { - background-color: #E0E0E1; + background-color: #E6EAF0; } @media (max-width: 575.98px) { html.light .top-nav .navbar-toggler .navbar-toggler-icon::after, html.light .top-nav .navbar-toggler .navbar-toggler-icon::before, @@ -21678,10 +21851,10 @@ html.light .top-nav #topnav-button { } html.light .top-nav .navbar-nav .nav-link, html.light .top-nav .navbar-collapse > .nav-item { - background: #E0E0E1; + background: #E6EAF0; } html.light .top-nav #top-main-nav { - background-color: #C1C1C2; + background-color: #CAD4DF; } } html.light aside .sidenav_cat_title { @@ -21737,18 +21910,18 @@ html.light .landing .card, html.light .cta-card, html.light aside .card { color: #000000; - background-color: #FCFCFD; - box-shadow: 0px 5px 20px 0px #C1C1C2; + background-color: #F0F3F7; + box-shadow: 0px 5px 20px 0px #CAD4DF; } html.light #code-samples-deck .card { - box-shadow: 0px 5px 20px 0px #C1C1C2; + box-shadow: 0px 5px 20px 0px #CAD4DF; } html.light #code-samples-deck .card-header { border-bottom: none; - background-color: #FCFCFD; + background-color: #F0F3F7; } html.light #code-samples-deck .card-footer { - background-color: #FCFCFD; + background-color: #F0F3F7; } html.light .page-faq.landing-builtin-bg::before, html.light .mini-faq.landing-builtin-bg::before { @@ -21756,9 +21929,9 @@ html.light .mini-faq.landing-builtin-bg::before { } html.light .page-faq .q-wrapper, html.light .mini-faq .q-wrapper { - background-color: #FCFCFD; + background-color: #F0F3F7; color: #000000; - box-shadow: 0px 5px 20px 0px #C1C1C2; + box-shadow: 0px 5px 20px 0px #CAD4DF; } html.light .page-faq .q-wrapper > h4 a.expander:hover, html.light .page-faq .q-wrapper > .h4 a.expander:hover, html.light .mini-faq .q-wrapper > h4 a.expander:hover, @@ -21785,10 +21958,10 @@ html.light .pg-category { } html.light .landing .nav .nav-link { color: #232325; - border-bottom-color: #C1C1C2; + border-bottom-color: #CAD4DF; } html.light .landing .circled-logo { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"] { filter: invert(100%); @@ -21818,7 +21991,7 @@ html.light code { } html.light pre code, html.light pre { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light .multicode a { color: #000000; @@ -21828,7 +22001,7 @@ html.light .multicode a.current { } html.light .multicode a:hover { text-decoration: none; - background-color: #E0E0E1; + background-color: #E6EAF0; color: #FFFFFF; } html.light .multicode a:focus { @@ -21836,14 +22009,14 @@ html.light .multicode a:focus { } html.light .codehilite .btn-outline-secondary { background-color: #232325; - color: #F5F5F7; - border-color: #F5F5F7; + color: #F0F3F7; + border-color: #F0F3F7; } html.light .interactive-block .breadcrumb-item.done a::after { color: #078139; } html.light .modal-content { - background-color: #FCFCFD; + background-color: #F0F3F7; } html.light .rpc-tool pre .toggle { color: #FFFFFF; @@ -21927,7 +22100,7 @@ html.light #top-exchanges #exch-lmax { content: url("../img/exchanges/lightmode/lmax.png"); } html.light .timeline-dot { - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .page-uses .card-body { background: #FFFFFF; @@ -22131,7 +22304,7 @@ html.light #feedback-content .widget-form-wrapper div { background-color: #FFFFFF !important; } html.light #feedback-content .widget-form-wrapper textarea { - background-color: #F5F5F7 !important; + background-color: #F0F3F7 !important; } html.light #feedback-content .widget-form-wrapper .widget-header-title { color: #111112 !important; @@ -22307,7 +22480,7 @@ html.light .page-events label { html.light .page-events .event-card { color: #000000; background-color: #FCFCFD; - box-shadow: 0px 5px 20px 0px #C1C1C2; + box-shadow: 0px 5px 20px 0px #CAD4DF; } html.light .page-events a.event-card:hover { color: #000000; @@ -22336,7 +22509,7 @@ html.light .page-events .icon-location::before { background: url(../img/events/event-location-light.svg); } html.light .page-events .events-filter[type=checkbox]::before { - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after { background-image: url(../img/events/event-check.svg); @@ -22349,10 +22522,10 @@ html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hov border-radius: 4px; } html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before { - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after { - background-color: #F5F5F7; + background-color: #F0F3F7; } html.light .page-ambassadors #benefits-list #benefits-01 { content: url("../img/ambassadors/lightmode/benefits-01.svg"); @@ -22427,10 +22600,10 @@ html.light main article .card-grid code { background-color: #EAFCF1; } html.light main article .card-grid .card-icon-container, html.light main article .card-grid.card-grid-3xN .card-icon-container { - background: #C1C1C2; + background: #CAD4DF; } html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"] { - text-shadow: #F5F5F7 0px 0px 2px, #F5F5F7 1px 1px 2px, #F5F5F7 2px 2px 3px, #F5F5F7 2px 2px 4px, #F5F5F7 2px 2px 5px, #F5F5F7 2px 2px 6px, #F5F5F7 -1px -1px 2px, #F5F5F7 -2px -2px 3px, #F5F5F7 -2px -2px 4px; + text-shadow: #F0F3F7 0px 0px 2px, #F0F3F7 1px 1px 2px, #F0F3F7 2px 2px 3px, #F0F3F7 2px 2px 4px, #F0F3F7 2px 2px 5px, #F0F3F7 2px 2px 6px, #F0F3F7 -1px -1px 2px, #F0F3F7 -2px -2px 3px, #F0F3F7 -2px -2px 4px; } html.light .dev-blog .text-bg { background-color: #FFFFFF; @@ -22445,19 +22618,19 @@ html.light .dev-blog label { color: #343437; } html.light .dev-blog .blog-filter[type=checkbox]::before { - background: #F5F5F7; + background: #F0F3F7; } html.light .dev-blog .blog-filter[type=checkbox]:checked::before { - background: #F5F5F7; + background: #F0F3F7; } html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after { background-image: url(../img/blog/blog-check-light-mode.svg); } html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before { - background: #F5F5F7; + background: #F0F3F7; } html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after { - background: #F5F5F7; + background: #F0F3F7; } html.light .dev-blog .post-date { text-decoration: overline solid #145C35 10%; @@ -22500,14 +22673,14 @@ html.light .dev-blog #security-badge { } html.light .dev-blog .dropdown-btn { color: #111112; - background-color: #E0E0E1; - border-color: #E0E0E1; + background-color: #E6EAF0; + border-color: #E6EAF0; } html.light .dev-blog .dropdown-btn img { content: url("../img/icons/lightmode/chevron-arrow-down.svg"); } html.light .dev-blog .dropdown-content { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light .page-tokenization .project-cards .project-logo { filter: invert(100%); @@ -22529,7 +22702,7 @@ html.light .page-tokenization .next img { transform: scaleX(-1); } html.light .page-tokenization .arrow-button { - background-color: #E0E0E1; + background-color: #E6EAF0; } html.light .page-rwa-tokenization .section-title { color: #000000; diff --git a/styles/_colors.scss b/styles/_colors.scss index 3d8bef49d8..ebab2c6e9f 100644 --- a/styles/_colors.scss +++ b/styles/_colors.scss @@ -9,13 +9,14 @@ $white: #FFFFFF; $black: #000000; -// Gray (Neutral) - Original values (design tokens not ready) $gray-050: #FCFCFD; -$gray-100: #F5F5F7; -$gray-200: #E0E0E1; -$gray-300: #C1C1C2; -$gray-400: #A2A2A4; -$gray-500: #838386; +// Gray (Neutral) - New Design Tokens +$gray-100: #F0F3F7; // New design token +$gray-200: #E6EAF0; // New design token +$gray-300: #CAD4DF; // New design token (default) +$gray-400: #8A919A; // New design token +$gray-500: #72777E; // New design token +// Legacy gray values (600-900 for dark mode) $gray-600: #454549; $gray-700: #343437; $gray-800: #232325; @@ -190,4 +191,4 @@ $light-fg-disabled: $gray-400; $light-form-bg: $gray-200; $light-box-shadow: 0px 5px 20px 0px $gray-300; $light-link-hover-color: $blue-purple-500; -$light-standout-bg: $gray-050; +$light-standout-bg: $gray-100; diff --git a/styles/xrpl.scss b/styles/xrpl.scss index 4cec0c91ec..92a0120949 100644 --- a/styles/xrpl.scss +++ b/styles/xrpl.scss @@ -91,6 +91,7 @@ $line-height-base: 1.5; @import "../shared/components/Link/_link-icons.scss"; @import "../shared/components/Link/_link.scss"; @import "../shared/components/Divider/Divider.scss"; +@import "../shared/components/CardOffgrid/CardOffgrid.scss"; @import "_code-tabs.scss"; @import "_code-walkthrough.scss"; @import "_diagrams.scss";