Squashed Phase-2 SSR work: migrate the Transaction Edit modal's render path entirely to Selmer templates (zero Hiccup in the render path), rip out the multi-step wizard abstraction (EditWizard/LinksStep records, MultiStepFormState, step-params[...] field names, mm/* middleware) in favor of a plain form with flat derived state, and promote shared UI components to reusable Selmer partials under resources/templates/components/. Adds the Selmer interop bridge, the auto-ap.ssr.components.selmer (sc) wrapper library, and the ssr-form-migration skill capturing the learnings. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 lines
677 B
HTML
7 lines
677 B
HTML
{# Field wrapper with label + always-present error <p> (the errors- variant of field-).
|
|
`classes` already folds group / has-error / caller class via hh/add-class; `attrs`
|
|
carries any pass-through div attributes (the per-row location cell hangs its hx-* /
|
|
x-dispatch swap wiring here); `body` is the pre-rendered inner control HTML;
|
|
`errors_str` is the comma-joined string errors (empty when none). #}
|
|
<div class="{{ classes }}"{{ attrs|safe }}>{% if label %}<label class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">{{ label }}</label>{% endif %}{{ body|safe }}<p class="mt-2 text-xs text-red-600 dark:text-red-500 h-4">{{ errors_str }}</p></div>
|