Commit Graph

187 Commits

Author SHA1 Message Date
amarantha-k
650416e3e5 fix links and feedback from integration testing 2026-08-26 15:02:16 -07:00
Zack Davis
a1ee38c4e8 make Redocly tabs keyboard navigable 2026-08-25 12:36:06 -07:00
Zack Davis
48dfa37139 handle Try it! buttons like on /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit 2026-08-24 13:41:03 -07:00
Alexander Mahan
7f9899c492 Updated Link component and styles 2026-08-21 12:32:11 -07:00
Zack Davis
b7b653ed01 Merge branch 'xrpl-brand-update-2026' into monospace-font
# Conflicts:
#	static/css/devportal2024-v1.css
#	static/css/devportal2024-v1.css.map
2026-08-19 11:01:48 -07:00
Zack Davis
a37c40a13d Merge remote-tracking branch 'upstream/xrpl-brand-update-2026' into a11y-constrast-fixes
# Conflicts:
#	static/css/devportal2024-v1.css
#	static/css/devportal2024-v1.css.map
2026-08-18 22:31:57 -07:00
Calvin
5021556c8e BDS component polish: link contrast, static cards, uniform CTAs, stacked hero (#3851)
* BDS component polish: link visibility, static cards, uniform CTAs

Component-level fixes and refinements across the 2026 brand components.

Accessibility / contrast
- StandardCard: pin description link colors. Every card variant has a light
  background in both themes, so theme-level link colors were wrong inside it —
  dark mode painted plain anchors white and BdsLink lilac-300, both of which
  wash out on a pale card. Links (including :visited) now use the card's own
  text color with an underline carrying the affordance; hover uses lilac-500,
  which clears 4.5:1 on all four card backgrounds.
- Breadcrumbs: point the open dropdown menu at the breadcrumb color tokens so
  the trail, trigger, and menu read as one color in both themes, and give dark
  mode gray-6 (7.41:1, matching light mode's 7.23:1).

Interaction
- CardOffgrid: drop every hover affordance when a card has neither href nor
  onClick. Static cards no longer get a pointer cursor, the color-wipe overlay,
  or a pressed state — the tokenization and trading carousels pass link-less
  cards and were advertising a click target that did not exist.
- CarouselFeatured: add a 'fade' transition alongside the default 'slide', for
  decks whose slides share a heading. Inactive slides are now inert, keeping
  focus and pointer events out of them in both styles.
- Add a bds-reduced-motion mixin so components can collapse motion to an
  instant state change.

Design consistency
- ButtonGroup: add forceVariant and forceNoPadding overrides, letting a section
  opt out of the count-based variant defaults and render one uniform treatment.
  Existing consumers are unaffected.
- FeatureTwoColumn: render every link as a tertiary button regardless of count,
  flush with the title and description.
- CardImage: render an all-bullet subtitle as a real <ul> so wrapped text hangs
  under the first character and screen readers announce it as a list.
- docs: give the node-installation card descriptions a paragraph break before
  their "Learn More" link.

Dependencies
- Bump @codemirror/state and view, add lang-javascript, lang-json, and lint,
  with overrides pinning state/view to one copy.

Docs updated alongside each component. Built CSS regenerated with the
production script to match the committed artifact's minified format.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* ButtonGroup: don't strip padding from forced filled variants

`noPadding` was derived as `forceNoPadding || isMultiButton`, which was safe
while the 3+ block layout was always tertiary. `forceVariant` also accepts
`primary` and `secondary`, so a 3-button group forcing a filled variant had
`padding: 0 !important` (Button.scss) applied with no way to opt out.

Tie the implied no-padding to the resolved variant being tertiary. Behavior is
unchanged for every caller that doesn't pass `forceVariant`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Stacked hero variant, fade-by-default carousel, component docs

Layout
- HeaderHeroPrimaryMedia: add a `stacked` prop that puts the headline, subtitle,
  and buttons in one column (full width at base, 7/8 at md, 9/12 at lg) instead
  of the default headline-left / CTA-right split. The headline and CTA block
  bottom-align against each other in the two-column layout, so the stacked
  variant undoes that. Both arrangements now share the same headline and CTA
  elements, so they can't drift apart. Used on the docs landing hero.

Motion
- CarouselFeatured: make `fade` the default transition. Slides that share a
  heading are the common case, and a horizontal wipe drags the identical heading
  across the screen only to set it back down. `slide` is now opt-in for decks
  whose panels are genuinely distinct. Nudge the crossfade to 260ms in / 200ms
  out. The home page carousel opts into fade explicitly; developer-funding now
  inherits it.

Fixes
- CardTextIconCard: pass `headingAs` through to `cardContent`, which was
  accepting the prop but never receiving it.

Docs
- Expand the Button, CardImage, CardTextIcon, PageGrid, CalloutMediaBanner,
  LogoSquareGrid, and HeaderHeroPrimaryMedia references.

Built CSS regenerated with the production script.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 16:49:10 -07:00
Alexander Mahan
88e459de5d override CodeMirror font styles 2026-08-18 15:15:47 -07:00
Alexander Mahan
1c78e95a5b remove formatting changes 2026-08-18 11:44:33 -07:00
Alexander Mahan
9f68881886 a11y contrast fixes and color palette updates 2026-08-18 11:06:56 -07:00
Zack Davis
486406e16a Merge upstream/master into xrpl-brand-update-2026 (catch-up 2026-08-14)
Brings 342 commits of master (last merge base 2026-06-09) onto the rebrand
branch. 10 files conflicted; resolutions below.

Regenerated rather than merged (both are build artifacts):
  static/css/devportal2024-v1.css  rebuilt via `npm run build-css` (+ .css.map,
                                   which both branches track)
  package-lock.json                seeded from master, `npm install`

Config/nav:
  .gitignore     union of both sides
  redirects.yaml took master's side: ambassadors.html now points at
                 ripple.com/impact/ubri/ (supersedes the branch's interim
                 redirect to /community/developer-funding) and master's
                 rippled->xrpld redirect block is preserved
  redocly.yaml   union of ignore entries (branch showcase/** + master
                 .claude/**); kept the branch's script ordering/defer flags
                 but adopted MASTER's new Osano CMP URL - taking the branch
                 side wholesale would have silently reverted cookie consent
  top-nav.yaml   kept the branch's restructure; master's only changes there
                 were the TypeScript get-started entry (auto-merged, retained)
                 and removing Ambassadors (branch already omits it)

Pages/styles:
  docs/index.page.tsx, community/index.page.tsx,
  community/developer-funding.page.tsx, styles/_docs-landing.scss
                 kept the branch rewrites, then re-applied master's intent:
                 "rippled API" -> "xrpld API" in docs/index.page.tsx. Master's
                 other edits (validator link rename, funding-orange image
                 removal, .nav-link hover underline removal) were already
                 satisfied by the rewrites.

Semantic conflict git did not flag:
  styles/_tutorials.scss auto-merged cleanly but broke the SCSS build. Master
  added light-mode .tutorial-tabs rules using $blue-purple-600/700, which the
  rebrand's token consolidation removed (scale now stops at 500, aliased to
  $lilac-*). Remapped to $blue-purple-500, matching how the rebrand migrated
  the other light-mode $blue-purple-600 usages in the same file.

Verified: `npm run build-css` succeeds; no conflict markers remain; the set of
files still linking to master's renamed rippled-* doc paths is identical to
master's own (49 files, all historical blog posts covered by redirects).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 17:29:34 -07:00
Rome Reginelli
716f1e32ca Merge pull request #3749 from naavyas/add-typescript-tutorial
Add Get Started Using TypeScript tutorial (closes #1208)
2026-07-21 12:53:07 -07:00
Rome Reginelli
9a65736696 Merge pull request #3775 from XRPLF/amendment-component-fixes
Amendment component fixes
2026-07-21 12:50:44 -07:00
naavyas
d507e511f8 Add 'Get Started Using TypeScript tutorial'
Adds a TypeScript equivalent of the 'Get Started Using JavaScript'
tutorial, with runnable Node.js and Web code samples using xrpl.js.

From the issue it covers the TypeScript specific asks:
- Setting up a TypeScript project (typescript dep, tsconfig.json,
  compile and run steps).
- Using xrpl.js's built-in types to build a transaction from input
  values and validate it (typed Payment + xrpToDrops + validate()).

Closes #1208
2026-07-21 15:34:57 -04:00
mDuo13
721b387e60 Improve consistency of obsolete amendment handling:
- Update status of amendments removed in 3.2.0
- Reorder obsolete amendments to sort by version removed then by version
  introduced, both descending
- Consistently prefer obsolete amendments JSON over VHS data in both web
  and LLM-MD modes.
2026-07-21 12:04:37 -07:00
mDuo13
6f24552a4e Switch to more thorough JSON for obsolete amendments 2026-07-16 13:48:18 -07:00
Oliver Eggert
4c53257a7d dedupe API calls and cache vote and info endpoints 2026-07-14 18:19:44 -07:00
oeggert
fed7b6f8fd Merge pull request #3774 from XRPLF/fix-amendment-tracker
Update {amendments-table} component
2026-07-14 10:39:25 -07:00
mDuo13
dad6861e8e Improve amendments table & disclaimer components
- Pre-calculate table height so that the load-in doesn't cause the page
  to jump in a way that breaks anchor links.
- Add a status-only mode to {% amendment-disclaimer ... /%} so that it
  can be used for the status tables on the Known Amendments page.
- Add a renderForLlms function for {% amendment-disclaimer ... /%}
2026-07-13 17:05:45 -07:00
Oliver Eggert
a9df38a7d2 refresh amendments-snapshot.json 2026-07-10 15:46:35 -07:00
Calvin
b0db5b3a5c Perf pass + migrate home/payments page sections to shared (#3771)
* Perf pass + migrate home/payments page sections to shared

Performance work across every page plus a refactor moving home/payments
page sections into reusable shared components.

JavaScript
- Defer xrpl.js, jQuery, and Bootstrap in the global <head> (redocly.yaml)
  and on the 11 interactive tool pages' inline <script> tags — removes
  ~1MB of render-blocking JS from first paint on every page.
- Drop moment/moment-timezone from the client: remove the dead APEX-2025
  countdown in the navbar AlertBanner; format/parse dates with native
  Date/Intl in the blog and events pages.

Fonts & icons
- Remove render-blocking font-awesome.min.css + webfont. CSS glyphs
  (callouts, breadcrumbs, status labels, tutorials) now render as
  self-contained data-URI SVG masks (styles/_fa-icons.scss); markup icons
  use a shared inline-SVG <Icon> component (shared/components/Icon).
- Preconnect to Google Fonts / osano / GTM origins; preload the primary
  Booton UI font so text no longer waits on the 775KB stylesheet to parse.

Images & rendering
- Re-encode/resize oversized assets: new-york.jpeg 3.86MB→60KB,
  resources-icon.svg 4.2MB→150KB, event date/location SVGs ~1MB→0.5MB.
- Add loading=lazy/decoding=async to shared card components and the
  Video embed iframe.
- Add content-visibility to the events page's ~126-card grid to skip
  off-screen rendering.
- Earlier QA fixes: light-mode link color (#141414), events card grid
  layout, close nav menu on client-side navigation.

Home / payments refactor
- Move home page sections from page-local pages/home/sections/* to reusable
  shared/sections/* components (HomeHero relocated to shared/sections/HomeHero;
  home page now composes CalloutMediaBanner, CardStatsList, LinkTextDirectory,
  LogoSquareGrid, StandardCardGroupSection, FeatureSingleTopic, CarouselFeatured).
- Remove the now-unused pages/payments/sections/* in the same migration.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Revert FontAwesome removal (keep it for open-source flexibility)

Restore the FontAwesome webfont + font-awesome.min.css and all FA icon
usages (markup fa-* classes and CSS ::before glyphs), reverting the
consolidation in d4cf4e8581. Other performance changes from that commit
(deferred head scripts, moment removal, image optimization, lazy-loading,
content-visibility, preconnect/preload) are retained.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* cleaning up breadcrumb styling

* sticky side nav

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 14:03:02 -07:00
mDuo13
abb662c26d Fix overlapping Osano/AI buttons 2026-07-10 12:02:54 -07:00
Oliver Eggert
d23139cd0b add renderForLlm and initial snapshot data 2026-07-09 15:29:43 -07:00
Oliver Eggert
b45e6072dd add manual override for obsolete amendments 2026-07-09 11:13:21 -07:00
mDuo13
6cdfbde83f Show tree nav on mobile 2026-07-07 12:25:26 -07:00
mDuo13
1c1e66a093 Implement responsive-graphic tag 2026-07-02 14:21:35 -07:00
Oliver Eggert
c4acc92e53 add plain linking 2026-06-12 12:01:37 -07:00
oeggert
c7b698331c Merge pull request #3696 from XRPLF/source-link-component
Source link component
2026-06-11 10:00:50 -07:00
oeggert
cf46cd0ea2 Update @theme/components/SourceLink.tsx
Co-authored-by: Maria Shodunke <maria-robobug@users.noreply.github.com>
2026-06-11 09:59:22 -07:00
Oliver Eggert
612f03c0b6 Merge remote-tracking branch 'origin/master' into xrpld-3.2.0-docs 2026-06-10 14:45:13 -07:00
Oliver Eggert
1724516585 add component styling 2026-06-10 14:08:07 -07:00
Oliver Eggert
8813fd65a0 tweak LLM output 2026-06-10 10:44:19 -07:00
Oliver Eggert
e0748aa45e initial draft of source link component 2026-06-10 10:44:19 -07:00
Calvin Jhunjhuwala
aa84728342 QA and code clean up 2026-06-09 14:48:22 -07:00
rachelflynn
0b88817ffa Addressed PR review feedback 2026-06-09 16:34:58 -04:00
Calvin Jhunjhuwala
9513029390 cleaning up per QA comments, replacing broken assets, adding twocolumnwrapper to account for gap spacing on pagewrapper 2026-06-08 16:59:15 -07:00
Calvin
67523334de [feat] page composition (#3640)
* updating docs landing page, took far but not complete. Pushing for Gabe take over

* Refactor home page sections and introduce new components

- Replaced existing content in index.page.tsx with new section components for improved structure and maintainability.
- Added new sections: HomeBeginJourneySection, HomeBlockchainStatsSection, HomeComplianceDirectorySection, HomeDevelopersFeatureSection, HomeFutureFinanceCallout, HomeHeroCallout, HomeInstitutionsFeatureSection, HomePartnerLogosSection, HomeStayConnectedSection, and HomeCarousel.
- Updated styles for CarouselFeatured and CardStat components to enhance visual consistency and responsiveness.
- Introduced SCSS for HomeHero section to manage layout and spacing effectively.

* Add Payments Page and Sections

- Created a new Payments page with multiple sections including Hero, Why Choose, Advanced Features, Stablecoins, Embedded Payments, Partner Logos, Flexible Integration, Developer Spotlight, and Stay Connected.
- Each section is designed to highlight various aspects of the XRP Ledger Payments Infrastructure, featuring components like FeaturedVideoHero and CardsIconGrid.
- Added corresponding styles and images to enhance the visual presentation of the new sections.

* adding icons, updating docs landing page

* updating the claude command, wrapping text with translate wrapper

* use case tokenization page built

* Enhance CarouselFeatured styles for improved responsiveness

- Added flex-direction adjustments for CarouselFeatured component to support column-reverse layout on smaller screens and row layout on medium and larger screens.
- Removed redundant vendor prefixes from box-sizing and text-decoration properties in devportal2024-v1.css for cleaner code and improved maintainability.

* moving payments page to correct folder, moving payments under pages

* adding developers home page

* code clean up

---------

Co-authored-by: gabriel-ortiz <gabriel.ortiz.github@gmail.com>
Co-authored-by: gabriel-ortiz <gortiz@ripple.com>
2026-06-08 16:59:08 -07:00
Calvin
efe0aa943b Navbar icon updates: new 18×18 icons, dedicated Community icons, and code cleanup (#3544)
* updating navigation with the correct icons

* clean up code, add alt tags

* consolidate, code clean up

* minor tweak to icons.ts
2026-06-08 16:58:39 -07:00
Calvin
176fb3cbc7 Component Library Refactor & New Components (#3510)
* adding showcase page

* adding CardStatsList

* clean up, tighter code

* code review and code clean up

* update import, clean up env for error message

* tweak some css code

* less css, rebuilt

* re-adding bem, modifier for bds variants
2026-06-08 16:58:22 -07:00
akcodez
a249cdbc54 Update navigation constants and submenu data for improved routing
- Changed hrefs for main navigation items to reflect new paths.
- Updated submenu data for 'Develop' and 'Use Cases' sections with new links.
- Adjusted community submenu links for better resource access.
- Refined network submenu data to include relevant resources and insights.
2026-06-08 16:54:55 -07:00
akcodez
acd58bb5ee Enhance Navbar and Submenu components for improved accessibility and keyboard navigation
- Added keyboard navigation support to NavItems, allowing users to close submenus with the Escape key and toggle with Enter/Space.
- Implemented onClose callback in Submenu components to facilitate submenu closure.
- Updated Navbar to handle submenu closing for keyboard navigation.
- Adjusted styles for better layout and responsiveness in submenus.
2026-06-08 16:51:58 -07:00
akcodez
c77cd1150b add translations 2026-06-08 16:51:58 -07:00
akcodez
8fcf955c9d Add LanguageDropdown component to Navbar and enhance LanguagePill functionality
- Introduced LanguageDropdown for improved language selection in Navbar and MobileMenu.
- Updated LanguagePill to display the current language dynamically and manage dropdown state.
- Enhanced styles for language-related components to support open/close states and transitions.
- Added mobile-specific dropdown positioning and styles for better user experience.
2026-06-08 16:51:58 -07:00
akcodez
51ca4fdfcb Integrate search functionality into Navbar and MobileMenu components, utilizing Redocly's search dialog. Update AlertBanner to prevent hydration mismatch with null initial state for displayDate. Adjust NavControls and NetworkSubmenu to handle theme detection more effectively. 2026-06-08 16:51:58 -07:00
akcodez
e588dcc715 Refactor Navbar component structure by modularizing subcomponents and removing legacy exports for improved maintainability and clarity. 2026-06-08 16:51:57 -07:00
akcodez
af33a01b0a Enhance Navbar with XRP Ledger text animation and update styles for dark mode and submenu transitions 2026-06-08 16:51:52 -07:00
akcodez
a625b5ec2c add proper icons 2026-06-08 16:51:52 -07:00
akcodez
68ee9aca5a add dark mode styles 2026-06-08 16:51:45 -07:00
akcodez
c3d1e58a97 udpate animations 2026-06-08 16:51:45 -07:00
akcodez
0a814ea17c add all submenus 2026-06-08 16:51:45 -07:00