@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 = parseBladewindVariable($divided); $padded = parseBladewindVariable($padded); $scrollable = parseBladewindVariable($scrollable); $hide_after_click = parseBladewindVariable($hide_after_click); $icon_right = parseBladewindVariable($icon_right); // 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