{# @description The inside of every sign-in and sign-up page: a heading, the buttons that skip the form, a divider, the form, and a foot. With or without a card around it. #} {# @prop title:text | default:"Sign in" | description:"The heading. Use the title slot instead when it contains markup." #} {# @prop lead:text | description:"The sentence under the heading" #} {# @prop level:select['1', '2', '3', '4', '5', '6'] | default:"1" | description:"Heading level" #} {# @prop size:select['md', 'lg'] | default:"md" | description:"How large the heading is set" #} {# @prop align:select['start', 'center'] | default:"start" | description:"Where the heading and the foot sit" #} {# @prop divider:text | description:"The word between the provider buttons and the form. Left empty, it is a translated or." #} {# @prop card:boolean | default:False | description:"Draw a card around the panel" #} {# @prop surface:text | default:"bg-base-100 shadow-xl" | description:"Surface classes of the card. No effect without card." #} {# @prop class:text | description:"Extra classes on the panel's outer element" #} {# @slot:providers — Buttons that skip the form, one full-width button each: third-party providers, a passkey, an emailed code #} {# @slot:footer — The foot of the panel. The link across to the other page, or the terms. #} {# @slot The form — The application's own form, with its fields, its errors and its submit button. #} {% load i18n %} {# djlint:off #} {% if card %}
{% else %}
{% endif %}
{% if title %}{{ title }}{% endif %} {% if lead %}

{{ lead }}

{% endif %}
{% if providers.strip %}
{{ providers }}
{% if slot.strip %}{% if divider %}{{ divider }}{% else %}{% translate "or" %}{% endif %}{% endif %} {% endif %} {{ slot }} {% if footer.strip %}
{{ footer }}
{% endif %} {% if card %}
{% else %}
{% endif %} {# djlint:on #}