{# tag_me/templates/tag_me/tag_me_select.html #} {% comment %} REFACTORED: Shared structure with conditional search bar actions Breakpoint: md: (768px) - Desktop (>= 768px): Inline action buttons - Mobile (< 768px): Context-aware action button Only the search bar action area is different between mobile/desktop. Everything else is shared with responsive Tailwind classes. {% endcomment %}
Use arrow keys to navigate options. Press Enter to select. Press Escape to close. Press Backspace in empty search to clear all selections.
+ more
Select tags...
{% include "tag_me/tag_me_select_search_bar_desktop.html" %}
{% include "tag_me/tag_me_select_search_bar_mobile.html" %}

↑↓ navigate Enter select Esc close

{% include "tag_me/tag_me_mobile_footer.html" %}
{% include "tag_me/tag_me_bottom_sheet.html" %}
{% comment %} TEMPLATE CLASS MIGRATION - MAIN SELECT (MD3 REFACTOR v3.2) =========================================================== Date: February 21, 2026 Migration: Replace hard-coded height with configurable CSS custom property INPUT HEIGHT CONFIGURATION (v3.2): ✅ Removed hard-coded tm:md:h-[37px] ✅ Added --tm-input-height CSS custom property (default: 36px via var() fallback) ✅ Added --tm-input-bg CSS custom property (default: surface-container-high-lib) ✅ Closed-state container uses .tm-select-closed class with plain CSS min-height + background ✅ Uses @media (min-width: 768px) to match md: breakpoint behavior ✅ Default lives in var() fallback — no selector needed, inherits cleanly from :root ✅ Plain CSS avoids Tailwind arbitrary value parser issues with var() commas ✅ Fixed ring color: outline-variant-lib → outline-lib (MD3 outlined text field spec) ✅ Removed hardcoded tm:bg-surface-lib (now handled by .tm-select-closed CSS rule) CONSUMER USAGE: Override in project CSS to match your design system: :root { --tm-input-height: 38px; } /* Bootstrap 5 */ :root { --tm-input-height: 56px; } /* Material Design 3 */ :root { --tm-input-height: 36px; } /* Tailwind UI (default) */ RATIONALE: - Hard-coded 37px prevented layout shift but coupled the library to a specific design system's input height - min-h (not h) allows natural growth on mobile / when tags wrap - CSS variable lets consumers match their input heights without forking the template - Default 36px lives in var() fallback, so :root overrides inherit cleanly CROSS-COMPONENT COORDINATION (v3.1): ✅ Added x-on:dropdown-opened.window listener ✅ Added x-effect to dispatch 'dropdown-opened' event MD3 CHANGES APPLIED (ELEVATION ALIGNMENT - v3.0): 1. ✅ Dropdown container: bg-surface-container-high-lib [3] 2. ✅ Search input idle: bg-surface-container-lib [1] 3. ✅ Search input focus: focus:bg-surface-container-high-lib [3] 4. ✅ List container: bg-surface-container-high-lib [3] 5. ✅ Search result count sticky: bg-surface-container-high-lib 6. ✅ List items hover/focus: bg-surface-container-highest-lib [4] 7. ✅ Desktop footer: bg-surface-container-highest-lib [4] {% endcomment %}