mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-21 16:26:41 +02:00
refactor(ui): unified bottom-stack container for PillNav, QuickInput, TagStrip
Replace 4 independent position:fixed elements with one flex container that stacks them naturally from bottom to top. Elements push each other automatically — no more hardcoded offsets or z-index conflicts. Stack order (bottom → top): 1. PillNavigation (collapsible) 2. TagStrip (togglable) 3. QuickInputBar + toggle button row Shared-UI changes: - PillNavigation: add positioning='fixed'|'static' prop - QuickInputBar: add positioning='fixed'|'static' prop - TagStrip: add positioning='fixed'|'static' prop - All default to 'fixed' for backward compatibility Layout changes: - Wrap all bottom elements in .bottom-stack (position:fixed, flex-column) - Remove hardcoded bottomOffset calculations - Toggle button is now inline next to QuickInputBar (not separately positioned) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bed2060ba5
commit
b415567dfa
4 changed files with 154 additions and 85 deletions
|
|
@ -79,6 +79,8 @@
|
|||
highlightPatterns?: HighlightPattern[];
|
||||
/** Locale for syntax highlighting keywords (e.g., 'de', 'en'). Default: 'de'. */
|
||||
locale?: string;
|
||||
/** Use 'static' when inside a flex container (bottom-stack pattern). Default: 'fixed'. */
|
||||
positioning?: 'fixed' | 'static';
|
||||
}
|
||||
|
||||
let {
|
||||
|
|
@ -107,6 +109,7 @@
|
|||
leftAction,
|
||||
highlightPatterns,
|
||||
locale = 'de',
|
||||
positioning = 'fixed',
|
||||
}: Props = $props();
|
||||
|
||||
// Use settings for autoFocus
|
||||
|
|
@ -382,6 +385,7 @@
|
|||
class="quick-input-bar"
|
||||
class:has-fab-right={hasFabRight}
|
||||
class:has-fab-left={hasFabLeft}
|
||||
class:quick-input-static={positioning === 'static'}
|
||||
style="--bottom-offset: {bottomOffset}"
|
||||
>
|
||||
<!-- Results Panel (above input) -->
|
||||
|
|
@ -566,6 +570,12 @@
|
|||
transition: bottom 0.3s ease;
|
||||
}
|
||||
|
||||
.quick-input-static {
|
||||
position: relative;
|
||||
bottom: auto;
|
||||
z-index: auto;
|
||||
}
|
||||
|
||||
/* Leave space for FAB on mobile */
|
||||
@media (max-width: 900px) {
|
||||
.quick-input-bar.has-fab-right {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue