These were left out because daisyUI does them with scripts or with links that
<base href="/"> breaks.
DCarousel:
- ShowNavigation adds previous/next links on each slide, and ShowIndicators adds
a row of numbered links under the strip.
- The links point at the slides' ids under the current path, so Blazor treats
them as same-page fragments and scrolls the strip.
DCheckbox:
- Indeterminate renders aria-checked="mixed", which daisyUI draws like
:indeterminate.
- A click clears it through IndeterminateChanged.
- The neo inset well leaves the mixed state alone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
Logout:
- It navigated to "authenticatio/logout", a misspelled route.
- The correct template route, authentication/logout, would throw anyway. Its
RemoteAuthenticatorView casts the AuthenticationStateProvider to the OIDC
template's service, and the app registers TokenAuthStateProvider instead.
- It now signs out through TokenAuthStateProvider.LogoutAsync, as the code
commented out in the page intended, and returns home. LoginDisplay's sign-out
goes through it as well.
- This also drops the obsolete SignOutSessionStateManager, the build's last
warning.
The IndexedDB schema never declared the ClientLogs store that IStorage.AddLog
writes to, so every client log write failed inside its try/catch. Version 2 adds
the store, keyed by the Id AddLog assigns.
DInputBase.NameAttribute renders no name instead of name="" when the form maps
no field names.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
Components/Daisy/ wraps all 69 components in daisyUI's llms.txt, grouped by
daisyUI's categories (Actions, DataDisplay, Navigation, Feedback, DataInput,
Layout, Mockup), with part components where daisyUI has repeating parts (DTab,
DMenuItem, DTimelineItem, ...).
- Each enum maps to whole literal class names in a switch, so Tailwind's scanner
generates them. Nothing is concatenated.
- Value-holding fields derive from DInputBase<TValue>, Blazor's InputBase, so
@bind-Value and EditForm validation work. Invalid fields get the component's
*-error class.
- Open and active state lives in C# (@bind-IsOpen, @bind-Active) and is rendered
with daisyUI's *-open modifiers. DDropdown adds an outside-click layer and
Escape. No component uses JS interop.
- The one exception is DCalendar, which wraps the Cally web component, vendored
as wwwroot/vendor/cally.js (0.9.2, MIT).
/styleguide (not linked) renders every component in all its colours, sizes and
states, with a theme and hue picker that previews without saving.
neo.css follows what the styleguide showed:
- select keeps daisyUI's arrow;
- skeleton-text isn't sunk;
- the phone mockup and dock are raised;
- active menu items and OTP digits are inset;
- a joined accordion is raised as one block.
The primary, secondary and accent colours are deeper, so they still read as
text.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw