{#- chirp-ui: Confirm dialog component Modal for destructive actions or confirmations. Usage: from "chirpui/confirm.html" import confirm_dialog, confirm_trigger confirm_trigger("del-dlg", label="Delete") call confirm_dialog("del-dlg", title="Delete item?", message="This cannot be undone.", confirm_label="Delete", cancel_label="Cancel", variant="danger", confirm_url="/items/1/delete", confirm_method="POST") end When confirm_url is provided, confirm submits the form (htmx or native). Cancel closes the dialog via form method="dialog". -#} {% def confirm_dialog(id, title, message=none, confirm_label="Confirm", cancel_label="Cancel", variant="default", confirm_url=none, confirm_method="POST", hx_target=none, hx_swap="innerHTML", hx_select=none, hx_push_url=none, cls="") %} {% set variant = variant | validate_variant(("default","danger"), "default") %} {% set hx_disinherit = "hx-select hx-target hx-swap" if hx_target else none %}
{% if variant == "danger" %}

{{ title }}

{% else %}

{{ title }}

{% end %}
{% slot header_actions %}
{% if message %}

{{ message }}

{% else %}
{% slot message %}
{% end %}
{% end %} {% def confirm_trigger(target, label="Confirm", cls="") %} {% end %}