{#- chirp-ui: Inline edit field Display mode + edit mode with save/cancel. HTMX-friendly. Use mode="display" for view, mode="edit" for form. Swap via HTMX. Usage: from "chirpui/inline_edit_field.html" import inline_edit_field_display, inline_edit_field_form {# Display block — swap target for edit form #} call inline_edit_field_display(value=item.name, edit_url="/items/1/edit-name", swap_target="#name-field", swap_id="name-field") end {# Edit form — returned by edit_url handler, swaps into swap_target #} call inline_edit_field_form(name="name", value=item.name, save_url="/items/1/save-name", cancel_url="/items/1", swap_target="#name-field") end -#} {% def inline_edit_field_display(value, edit_url, swap_target=none, swap_id=none, edit_label="Edit", edit_icon=true, cls="") %} {% set target = swap_target or ("#" ~ (swap_id or "inline-edit-field")) %}