Commit Graph

766 Commits

Author SHA1 Message Date
Alexander Mahan
8a4e7b4dc9 fix bootstrap toast/growl styles 2026-08-28 12:29:17 -07:00
Alexander Mahan
310d4043d4 add focus state 2026-08-27 14:26:50 -07:00
Alexander Mahan
a00169802c fix category filters on mobile on uses page 2026-08-27 14:04:16 -07:00
Alexander Mahan
df6bae84c9 fix modal text color in light mode 2026-08-27 12:42:54 -07:00
Zack Davis
043099e537 correct gradient direction when vertical 2026-08-26 16:49:07 -07:00
Zack Davis
32af1bdb96 fix timeline position 2026-08-26 16:43:50 -07:00
Zack Davis
278dcb678c Merge remote-tracking branch 'upstream/xrpl-brand-update-2026' into interactive-block-breadcrumbs
# Conflicts:
#	static/css/devportal2024-v1.css
#	static/css/devportal2024-v1.css.map
2026-08-25 21:22:40 -07:00
Alexander Mahan
4fec487163 fix conflicts in built css 2026-08-25 18:00:10 -07:00
Alexander Mahan
b41698aef6 mobile and other breakpoint fixes 2026-08-25 13:35:21 -07:00
Alexander Mahan
fd0bf30d54 fix circular buttons on uses page 2026-08-25 13:07:33 -07:00
Zack Davis
c15412b4d8 Link hover/active beats :visited color 2026-08-25 08:46:55 -07:00
Zack Davis
da830f156f new Link for /about/uses page 2026-08-24 20:08:15 -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
2e6df322e8 update /blog with standalone links 2026-08-24 17:56:06 -07:00
Zack Davis
0671306e4f use spacing token and delete button-vs-link-candidate.md 2026-08-24 16:44:18 -07:00
Alexander Mahan
47b9c1691e fix interactive block breadcrumb appearance 2026-08-24 14:48:39 -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
85d81d2864 fix generic fallback border radius 2026-08-24 10:47:46 -07:00
Zack Davis
31f002ec42 unstach scss change and rebuild for prod 2026-08-24 10:14:18 -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
a14d2f3b37 new Button component replacing old across redesigned pages 2026-08-21 15:33:44 -07:00
Alexander Mahan
2c0b4f5065 fix a few lingering contrast issues 2026-08-21 14:45:26 -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
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
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
Alexander Mahan
2d60c3d4a2 add new PanelStack component to replace CarouselFeatured component 2026-08-19 11:59:52 -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
92e5510fee handle json-view 2026-08-19 00:22:40 -07:00
Zack Davis
5bd6bfa926 fix purged fixes and build css for prod 2026-08-18 23:58:35 -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
Zack Davis
d09f139cb6 contrast-checker script and 1 fix 2026-08-18 21:27:53 -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
955492e8be fix nesting in tokenization page 2026-08-18 15:21:15 -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
Maria Shodunke
93aa4ee2b1 Add community tab to Sample Apps section (#3705) 2026-07-14 18:05:36 +01: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
0ab8d4f4e1 Fix hover styles in some landing pages 2026-07-08 13:09:36 -07:00
amarantha-k
837c52305c Remove custom CSS for deleted page and rebuild CSS 2026-06-17 12:04:21 -07:00
oeggert
c3efd7e055 Merge branch 'master' into xrpld-3.2.0-docs 2026-06-15 21:37:10 -07:00
rachelflynn
06725ba10b Resolved merge conflicts 2026-06-12 11:40:14 -04:00
Calvin Jhunjhuwala
66e13bc0f4 minor navbar tweak 2026-06-10 14:16:03 -07:00
Oliver Eggert
1724516585 add component styling 2026-06-10 14:08:07 -07:00