<%# locals: (form:) %>
<div data-controller="list-filter">
  <div class="relative">
    <input type="search" autocomplete="off" placeholder="Filter category" data-list-filter-target="input" data-action="input->list-filter#filter" class="block w-full border border-gray-200 rounded-md py-2 pl-10 pr-3 focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
    <%= lucide_icon("search", class: "w-5 h-5 text-gray-500 absolute inset-y-0 left-2 top-1/2 transform -translate-y-1/2") %>
  </div>
  <div class="my-2" id="list" data-list-filter-target="list">
    <% family_categories.each do |category| %>
      <div class="filterable-item flex items-center gap-2 p-2" data-filter-name="<%= category.name %>">
        <%= form.check_box :categories,
                           {
                             multiple: true,
                             checked: @q[:categories]&.include?(category.name),
                             class: "maybe-checkbox maybe-checkbox--light"
                           },
                           category.name,
                           nil %>
        <%= form.label :categories, category.name, value: category.name, class: "text-sm text-gray-900 cursor-pointer" do %>
          <%= render partial: "categories/badge", locals: { category: category } %>
        <% end %>
      </div>
    <% end %>
  </div>
</div>
