Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ce49c8b
updating bootstrap to v5
Calvinjwala Oct 17, 2025
201479c
new fonts added working across website
Calvinjwala Oct 21, 2025
08807db
ran css
Calvinjwala Oct 21, 2025
f09ab44
upgrade bootstrap, add new fonts
AKCodez Oct 21, 2025
c2287a7
run css compiler
AKCodez Oct 21, 2025
86998c8
Implement CSS optimization pipeline with PurgeCSS, Autoprefixer, and …
AKCodez Oct 21, 2025
51e763b
Enhance PostCSS configuration with expanded safelist for Bootstrap ut…
AKCodez Oct 21, 2025
0c2a1bc
Refactor color migration strategy to a clean implementation, removing…
AKCodez Oct 21, 2025
605eb70
removed all old fonts, remove all old backgrounds
Calvinjwala Oct 30, 2025
52e070d
removing background from css as well
Calvinjwala Oct 30, 2025
a956d5a
removing empty card footer
Calvinjwala Oct 30, 2025
9d3d118
adding page grid component + stylersheet
Calvinjwala Nov 3, 2025
e92929e
removing old background images, updating font classes
Calvinjwala Nov 13, 2025
97c3028
adding folder structure, cleaning up font, add readme for page grid
Calvinjwala Nov 26, 2025
f3ae760
move page grid css to page grid folder, removing more text class styling
Calvinjwala Nov 26, 2025
37e96a9
more documentation around page grid
Calvinjwala Nov 26, 2025
42ec50d
removing fake button folder
Calvinjwala Nov 27, 2025
2429574
removing px reversion for medium
Calvinjwala Nov 27, 2025
c4188c4
updating css for medium
Calvinjwala Nov 27, 2025
5b73ccb
Merge pull request #3393 from XRPLF/bds-font-update
Calvinjwala Dec 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ yarn-error.log
*.iml
.venv/
_code-samples/*/js/package-lock.json
*.css.map

# PHP
composer.lock
.cursor/
47 changes: 30 additions & 17 deletions @theme/components/Navbar/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,22 +128,31 @@ export function Navbar(props) {
});

React.useEffect(() => {
// Turns out jQuery is necessary for firing events on Bootstrap v4
// dropdowns. These events set classes so that the search bar and other
// Bootstrap 5 uses vanilla JavaScript API instead of jQuery
// These events set classes so that the search bar and other
// submenus collapse on mobile when you expand one submenu.
const dds = $("#topnav-pages .dropdown");
const dropdowns = document.querySelectorAll("#topnav-pages .dropdown");
const top_main_nav = document.querySelector("#top-main-nav");
dds.on("show.bs.dropdown", (evt) => {
top_main_nav.classList.add("submenu-expanded");
});
dds.on("hidden.bs.dropdown", (evt) => {
top_main_nav.classList.remove("submenu-expanded");

const handleDropdownShow = () => {
top_main_nav?.classList.add("submenu-expanded");
};

const handleDropdownHidden = () => {
top_main_nav?.classList.remove("submenu-expanded");
};

// Attach Bootstrap 5 dropdown events
dropdowns.forEach((dropdown) => {
dropdown.addEventListener("show.bs.dropdown", handleDropdownShow);
dropdown.addEventListener("hidden.bs.dropdown", handleDropdownHidden);
});

// Close navbar on .dropdown-item click
const toggleNavbar = () => {
const navbarToggler = document.querySelector(".navbar-toggler");
const isNavbarCollapsed =
navbarToggler.getAttribute("aria-expanded") === "true";
navbarToggler?.getAttribute("aria-expanded") === "true";
if (isNavbarCollapsed) {
navbarToggler?.click(); // Simulate click to toggle navbar
}
Expand All @@ -156,6 +165,10 @@ export function Navbar(props) {

// Cleanup function to remove event listeners
return () => {
dropdowns.forEach((dropdown) => {
dropdown.removeEventListener("show.bs.dropdown", handleDropdownShow);
dropdown.removeEventListener("hidden.bs.dropdown", handleDropdownHidden);
});
dropdownItems.forEach((item) => {
item.removeEventListener("click", toggleNavbar);
});
Expand Down Expand Up @@ -300,7 +313,7 @@ export function NavDropdown(props) {
href="#"
id={toggler_id}
role="button"
data-toggle="dropdown"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Expand Down Expand Up @@ -329,8 +342,8 @@ export function NavControls(props) {
<button
className="navbar-toggler collapsed"
type="button"
data-toggle="collapse"
data-target="#top-main-nav"
data-bs-toggle="collapse"
data-bs-target="#top-main-nav"
aria-controls="navbarHolder"
aria-expanded="false"
aria-label="Toggle navigation"
Expand Down Expand Up @@ -422,19 +435,19 @@ export class ThemeToggle extends React.Component {
<div className="nav-item" id="topnav-theme">
<form className="form-inline">
<div
className="custom-control custom-theme-toggle form-inline-item"
className="form-check form-check-inline form-switch custom-theme-toggle"
title=""
data-toggle="tooltip"
data-placement="left"
data-bs-toggle="tooltip"
data-bs-placement="left"
data-original-title="Toggle Dark Mode"
>
<input
type="checkbox"
className="custom-control-input"
className="form-check-input"
id="css-toggle-btn"
onClick={this.user_choose_theme}
/>
<label className="custom-control-label" htmlFor="css-toggle-btn">
<label className="form-check-label" htmlFor="css-toggle-btn">
<span className="d-lg-none">Light/Dark Theme</span>
</label>
</div>
Expand Down
2 changes: 1 addition & 1 deletion @theme/components/XRPLCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export function XRPLCard(props: XRPLCardProps) {
<p className="card-text">{props.body}</p>
)}
</div>
<div className="card-footer">&nbsp;</div>
{/* <div className="card-footer">&nbsp;</div> */}
</Link>
)
}
Expand Down
178 changes: 178 additions & 0 deletions COLOR-MIGRATION-SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Color System Migration Summary

**Date:** October 21, 2025
**Source:** [XRPL.org Design Tokens - Figma](https://figma.com/design/zRyhXG4hRP3Lk3B6Owr3eo/XRPL.org-Design-Tokens)

## Migration Strategy: Clean Migration

The old 10-level color scale (100-1000) has been completely migrated to a new 5-level scale (100-500). All references in the codebase have been updated, and backward compatibility aliases have been removed for a clean implementation.

**Mapping Applied:**
```
Old System → New System
100 → 100 (lightest)
200 → 100
300 → 200
400 → 200
500 → 300 (mid-tone, default)
600 → 300
700 → 400
800 → 400
900 → 500 (darkest)
1000 → 500
```

**Migration Approach:**
1. All color usages (600-1000) were found and replaced with their new equivalents (300-500)
2. Backward compatibility aliases were removed from `_colors.scss`
3. Only 100-500 design tokens remain for each color family

## Color Families Updated

### Primary Colors

#### Gray (Neutral) ⏸️ NOT UPDATED
- **Status:** Original values retained - design tokens not ready
- **Current values:** #FCFCFD, #F5F5F7, #E0E0E1, #C1C1C2, #A2A2A4, #838386, #454549, #343437, #232325, #111112
- **Note:** Gray/Neutral design tokens will be migrated in a future update

#### Green ✅
- **New Design Tokens:** #EAFCF1, #70EE97, #21E46B, #0DAA3E, #078139
- **Variables:** `$green-100` through `$green-500` only
- **Migrated:** 14 file references updated
- **Special:** `$apex-2023-green` (#00FF76) retained

#### Lilac (Primary) ✅ *replaces blue-purple*
- **New Design Tokens:** #F2EDFF, #D9CAFF, #C0A7FF, #7649E3, #5429A1
- **Variables:** `$lilac-100` through `$lilac-500` only
- **Legacy aliases:** `$blue-purple-100` through `$blue-purple-500` map to lilac (600-900 removed)
- **Migrated:** 16 file references updated
- **Note:** This is a new color name in the design system

### Secondary Colors

#### Red ✅ *NEW*
- **New Design Tokens:** #FDECE7, #F27A66, #F0643A, #DA4518, #A22514
- **Variables:** `$red-100` through `$red-500` only
- **Note:** This is a completely new color family added to the design system

#### Pink ✅ *replaces magenta*
- **New Design Tokens:** #FDF1F4, #F2B5C3, #F18DA5, #FF577F, #DC466F
- **Variables:** `$pink-100` through `$pink-500` only
- **Legacy aliases:** `$magenta-100` through `$magenta-500` map to pink (600-900 removed)
- **Migrated:** 7 file references updated

#### Blue ✅
- **New Design Tokens:** #EDF4FF, #93BFF1, #428CFF, #0179E7, #0A4DC0
- **Variables:** `$blue-100` through `$blue-500` only
- **Migrated:** 8 file references updated
- **Special:** `$accent-blue-90` (#001133) retained

#### Yellow ✅
- **New Design Tokens:** #F3F1EB, #E6F1A7, #DBF15E, #E1DB26, #D4C02D
- **Variables:** `$yellow-100` through `$yellow-500` only
- **Migrated:** 11 file references updated

## Colors Retained (No Design Token Replacement)

### Orange
- **Status:** Legacy values retained
- **Values:** #FFEEE5, #FFCCB2, #FFAA80, #FF884B, #FF6719, #E54D00, #B23C00, #802B00, #4C1A00
- **Reason:** No corresponding design token in new system

### Red-purple
- **Status:** Legacy values retained
- **Values:** #FBE5FF, #F2B2FF, #EA80FF, #E24CFF, #D919FF, #C000E5, #9500B2, #6B0080, #40004C
- **Reason:** No corresponding design token in new system

### Special Event Colors
- `$apex-2023-green: #00FF76`
- `$token-2049-purple: #410bb9`
- `$accent-blue-90: #001133`

## Bootstrap & Component Colors

All Bootstrap theme variables remain functional:
- `$primary` → `$purple` (now `$lilac-400`)
- `$secondary` → `$gray-200`
- `$success` → `$green-500`
- `$info` → `$blue-500`
- `$warning` → `$yellow-500`
- `$danger` → `$magenta-500` (now `$pink-500`)

## Breaking Changes

**Removed Variables:**
- All color variables from 600-1000 have been removed for: Green, Blue, Lilac, Pink, Red, Yellow
- `$blue-purple-600` through `$blue-purple-900` removed (use 100-500)
- `$magenta-600` through `$magenta-900` removed (use 100-500)

**No Impact:**
- All usages in the codebase have been updated
- Legacy color name aliases maintained (100-500 only):
- `$blue-purple-100` through `$blue-purple-500` → maps to `$lilac-*`
- `$magenta-100` through `$magenta-500` → maps to `$pink-*`

## Color Name Changes

| Old Name | New Name | Reason |
|----------|----------|--------|
| `blue-purple-*` | `lilac-*` | Design system rebranding |
| `magenta-*` | `pink-*` | Design system rebranding |
| N/A | `red-*` | New color family added |

## Usage Recommendations

### Current Best Practices
Use the new 5-level design tokens (100-500):
```scss
// Primary colors
color: $gray-300; // Gray (not yet migrated - still uses old values)
color: $green-300; // Default green
color: $lilac-400; // Primary purple

// Secondary colors
color: $red-300; // Default red
color: $pink-300; // Default pink
color: $blue-300; // Default blue
color: $yellow-300; // Default yellow
```

### Legacy Aliases Still Available
```scss
// These legacy names work (100-500 only)
color: $blue-purple-400; // Same as $lilac-400
color: $magenta-300; // Same as $pink-300
```

## Files Modified

- `styles/_colors.scss` - Complete color system update

## Validation Status

✅ All SCSS variables resolve correctly
✅ No linter errors
✅ Bootstrap theme colors functional
✅ All old color references (600-1000) removed from codebase
✅ Special event colors preserved
⏸️ Gray/Neutral colors - pending future update

## Migration Statistics

**Files Updated:** 11 SCSS files
- `styles/_colors.scss` - Color definitions cleaned up
- `styles/light/_light-theme.scss` - 11 color references updated
- `styles/_status-labels.scss` - 39 color references updated
- `styles/_diagrams.scss` - 6 color references updated
- `styles/_code-tabs.scss` - 2 color references updated
- `styles/_content.scss` - 1 color reference updated
- `styles/_buttons.scss` - 7 color references updated
- `styles/_pages.scss` - 3 color references updated
- `styles/_blog.scss` - 2 color references updated
- `styles/_feedback.scss` - 2 color references updated
- `styles/_rpc-tool.scss` - 1 color reference updated
- `styles/_landings.scss` - 1 color reference updated

**Total Color References Updated:** 75+ instances

Loading