/** * Places Filter Web Component * Provides search functionality for filtering place cards in the overview */ export class PlacesFilter extends HTMLElement { constructor() { super(); this.searchInput = null; this.placeCards = []; this.countElement = null; this.debounceTimer = null; this.originalCount = 0; } connectedCallback() { this.render(); this.setupEventListeners(); this.initializePlaceCards(); } disconnectedCallback() { this.cleanupEventListeners(); if (this.debounceTimer) { clearTimeout(this.debounceTimer); } } render() { this.innerHTML = `