{"version":3,"file":"bs-breakpoints.js","sources":["../src/polyfill.js","../src/index.js"],"sourcesContent":["(() => {\n // Add polyfill for Custom Events\n function CustomEvent (ev, params) {\n const evt = document.createEvent('CustomEvent')\n params = params || { bubbles: false, cancelable: false, detail: undefined }\n evt.initCustomEvent(ev, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n\n if (typeof window.CustomEvent !== 'function') {\n CustomEvent.prototype = window.Event.prototype\n window.CustomEvent = CustomEvent\n }\n})()\n","import './polyfill'\r\n\r\nconst breakPoints = {\r\n xSmall: {\r\n min: 0,\r\n max: 575\r\n },\r\n small: {\r\n min: 576,\r\n max: 767\r\n },\r\n medium: {\r\n min: 768,\r\n max: 991\r\n },\r\n large: {\r\n min: 992,\r\n max: 1199\r\n },\r\n xLarge: {\r\n min: 1200,\r\n max: Infinity\r\n }\r\n}\r\n\r\nlet breakPointsDetected = false\r\nlet currentBreakpoint = null\r\n\r\nconst Events = {\r\n INIT: 'init.bs.breakpoint',\r\n NEW: 'new.bs.breakpoint'\r\n}\r\n\r\nconst getJQuery = () => window.jQuery\r\n\r\nconst getBreakPoints = () => {\r\n const minSmall = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-sm'), 10)\r\n const minMedium = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-md'), 10)\r\n const minLarge = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-lg'), 10)\r\n const minXlarge = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-xl'), 10)\r\n\r\n // update xSmall\r\n breakPoints.xSmall.max = minSmall - 1\r\n\r\n // update small\r\n breakPoints.small.min = minSmall\r\n breakPoints.small.max = minMedium - 1\r\n\r\n // update medium\r\n breakPoints.medium.min = minMedium\r\n breakPoints.medium.max = minLarge - 1\r\n\r\n // update large\r\n breakPoints.large.min = minLarge\r\n breakPoints.large.max = minXlarge - 1\r\n\r\n // update XL\r\n breakPoints.xLarge.min = minXlarge\r\n\r\n breakPointsDetected = true\r\n}\r\n\r\nconst _detectBreakPoint = () => {\r\n const widthWindow = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)\r\n\r\n for (const key in breakPoints) {\r\n if (widthWindow <= breakPoints[key].max && widthWindow >= breakPoints[key].min) {\r\n return key\r\n }\r\n }\r\n\r\n return currentBreakpoint\r\n}\r\n\r\nconst dispatchBreakpoint = (breakPointKey, eventName = Events.NEW) => {\r\n if (!currentBreakpoint || currentBreakpoint !== breakPointKey) {\r\n currentBreakpoint = breakPointKey\r\n const $ = getJQuery()\r\n\r\n if ($) {\r\n const $event = $.Event(eventName, {\r\n breakpoint: breakPointKey\r\n })\r\n\r\n $(window).trigger($event)\r\n } else {\r\n const event = new window.CustomEvent(eventName, {\r\n detail: breakPointKey\r\n })\r\n\r\n window.dispatchEvent(event)\r\n }\r\n }\r\n}\r\n\r\nconst bsBreakpoints = {\r\n init () {\r\n getBreakPoints()\r\n dispatchBreakpoint(_detectBreakPoint(), Events.INIT)\r\n\r\n window.addEventListener('resize', () => {\r\n dispatchBreakpoint(_detectBreakPoint())\r\n })\r\n },\r\n\r\n detectBreakpoint () {\r\n if (!breakPointsDetected) {\r\n getBreakPoints()\r\n }\r\n\r\n currentBreakpoint = _detectBreakPoint()\r\n return currentBreakpoint\r\n },\r\n\r\n getCurrentBreakpoint () {\r\n return currentBreakpoint\r\n }\r\n}\r\n\r\nexport default bsBreakpoints\r\n"],"names":["CustomEvent","ev","params","evt","document","createEvent","bubbles","cancelable","detail","undefined","initCustomEvent","window","prototype","Event","breakPoints","xSmall","min","max","small","medium","large","xLarge","Infinity","breakPointsDetected","currentBreakpoint","Events","INIT","NEW","getJQuery","jQuery","getBreakPoints","minSmall","parseInt","getComputedStyle","documentElement","getPropertyValue","minMedium","minLarge","minXlarge","_detectBreakPoint","widthWindow","Math","clientWidth","innerWidth","key","dispatchBreakpoint","breakPointKey","eventName","$","$event","breakpoint","trigger","event","dispatchEvent","bsBreakpoints","init","addEventListener","detectBreakpoint","getCurrentBreakpoint"],"mappings":"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"}