Files
xrpl-dev-portal/styles/_interactive-tutorials.scss
2026-08-24 10:14:18 -07:00

91 lines
2.3 KiB
SCSS

/* Interactive blocks in tutorial contents ---------------------------------- */
/* I don't get it, but apparently setting padding or border on
.interactive-block breaks the fixed-header anchor fix.
So the visual styles go on this inner div.
*/
.interactive-block-inner {
border: 1px dashed $purple;
padding: 10px;
margin: 5px;
}
.interactive-block-ui > button {
margin: 10px 0;
}
/* The tutorial step controls, as the real Button.
*
* These are raw HTML <button>s in Markdown, wired to jQuery by `id` and by
* `previous-steps-required`, so they cannot be authored as <Button>. Styling
* them here means no file under docs/ changes and no JS hook moves — the
* lightest touch available for controls whose behaviour is hard to test.
*
* Editors keep writing `class="btn btn-primary"`; that stays the one correct
* way to write a tutorial button.
*
* Scoped to .interactive-block deliberately. It is not a partial fix: every
* `btn btn-primary` in docs/ that actually renders is inside one. The eleven in
* configuring-accounts.md, creating-an-asset-backed-multi-purpose-token.md and
* build-a-desktop-wallet-in-javascript.md sit in raw HTML blocks that never
* reach the DOM at all — a separate pre-existing bug, not something to style.
*
* The wider `.btn-primary` on /resources/dev-tools is out of scope by design:
* those are the application buttons the design review marked "DO NOT REPLACE",
* so this must not become a global rule.
*/
.interactive-block .btn.btn-primary {
@include bds-button(neutral, strong, on-theme);
}
.interactive-block {
input:invalid {
box-shadow: inset 0 0 5px 5px $danger;
}
.breadcrumbs-wrap {
margin-bottom: 11px;
}
.breadcrumb-item {
margin-top: 6px;
}
.breadcrumb-item a {
text-decoration: none;
}
.breadcrumb-item.current a {
font-weight: bold;
}
.breadcrumb-item.active a {
color: $blue-purple-300;
}
.breadcrumb-item.disabled a {
color: $gray-300;
html.light & {
color: $gray-600;
}
}
.breadcrumb-item.done a:after {
content: "\f058"; /* fontawesome check-circle icon */
font-family: FontAwesome;
color: $secondary;
padding-right: 5px;
padding-left: 5px;
}
.waiting-for-tx {
word-break: break-word;
}
}
.ws-console {
height: 200px;
overflow: auto;
}