@props([ 'name' => uniqid('bw-dropmenu-'), 'trigger' => config('bladewind.dropmenu.trigger', 'ellipsis-horizontal-icon'), 'trigger_css' => '', 'trigger_on' => config('bladewind.dropmenu.trigger_on', 'click'), 'divided' => config('bladewind.dropmenu.divided', false), 'scrollable' => false, 'height' => 200, 'hide_after_click' => true, 'position' => 'right', 'class' => '', 'modular' => false, // append type="module" to script tags 'pickerColour' => 'pink', 'icon_right' => config('bladewind.dropmenu.icon_right', false), 'padded' => config('bladewind.dropmenu.padded', true), ]) @php $name = preg_replace('/[\s-]/', '_', $name); $height = !is_numeric($height) ? 200 : $height; $trigger_on = (!in_array($trigger_on, ['click', 'mouseover'])) ? 'click' : $trigger_on; $divided = filter_var($divided, FILTER_VALIDATE_BOOLEAN); $padded = filter_var($padded, FILTER_VALIDATE_BOOLEAN); $scrollable = filter_var($scrollable, FILTER_VALIDATE_BOOLEAN); $hide_after_click = filter_var($hide_after_click, FILTER_VALIDATE_BOOLEAN); $icon_right = filter_var($icon_right, FILTER_VALIDATE_BOOLEAN); // TODO: Remove in 3.0.0 when Php < 8 support is dropped if (!function_exists('str_ends_with')) { function str_ends_with($str, $end): bool { return (@substr_compare($str, $end, -strlen($end))==0); } } @endphp
@if(str_ends_with($trigger, '-icon')) @else {!!$trigger!!} @endif