diff --git a/resources/views/showcase/sections/icons.blade.php b/resources/views/showcase/sections/icons.blade.php index 7a0a2be2..aa7c51ed 100644 --- a/resources/views/showcase/sections/icons.blade.php +++ b/resources/views/showcase/sections/icons.blade.php @@ -5,6 +5,7 @@ names: [], query: '', filled: false, + optical20: false, async load() { this.names = await (await fetch('{{ route('livewire-material.symbols', [], false) }}')).json(); }, @@ -19,7 +20,9 @@
- Every Material Symbol (Rounded, 400, grade 0, 24px) as <x-icon name="…" />, outlined or filled.
+ Every Material Symbol (Rounded, 400, grade 0) as <x-icon name="…" />, outlined or filled,
+ drawn from the optical size 24 cut or — for an icon 20px or smaller, where 24's strokes would look thin —
+ the 20 cut: <x-icon name="…" optical="20" class="size-5" />.
diff --git a/src/Http/Controllers/ShowcaseSymbolController.php b/src/Http/Controllers/ShowcaseSymbolController.php
index f7b53aee..5595c4ae 100644
--- a/src/Http/Controllers/ShowcaseSymbolController.php
+++ b/src/Http/Controllers/ShowcaseSymbolController.php
@@ -3,6 +3,7 @@
namespace NoNameWeb\LivewireMaterial\Http\Controllers;
use Illuminate\Http\JsonResponse;
+use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\View\ComponentAttributeBag;
use InvalidArgumentException;
@@ -20,12 +21,16 @@ class ShowcaseSymbolController
return response()->json(SvgFile::symbolNames())->setMaxAge(86400)->setPublic();
}
- public function show(string $style, string $name): Response
+ /**
+ * The standard 24 cut, or the 20 one with `?optical=20`; any other value is the 24 cut,
+ * as it is on `