{{-- A Material Symbol (Rounded, weight 400, grade 0, optical size 24), inline. `name` is Google's name for it, underscores and all (`arrow_back`), as listed on fonts.google.com/icons; every symbol Google publishes is available, and an unknown name throws. `filled` draws the filled state, which in M3 means active or selected. Decorative by default and hidden from screen readers, because nearly every icon sits beside words that already say what it means. Pass `label` when the icon alone carries the meaning. 24px unless the caller sizes it. The default is added only when no size class is passed, rather than merged under one: `size-6 size-4` compiles to whichever Tailwind emits last, not to the one the caller wrote. --}} @props([ 'name', 'filled' => false, 'label' => null, ]) @php $sized = preg_match('/(^|\s)(size|w|h)-/', (string) $attributes->get('class')) === 1; $attributes = $attributes ->class(['shrink-0', 'size-6' => ! $sized]) ->merge(array_filter([ 'aria-hidden' => $label === null ? 'true' : null, 'aria-label' => $label, 'role' => $label === null ? null : 'img', 'focusable' => 'false', ])); @endphp {{ \NoNameWeb\LivewireMaterial\Support\SvgFile::symbol($name, (bool) $filled, $attributes) }}