{#- 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 %}
{% end %}
{% def confirm_trigger(target, label="Confirm", cls="") %}
{% end %}