125 Commits

Author SHA1 Message Date
Zack Davis
89109dd7fb fix individual link errors 2026-08-28 09:33:37 -07:00
Zack Davis
943c1e96cd refactor button background as two-tone 2026-08-24 22:09:55 -07:00
Zack Davis
6b1eeedbd6 @bds-btn mixin caught up with real component 2026-08-24 21:31:06 -07:00
Zack Davis
e862ba6cf4 fix button border issue and updat
e button-using component readmes for new
propset
2026-08-24 21:24:09 -07:00
Zack Davis
dca2298a54 Links made size lg, Link added to websocket-api-tool, fixed API methods nav and heading link on websocket-api-tool 2026-08-24 19:58:13 -07:00
Zack Davis
e3b4428b63 standalone link at bottom of /docs/use-cases/tokenization/real-world-assets 2026-08-24 18:02:05 -07:00
Zack Davis
44455e8c01 update buton typing 2026-08-24 17:31:45 -07:00
Zack Davis
5346b44782 Fix 2 TS errors 2026-08-24 17:10:22 -07:00
Zack Davis
0671306e4f use spacing token and delete button-vs-link-candidate.md 2026-08-24 16:44:18 -07:00
Zack Davis
fe1a1dd97e icon animation for /resources cardImage button 2026-08-24 16:24:16 -07:00
Zack Davis
5dbbe619ea handle strong on-saturated hover transparency 2026-08-24 14:52:29 -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
Zack Davis
abff40b977 Merge xrpl-brand-update-2026 into button-updates
Brings the merged Link component work (PR #3868) plus panelstack and
carousel fixes onto the new Button system.

Conflict resolutions:
- about/{index,history,impact}.page.tsx: keep both branches' imports;
  /about CTAs use the new Button; Link component retained for the
  inline validators links and FAQ markup.
- StandardCard: link color moves to $black/$lilac-500. Required, not
  cosmetic: the branch's $bds-btn-neutral-black no longer exists after
  the Button token system was replaced by $bds-btn-palette.
- Compiled CSS regenerated via npm run build-css rather than resolved
  by hand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 13:00:09 -07:00
Alexander Mahan
7b9dfee81e fix for redocly router links 2026-08-24 11:55:21 -07:00
Zack Davis
2dac5e521e button styles available as mixin, applied to all .interactive-block .btn.btn-primary 2026-08-24 10:03:21 -07:00
Alexander Mahan
b700e0e76e pr feedback 2026-08-24 09:29:48 -07:00
Zack Davis
641e7350e4 New buttons for Docs: /agents/agentic-transactions/ and /usecases/tokenization/real-world-assets. Also, button-audit script 2026-08-23 20:54:46 -07:00
Zack Davis
219bb4c2ad use new buttons for resources/dev-tools, about/history, about/impact. Make iconEnd optional 2026-08-21 22:02:19 -07:00
Zack Davis
335db10a9f update :is trap warning 2026-08-21 15:48:39 -07:00
Zack Davis
a14d2f3b37 new Button component replacing old across redesigned pages 2026-08-21 15:33:44 -07:00
Alexander Mahan
df23aef675 update link icons to match new icons/animation 2026-08-21 13:33:19 -07:00
Zack Davis
29ef7b2001 Add RebrandButton on top of the shared icon set.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 13:21:50 -07:00
Zack Davis
920baab266 refactor Button css to be simpler and more maintainable 2026-08-21 13:21:50 -07:00
Alexander Mahan
87748e96e0 fix merge conflicts in compiled css 2026-08-21 13:19:11 -07:00
Alexander Mahan
7f9899c492 Updated Link component and styles 2026-08-21 12:32:11 -07:00
Zack Davis
71c587a744 add style props to all icons missing it 2026-08-21 11:59:08 -07:00
Zack Davis
63b9da490e rename xrpl-icon class to bds-icon 2026-08-21 11:45:31 -07:00
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
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
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
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
Calvin Jhunjhuwala
aa84728342 QA and code clean up 2026-06-09 14:48:22 -07: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
b9fceecc07 Qa/section cards (#3596)
* qa/section-cards: link colors, dark mode green TextCard, CardTextIconCard text color

Co-Authored-By: Oz <oz-agent@warp.dev>

* updating documentation, fix per QA feedback

* removing important and css clean up

---------

Co-authored-by: Oz <oz-agent@warp.dev>
2026-06-08 16:58:45 -07:00
Calvin
f444dc487a Fix to TileLogo and fix to svg for external link (#3594)
* fixes for link arrow and tile logo

* ran prod build, seeing css changes

* fixing css
2026-06-08 16:58:45 -07:00
gabriel-ortiz
23b7101398 Enhance StandardCard styles for dark mode and clean up showcase component
- Added dark mode background color for the StandardCard component.
- Removed unnecessary padding and border radius from the showcase StandardCard group section for a cleaner look.
- Updated CSS files with new styles and optimizations.
2026-06-08 16:58:40 -07:00
Calvin
58b7ce7ec2 QA: Link Component
clean up css, lilac properly documented for links (#3564)
2026-06-08 16:58:40 -07:00
Calvin
65c02abaa8 QA: Buttons (#3562)
* fixed to the button for light + dark, all three buttons

* empty commit

Co-Authored-By: Oz <oz-agent@warp.dev>

* testing link to qa branch

* fix spacing

* minifying css

---------

Co-authored-by: Oz <oz-agent@warp.dev>
2026-06-08 16:58:40 -07:00
Calvin
9df2b0ea7b focus state fixed, updated documentation, typography + focus state fixed (#3561) 2026-06-08 16:58:40 -07:00
Calvin
c262a4b86e QA for TileLogo Component (#3560)
* qa feedback implemented

* style clean up
2026-06-08 16:58:39 -07:00
Calvin
abe345f5c8 QA/CardIcon (#3558)
* fixing light + dark mode for card icon

* fix pressed on dark mode for gray
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
Calvin
fe1aa0ecb1 Add CardsIconGrid and CardsTextGrid Section Patterns (#3505)
* CardsIconGrid and CardsTextGrid + showcase pages

* cleaning up code

* more code clean up

* using the spacing tokens for values
2026-06-08 16:57:29 -07:00
akcodez
8e17a5333f stashing work 2026-06-08 16:57:24 -07:00
Calvin Jhunjhuwala
0e488106ac adding TileLinks pattern, adding LinkSmallGrid 2026-06-08 16:57:16 -07:00
Calvin Jhunjhuwala
fafd859290 stylesheet clean up 2026-06-08 16:56:09 -07:00
akcodez
4a9f0d48be Add CarouselButton component and integrate into CarouselCardList and CarouselFeatured showcases
- Introduced CarouselButton component for navigation with multiple color variants (neutral, green, black).
- Enhanced CarouselCardListShowcase to include a visual showcase of CarouselButton in various states.
- Created CarouselFeatured component showcasing featured images with navigation and responsive behavior.
- Updated styles for CarouselButton and integrated it into existing patterns for improved navigation experience.
2026-06-08 16:56:03 -07:00