| 12345678910111213141516171819202122232425262728293031323334 |
- type BreakpointName = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'
- type Breakpoint = {
- name: BreakpointName
- minWidth: number
- }
- /**
- * Maps window width to Bootstrap 5 breakpoint names
- * Breakpoints based on Bootstrap 5 documentation:
- * xs: 0-575px
- * sm: 576-767px
- * md: 768-991px
- * lg: 992-1199px
- * xl: 1200-1399px
- * xxl: ≥1400px
- * @param {number} width - Window width in pixels
- * @returns {BreakpointName} Bootstrap breakpoint name
- */
- export function getBootstrap5Breakpoint(
- width: number
- ): BreakpointName | undefined {
- const breakpoints: Breakpoint[] = [
- { name: 'xxl', minWidth: 1400 },
- { name: 'xl', minWidth: 1200 },
- { name: 'lg', minWidth: 992 },
- { name: 'md', minWidth: 768 },
- { name: 'sm', minWidth: 576 },
- { name: 'xs', minWidth: 0 },
- ]
- const breakpoint = breakpoints.find(bp => width >= bp.minWidth)
- return breakpoint?.name
- }
|