Zack Davis e452a3285b add the shared icon set
Eighteen icon components behind one barrel at shared/components/Icons.
Every icon renders at 1em in currentColor and is aria-hidden, so size,
colour and accessible naming all come from whatever contains it.

The two link arrows carry motion. They are drawn as separate head and
tail elements on purpose: the tail retracts to nothing while the head
advances, which a single path cannot do, and a flattened replacement
renders correctly while silently losing the animation.

One inherited custom property is the whole contract:

  --xrpl-icon-engaged: 0   at rest   …   1   engaged

It names the cause rather than the effect. A container knows its own
hover and focus states but not which icon it holds, so each icon decides
what engagement means for it, and an icon with no stylesheet ignores the
signal and stays static.

Containers drive it with the xrpl-icon-engaged mixin, which emits
`> .xrpl-icon` — one level, then stop. That is what keeps a hovered card
from engaging the arrow inside a button it merely contains. Include it
on the element the icon actually sits in, which is not always the
element carrying the state; attached too high it matches nothing, which
fails as a missing animation rather than a wrong one. The rest value
declared on .xrpl-icon blocks a container that sets the property
directly instead of using the mixin.

Where the trigger is React state rather than a CSS state there is no
pseudo-class to hang the mixin off, so the arrows take an optional
`engaged` prop. Omitted it writes nothing at all; `false` is deliberately
different, pinning the icon still.

Fourteen of the icons are Google Material artwork under Apache-2.0. Each
file names its exact upstream source and commit, and lists the
modifications made to it; the licence entry is in LICENSE at the root.

Adds /icon-demo as the reference page for the set. It is linked from
nowhere and excluded from site search and sitemap.xml, but deliberately
left out of redocly.yaml's ignore list, which would 404 it under
`realm develop` too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 10:33:04 -07:00
2026-06-12 23:44:24 -07:00
2026-08-18 21:27:53 -07:00
2026-08-21 10:33:04 -07:00
2026-08-21 10:33:04 -07:00
2026-08-21 10:33:04 -07:00
2026-07-13 16:57:56 -07:00
2026-08-06 18:09:44 -07:00
2026-03-23 15:21:39 -07:00
2019-02-07 15:25:11 -08:00
2026-08-21 10:33:04 -07:00
2026-08-21 10:33:04 -07:00
2026-08-21 10:33:04 -07:00
2025-01-08 12:27:19 -08:00

XRPL Dev Portal

The XRP Ledger Dev Portal is the authoritative source for XRP Ledger documentation, including the core server, client libraries, and other open-source XRP Ledger software.

The site is built and published using Redocly.

Before you proceed, make sure you have Node.js and NPM installed. The site is tested with the current LTS release of each.

To build the site locally:

  1. Clone the repo and change into its directory:

     git clone git@github.com:XRPLF/xrpl-dev-portal.git && cd xrpl-dev-portal
    
  2. Install Redocly Realm:

     npm install @redocly/realm
    
  3. Switch to the master branch if you aren't on it already.

     git switch master
    
  4. Build and start a local server:

     npm start
    

For more details, see the contribution guidelines (EN) (日本語) and the contributor Code of Conduct (EN) (日本語).

Localization / Translations

The documentation in this repository is created in English first, then translated into other languages by community contributors. Currently, only the Japanese translations are live on the site; Spanish translation efforts are incomplete and not actively used. For information on the process of adding and maintaining translated files, see Translations.

Issues, Projects, and Project Boards

Use GitHub Issues under the xrpl-dev-portal repository to report bugs, feature requests, and suggestions for the XRP Ledger Documentation or the xrpl.org website.

For issues related to xrpld/rippled, Clio, or client libraries (xrpl.js, xrpl-py, and others), use the respective source repository under https://github.com/XRPLF.

If you are a contributor, use GitHub Projects and Project Boards to plan and track updates to xrpl.org.

Project Board xrpl-docs

The xrpl-docs Kanban board is used to plan and track updates to the XRP Ledger Documentation. Contributors must update the status of an issue as it progresses through different stages.

The xrpl-docs board has six columns based on the status of issues in this repository:

  • No Status: New or existing issues that no one has triaged yet.

  • Backlog: Issues that represent tasks to be done eventually. They should contain actionable and helpful information for a contributor to work on addressing the issue.

  • Planned: Issues with assignees who plan to address them in the near future, like 2-4 weeks.

  • In Progress: Issues that a contributor is actively working on.

  • In Review: Issues with a proposed fix that is currently being reviewed. These should be associated with an open pull request.

  • Done: Issues that have been completed, whose related content updates have been merged.

Description
Languages
JavaScript 24.3%
TypeScript 23%
Python 20.3%
SCSS 17.9%
Go 6.5%
Other 7.9%