|
|
* fix(extension): constrain height to prevent viewport overflow (#1580)
Fixes #1580
* refactor(extension): move height control to consumer components
Remove default height from base PopoverContent to avoid affecting
reusability. Consumers now explicitly set height via
`--radix-popover-content-available-height` when needed.
* feat(extension): introduce dynamic popover height handling
- add new `DynamicPopoverContent` component with adaptive height logic
- replace `PopoverContent` with `DynamicPopoverContent` in `ListsSelector`
- replace `PopoverContent` with `DynamicPopoverContent` in `TagsSelector`
- remove fixed height constraint for shorter content
- maintain backward compatibility with `dynamicHeight` prop
* feat(extension): improve dynamic popover height handling and styling
- set default max-height using CSS variable for consistent initial state
- remove redundant else branch in height calculation logic
- add overflow-y-auto to enable scrolling when content exceeds available space
* feat(extension): replace useEffect with useLayoutEffect for dynamic height
The change ensures proper measurement of the popover content height before
the browser paints, preventing layout shifts and improving rendering
performance.
* feat(extension): enhance dynamic height adjustment with debounce & resize handling
- add debounce support via custom `useDebounce` hook to optimize performance
- implement window resize handler to recalculate height on viewport changes
- improve height calculation with buffer zone and fallback mechanisms
- refactor code structure with utility functions for better maintainability
- update prop documentation and add new `debounceMs` prop
- enhance ref handling with merged refs callback
- split className into logical groups for better readability
- add proper TypeScript types and error handling for height calculations
* feat(tags-selector): move create tag option above existing tags (#1840)
- add CommandSeparator import
- restructure CommandGroup to display create option first
- remove redundant CommandGroup wrapper for create option
Resolves #1840
|