{% extends "forms/field.html.twig" %}
{% block label %}{% endblock %}
{% block input %}
{% set formId = form.id ?: form.name %}
{% set endpoint = base_url_relative ~ '/forms-cap/' %}
{% set wasm_url = url('plugin://form/assets/captcha/cap/cap_wasm_bg.wasm') %}
{% set container_id = 'cap-' ~ formId %}
{% set mode = field.mode ?? grav.config.plugins.form.cap.mode ?? 'invisible' %}
{% if mode not in ['invisible', 'checkbox'] %}{% set mode = 'invisible' %}{% endif %}
{% if mode == 'checkbox' %}
{# The renders its own internally. #}
{% else %}
{# Invisible mode: no visible UI. cap-handler.js wires up the solve + submit-intercept. #}
{% endif %}
{% do assets.addJs('plugin://form/assets/captcha/cap-handler.js', { group: 'bottom', priority: 110 }) %}
{% do assets.addJs('plugin://form/assets/captcha/cap/cap.min.js', { group: 'bottom', loading: 'defer', priority: 100 }) %}
{% endblock %}