Widget customization
This tutorial is mostly a collection of visual changes to the widget through data-styles
attribute.
Full-width widget
The only thing you need to do is to add display: block
to data-styles
(and make sure form
itself is wide enough).
<form>
<div class="private-captcha"
data-styles="display: block;">
</div>
</form>
Large widget
There’re 2 things you can do: changing font-size
scales everything inside the widget and stretching widget itself is done with display
attribute (which by default is inline-block
).
<form style="width: 500px; height: 160px;">
<div class="private-captcha"
style="height: 100%"
data-styles="display: block; height: 100%; font-size: 24px;">
</div>
</form>
Border customization
Border color is customized with --border
variable (a proxy to border
CSS property) and border radius is customized with --border-radius
<form>
<div class="private-captcha"
data-styles="--border-radius: 1rem; --border: 1px dashed blue;">
</div>
</form>
Box shadow
Make sure that container’s parent (or form
itself) has the same border-radius
so there’re no visual conflicts. Also make sure the container does not have overflow: hidden
.
<form>
<div class="private-captcha"
data-styles="box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --border-radius: 0.5rem;">
</div>
</form>
Accent colors
Here’s how to make a red widget. You need to override --border
(obviously), then --accent-color
, --pie-color
and --checkbox-hover-color
.
<form>
<div class="private-captcha"
data-styles="--border: 1px solid #cd1811; --accent-color: #cd1811; --pie-color: #fdb8b7; --checkbox-hover-color: #feeded;">
</div>
</form>
Responsive size
For mobile clients we want to show a smaller widget. We can achieve this using font-size
and clamp
CSS built-in to have smth like font-size: clamp(18px, 4vw, 20px)
. Trick can be also used to things like --extra-spacing
.
<form>
<div class="private-captcha"
data-styles="font-size: clamp(18px, 4vw, 20px); --extra-spacing: clamp(0.025rem, 2vw, 0.25rem);">
</div>
</form>
Extra spacing
Depending on preferred widget size, you might want to add more horizontal padding between sides and checkbox and logo. You can achieve that using --extra-spacing
.
<form style="width: 400px">
<div class="private-captcha"
data-styles="display: block; --extra-spacing: 1.5rem;">
</div>
</form>
Even more customization
For absolutely custom visualization, you can make Private Captcha widget “invisible” and make your own visualizations based on widget’s callbacks and/or events. You can see an example of it in the linked page.