Draw the theme toggle without Tailwind
Plan step 36 (navigation group, third batch): <x-theme-toggle>'s icon button (mode="toggle"|"cycle") moves into resources/css/components/ theme-toggle.css, keyed on data-md-theme-toggle="toggle"|"cycle" and still carrying data-md-icon-button, the hook toolbar.css matches generically so the toggle takes a toolbar's own icon colour when placed in one (N-13). The button renders the shared md-state-layer/ md-touch-target/md-focus-ring classes (N-01's 48px target); its corner morphs from full to sm while pressed on the fast spatial spring, the same motion <x-button>'s own icon buttons take. mode="picker"|"contrast" already drew a connected group over native radios (N-04, N-17's fix), so only its wrapper's hook needed renaming. Hook renamed: data-theme-toggle to data-md-theme-toggle, updated in AppBarTest.php, which carries theme-toggle's render tests. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qwx5USif3wFFmxtHg5U1g9
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f5c90c3874
commit
74cbcd2f44
@@ -61,7 +61,7 @@
|
||||
<div
|
||||
role="group"
|
||||
aria-label="{{ $label ?? $row['name'] }}"
|
||||
data-theme-toggle="{{ $mode }}"
|
||||
data-md-theme-toggle="{{ $mode }}"
|
||||
x-data="{
|
||||
get chosen() {
|
||||
return this.{{ $row['read'] }}
|
||||
@@ -85,7 +85,7 @@
|
||||
type="button"
|
||||
x-data
|
||||
data-md-icon-button
|
||||
data-theme-toggle="{{ $mode }}"
|
||||
data-md-theme-toggle="{{ $mode }}"
|
||||
@if ($mode === 'cycle')
|
||||
aria-label="{{ __('Theme') }}"
|
||||
x-bind:aria-label="{ light: @js(__('Theme: light')), dark: @js(__('Theme: dark')), system: @js(__('Theme: system')) }[$store.theme.choice]"
|
||||
@@ -96,7 +96,7 @@
|
||||
x-bind:aria-pressed="($store.theme.resolved === 'dark').toString()"
|
||||
x-on:click="$store.theme.toggle()"
|
||||
@endif
|
||||
{{ $attributes->class(['state-layer touch-target focus-ring inline-flex size-10 shrink-0 cursor-pointer items-center justify-center rounded-corner-full text-on-surface-variant transition-[border-radius] duration-(--md-sys-motion-spatial-fast-duration) ease-spatial-fast active:rounded-corner-sm']) }}
|
||||
{{ $attributes->class(['md-state-layer', 'md-touch-target', 'md-focus-ring']) }}
|
||||
>
|
||||
@if ($mode === 'cycle')
|
||||
<x-livewire-material::icon name="light_mode" x-cloak x-show="$store.theme.choice === 'light'" />
|
||||
|
||||
Reference in New Issue
Block a user