1.1.3 • Published 6 years ago

simple-breakpoints v1.1.3

Weekly downloads
254
License
ISC
Repository
-
Last release
6 years ago

Simple Breakpoints

npm npm

A simple breakpoints plugin based off of four simple breakpoint sizes ('mobile', 'tablet', 'small_desktop', 'large_desktop') with support to listen for breakpoint change events

Installation and usage

$ npm install simple-breakpoints --save
    import SimpleBreakpoints from 'simple-breakpoints'

    // default breakpoint sizes: { mobile: 480, tablet: 640, small_desktop: 1024, large_desktop: 1180 }
    var breakpoints = new SimpleBreakpoints();

    if(breakpoints.isMobile()) {
        // do something for mobile
    }

    if(breakpoints.isSmallDesktop()) {
        // do something for small desktop
    }

    if(breakpoints.isBetween('small_desktop', 'large_desktop')) {
        // do something between small and large desktop
    }

Listening to events

    // on all breakpoint changes
    breakpoints.on('breakpointChange', (from, to) => {
        console.log(`change from ${from} to ${to}`);
        // change from small_desktop to large_desktop
        // change from tablet to mobile
    });

    // on breakpoint changes from small to large
    breakpoints.on('breakpointChangeUp', (from, to) => {
        console.log(`change Up from ${from} to ${to}`);
        // change from small_desktop to large_desktop
    });

    // on breakpoint changes from large to small
    breakpoints.on('breakpointChangeDown', (from, to) => {
        console.log(`change Down from ${from} to ${to}`);
        // change from large_desktop to small_desktop
    });

    // remove all events from `breakpointChangeDown`
    breakpoints.off('breakpointChangeDown');

    // fire an event only once
    breakpoints.once('breakpointChange', (from, to) => {
        console.log(`firing an event ${from} to ${to} only once`);
        // change from large_desktop to small_desktop
    });

Defining your own breakpoints

    import SimpleBreakpoints from 'simple-breakpoints'

    var breakpoints = new SimpleBreakpoints({
        mobile        : 320,
        tablet        : 640,
        small_desktop : 900,
        large_desktop : 1200
    });

API

FunctionParamsDescription
getViewportSizereturns the viewport size as object { width: 1024, height: 768 } this is fired on window.resize and is stored in breakpoints.viewport
currentBreakpointreturns current breakpoint size ('mobile', 'tablet', 'small_desktop', 'large_desktop')
isBetweensmallBreakpoint, largeBreakpoint ('mobile', 'tablet', 'small_desktop', 'large_desktop')Check if viewport is between two breakpoints
isLessThanbreakpoint ('mobile', 'tablet', 'small_desktop', 'large_desktop')Check if viewport is less than the width of the breakpoint
isGreaterThanbreakpoint ('mobile', 'tablet', 'small_desktop', 'large_desktop')Check if viewport is greater than the width of the breakpoint
isLessThanEqualTobreakpoint ('mobile', 'tablet', 'small_desktop', 'large_desktop')Check if viewport is less than or equal the width of the breakpoint
isGreaterThanEqualTobreakpoint ('mobile', 'tablet', 'small_desktop', 'large_desktop')Check if viewport is greater than or equal the width of the breakpoint
isMobileCheck if the viewport is within the mobile breakpoint
isTabletCheck if the viewport is within the tablet breakpoint
isSmallDesktopCheck if the viewport is within the small_desktop breakpoint
isLargeDesktopCheck if the viewport is within the large_desktop breakpoint
on (event, callback)('breakpointChange' | 'breakpointChangeUp' | 'breakpointChangeDown', callback(from, to))watch for changes on breakpoints with and fire a callback
once (event, callback)('breakpointChange' | 'breakpointChangeUp' | 'breakpointChangeDown', callback(from, to))watch for changes on breakpoints with and fire a callback only once
off (event)('breakpointChange' | 'breakpointChangeUp' | 'breakpointChangeDown')Remove event listener for breakpoint change

For using with Vue.js, see vue-simple-breakpoints

1.1.3

6 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago