Caputchin
Widget-Anpassung

Das Widget mit CSS stylen

Das Widget rendert in einer offenen Shadow Root und gibt dir zwei Wege, es von deiner eigenen Seite zu stylen: Shadow-Parts (ein Element mit ::part() anvisieren) und CSS-Custom-Properties (eine Farbe mit --cpt-skin-* überschreiben). Für Farben und Wortlaut bevorzug White-Labeling (es ist dafür gebaut und reist mit jeder Einbettung); greif hier zur CSS-Fläche, wenn du eine seitenlokale Optimierung willst oder etwas, das White-Labeling nicht abdeckt.

Das ist nur die Widget-Hülle. Das Spiel läuft in einem separaten gesandboxten Frame, den du von der Seite nicht stylen kannst.

Einen Part anvisieren

Wähl einen Part auf dem Element mit ::part(name):

caputchin-widget::part(simple-checkbox) {
  border-radius: 1rem;
}

caputchin-game::part(game-frame) {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

Ein paar praktische Hinweise:

  • Die Shadow Root ist offen, also funktioniert ::part() von deiner Seite in jedem modernen Browser.
  • Einige strukturelle Parts (der Checkbox-Container, der Spiel-Frame) tragen Basis-Layout-Styles, die inline am Element angewendet werden. Um eine dieser Eigenschaften zu überschreiben, brauchst du eventuell !important, da ein Inline-Style eine normale ::part()-Regel überrangt. Text- und Marken-Parts stylen sich sauber ohne ihn.
  • Parts sind die Styling-Fläche; das Widget stellt seine internen Klassennamen nicht bereit, und sie können sich ändern. Style per Part, nicht durch Graben im Shadow-Tree.

Parts auf dem Checkbox-Widget

Diese erscheinen auf <caputchin-widget> (und auf dem Pre-Game-Overlay von <caputchin-game>, das denselben Markenblock wiederverwendet).

PartWas es ist
simple-checkboxDer äußere Checkbox-Container (Rand, Hintergrund, Padding).
simple-shield-boxDer Schild-Indikator, der den Verifizierungszustand zeigt.
simple-shield-spinnerDer Spinner-Bogen im Schild während der Verifizierung.
simple-checkbox-labelDer Zustandstext (Verify, Verifying, Verified, Failed).
simple-brandDer Markenblock (Logo, Name und Tag zusammen).
simple-brand-homeDer Link, der Logo und Name umschließt und auf den Home-Link zeigt.
simple-brand-logoDas Markenlogo-Bild.
simple-brand-nameDer Marken-Wordmark-Text.
simple-brand-tagDie Marken-Tagline, ein Link, der auf den Rechtslink zeigt.

Parts auf dem Spiel-Widget

Diese erscheinen auf <caputchin-game>, um den gesandboxten Spiel-Frame herum.

PartWas es ist
game-frameDer Chrome-Frame um das Spiel.
game-iframe-slotDer Slot, der den gesandboxten Iframe des Spiels hält.
game-slotDer Projektions-Container, in den das Spiel rendert.
game-badge-slotDas Marken-Badge, das unter dem Spiel gezeigt wird.
game-overlay-hostDer Host des Pre-Game-Overlays (gezeigt, bevor das Spiel startet).
game-overlay-checkboxDie Checkbox in diesem Overlay.
game-overlay-dialogDer Overlay-Dialog, in Modal- und Fullscreen-Layouts.
game-overlay-closeDer Overlay-Schließen-Button, nur in Modal- und Fullscreen-Layouts.

Farb-Variablen

Das Widget schreibt seine aufgelösten Hüllen-Farben auf das Host-Element als CSS-Custom-Properties namens --cpt-skin-<token>, und seine eigenen Styles lesen sie. Du kannst eine einzelne Farbe aus deinem Stylesheet überschreiben, indem du die Eigenschaft auf dem Element setzt:

caputchin-widget {
  --cpt-skin-primary: #7c3aed !important;
  --cpt-skin-surface_bg: #faf5ff !important;
}

Das !important zählt: das Widget setzt diese Eigenschaften inline am Host, während es den Skin auflöst, und ein Inline-Wert überrangt eine normale Stylesheet-Regel, sodass ein schlichter Override ignoriert wird. Das sind nur die Farben der Hülle; sie erreichen das Spiel im Frame nicht.

Das ist die seitenlokale Notausgang. Um Farben über jede Einbettung zu ändern, setz stattdessen einen Skin im White-Labeling; es nutzt dieselben Token-Namen.

VariableWas es färbt
--cpt-skin-primaryDie primäre Aktionsfarbe: das aktive Schild, der Fokusring und der Verifiziert-Zustand.
--cpt-skin-primary_hoverDie Hover-Variante der Primärfarbe.
--cpt-skin-surface_bgDer Hintergrund des Widgets.
--cpt-skin-text_primaryDer Haupttext.
--cpt-skin-text_labelDer Zustandslabel-Text (Verify, Verifying und so weiter).
--cpt-skin-text_mutedSekundärtext, einschließlich des Marken-Tags.
--cpt-skin-text_passiveDer Schild-Umriss, während das Widget wartet.
--cpt-skin-separatorDer Trenner zwischen Marken-Teilen im kompakten Layout.
--cpt-skin-borderDer Rand des Widgets.
--cpt-skin-glyphDas Häkchen- oder Warn-Glyph, das im Schild gezeichnet wird.
--cpt-skin-errorDie Fehlerzustands-Farbe.
--cpt-skin-shadowDer Schlagschatten des Widgets.
--cpt-skin-modal_backdropDer Hintergrund hinter dem Spiel-Overlay im Modal-Layout.
--cpt-skin-fullscreen_backdropDer Hintergrund hinter dem Spiel-Overlay im Fullscreen-Layout.
--cpt-skin-close_btn_bgDer Hintergrund des Schließen-Buttons im Fullscreen-Overlay.
--cpt-skin-brand_textDie Textfarbe des Marken-Links.
--cpt-skin-brand_text_hoverDie Farbe des Marken-Links beim Hover.

Das Markenlogo ist ein separater Skin-Token (ein Bild, keine Farbe), also wird es per White-Labeling getauscht, nicht per CSS. Dieselben Token-Namen und ihre hellen und dunklen Standards sind in der Schema-Referenz.

Diese --cpt-skin-*-Variablen tragen nur den Skin der Widget-Hülle. Ein Spiel empfängt seinen eigenen Skin als Werte, die an seinen Code gereicht werden (nicht als CSS-Variablen, und du kannst ein Spiel nicht von deiner Seite stylen); sieh dir Den Skin eines Spiels anpassen an.

Siehe auch

Auf dieser Seite