Files
overleaf-cep/services/web/frontend/js/utils/screen-breakpoint.ts
Rebeka Dekany d751b88e6b Bootstrap files and folders cleanup (#27692)
* Remove icons folder

* Create folders for badge, button, and dropdown components

* Remove Bootstrap 5 from test

* Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint`

* Cleanup and update BS 5 comments

* Move components to the shared folder

* Rename `tooltips-bs5` to `tooltip`

* Remove `-bs5` suffix

* Fix path

* Delete BS3 version file

* Rename `_form_marketing-bootstrap-5` to `_form_marketing`

* Delete BS3 version file

* Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing`

* Delete BS3 version file

* Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing`

* Delete BS3 version file

* Rename `thin-footer-bootstrap-5` to `thin-footer`

* Delete BS3 version file

* Rename `language-picker-bootstrap-5` to `language-picker`

* Rename `fat-footer-react-bootstrap-5` to `fat-footer-react`

* Delete BS3 version file

* Rename `navbar-marketing-bootstrap-5` to `navbar-marketing`

* Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react`

* Delete BS3 version file

* Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms`

* Source format

* Fix path

GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
2025-08-11 08:06:16 +00:00

35 lines
886 B
TypeScript

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 getBootstrapBreakpoint(
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
}