{"version":3,"file":"viablelogic-ngx-responsive.mjs","sources":["../../src/@core/constants/linux.constants.ts","../../src/@core/constants/windows.constants.ts","../../src/@core/constants/tablet.constants.ts","../../src/@core/constants/mobile.constants.ts","../../src/@core/constants/os-systems.constants.ts","../../src/@core/constants/game-devices.constants.ts","../../src/@core/constants/smart-tv.constants.ts","../../src/@core/constants/generic-bots.constants.ts","../../src/@core/constants/browser-names.constants.ts","../../src/@core/constants/reg-expressions.constants.ts","../../src/@core/constants/ie-versions.constants.ts","../../src/@core/constants/user-agent.constants.ts","../../src/@core/constants/default-breackpoints.constants.ts","../../src/@core/constants/index.ts","../../src/@core/interfaces/linux.interfaces.ts","../../src/@core/interfaces/windows.interfaces.ts","../../src/@core/interfaces/tablet.interfaces.ts","../../src/@core/interfaces/mobile.interfaces.ts","../../src/@core/interfaces/os-systems.interfaces.ts","../../src/@core/interfaces/smart-tv.interfaces.ts","../../src/@core/interfaces/bot.interfaces.ts","../../src/@core/interfaces/user-agent.interfaces.ts","../../src/@core/interfaces/index.ts","../../src/@core/providers/responsive-config/responsive-config.ts","../../src/@core/providers/responsive-config/index.ts","../../src/@core/providers/platform-service/platform.service.ts","../../src/@core/providers/responsive-state/responsive-state.ts","../../src/@core/providers/responsive-state/index.ts","../../src/@core/providers/responsive-base/responsive-base.ts","../../src/@core/providers/responsive-base/index.ts","../../src/@core/providers/index.ts","../../src/@core/types/linux.types.ts","../../src/@core/types/windows.types.ts","../../src/@core/types/mobile.types.ts","../../src/@core/types/os-systems.types.ts","../../src/@core/types/game-devices.types.ts","../../src/@core/types/bot.types.ts","../../src/@core/types/browser-names.types.ts","../../src/@core/types/ie-versions.types.ts","../../src/@core/types/index.ts","../../src/@core/index.ts","../../src/@directives/bootstrap/bootstrap-directives.ts","../../src/@directives/bootstrap/index.ts","../../src/@directives/browsers/browsers-directives.ts","../../src/@directives/browsers/browser-info.ts","../../src/@directives/browsers/browser-info.rx.ts","../../src/@directives/browsers/browser-info.directive.ts","../../src/@directives/browsers/ie-info.ts","../../src/@directives/browsers/ie-info.rx.ts","../../src/@directives/browsers/ie-info.directive.ts","../../src/@directives/browsers/index.ts","../../src/@directives/custom-sizes/custom-sizes-directives.ts","../../src/@directives/custom-sizes/index.ts","../../src/@directives/devices/devices-directives.ts","../../src/@directives/devices/devices-info.ts","../../src/@directives/devices/devices-info.directive.ts","../../src/@directives/devices/devices-standard-info.ts","../../src/@directives/devices/devices-standard-info.directive.ts","../../src/@directives/devices/orientation-info.ts","../../src/@directives/devices/orientation-info.directive.ts","../../src/@directives/devices/devices-info.rx.ts","../../src/@directives/devices/devices-standard-info.rx.ts","../../src/@directives/devices/orientation-info.rx.ts","../../src/@directives/devices/index.ts","../../src/@directives/pixelratio/pixelratio-directives.ts","../../src/@directives/pixelratio/index.ts","../../src/@directives/responsive/responsive.ts","../../src/@directives/responsive/index.ts","../../src/@directives/responsive-size-info/responsive-size-info.ts","../../src/@directives/responsive-size-info/responsive-size-info.directive.ts","../../src/@directives/responsive-size-info/responsive-size-info.rx.ts","../../src/@directives/responsive-size-info/index.ts","../../src/@directives/responsive-window/responsive-window.ts","../../src/@directives/responsive-window/index.ts","../../src/@directives/useragent/useragent-info.ts","../../src/@directives/useragent/useragent-info.directive.ts","../../src/@directives/useragent/useragent-info.rx.ts","../../src/@directives/useragent/index.ts","../../src/@directives/index.ts","../../src/responsive.module.ts","../../src/public_api.ts","../../src/viablelogic-ngx-responsive.ts"],"sourcesContent":["/**\n * @name linux.constants\n * @description Core linux.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { ILinuxOS } from '../interfaces';\n\nexport const LINUX_OS: ILinuxOS = {\n    DEBIAN: 'Debian',\n    KNOPPIX: 'Knoppix',\n    MINT: 'Mint',\n    UBUNTU: 'Ubuntu',\n    KUBUNTU: 'Kubuntu',\n    XUBUNTU: 'Xubuntu',\n    LUBUNTU: 'Lubuntu',\n    FEDORA: 'Fedora',\n    RED_HAT: 'Red hat',\n    MANDRIVA: 'Mandriva',\n    GENTOO: 'Gentoo',\n    SABAYON: 'Sabayon',\n    SLACKWARE: 'Slackware',\n    SUSE: 'Suse',\n    CENT_OS: 'CentOS',\n    BACKTRACK: 'Backtrack',\n    GENERIC_LINUX: 'Generic Linux'\n};\n","/**\n * @name windows.constants\n * @description Core windows.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IWindowsOS } from '../interfaces';\n\nexport const WINDOWS_OS: IWindowsOS = {\n    WINDOWS_XP: 'Windows XP',\n    WINDOWS_VISTA: 'Windows Vista',\n    WINDOWS_7: 'Windows 7',\n    WINDOWS_8: 'Windows 8',\n    WINDOWS_10: 'Windows 10',\n    GENERIC_WINDOWS: 'Generic Windows'\n};\n","/**\n * @name tablet.constants\n * @description Core tablet.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { ITablet } from '../interfaces';\n\nexport const TABLET: ITablet = {\n    IPAD: 'Ipad',\n    ANDROID: 'Android',\n    WINDOWS_PHONE: 'Windows Phone',\n    KINDLE: 'Kindle',\n    GENERIC_TABLET: 'Generic Tablet'\n};\n","/**\n * @name mobile.constants\n * @description Core mobile.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IMobile } from '../interfaces';\n\nexport const MOBILE: IMobile = {\n    IPHONE: 'Iphone',\n    ANDROID: 'Android',\n    WINDOWS_PHONE: 'Windows Phone',\n    BLACKBERRY: 'Blackberry',\n    GENERIC_MOBILE: 'Generic Mobile'\n};\n","/**\n * @name os-sistems.constants\n * @description Core os-sistems.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IOsSistems } from '../interfaces';\nimport { MOBILE } from './mobile.constants';\n\nexport const OS_SYSTEMS: IOsSistems = {\n    WINDOWS: 'Windows',\n    ANDROID: MOBILE.ANDROID,\n    WINDOWS_PHONE: MOBILE.WINDOWS_PHONE,\n    IOS: 'iOS',\n    MAC_OS: 'Mac',\n    LINUX: 'Linux',\n    FIREFOX_OS: 'Firefox OS',\n    CHROME_OS: 'Chrome OS'\n};\n","/**\n * @name game-devices.constants\n * @description Core game-devices.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IGameDevices } from '../interfaces';\n\nexport const GAME_DEVICES: IGameDevices = {\n    PS4: 'Playstation 4',\n    PS3: 'Playstation 3',\n    XBOX_ONE: 'Xbox One',\n    XBOX: 'Xbox',\n    WII: 'Wii',\n    WII_U: 'Wii U',\n    NINTENDO_3DS: 'Nintendo 3DS',\n    PLAYSTATION_VITA: 'Playstation Vita',\n    PSP: 'PSP'\n};\n\n","/**\n * @name smart-tv.constants\n * @description Core smart-tv.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { ISmartTv } from '../interfaces';\nimport { GAME_DEVICES } from './game-devices.constants';\n\nexport const SMART_TV: ISmartTv = {\n    CHROMECAST: 'Chromecast',\n    APPLE_TV: 'Apple tv',\n    GOOGLE_TV: 'Google tv',\n    PS4: GAME_DEVICES.PS4,\n    XBOX_ONE: GAME_DEVICES.XBOX_ONE,\n    GENERIC_TV: 'Generic smartv'\n};\n","/**\n * @name generic-bots.constants\n * @description Core generic-bots.constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IBot } from '../interfaces';\n\nexport const BOTS: IBot = {\n    GENERIC_BOT: 'Generic Bot'\n};\n","/**\n * @name browser-names.constants\n * @description Core browser names constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IBrowserNames } from '../interfaces';\n\nexport const BROWSER_NAMES: IBrowserNames = {\n    CHROME: 'chrome',\n    FIREFOX: 'firefox',\n    IE:  'ie',\n    SAFARI: 'safari',\n    OPERA: 'opera',\n    SILK: 'silk',\n    YANDEX: 'yandex',\n    NA: 'NA'\n};\n","/**\n * @name reg-expressions.constants\n * @description Core reg-expressions.constants in ngx-responsive\n *\n * @license MIT\n */\n\nimport { LINUX_OS } from './linux.constants';\nimport { WINDOWS_OS } from './windows.constants';\nimport { MOBILE } from './mobile.constants';\nimport { TABLET } from './tablet.constants';\nimport { OS_SYSTEMS } from './os-systems.constants';\nimport { SMART_TV } from './smart-tv.constants';\nimport { GAME_DEVICES } from './game-devices.constants';\nimport { BOTS } from './generic-bots.constants';\nimport { BROWSER_NAMES } from './browser-names.constants';\n\n/* export const GLOBAL_INPUTS = {\n    BOOTSTRAP: ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'],\n    DEVICES: ['mobile', 'tablet', 'smarttv', 'desktop'],\n    STANDARD: ['iphone', 'ipad', 'android mobile', 'android tablet', 'windows phone'],\n    ORIENTATION: ['portrait', 'landscape'],\n    BROWSERS: ['chrome', 'firefox', 'ie', 'safari', 'opera'],\n    PIXEL_RATIO: ['1x', 'retina', '4k'],\n    IE_VERSIONS: ['ie 9', 'ie 10', 'ie 11', 'ie +12']\n}; */\n\nexport const REG_WEARABLES = {\n    IWATCH: ''\n};\n\nexport const REG_MOBILES = {\n    ANDROID: {\n        REG: /(android);?[\\s\\/]+([\\d.]+)?/,\n        VALUE: MOBILE.ANDROID\n    },\n    IPHONE: {\n        REG: /(iphone\\sos)\\s([\\d_]+)/,\n        VALUE: MOBILE.IPHONE\n    },\n    WINDOWS_PHONE: {\n        REG: /windows phone ([\\d.]+)/,\n        VALUE: MOBILE.WINDOWS_PHONE\n    },\n    BLACKBERRY: {\n        REG: /(blackBerry).*version\\/([\\d.]+)/,\n        VALUE: MOBILE.BLACKBERRY\n    },\n    BB10: {\n        REG: /(bb10).*version\\/([\\d.]+)/,\n        VALUE: MOBILE.BLACKBERRY\n    },\n    WEB_OS: {\n        REG: /(webos|hpwos)[\\s\\/]([\\d.]+)/,\n        VALUE: MOBILE.GENERIC_MOBILE\n    },\n    IPOD: {\n        REG: /(ipod)(.*os\\s([\\d_]+))?/,\n        VALUE: MOBILE.IPHONE\n    },\n    FIREFOX_OS: {\n        REG: /\\((?:mobile|tablet); rv:([\\d.]+)\\).*firefox\\/[\\d.]+/,\n        VALUE: MOBILE.GENERIC_MOBILE\n    },\n    MOBI: {\n        REG: /[^-]mobi/i,\n        VALUE: MOBILE.GENERIC_MOBILE\n    },\n    GENERIC_REG_1: {\n        REG: /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,\n        VALUE: MOBILE.GENERIC_MOBILE\n    },\n    GENERIC_REG_2: {\n        REG: /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i,\n        VALUE: MOBILE.GENERIC_MOBILE\n    }\n};\n\nexport const REG_TABLETS = {\n    IPAD: {\n        REG: /(ipad).*os\\s([\\d_]+)/,\n        VALUE: TABLET.IPAD\n    },\n    KINDLE: {\n        REG: /kindle|silk|kfapw|kfarwi|kfaswi|kffowi|kfjw|kfmewi|kfot|kfsaw|kfsowi|kftbw|kfthw|kftt|wffowi/i,\n        VALUE: TABLET.KINDLE\n    },\n    TABLET: {\n        REG: /tablet/i,\n        VALUE: TABLET.GENERIC_TABLET\n    },\n    PLAYBOOK: {\n        REG: /rim\\stablet|playbook/i,\n        VALUE: TABLET.GENERIC_TABLET\n    },\n};\n\nexport const REG_SMARTS_TV = {\n    CHROMECAST: {\n        REG:  /crkey/i,\n        VALUE: SMART_TV.CHROMECAST\n    },\n    APPLE_TV: {\n        REG:  /appletv/i,\n        VALUE: SMART_TV.APPLE_TV\n    },\n    GOOGLE_TV: {\n        REG:  /(large screen)|googletv/i,\n        VALUE: SMART_TV.GOOGLE_TV\n    },\n    PS4: {\n        REG: /playstation 4/i,\n        VALUE: SMART_TV.PS4\n    },\n    XBOX_ONE: {\n        REG: /xbox one/i,\n        VALUE: SMART_TV.XBOX_ONE\n    },\n    GENERIC_TV: {\n        REG: /tv|smarttv|googletv|crkey|Sharp|THOMSON|THOM|Panasonic|Philips|NETTV|Maple_2011|appletv|Humax|Ikea|Loewe|Medion|hbbtv|pov_tv|Airties|netcast.tv|OWB|Grundig|Arcelik/i,\n        VALUE: SMART_TV.GENERIC_TV\n    }\n};\n\nexport const REG_GAME_DEVICES = {\n    PS4: {\n        REG:  /playstation 4/i,\n        VALUE: GAME_DEVICES.PS4\n    },\n    PS3: {\n        REG:  /playstation 3/i,\n        VALUE: GAME_DEVICES.PS3\n    },\n    XBOX: {\n        REG: /xbox/i,\n        VALUE: GAME_DEVICES.XBOX\n    },\n    XBOX_ONE: {\n        REG: /xbox one/i,\n        VALUE: GAME_DEVICES.XBOX_ONE\n    },\n    WII_U: {\n        REG: /nintendo wiiu/i,\n        VALUE: GAME_DEVICES.WII_U\n    },\n    WII: {\n        REG: /nintendo wii/i,\n        VALUE: GAME_DEVICES.WII\n    },\n    PS_VITA: {\n        REG: /playstation vita/i,\n        VALUE: GAME_DEVICES.PLAYSTATION_VITA\n    },\n    NINTENDO_3DS: {\n        REG: /nintendo 3ds/i,\n        VALUE: GAME_DEVICES.NINTENDO_3DS\n    },\n    PSP: {\n        REG: /psp/i,\n        VALUE: GAME_DEVICES.PSP\n    }\n};\n\nexport const REG_IE_VERSIONS = {\n    MS_MSIE: {\n        REG: /msie/i,\n        VALUE: null\n    },\n    MS_TRIDENT: {\n        REG: /trident/i,\n        VALUE: null\n    },\n    MS_EDGE: {\n        REG: /edg/i,\n        VALUE: null\n    }\n};\n\nexport const REG_BROWSERS = {\n    CHROME: {\n        REG: /(chrome|crios)\\/([\\d.]+)/,\n        VALUE: BROWSER_NAMES.CHROME\n    },\n    FIREFOX: {\n        REG: /firefox|iceweasel|fxios/i,\n        VALUE: BROWSER_NAMES.FIREFOX\n    },\n    WEB_VIEW: {\n        REG: /(iphone|ipod|ipad).*applewebkit(?!.*safari)/,\n        VALUE: BROWSER_NAMES.SAFARI\n    },\n    SAFARI: {\n        REG: /version\\/([\\d.]+)([^s](safari)|[^m]*(mobile)[^S]*(safari))/,\n        VALUE: BROWSER_NAMES.SAFARI\n    },\n    OPERA: {\n        REG: /opera|opr|opios/i,\n        VALUE: BROWSER_NAMES.OPERA\n    },\n    IE: {\n        REG: /msie|trident|edg/,\n        VALUE: BROWSER_NAMES.IE\n    },\n    SILK: {\n        REG: /silk/i,\n        VALUE: BROWSER_NAMES.SILK\n    },\n    YANDEX: {\n        REG: /yabrowser/i,\n        VALUE: BROWSER_NAMES.YANDEX\n    },\n    NA: {\n        REG: null,\n        VALUE: BROWSER_NAMES.NA\n    }\n};\n\nexport const REG_OS = {\n    WINDOWS: {\n        REG: /win\\d{2}|windows/,\n        VALUE: OS_SYSTEMS.WINDOWS\n    },\n    IOS: {\n        REG: /(ipod|iphone|ipad)/i,\n        VALUE: OS_SYSTEMS.IOS\n    },\n    MAC_OS: {\n        REG: /macintosh/i,\n        VALUE: OS_SYSTEMS.MAC_OS\n    },\n    ANDROID: {\n        REG: /android/i,\n        VALUE: OS_SYSTEMS.ANDROID\n    },\n    LINUX: {\n        REG:  /linux/i,\n        VALUE: OS_SYSTEMS.LINUX\n    },\n    FIREFOX_OS: {\n        REG:  /\\((?:mobile|tablet); rv:([\\d.]+)\\).*firefox\\/[\\d.]+/,\n        VALUE: OS_SYSTEMS.FIREFOX_OS\n    },\n    CHROME_OS: {\n        REG:  /cros/,\n        VALUE: OS_SYSTEMS.CHROME_OS\n    },\n    WINDOWS_PHONE: {\n        REG:  /windows phone/i,\n        VALUE: OS_SYSTEMS.WINDOWS_PHONE\n    }\n};\n\nexport const REG_SORT_NAMES = {\n    MOZILLA: {\n        REG: /mozilla/,\n        VALUE: null\n    },\n    CHROME: {\n        REG: /chrome/,\n        VALUE: null\n    },\n    WEBKIT: {\n        REG: /webkit/,\n        VALUE: null\n    },\n    APPLE_WEBKIT: {\n        REG: /applewebkit/,\n        VALUE: null\n    },\n    SAFARI: {\n        REG: /safari/,\n        VALUE: null\n    }\n};\n\nexport const REG_WINDOWS_OS_VERSION = {\n    WINDOWS_3_11: {\n        REG: /win16/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_95: {\n        REG: /(windows 95|win95|windows_95)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_ME: {\n        REG: /(win 9x 4.90|windows ME)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_98: {\n        REG: /(windows 98|win98)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_CE: {\n        REG: /windows ce/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_2000: {\n        REG: /(windows nt 5.0|windows 2000)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_XP: {\n        REG: /(windows nt 5.1|windows xp)/,\n        VALUE: WINDOWS_OS.WINDOWS_XP\n    },\n    WINDOWS_SERVER_2003: {\n        REG: /windows nt 5.2/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_VISTA: {\n        REG: /windows nt 6.0|Windows Vista/,\n        VALUE: WINDOWS_OS.WINDOWS_VISTA\n    },\n    WINDOWS_7: {\n        REG: /(windows 7|windows nt 6.1)/,\n        VALUE: WINDOWS_OS.WINDOWS_7\n    },\n    WINDOWS_8: {\n        REG: /(windows 8|windows 8.1|windows nt 6.2 |windows nt 6.3)/,\n        VALUE: WINDOWS_OS.WINDOWS_8\n    },\n    WINDOWS_10: {\n        REG: /(windows nt 10.0)/,\n        VALUE: WINDOWS_OS.WINDOWS_10\n    },\n    WINDOWS_NT_4_0: {\n        REG: /(windows nt 4.0|winnt4.0|winnt|windows nt)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n};\n\nexport const REG_WINDOWS_PHONE_OS_VERSION = {\n    WINDOWS_PHONE_7_5: {\n        REG: /(windows phone os 7.5)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_PHONE_8_1: {\n        REG: /(windows phone 8.1)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    },\n    WINDOWS_PHONE_10: {\n        REG: /(windows phone 10)/,\n        VALUE: WINDOWS_OS.GENERIC_WINDOWS\n    }\n};\n\nexport const REG_MAC_OS_VERSION = {\n    MAC_OS: ''\n};\n\nexport const REG_LINUX_OS = {\n    DEBIAN: {\n        REG: /Debian/i,\n        VALUE: LINUX_OS.DEBIAN\n    },\n    KNOPPIX: {\n        REG: /Knoppix/i,\n        VALUE: LINUX_OS.KNOPPIX\n    },\n    MINT: {\n        REG: /Mint/i,\n        VALUE: LINUX_OS.MINT\n    },\n    UBUNTU: {\n        REG: /Ubuntu/i,\n        VALUE: LINUX_OS.UBUNTU\n    },\n    KUBUNTU: {\n        REG: /Kubuntu/i,\n        VALUE: LINUX_OS.KUBUNTU\n    },\n    XUBUNTU: {\n        REG: /Xubuntu/i,\n        VALUE: LINUX_OS.XUBUNTU\n    },\n    LUBUNTU: {\n        REG: /Lubuntu/i,\n        VALUE: LINUX_OS.LUBUNTU\n    },\n    FEDORA: {\n        REG: /Fedora/i,\n        VALUE: LINUX_OS.FEDORA\n    },\n    RED_HAT: {\n        REG: /Red Hat/i,\n        VALUE: LINUX_OS.RED_HAT\n    },\n    MANDRIVA: {\n        REG: /Mandriva/i,\n        VALUE: LINUX_OS.MANDRIVA\n    },\n    GENTOO: {\n        REG: /Gentoo/i,\n        VALUE: LINUX_OS.GENTOO\n    },\n    SABAYON: {\n        REG: /Sabayon/i,\n        VALUE: LINUX_OS.SABAYON\n    },\n    SLACKWARE: {\n        REG: /Slackware/i,\n        VALUE: LINUX_OS.SLACKWARE\n    },\n    SUSE: {\n        REG: /SUSE/i,\n        VALUE: LINUX_OS.SUSE\n    },\n    CENT_OS: {\n        REG: /CentOS/i,\n        VALUE: LINUX_OS.CENT_OS\n    },\n    BACKTRACK: {\n        REG: /BackTrack/i,\n        VALUE: LINUX_OS.BACKTRACK\n    }\n};\n\nexport const REG_BOTS = {\n    GENERIC_BOT: {\n        REG: /bot|googlebot|crawler|spider|robot|crawling/i,\n        VALUE: BOTS.GENERIC_BOT\n    }\n};\n","/**\n * @name ie-versions.constants\n * @description Core ie versions constants in ngx-responsive\n *\n * @license MIT\n */\nimport { IIEVersions } from '../interfaces';\n\nexport const IE_VERSIONS: IIEVersions = {\n    IE_7: 'ie 7',\n    IE_8: 'ie 8',\n    IE_9: 'ie 9',\n    IE_10: 'ie 10',\n    IE_11: 'ie 11',\n    IE_12: 'ie +12'\n};\n","/**\n * @name user-agent.constants\n * @description Core user agent in ngx-responsive\n *\n * @license MIT\n */\n\nexport const USER_AGENT = {\n    device: null,\n    browser: null,\n    pixelratio: null,\n    ie_version: {\n        name: null,\n        state: null\n    },\n    game_device: {\n        name: null,\n        state: null\n    },\n    smart_tv: {\n        name: null,\n        state: null\n    },\n    desktop: {\n        name: null,\n        state: null\n    },\n    tablet: {\n        name: null,\n        state: null\n    },\n    mobile: {\n        name: null,\n        state: null\n    },\n    window_os: {\n        name: null,\n        state: null\n    },\n    linux_os: {\n        name: null,\n        state: null\n    },\n    bot: null\n};\n","/**\n * @name default-breackpoints.constants\n * @description Default breackpoints in responsive configuration.\n *\n * @author Manu Cutillas\n * @license MIT\n */\nexport const DEFAULT_BREACKPOINTS = {\n    breakPoints: {\n        xs: { max: 575 },\n        sm: { min: 576, max: 767 },\n        md: { min: 768, max: 991 },\n        lg: { min: 992, max: 1199 },\n        xl: { min: 1200, max: 1399 },\n        xxl: { min: 1400 },\n    },\n    debounceTime: 100\n}\n\n\n","/**\n * @name constants\n * @description Core constants in ngx-responsive\n *\n * @license MIT\n */\nexport * from './linux.constants';\nexport * from './windows.constants';\nexport * from './tablet.constants';\nexport * from './mobile.constants';\nexport * from './os-systems.constants';\nexport * from './reg-expressions.constants';\nexport * from './game-devices.constants';\nexport * from './smart-tv.constants';\nexport * from './generic-bots.constants';\nexport * from './browser-names.constants';\nexport * from './ie-versions.constants';\nexport * from './user-agent.constants';\nexport * from './default-breackpoints.constants';\n\n","/**\n * @name linux.interfaces\n * @description Core linux interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TDebian, TKnoppix, TMint, TUbuntu, TKubuntu, TXubuntu, TLubuntu,\n    TFedora, TRedHat, TMandriva, TGentoo, TSabayon, TSlackware, TSuse,\n    TCentOS, TBacktrack, TGenericLinux\n} from '../types';\n\n/**\n * @export ILinuxOS\n */\nexport interface ILinuxOS {\n    DEBIAN: TDebian;\n    KNOPPIX: TKnoppix;\n    MINT: TMint;\n    UBUNTU: TUbuntu;\n    KUBUNTU: TKubuntu;\n    XUBUNTU: TXubuntu;\n    LUBUNTU: TLubuntu;\n    FEDORA: TFedora;\n    RED_HAT: TRedHat;\n    MANDRIVA: TMandriva;\n    GENTOO: TGentoo;\n    SABAYON: TSabayon;\n    SLACKWARE: TSlackware;\n    SUSE: TSuse;\n    CENT_OS: TCentOS;\n    BACKTRACK: TBacktrack;\n    GENERIC_LINUX: TGenericLinux;\n}\n","\n/**\n * @name windows.interfaces\n * @description Core windows interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TWindowsXP, TWindowsVista, TWindows7,\n    TWindows8, TWindows10, TGenericWindows\n} from '../types';\n\n/**\n * @export IWindowsOS\n */\nexport interface IWindowsOS {\n    WINDOWS_XP: TWindowsXP;\n    WINDOWS_VISTA: TWindowsVista;\n    WINDOWS_7: TWindows7;\n    WINDOWS_8: TWindows8;\n    WINDOWS_10: TWindows10;\n    GENERIC_WINDOWS: TGenericWindows;\n}\n","/**\n * @name mobile.interfaces\n * @description Core mobile interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TIpad, TAndroid, TWindowsPhone, TKindle, TGenericTablet\n} from '../types';\n\n/**\n * @export ITablet\n */\nexport interface ITablet {\n    IPAD: TIpad;\n    ANDROID: TAndroid;\n    WINDOWS_PHONE: TWindowsPhone;\n    KINDLE: TKindle;\n    GENERIC_TABLET: TGenericTablet;\n}\n","/**\n * @name mobile.interfaces\n * @description Core mobile interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TIphone, TAndroid, TWindowsPhone, TBlackberry, TGenericMobile\n} from '../types';\n\n/**\n * @export IMobile\n */\nexport interface IMobile {\n    IPHONE: TIphone;\n    ANDROID: TAndroid;\n    WINDOWS_PHONE: TWindowsPhone;\n    BLACKBERRY: TBlackberry;\n    GENERIC_MOBILE: TGenericMobile;\n}\n","/**\n * @name os-systems.interfaces\n * @description Core os systems interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TWindows, TAndroid, TWindowsPhone, TIos, TMacOS, TLinux, TFirefoxOS, TChromeOS\n} from '../types';\n\n/**\n * @export IOsSistems\n */\nexport interface IOsSistems {\n    WINDOWS: TWindows;\n    ANDROID: TAndroid;\n    WINDOWS_PHONE: TWindowsPhone;\n    IOS: TIos;\n    MAC_OS: TMacOS;\n    LINUX: TLinux;\n    FIREFOX_OS: TFirefoxOS;\n    CHROME_OS: TChromeOS;\n}\n","/**\n * @name smart-tv.interfaces\n * @description Core mobile interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TChromecast, TAppleTv, TGoogleTv, TPs4, TXboxOne, TGenericTv\n} from '../types';\n\n/**\n * @export ISmartTv\n */\nexport interface ISmartTv {\n    CHROMECAST: TChromecast;\n    APPLE_TV: TAppleTv;\n    GOOGLE_TV: TGoogleTv;\n    PS4: TPs4;\n    XBOX_ONE: TXboxOne;\n    GENERIC_TV: TGenericTv;\n}\n","/**\n * @name bot.interfaces\n * @description Core bot interfaces in ngx-responsive\n *\n * @license MIT\n */\n\nimport {\n    TGenericBot\n} from '../types';\n\n/**\n * @export IBot\n */\nexport interface IBot {\n    GENERIC_BOT: TGenericBot;\n}\n","/**\n * @name user-agent.interfaces\n * @description Core user agent interfaces in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @export IUserAgent\n */\nexport interface IUserAgent {\n    device: string;\n    browser: string;\n    pixelratio: string;\n    ie_version: {\n        name: string;\n        state: boolean;\n    };\n    game_device: {\n        name: string;\n        state: boolean;\n    };\n    smart_tv: {\n        name: string;\n        state: boolean;\n    };\n    desktop: {\n        name: string;\n        state: boolean;\n    };\n    tablet: {\n        name: string;\n        state: boolean;\n    };\n    mobile: {\n        name: string;\n        state: boolean;\n    };\n    window_os: {\n        name: string;\n        state: boolean;\n    };\n    linux_os: {\n        name: string;\n        state: boolean;\n    };\n    bot: boolean;\n}\n","/**\n * @name interfaces\n * @description Core interfaces in ngx-responsive\n *\n * @license MIT\n */\nexport * from './linux.interfaces';\nexport * from './windows.interfaces';\nexport * from './tablet.interfaces';\nexport * from './mobile.interfaces';\nexport * from './os-systems.interfaces';\nexport * from './responsive-config.interfaces';\nexport * from './smart-tv.interfaces';\nexport * from './game-devices.interfaces';\nexport * from './bot.interfaces';\nexport * from './browser-names.interfaces';\nexport * from './ie-versions.interfaces';\nexport * from './user-agent.interfaces';\nexport * from './responsive.interfaces';\n","/**\n * @name responsive-config\n * @description Core responsive-config provider in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { IResponsiveConfig } from '../../interfaces/responsive-config.interfaces';\n\n@Injectable()\nexport class ResponsiveConfig {\n    public config: IResponsiveConfig;\n    constructor(@Inject('config') private _config?: IResponsiveConfig) {\n       this.config = this._config;\n    }\n}\n","/**\n * @name responsive-config\n * @description Core responsive-config provider in ngx-responsive\n *\n * @license MIT\n */\nexport * from './responsive-config';\n","\n\nimport { Inject, PLATFORM_ID, Injectable } from '@angular/core';\nimport { ResponsiveConfig } from '../responsive-config/responsive-config';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\n\n@Injectable()\nexport class PlatformService {\n\n  isServer: boolean;\n  isBrowser: boolean;\n\n  constructor(\n    @Inject(PLATFORM_ID) private readonly _platformId,\n    @Inject(ResponsiveConfig) private responsiveConfig: ResponsiveConfig\n  ) {\n    this.isServer = isPlatformServer(_platformId);\n    this.isBrowser = isPlatformBrowser(_platformId);\n  }\n\n  public isEnabledForPlatform() {\n    return this.isBrowser || this.responsiveConfig.config.renderOnServer;\n  }\n}","/**\n * @name responsive-state\n * @description Core responsive state provider in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject, combineLatest } from 'rxjs';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { defaultIfEmpty } from 'rxjs/operators';\nimport { map } from 'rxjs/operators';\nimport { startWith } from 'rxjs/operators';\n\nimport { ResponsiveWindowDirective } from '../../../@directives';\nimport {\n    REG_TABLETS, REG_MOBILES, REG_SMARTS_TV, REG_BROWSERS, REG_SORT_NAMES,\n    REG_GAME_DEVICES, REG_BOTS, REG_OS, REG_WINDOWS_OS_VERSION, REG_LINUX_OS,\n    USER_AGENT, REG_IE_VERSIONS, TABLET, WINDOWS_OS, LINUX_OS, MOBILE,\n    IE_VERSIONS\n} from '../../constants';\nimport {\n    TLinuxOS, TWindowsOS, TTablet, TMobile,\n    TosSystems, TSmartTv, TGameDevices\n} from '../../types';\nimport { ResponsiveConfig } from '../responsive-config/responsive-config';\nimport { PlatformService } from '../platform-service/platform.service';\n\n@Injectable()\nexport class ResponsiveState {\n\n    public _windows: Object = {};\n    public _window: any = null;\n\n    public elemento$: Observable<string>;\n    public ancho$: Observable<number>;\n    public browser$: Observable<string>;\n    public pixel$: Observable<string>;\n    public device$: Observable<any>;\n    public orientation$: Observable<any>;\n    public standard$: Observable<any>;\n    public ieVersion$: Observable<any>;\n    public userAgent$: Observable<any>;\n\n    private _screenWidth: number = null;\n    private _screenHeight: number = null;\n    private _userAgent: any = null;\n    private isEnabledForPlatform: boolean = null;\n\n    private _forceRefresh$: BehaviorSubject<null> = new BehaviorSubject<null>(null);\n\n    constructor(\n        platformService: PlatformService,\n        private _responsiveConfig: ResponsiveConfig,\n    ) {\n        this.isEnabledForPlatform = platformService.isEnabledForPlatform();\n        this._window = (this.isEnabledForPlatform) ? window : null;\n        this._screenWidth = (this.isEnabledForPlatform) ? this._window.screen.width : 0;\n        this._screenHeight = (this.isEnabledForPlatform) ? this._window.screen.height : 0;\n        this._userAgent = (this.isEnabledForPlatform) ? this._window.navigator.userAgent.toLowerCase() : null;\n\n        if(this.isEnabledForPlatform) {\n           \n            const _resize$ =  combineLatest(\n                fromEvent(this._window, 'resize').pipe(\n                    debounceTime(this._responsiveConfig.config.debounceTime),\n                    defaultIfEmpty(null),\n                    startWith(this.getWidth('window'))\n                ),\n                this._forceRefresh$\n            ).pipe(\n                debounceTime(this._responsiveConfig.config.debounceTime)\n            );\n\n            const _pixelRatio$ = fromEvent(this._window, 'onload')\n                .pipe(\n                defaultIfEmpty(null),\n                startWith(this.getDevicePixelRatio())\n                );\n\n            const _device$ = fromEvent(this._window, 'onload')\n                .pipe(\n                defaultIfEmpty(null),\n                startWith(this.getUserAgent())\n                );\n\n            const _userAgent$ = fromEvent(this._window, 'onload')\n                .pipe(\n                defaultIfEmpty(null),\n                startWith(this.userAgentData())\n                );\n\n            const _orientation$ = fromEvent(this._window, 'orientationchange')\n                .pipe(\n                defaultIfEmpty(null),\n                startWith(this.getOrientation())\n                );\n\n            this.elemento$ = _resize$.pipe(map(this.sizeOperations.bind(this)));\n            this.ancho$ = _resize$.pipe(map(this.sizeObserver.bind(this)));\n            this.browser$ = _device$.pipe(map(this.browserName.bind(this)));\n            this.pixel$ = _pixelRatio$.pipe(map(this.pixelRatio.bind(this)));\n            this.device$ = _device$.pipe(map(this.deviceDetection.bind(this)));\n            this.orientation$ = _orientation$.pipe(map(this.orientationDevice.bind(this)));\n            this.standard$ = _device$.pipe(map(this.standardDevices.bind(this)));\n            this.ieVersion$ = _device$.pipe(map(this.ieVersionDetect.bind(this)));\n            this.userAgent$ = _userAgent$.pipe(map(this.userAgentData.bind(this)));\n        }\n    }\n\n    public forceRefresh(){\n        this._forceRefresh$.next(null);\n    }\n\n    /**\n    * @name registerWindow\n    * @param rw\n    * @param _window\n    */\n    public registerWindow(rw: ResponsiveWindowDirective, _window = null) {\n        if (rw.name && !this._windows[rw.name]) {\n            this._windows[rw.name] = rw;\n            if (_window !== null) {\n                _window.dispatchEvent(new Event('resize'));\n            }\n        }\n    }\n\n    /**\n    * @name unregisterWindow\n    * @param rw\n    * @param _window\n    */\n    public unregisterWindow(rw: ResponsiveWindowDirective, _window = null) {\n        for (const rwn in this._windows) {\n            if (this._windows[rwn] === rw) {\n                delete (this._windows[rwn]);\n            }\n        }\n        if (_window !== null) {\n            _window.dispatchEvent(new Event('resize'));\n        }\n    }\n\n    /**\n    * @name getWidth\n    * @param windowName\n    */\n    public getWidth(windowName: string = null): any {\n        if (this._windows !== null && this.isEnabledForPlatform) {\n            if (windowName && this._windows[windowName]) {\n                return this._windows[windowName].getWidth();\n            } else {\n                return this._window.innerWidth;\n            }\n        }\n        return 0;\n    }\n\n    /**\n    * @name getDevicePixelRatio\n    */\n    public getDevicePixelRatio(): any {\n        let ratio = 1;\n        if (this.isEnabledForPlatform) {\n            if (typeof this._window.screen.systemXDPI !== 'undefined' &&\n                typeof this._window.screen.logicalXDPI !== 'undefined' &&\n                this._window.screen.systemXDPI > this._window.screen.logicalXDPI) {\n                ratio = this._window.screen.systemXDPI / this._window.screen.logicalXDPI;\n            } else if (typeof this._window.devicePixelRatio !== 'undefined') {\n                ratio = this._window.devicePixelRatio;\n            }\n        }\n        return ratio;\n    }\n\n    /**\n    * @name getOrientation\n    */\n    public getOrientation(): any {\n        return (this.isEnabledForPlatform) ? window.orientation : null;\n    }\n\n    /**\n    * @name sizeObserver\n    */\n    public sizeObserver(): any {\n        return (this._windows !== null && this.isEnabledForPlatform) ? this.getWidth('window') : 0;\n    }\n\n    /**\n     * @name sizeOperations\n     */\n    public sizeOperations(): any {\n        let _sizes = null;\n        const _breakPoints = this._responsiveConfig.config.breakPoints;\n        if (this._windows !== null && this.isEnabledForPlatform && _breakPoints !== null) {\n            const _width = this.getWidth('window');\n            if (_breakPoints.xxl.min <= _width) {\n                _sizes = 'xxl';\n            } else if (_breakPoints.xl.max >= _width && _breakPoints.xl.min <= _width) {\n                _sizes = 'xl';\n            } else if (_breakPoints.lg.max >= _width && _breakPoints.lg.min <= _width) {\n                _sizes = 'lg';\n            } else if (_breakPoints.md.max >= _width && _breakPoints.md.min <= _width) {\n                _sizes = 'md';\n            } else if (_breakPoints.sm.max >= _width && _breakPoints.sm.min <= _width) {\n                _sizes = 'sm';\n            } else if (_breakPoints.xs.max >= _width) {\n                _sizes = 'xs';\n            }\n        }\n        return _sizes;\n    }\n\n    /**\n     * @name sizeOperations\n     */\n    public pixelRatio(): any {\n        let _pixelRatio = null;\n        if (this.isEnabledForPlatform && this._screenWidth !== 0 && this._screenHeight !== 0) {\n            if (this.testIs4k()) {\n                _pixelRatio = '4k';\n            } else if (this.getDevicePixelRatio() > 1) {\n                _pixelRatio = 'retina';\n            } else if (this.getDevicePixelRatio() === 1) {\n                _pixelRatio = '1x';\n            }\n        }\n        return _pixelRatio;\n    }\n\n    /**\n     * @name testIs4k\n     * @param screenHeight\n     * @param screenWidth\n     */\n    public testIs4k(): boolean {\n        return (this._screenHeight !== 0 && this._screenWidth !== 0) ?\n            ((this._screenHeight < this._screenWidth) ? (this._screenWidth > 3839) : (this._screenHeight > 3839)) : false;\n    }\n\n    /**\n     * @name orientationDevice\n     */\n    public orientationDevice(): any {\n        let _orientationDevice = null;\n        if (this.isEnabledForPlatform) {\n            if (this.isMobile() || this.isTablet()) {\n                if (this._window.innerHeight > this._window.innerWidth) {\n                    _orientationDevice = 'portrait';\n                } else {\n                    _orientationDevice = 'landscape';\n                }\n            } else if (this.isSMART() || this.isDesktop()) {\n                _orientationDevice = 'landscape';\n            }\n        }\n        return _orientationDevice;\n    }\n\n    /**\n     * @name getUserAgent\n     */\n    public getUserAgent(): any {\n        return (this.isEnabledForPlatform) ? this._window.navigator.userAgent.toLowerCase() : null;\n    }\n\n    /**\n     * @name userAgentData\n     */\n    public userAgentData(): any {\n        if (this._window === null) {\n            return USER_AGENT;\n        }\n        const DEFAULT_USER_AGENT_VALUE = '';\n        const _ieVersionState = (this.ieVersionDetect() !== null);\n        const _isGameDevice = this.isGameDevice();\n        const _isSMART = this.isSMART();\n        const _isDesktop = this.isDesktop();\n        const _isTablet = this.isTablet();\n        const _isMobile = this.isMobile();\n        const _isWindows = this.isWindows();\n        const _isLinux = this.isLinux();\n        return {\n            device: this.deviceDetection(),\n            browser: this.browserName(),\n            pixelratio: this.pixelRatio(),\n            ie_version: {\n                name: (_ieVersionState) ? this.ieVersionDetect() : DEFAULT_USER_AGENT_VALUE,\n                state: _ieVersionState\n            },\n            game_device: {\n                name: (_isGameDevice) ? this.gameDevices() : DEFAULT_USER_AGENT_VALUE,\n                state: _isGameDevice\n            },\n            smart_tv: {\n                name: (_isSMART) ? this.smartTv() : DEFAULT_USER_AGENT_VALUE,\n                state: _isSMART\n            },\n            desktop: {\n                name: (_isDesktop) ? this.desktop() : DEFAULT_USER_AGENT_VALUE,\n                state: _isDesktop\n            },\n            tablet: {\n                name: (_isTablet) ? this.tablet() : DEFAULT_USER_AGENT_VALUE,\n                state: _isTablet\n            },\n            mobile: {\n                name: (_isMobile) ? this.mobile() : DEFAULT_USER_AGENT_VALUE,\n                state: _isMobile\n            },\n            window_os: {\n                name: (_isWindows) ? this.windows() : DEFAULT_USER_AGENT_VALUE,\n                state: _isWindows\n            },\n            linux_os: {\n                name: (_isLinux) ? this.linux() : DEFAULT_USER_AGENT_VALUE,\n                state: _isLinux\n            },\n            bot: this.isBot()\n        };\n    }\n\n    /**\n     * @name deviceDetection\n     */\n    public deviceDetection(): any {\n        if (this.isEnabledForPlatform) {\n            if (this.isMobile()) {\n                return 'mobile';\n            } else if (this.isTablet()) {\n                return 'tablet';\n            } else if (this.isSMART()) {\n                return 'smarttv';\n            } else if (this.isDesktop()) {\n                return 'desktop';\n            }\n        }\n        return null;\n    }\n\n    /**\n     * @name standardDevices\n     */\n    public standardDevices(): any {\n        if (this.isEnabledForPlatform) {\n            if (REG_MOBILES.IPHONE.REG.test(this._userAgent)) {\n                return 'iphone';\n            } else if (REG_TABLETS.IPAD.REG.test(this._userAgent)) {\n                return 'ipad';\n            } else if (this.isMobile() && REG_MOBILES.ANDROID.REG.test(this._userAgent)) {\n                return 'android mobile';\n            } else if (this.isTablet() && REG_MOBILES.ANDROID.REG.test(this._userAgent)) {\n                return 'android tablet';\n            } else if (REG_MOBILES.WINDOWS_PHONE.REG.test(this._userAgent)) {\n                return 'windows phone';\n            }\n        }\n        return null;\n    }\n\n    /**\n     * @name ieVersionDetect\n     */\n    public ieVersionDetect(): any {\n        if (this.isEnabledForPlatform) {\n            const _userAgent = this.getUserAgent();\n            const msie = _userAgent.indexOf('msie ');\n            let _ieVersion = null;\n            if (REG_IE_VERSIONS.MS_MSIE.REG.test(_userAgent)) {\n                _ieVersion = parseInt(_userAgent.substring(msie + 5, _userAgent.indexOf('.', msie)), 10);\n                if (_ieVersion === 7) {\n                    return IE_VERSIONS.IE_7;\n                } else if (_ieVersion == 8) {\n                    return IE_VERSIONS.IE_8;\n                } else if (_ieVersion == 9) {\n                    return IE_VERSIONS.IE_9;\n                } else if (_ieVersion == 10) {\n                    return IE_VERSIONS.IE_10;\n                }\n            }\n            // let trident = this._userAgent.indexOf('trident/')\n            if (REG_IE_VERSIONS.MS_TRIDENT.REG.test(_userAgent)) {\n                let _rv = _userAgent.indexOf('rv:');\n                _ieVersion = parseInt(_userAgent.substring(_rv + 3, _userAgent.indexOf('.', _rv)), 10);\n                if (_ieVersion == 11) {\n                    return IE_VERSIONS.IE_11;\n                }\n            }\n\n            // let edge = this._userAgent.indexOf('Edg/')\n            if (REG_IE_VERSIONS.MS_EDGE.REG.test(_userAgent)) {\n                return IE_VERSIONS.IE_12;\n            }\n        }\n        return null;\n    }\n\n    /**\n     * @name browserName\n     */\n    public browserName(): any {\n        let _browserName = null;\n        if (this.isEnabledForPlatform) {\n            if (REG_SORT_NAMES.WEBKIT.REG.test(this._userAgent) && REG_SORT_NAMES.CHROME.REG.test(this._userAgent)\n                && !REG_BROWSERS.IE.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.CHROME.VALUE;\n            } else if (REG_SORT_NAMES.MOZILLA.REG.test(this._userAgent) &&\n                REG_BROWSERS.FIREFOX.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.FIREFOX.VALUE;\n            } else if (REG_BROWSERS.IE.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.IE.VALUE;\n            } else if (REG_SORT_NAMES.SAFARI.REG.test(this._userAgent) &&\n                REG_SORT_NAMES.APPLE_WEBKIT.REG.test(this._userAgent) && !REG_SORT_NAMES.CHROME.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.SAFARI.VALUE;\n            } else if (REG_BROWSERS.OPERA.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.OPERA.VALUE;\n            } else if (REG_BROWSERS.SILK.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.SILK.VALUE;\n            } else if (REG_BROWSERS.YANDEX.REG.test(this._userAgent)) {\n                _browserName = REG_BROWSERS.YANDEX.VALUE;\n            } else {\n                _browserName = REG_BROWSERS.NA.VALUE;\n            }\n        }\n        return _browserName;\n    }\n\n    /**\n     * @name gameDevices\n     */\n    public gameDevices(): TGameDevices {\n        let _gameDevice = null;\n        if (this._userAgent !== null) {\n            for (let _reg in REG_GAME_DEVICES) {\n                if (REG_GAME_DEVICES[_reg].REG.test(this._userAgent)) {\n                    _gameDevice = REG_GAME_DEVICES[_reg].VALUE;\n                }\n            }\n        }\n        return _gameDevice;\n    }\n\n    /**\n     * @name smartTv\n     */\n    public smartTv(): TSmartTv {\n        let _smartTv = null;\n        if (this._userAgent !== null) {\n            if (REG_SMARTS_TV.CHROMECAST.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.CHROMECAST.VALUE;\n            } else if (REG_SMARTS_TV.APPLE_TV.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.APPLE_TV.VALUE;\n            } else if (REG_SMARTS_TV.GOOGLE_TV.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.GOOGLE_TV.VALUE;\n            } else if (REG_SMARTS_TV.XBOX_ONE.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.XBOX_ONE.VALUE;\n            } else if (REG_SMARTS_TV.PS4.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.PS4.VALUE;\n            } else if (REG_SMARTS_TV.GENERIC_TV.REG.test(this._userAgent)) {\n                _smartTv = REG_SMARTS_TV.GENERIC_TV.VALUE;\n            }\n        }\n        return _smartTv;\n    }\n\n    /**\n     * @name desktop\n     */\n    public desktop(): TosSystems {\n        let _desktop = null;\n        if (this._userAgent !== null) {\n            if (REG_OS.WINDOWS.REG.test(this._userAgent)) {\n                _desktop = REG_OS.WINDOWS.VALUE;\n            } else if (REG_OS.MAC_OS.REG.test(this._userAgent)) {\n                _desktop = REG_OS.MAC_OS.VALUE;\n            } else if (REG_OS.LINUX.REG.test(this._userAgent)) {\n                _desktop = REG_OS.LINUX.VALUE;\n            } else if (REG_OS.FIREFOX_OS.REG.test(this._userAgent)) {\n                _desktop = REG_OS.FIREFOX_OS.VALUE;\n            } else if (REG_OS.FIREFOX_OS.REG.test(this._userAgent)) {\n                _desktop = REG_OS.CHROME_OS.VALUE;\n            }\n        }\n        return _desktop;\n    }\n\n    /**\n     * @name tablet\n     */\n    public tablet(): TTablet {\n        let _tablet = null;\n        if (this._userAgent !== null) {\n            if (REG_TABLETS.IPAD.REG.test(this._userAgent)) {\n                _tablet = TABLET.IPAD;\n            } else if (REG_TABLETS.TABLET.REG.test(this._userAgent) && REG_MOBILES.ANDROID.REG.test(this._userAgent)) {\n                _tablet = TABLET.ANDROID;\n            } else if (REG_TABLETS.KINDLE.REG.test(this._userAgent)) {\n                _tablet = TABLET.KINDLE;\n            } else if (REG_TABLETS.TABLET.REG.test(this._userAgent)) {\n                _tablet = TABLET.GENERIC_TABLET;\n            }\n        }\n        return _tablet;\n    }\n\n    /**\n     * @name mobile\n     */\n    public mobile(): TMobile {\n        let _mobile = null;\n        if (this._userAgent !== null) {\n            for (let _reg in REG_MOBILES) {\n                if (REG_MOBILES[_reg].REG.test(this._userAgent)) {\n                    _mobile = REG_MOBILES[_reg].VALUE;\n                }\n            }\n            if (_mobile === null && this.isMobile()) {\n                _mobile = MOBILE.GENERIC_MOBILE;\n            }\n        }\n        return _mobile;\n    }\n\n    /**\n     * @name windows\n     */\n    public windows(): TWindowsOS {\n        let _windows = null;\n        if (this._userAgent !== null) {\n            for (let _reg in REG_WINDOWS_OS_VERSION) {\n                if (REG_WINDOWS_OS_VERSION[_reg].REG.test(this._userAgent)) {\n                    _windows = REG_WINDOWS_OS_VERSION[_reg].VALUE;\n                }\n            }\n            if (_windows === null && this.isDesktop() && this.isWindows()) {\n                _windows = WINDOWS_OS.GENERIC_WINDOWS;\n            }\n        }\n        return _windows;\n    }\n\n    /**\n     * @name linux\n     */\n    public linux(): TLinuxOS {\n        let _linux: TLinuxOS = null;\n        if (this._userAgent !== null) {\n            for (let _reg in REG_LINUX_OS) {\n                if (REG_LINUX_OS[_reg].REG.test(this._userAgent)) {\n                    _linux = REG_LINUX_OS[_reg].VALUE;\n                }\n            }\n            if (_linux === null && this.isDesktop() && this.isLinux()) {\n                _linux = LINUX_OS.GENERIC_LINUX;\n            }\n        }\n        return _linux;\n    }\n\n    /**\n     * @name isMobile\n     */\n    public isMobile(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            let _userAgent = this._userAgent;\n            _result = (REG_MOBILES.GENERIC_REG_1.REG.test(_userAgent) && this.isTablet() === false ||\n                REG_MOBILES.GENERIC_REG_2.REG.test(_userAgent.substr(0, 4)) && this.isTablet() === false);\n        }\n        return _result;\n    }\n\n    /**\n     * @name isTablet\n     */\n    public isTablet(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_TABLETS.IPAD.REG.test(this._userAgent) ||\n                REG_TABLETS.KINDLE.REG.test(this._userAgent) ||\n                REG_TABLETS.TABLET.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n    /**\n     * @name isSMART\n     */\n    public isSMART(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_SMARTS_TV.GENERIC_TV.REG.test(this._userAgent) ||\n                REG_SMARTS_TV.PS4.REG.test(this._userAgent) ||\n                REG_SMARTS_TV.XBOX_ONE.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n    /**\n     * @name isDesktop\n     */\n    public isDesktop(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = !(this.isMobile() || this.isTablet() || this.isSMART());\n        }\n        return _result;\n    }\n\n    /**\n     * @name isGameDevice\n     */\n    public isGameDevice(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_GAME_DEVICES.PS4.REG.test(this._userAgent) || REG_GAME_DEVICES.PS3.REG.test(this._userAgent)\n                || REG_GAME_DEVICES.XBOX.REG.test(this._userAgent) || REG_GAME_DEVICES.XBOX_ONE.REG.test(this._userAgent)\n                || REG_GAME_DEVICES.WII.REG.test(this._userAgent) || REG_GAME_DEVICES.WII_U.REG.test(this._userAgent)\n                || REG_GAME_DEVICES.NINTENDO_3DS.REG.test(this._userAgent) || REG_GAME_DEVICES.PS_VITA.REG.test(this._userAgent)\n                || REG_GAME_DEVICES.PSP.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n    /**\n     * @name isWindows\n     */\n    public isWindows(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_OS.WINDOWS.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n    /**\n     * @name isLinux\n     */\n    public isLinux(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_OS.LINUX.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n    /**\n     * @name isBot\n     */\n    public isBot(): boolean {\n        let _result = false;\n        if (this._userAgent !== null) {\n            _result = (REG_BOTS.GENERIC_BOT.REG.test(this._userAgent));\n        }\n        return _result;\n    }\n\n}\n","/**\n * @name responsive-state\n * @description Core responsive-state provider in ngx-responsive\n *\n * @license MIT\n */\nexport * from './responsive-state';\n","/**\n * @name responsive-config\n * @description Core responsive-config provider in ngx-responsive\n *\n * @license MIT\n */\nimport {\n    EventEmitter,\n    TemplateRef,\n    ViewContainerRef,\n    OnInit,\n    OnDestroy,\n    ChangeDetectorRef,\n    Injectable,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IResponsiveSubscriptions } from '../../interfaces';\nimport { ResponsiveState } from '../responsive-state/responsive-state';\nimport { PlatformService } from '../platform-service/platform.service';\n\n@Injectable()\nexport abstract class RESPONSIVE_BASE<T> implements OnInit, OnDestroy {\n\n    private _noRepeat = 0;\n    private _sizes_grid_state: any;\n    private _others_grid_state: string[];\n    private _directive: string;\n\n    private _subscription_Bootstrap: Subscription;\n    private _subscription_Browser: Subscription;\n    private _subscription_Pixel_Ratio: Subscription;\n    private _subscription_Device: Subscription;\n    private _subscription_Orientation: Subscription;\n    private _subscription_Standard: Subscription;\n    private _subscription_IE_Version: Subscription;\n    private _subscription_custom_sizes: Subscription;\n\n    protected _showWhenTrue: boolean;\n\n    private set_active_subscriptions: IResponsiveSubscriptions = {\n        bootstrap: false,\n        browser: false,\n        device: false,\n        pixelratio: false,\n        orientation: false,\n        standard: false,\n        ie: false,\n        sizes: false\n    };\n    private _isEnabledForPlatform: boolean;\n\n    constructor(\n        private templateRef: TemplateRef<any>,\n        private viewContainer: ViewContainerRef,\n        private _responsiveState: ResponsiveState,\n        private cd: ChangeDetectorRef,\n        private platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = this.platformService.isEnabledForPlatform();\n    }\n\n    protected eventChanges: EventEmitter<any> = new EventEmitter();\n    protected setGrid(grid_state: any, directive: string): void {\n        switch (directive) {\n            case 'bootstrap':\n                this.set_active_subscriptions.bootstrap = true;\n                break;\n            case 'device':\n                this.set_active_subscriptions.device = true;\n                break;\n            case 'standard':\n                this.set_active_subscriptions.standard = true;\n                break;\n            case 'orientation':\n                this.set_active_subscriptions.orientation = true;\n                break;\n            case 'browser':\n                this.set_active_subscriptions.browser = true;\n                break;\n            case 'pixelratio':\n                this.set_active_subscriptions.pixelratio = true;\n                break;\n            case 'ie':\n                this.set_active_subscriptions.ie = true;\n                break;\n            case 'sizes':\n                this.set_active_subscriptions.sizes = true;\n                break;\n        }\n\n        if (directive === 'sizes') {\n            this._sizes_grid_state = grid_state;\n        } else {\n            this._others_grid_state = <string[]>(Array.isArray(grid_state) ? grid_state : [grid_state]);\n        }\n        this._directive = directive;\n    }\n\n    public ngOnInit() {\n        if (this._isEnabledForPlatform) {\n            if (this.set_active_subscriptions.bootstrap) {\n                this._subscription_Bootstrap = this._responsiveState.elemento$.subscribe(this.updateView.bind(this));\n            }\n\n\n            if (this.set_active_subscriptions.browser) {\n                this._subscription_Browser = this._responsiveState.browser$.subscribe(this.updateView.bind(this));\n            }\n            if (this.set_active_subscriptions.device) {\n                this._subscription_Device = this._responsiveState.device$.subscribe(this.updateView.bind(this));\n            }\n\n            if (this.set_active_subscriptions.pixelratio) {\n                this._subscription_Pixel_Ratio = this._responsiveState.pixel$.subscribe(this.updateView.bind(this));\n            }\n\n            if (this.set_active_subscriptions.orientation) {\n                this._subscription_Orientation = this._responsiveState.orientation$.subscribe(this.updateView.bind(this));\n            }\n\n            if (this.set_active_subscriptions.standard) {\n                this._subscription_Standard = this._responsiveState.standard$.subscribe(this.updateView.bind(this));\n            }\n\n            if (this.set_active_subscriptions.ie) {\n                this._subscription_IE_Version = this._responsiveState.ieVersion$.subscribe(this.updateView.bind(this));\n            }\n\n            if (this.set_active_subscriptions.sizes) {\n                this._subscription_custom_sizes = this._responsiveState.ancho$.subscribe(this.updateView.bind(this));\n            }\n        }\n    }\n\n    public ngOnDestroy() {\n        if (this._isEnabledForPlatform) {\n            if (this.set_active_subscriptions.bootstrap) {\n                this._subscription_Bootstrap.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.browser) {\n                this._subscription_Browser.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.device) {\n                this._subscription_Device.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.pixelratio) {\n                this._subscription_Pixel_Ratio.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.orientation) {\n                this._subscription_Orientation.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.standard) {\n                this._subscription_Standard.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.ie) {\n                this._subscription_IE_Version.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.sizes) {\n                this._subscription_custom_sizes.unsubscribe();\n            }\n        }\n    }\n\n    private showHide(show: boolean): void {\n        if (this._isEnabledForPlatform) {\n            if (show) {\n                if (this._noRepeat === 0) {\n                    this._noRepeat = 1;\n                    this.eventChanges.emit(true);\n                    this.viewContainer.createEmbeddedView(this.templateRef);\n                    this.cd.markForCheck();\n                }\n            } else {\n                this._noRepeat = 0;\n                this.eventChanges.emit(false);\n                this.viewContainer.clear();\n                this.cd.markForCheck();\n            }\n        }\n    }\n\n    private updateView(value: any): void {\n        const showBoolean = this._directive === 'sizes' ?\n            (\n                (typeof this._sizes_grid_state.min === 'undefined' || value >= this._sizes_grid_state.min) &&\n                (typeof this._sizes_grid_state.max === 'undefined' || value <= this._sizes_grid_state.max)\n            ) :\n            !!this._others_grid_state && this._others_grid_state.indexOf(value) !== -1;\n\n        this.showHide(this._showWhenTrue ? showBoolean : !showBoolean);\n    }\n}\n","/**\n * @name responsive-base\n * @description Core responsive-bae provider in ngx-responsive\n *\n * @license MIT\n */\nexport * from './responsive-base';\n","/**\n * @name providers\n * @description Core providers in ngx-responsive\n *\n * @license MIT\n */\nexport * from './responsive-config/index';\nexport * from './responsive-state/index';\nexport * from './responsive-base/index';\n","/**\n * @name linux.types\n * @description Linux types in ngx-responsive\n * @license MIT\n */\n\n/**\n * @type\n * @name TDebian\n * @export TDebian\n */\nexport type TDebian = 'Debian';\n\n/**\n * @type\n * @name TKnoppix\n * @export TKnoppix\n */\nexport type TKnoppix = 'Knoppix';\n\n/**\n * @type\n * @name TMint\n * @export TMint\n */\nexport type TMint = 'Mint';\n\n/**\n * @type\n * @name TUbuntu\n * @export TUbuntu\n */\nexport type TUbuntu = 'Ubuntu';\n\n/**\n * @type\n * @name TKubuntu\n * @export TKubuntu\n */\nexport type TKubuntu = 'Kubuntu';\n\n/**\n * @type\n * @name TXubuntu\n * @export TXubuntu\n */\nexport type TXubuntu = 'Xubuntu';\n\n/**\n * @type\n * @name TLubuntu\n * @export TLubuntu\n */\nexport type TLubuntu = 'Lubuntu';\n\n/**\n * @type\n * @name TFedora\n * @export TFedora\n */\nexport type TFedora = 'Fedora';\n\n/**\n * @type\n * @name TRedHat\n * @export TRedHat\n */\nexport type TRedHat = 'Red hat';\n\n/**\n * @type\n * @name TMandriva\n * @export TMandriva\n */\nexport type TMandriva = 'Mandriva';\n\n/**\n * @type\n * @name TGentoo\n * @export TGentoo\n */\nexport type TGentoo = 'Gentoo';\n\n/**\n * @type\n * @name TSabayon\n * @export TSabayon\n */\nexport type TSabayon = 'Sabayon';\n\n/**\n * @type\n * @name TSlackware\n * @export TSlackware\n */\nexport type TSlackware = 'Slackware';\n\n/**\n * @type\n * @name TSuse\n * @export TSuse\n */\nexport type TSuse = 'Suse';\n\n/**\n * @type\n * @name TCentOS\n * @export TCentOS\n */\nexport type TCentOS = 'CentOS';\n\n/**\n * @type\n * @name TBacktrack\n * @export TBacktrack\n */\nexport type TBacktrack = 'Backtrack';\n\n/**\n * @type\n * @name TGenericLinux\n * @export TGenericLinux\n */\nexport type TGenericLinux = 'Generic Linux';\n\n/**\n * @type\n * @name TLinuxOS\n * @export TLinuxOS\n */\nexport type TLinuxOS = TDebian | TKnoppix | TMint | TUbuntu | TKubuntu | TXubuntu | TLubuntu | TFedora |\nTRedHat | TMandriva | TGentoo | TSabayon | TSlackware | TSuse | TCentOS | TBacktrack | TGenericLinux | null;\n","/**\n * @name windows.types\n * @description Core windows types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TWindowsXP\n * @export TWindowsXP\n */\nexport type TWindowsXP = 'Windows XP';\n\n/**\n * @type\n * @name TWindowsVista\n * @export TWindowsVista\n */\nexport type TWindowsVista = 'Windows Vista';\n\n/**\n * @type\n * @name TWindows7\n * @export TWindows7\n */\nexport type TWindows7 = 'Windows 7';\n\n/**\n * @type\n * @name TWindows8\n * @export TWindows8\n */\nexport type TWindows8 = 'Windows 8';\n\n/**\n * @type\n * @name TWindows10\n * @export TWindows10\n */\nexport type TWindows10 = 'Windows 10';\n\n/**\n * @type\n * @name TGenericWindows\n * @export TGenericWindows\n */\nexport type TGenericWindows = 'Generic Windows';\n\n/**\n * @type\n * @name TWindowsOS\n * @export TWindowsOS\n */\nexport type TWindowsOS = TWindowsXP | TWindowsVista | TWindows7 | TWindows8 | TWindows10 | TGenericWindows | null;\n","\n/**\n * @name mobile.types\n * @description Mobile types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TIphone\n * @export TIphone\n */\nexport type TIphone = 'Iphone';\n\n/**\n * @type\n * @name TAndroid\n * @export TAndroid\n */\nexport type TAndroid = 'Android';\n\n/**\n * @type\n * @name TWindowsPhone\n * @export TWindowsPhone\n */\nexport type TWindowsPhone = 'Windows Phone';\n\n/**\n * @type\n * @name TBlackberry\n * @export TBlackberry\n */\nexport type TBlackberry = 'Blackberry';\n\n/**\n * @type\n * @name TGenericMobile\n * @export TGenericMobile\n */\nexport type TGenericMobile = 'Generic Mobile';\n\n/**\n * @type\n * @name TMobile\n * @export TMobile\n */\nexport type TMobile = TIphone | TAndroid | TWindowsPhone | TBlackberry | TGenericMobile | null;\n\n","/**\n * @name os-systems.types\n * @description Os systems types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TWindows\n * @export TWindows\n */\nexport type TWindows = 'Windows';\n\n/**\n * @type\n * @name TIos\n * @export TIos\n */\nexport type TIos = 'iOS';\n\n/**\n * @type\n * @name TMacOS\n * @export TMacOS\n */\nexport type TMacOS = 'Mac';\n\n/**\n * @type\n * @name TLinux\n * @export TLinux\n */\nexport type TLinux = 'Linux';\n\n/**\n * @type\n * @name TFirefoxOS\n * @export TFirefoxOS\n */\nexport type TFirefoxOS = 'Firefox OS';\n\n/**\n * @type\n * @name TChromeOS\n * @export TChromeOS\n */\nexport type TChromeOS = 'Chrome OS';\n\n/**\n * @type\n * @name TosSystems\n * @export TosSystems\n */\nexport type TosSystems = TWindows | TMacOS | TLinux | TFirefoxOS | TChromeOS | null;\n\n\n\n\n","/**\n * @name game-devices.types\n * @description Game devices types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TPs4\n * @export TPs4\n */\nexport type TPs4 = 'Playstation 4';\n\n/**\n * @type\n * @name TPs3\n * @export TPs3\n */\nexport type TPs3 = 'Playstation 3';\n\n/**\n * @type\n * @name TXboxOne\n * @export TXboxOne\n */\nexport type TXboxOne = 'Xbox One';\n\n/**\n * @type\n * @name TXbox\n * @export TXbox\n */\nexport type TXbox = 'Xbox';\n\n/**\n * @type\n * @name TWii\n * @export TWii\n */\nexport type TWii = 'Wii';\n\n/**\n * @type\n * @name TWiiU\n * @export TWiiU\n */\nexport type TWiiU = 'Wii U';\n\n/**\n * @type\n * @name TNintendo3DS\n * @export TNintendo3DS\n */\nexport type TNintendo3DS = 'Nintendo 3DS';\n\n/**\n * @type\n * @name TPlaystationVita\n * @export TPlaystationVita\n */\nexport type TPlaystationVita = 'Playstation Vita';\n\n/**\n * @type\n * @name TPsp\n * @export TPsp\n */\nexport type TPsp = 'PSP';\n\n/**\n * @type\n * @name TGameDevices\n * @export TGameDevices\n */\nexport type TGameDevices = TPs4 | TPs3 | TXboxOne | TXbox | TWii | TWiiU | TNintendo3DS | TPlaystationVita | TPsp | null;\n\n","/**\n * @name bot.types\n * @description Bot types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TGenericBot\n * @export TGenericBot\n */\nexport type TGenericBot = 'Generic Bot';\n\n/**\n * @type\n * @name TBots\n * @export TBots\n */\nexport type TBots = TGenericBot;\n\n\n\n","/**\n * @name browser-names.types\n * @description Browser names types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TChrome\n * @export TChrome\n */\nexport type TChrome = 'chrome';\n\n/**\n * @type\n * @name TFirefox\n * @export TFirefox\n */\nexport type TFirefox = 'firefox';\n\n/**\n * @type\n * @name TIe\n * @export TIe\n */\nexport type TIe = 'ie';\n\n/**\n * @type\n * @name TSafari\n * @export TSafari\n */\nexport type TSafari = 'safari';\n\n/**\n * @type\n * @name TOpera\n * @export TOpera\n */\nexport type TOpera = 'opera';\n\n/**\n * @type\n * @name TSilk\n * @export TSilk\n */\nexport type TSilk = 'silk';\n\n/**\n * @type\n * @name TYandex\n * @export TYandex\n */\nexport type TYandex = 'yandex';\n\n/**\n * @type\n * @name TNA\n * @export TNA\n */\nexport type TNA = 'NA';\n\n/**\n * @type\n * @name TBrowserNames\n * @export TBrowserNames\n */\nexport type TBrowserNames = TChrome | TFirefox | TIe | TSafari | TOpera | TSilk | TYandex | TNA;\n\n","\n/**\n * @name ie-versions.types\n * @description IE Versions types in ngx-responsive\n *\n * @license MIT\n */\n\n/**\n * @type\n * @name TIE_7\n * @export TIE_7\n */\nexport type TIE_7 = 'ie 7';\n\n/**\n * @type\n * @name TIE_8\n * @export TIE_8\n */\nexport type TIE_8 = 'ie 8';\n\n/**\n * @type\n * @name TIE_9\n * @export TIE_9\n */\nexport type TIE_9 = 'ie 9';\n\n/**\n * @type\n * @name TIE_10\n * @export TIE_10\n */\nexport type TIE_10 = 'ie 10';\n\n/**\n * @type\n * @name TIE_11\n * @export TIE_11\n */\nexport type TIE_11 = 'ie 11';\n\n/**\n * @type\n * @name TIE_12\n * @export TIE_12\n */\nexport type TIE_12 = 'ie +12';\n\n/**\n * @type\n * @name TIE_VERSIONS\n * @export TIE_VERSIONS\n */\nexport type TIE_VERSIONS = TIE_7 | TIE_8 | TIE_9 | TIE_10 | TIE_11 | TIE_12;\n","/**\n * @name types\n * @description Core types in ngx-responsive\n *\n * @license MIT\n */\nexport * from './linux.types';\nexport * from './windows.types';\nexport * from './mobile.types';\nexport * from './tablet.types';\nexport * from './os-systems.types';\nexport * from './game-devices.types';\nexport * from './smart-tv.types';\nexport * from './bot.types';\nexport * from './browser-names.types';\nexport * from './ie-versions.types';\n","/**\n * @name core\n * @description Core in ngx-responsive\n *\n * @license MIT\n */\n\nexport * from './constants/index';\nexport * from './interfaces/index';\nexport * from './providers/index';\nexport * from './types/index';\n","/**\n *  @name bootstrap.directives\n *  @description bootstrap directives\n *  @license MIT\n */\nimport { Directive, Input, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { RESPONSIVE_BASE } from '../../@core/providers/responsive-base/responsive-base';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n@Directive({\n    selector: '[xxl]'\n})\nexport class XxlDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'xxl';\n    protected _showWhenTrue = true;\n    \n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n\n        super ( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid(this._state, 'bootstrap');\n    }\n}\n\n@Directive({\n    selector: '[xl]'\n})\nexport class XlDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'xl';\n    protected _showWhenTrue = true;\n    \n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n\n        super ( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid(this._state, 'bootstrap');\n    }\n}\n\n@Directive(\n{\n    selector: '[lg]'\n})\nexport class LgDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'lg';\n    protected _showWhenTrue = true;\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid( this._state, 'bootstrap' );\n    }\n}\n@Directive(\n{\n    selector: '[md]'\n})\nexport class MdDirective extends RESPONSIVE_BASE<any> {\n    protected _state = 'md';\n    protected _showWhenTrue = true;\n    \n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid( this._state, 'bootstrap' );\n    }\n}\n\n@Directive({\n    selector: '[sm]'\n})\nexport class SmDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'sm';\n    protected _showWhenTrue = true;\n\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid( this._state, 'bootstrap' );\n    }\n}\n\n@Directive({\n    selector: '[xs]'\n})\nexport class XsDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'xs';\n    protected _showWhenTrue = true;\n    \n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n        this.setGrid(this._state, 'bootstrap');\n    }\n}\n@Directive(\n{\n    selector: '[showItBootstrap]'\n})\nexport class ShowItBootstrapDirective extends RESPONSIVE_BASE<any> {\n    protected _showWhenTrue = true;\n    @Input() set showItBootstrap( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'bootstrap' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n@Directive(\n{\n    selector: '[hideItBootstrap]'\n})\nexport class HideItBootstrapDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n\n    @Input() set hideItBootstrap( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'bootstrap' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n    ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n","/**\n * @name bootstrap\n * @description Bootstrap module in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport {\n  XxlDirective,\n  XlDirective,\n  LgDirective,\n  MdDirective,\n  SmDirective,\n  XsDirective,\n  ShowItBootstrapDirective,\n  HideItBootstrapDirective\n} from './bootstrap-directives';\n\nexport * from './bootstrap-directives';\n\nexport const BOOTSTRAP_DIRECTIVES: Provider[] = [\n  XxlDirective,\n  XlDirective,\n  LgDirective,\n  MdDirective,\n  SmDirective,\n  XsDirective,\n  ShowItBootstrapDirective,\n  HideItBootstrapDirective\n];\n","/**\n * @name browser-directives\n * @description Browser directives in ngx-responsive\n *\n * @license MIT\n */\nimport { Directive, Input, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { RESPONSIVE_BASE } from '../../@core/providers/responsive-base/responsive-base';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive(\n{\n    selector: '[isChrome]'\n})\nexport class IsChromeDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'chrome';\n    protected _showWhenTrue = true;\n    @Input() set isChrome( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive({\n    selector: '[isFirefox]'\n})\n\nexport class IsFirefoxDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'firefox';\n    protected _showWhenTrue = true;\n    @Input() set isFirefox( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isSafari]'\n})\nexport class IsSafariDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'safari';\n    protected _showWhenTrue = true;\n    @Input() set isSafari( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isOpera]'\n})\nexport class IsOperaDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'opera';\n    protected _showWhenTrue = true;\n    @Input() set isOpera( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIE]'\n})\nexport class IsIEDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'ie';\n    protected _showWhenTrue = true;\n    @Input() set isIE( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[showItBrowser]'\n})\nexport class ShowItBrowserDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = true;\n    @Input() set showItBrowser( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[hideItBrowser]'\n})\nexport class HideItBrowserDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n    @Input() set hideItBrowser( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'browser' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIE9]'\n})\nexport class IsIE9Directive extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'ie 9';\n    protected _showWhenTrue = true;\n    @Input() set isIE9( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIE10]'\n})\nexport class IsIE10Directive extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'ie 10';\n    protected _showWhenTrue = true;\n    @Input() set isIE10( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIE11]'\n})\nexport class IsIE11Directive extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'ie 11';\n    protected _showWhenTrue = true;\n    @Input() set isIE11( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIE12]'\n})\nexport class IsIE12Directive extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'ie 12';\n    protected _showWhenTrue = true;\n    @Input() set isIE12( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[showIEVersion]'\n})\nexport class ShowIEVersionDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = true;\n    @Input() set showIEVersion( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService \n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[hideIEVersion]'\n})\nexport class HideIEVersionDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n    @Input() set hideIEVersion( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'ie' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService \n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n\n\n","/**\n * @name browser-info\n * @description Browser info abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\nexport abstract class BrowserInfo {\n    public currentstate: string;\n    private _subscription: Subscription;\n    private _isEnabledForPlatform: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    constructor(\n        public _responsiveState: ResponsiveState,\n        protected platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n    }\n    public connect(): Observable<any> {\n        if(this._isEnabledForPlatform) {\n            this._subscription = this._responsiveState.browser$.pipe(distinctUntilChanged())\n            .subscribe((data) => {\n                this._updateData(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isEnabledForPlatform) {\n           this._subscription.unsubscribe();\n        }\n    }\n    get getBrowser(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name browser-info.rx\n * @description Browser info reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable} from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { BrowserInfo } from './browser-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Injectable()\nexport class BrowserInfoRx extends BrowserInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n}\n","\n/**\n * @name browser-info.directive\n * @description Browser info directive in ngx-responsive\n *\n * @license MIT\n */\nimport { EventEmitter, Directive, Input, Output, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { BrowserInfo } from './browser-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive({\n    selector: 'browser-info'\n})\nexport class BrowserInfoDirective extends BrowserInfo implements OnInit, OnDestroy {\n    @Output() public browser: EventEmitter<any> = new EventEmitter();\n    @Input() set browserInfo(grid_state: string[] | string) {\n        this._updateData(this.currentstate);\n    }\n    constructor(public _responsiveState: ResponsiveState,\n        private cd: ChangeDetectorRef,\n        protected platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n\n    ngOnInit(): void {\n        this.connect();\n    }\n    ngOnDestroy(): void {\n        this.disconnect();\n    }\n    protected _updateData(value: any) {\n        this.browser.emit(value);\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name ie-info\n * @description IE Info abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\n\nexport abstract class IeInfo {\n    public currentstate: string;\n    private _subscription: Subscription;\n    private _isBrowser: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    constructor(\n        public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) {\n        this._isBrowser = isPlatformBrowser(this._platformId);\n    }\n    public connect(): Observable<any> {\n        if (this._isBrowser) {\n            this._subscription = this._responsiveState.ieVersion$.pipe(distinctUntilChanged())\n                .subscribe((data) => {\n                    this._updateData(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isBrowser) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getIE(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name ie-info.rx\n * @description IE Info reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable} from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { IeInfo } from './ie-info';\n\n@Injectable()\nexport class IeInfoRx extends IeInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n}\n","/**\n * @name ie-info.directives\n * @description IE Info directives in ngx-responsive\n *\n * @license MIT\n */\nimport { EventEmitter, Directive, Input, Output, TemplateRef, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { IeInfo } from './ie-info';\n\n@Directive({ selector: 'ie-info' })\nexport class IeInfoDirective extends IeInfo implements OnInit, OnDestroy {\n    @Input() set ieInfo(grid_state: string[] | string) {\n        this._updateData(this.currentstate);\n    }\n    @Output() public ieVersion: EventEmitter<any> = new EventEmitter();\n    constructor(public _responsiveState: ResponsiveState,\n        private viewContainer: ViewContainerRef,\n        private cd: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n    ngOnInit() {\n        this.connect();\n    }\n    ngOnDestroy() {\n        this.disconnect();\n    }\n    protected _updateData(value: any) {\n        this.ieVersion.emit(value);\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name browsers\n * @description browsers module in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport {\n  IsChromeDirective,\n  IsFirefoxDirective,\n  IsSafariDirective,\n  IsOperaDirective,\n  IsIEDirective,\n  IsIE9Directive,\n  IsIE10Directive,\n  IsIE11Directive,\n  IsIE12Directive,\n  ShowItBrowserDirective,\n  HideItBrowserDirective,\n  ShowIEVersionDirective,\n  HideIEVersionDirective,\n} from './browsers-directives';\nimport { BrowserInfoRx } from './browser-info.rx';\nimport { BrowserInfoDirective } from './browser-info.directive';\nimport { IeInfoRx } from './ie-info.rx';\nimport { IeInfoDirective } from './ie-info.directive';\n\nexport const BROWSER_DIRECTIVES: Provider[] = [\n  IsChromeDirective,\n  IsFirefoxDirective,\n  IsSafariDirective,\n  IsOperaDirective,\n  IsIEDirective,\n  IsIE9Directive,\n  IsIE10Directive,\n  IsIE11Directive,\n  IsIE12Directive,\n  ShowItBrowserDirective,\n  HideItBrowserDirective,\n  ShowIEVersionDirective,\n  HideIEVersionDirective,\n  BrowserInfoDirective,\n  IeInfoDirective\n];\n\nexport const BROWSER_INFO_RX: Provider[] = [BrowserInfoRx];\nexport const IE_INFO_RX: Provider[] = [IeInfoRx];\nexport * from './browsers-directives';\nexport * from './browser-info.rx';\nexport * from './browser-info.directive';\nexport * from './ie-info.rx';\nexport * from './ie-info.directive';\n","/**\n * @name custom-sizes.directives\n * @description Custom sizes directives in ngx-responsive\n *\n * @license MIT\n */\nimport { Directive, Input, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { RESPONSIVE_BASE } from '../../@core/providers/responsive-base/responsive-base';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n@Directive(\n{\n    selector: '[showItSizes]'\n})\nexport class ShowItSizesDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = true;\n\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n     @Input() set showItSizes( _grid_state: any ) {\n        this.setGrid(_grid_state, 'sizes');\n    }\n}\n\n@Directive(\n{\n    selector: '[hideItSizes]'\n})\nexport class HideItSizesDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n\n    @Input() set hideItSizes( _grid_state: any ) {\n        this.setGrid( _grid_state, 'sizes' );\n    }\n}\n","/**\n * @name custom-sizes\n * @description Custom sizes in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport {\n  ShowItSizesDirective,\n  HideItSizesDirective\n} from './custom-sizes-directives';\n\nexport const CUSTOMSIZES_DIRECTIVES: Provider[] = [\n ShowItSizesDirective,\n HideItSizesDirective\n];\nexport * from './custom-sizes-directives';\n","/**\n * @name devices.directives\n * @description Devices directives in ngx-responsive\n *\n * @license MIT\n */\nimport { Directive, Input, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { RESPONSIVE_BASE } from '../../@core/providers/responsive-base/responsive-base';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive({\n    selector: '[isSmartTv]'\n})\nexport class IsSmartTvDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'smarttv';\n    protected _showWhenTrue = true;\n\n    @Input() set isSmartTv( grid_state: string[]|string ) {\n        this.setGrid( this._state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive({\n    selector: '[isDesktop]'\n})\nexport class IsDesktopDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'desktop';\n    protected _showWhenTrue = true;\n\n    @Input() set isDesktop( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive({\n    selector: '[isTablet]'\n})\nexport class IsTabletDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'tablet';\n    protected _showWhenTrue = true;\n\n    @Input() set isTablet( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive({\n    selector: '[isMobile]'\n})\nexport class IsMobileDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'mobile';\n    protected _showWhenTrue = true;\n\n    @Input() set isMobile( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[showItDevice]'\n})\nexport class ShowItDeviceDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = true;\n\n    @Input() set showItDevice( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive({\n    selector: '[hideItDevice]'\n})\nexport class HideItDeviceDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n\n    @Input() set hideItDevice( grid_state: string[] | string )\n    {\n        this.setGrid( grid_state, 'device' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIphone]'\n})\nexport class IsIphoneDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'iphone';\n    protected _showWhenTrue = true;\n\n    @Input() set isIphone( grid_state: string[]|string ) {\n        this.setGrid(this._state, 'standard');\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isIpad]'\n})\nexport class IsIpadDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'iphone';\n    protected _showWhenTrue = true;\n\n    @Input() set isIphone(grid_state: string[] | string ) {\n        this.setGrid( this._state, 'standard' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isAndroidMobile]'\n})\nexport class IsAndroidMobileDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'android mobile';\n    protected _showWhenTrue = true;\n\n    @Input() set isAndroidMobile( grid_state: string[] | string ) {\n        this.setGrid(this._state, 'standard');\n    }\n\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isAndroidTablet]'\n})\nexport class IsAndroidTabletDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'android tablet';\n    protected _showWhenTrue = true;\n\n    @Input() set isAndroidTablet( grid_state: string[] | string ) {\n        this.setGrid( this._state, 'standard' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n\n@Directive(\n{\n    selector: '[isWindowsPhone]'\n})\nexport class IsWindowsPhoneDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'windows phone';\n    protected _showWhenTrue = true;\n\n    @Input() set isWindowsPhone(grid_state: string[]|string) {\n        this.setGrid( this._state, 'standard' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n\n@Directive(\n{\n    selector: '[showItStandard]'\n})\nexport class ShowItStandardDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = true;\n\n    @Input() set showItStandard( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'standard' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[hideItStandard]'\n})\nexport class HideItStandardDirective extends RESPONSIVE_BASE<any> {\n\n    protected _showWhenTrue = false;\n\n    @Input() set hideItStandard( grid_state: string[] | string ) {\n        this.setGrid( grid_state, 'standard' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isPortrait]'\n})\nexport class IsPortraitDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'portrait';\n    protected _showWhenTrue = false;\n\n    @Input() set isPortrait( grid_state: string ) {\n        this.setGrid( this._state, 'orientation' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n@Directive(\n{\n    selector: '[isLandscape]'\n})\nexport class IsLandscapeDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'landscape';\n    protected _showWhenTrue = false;\n\n    @Input() set isLandscape( grid_state: string ) {\n        this.setGrid( this._state, 'orientation' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n","/**\n * @name devices-info\n * @description devices-info abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\n\nexport abstract class DevicesInfo {\n    public currentstate: string;\n    public _subscription: Subscription;\n    private _isBrowser: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    constructor(protected _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) {\n        this._isBrowser = isPlatformBrowser(this._platformId);\n    }\n    public connect(): Observable<any> {\n        if (this._isBrowser) {\n            this._subscription = this._responsiveState.device$.pipe(distinctUntilChanged())\n            .subscribe((data) => {\n                this._updateData(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isBrowser) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getDevice(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name devices-info.directive\n * @description devices-info directive in ngx-responsive\n *\n * @license MIT\n */\nimport { EventEmitter, Directive, Output, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { DevicesInfo } from './devices-info';\n\n@Directive({ selector: 'device-info' })\nexport class DeviceInfoDirective extends DevicesInfo implements OnInit, OnDestroy {\n    @Output() device: EventEmitter<any> = new EventEmitter();\n    constructor(protected _responsiveState: ResponsiveState,\n        protected viewContainer: ViewContainerRef,\n        protected cd: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n    ngOnInit() {\n        this.connect();\n    }\n    ngOnDestroy() {\n        this.disconnect();\n    }\n    protected _updateData(value: any) {\n        this.device.emit(value);\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name devices-standard-info\n * @description Devices standard abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\n\n\nexport abstract class DeviceStandardInfo {\n    public currentstate: string;\n    private _subscription: Subscription;\n    private _isBrowser: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    constructor( protected _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) {\n        this._isBrowser = isPlatformBrowser(this._platformId);\n    }\n    public connect(): Observable<any> {\n        if (this._isBrowser) {\n            this._subscription = this._responsiveState.standard$.pipe(distinctUntilChanged())\n            .subscribe((data) => {\n                this._updateData(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isBrowser) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getStandardDevice(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData( value: any ): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name devices-standard-info.directive\n * @description devices-standard-info directive in ngx-responsive\n *\n * @license MIT\n */\nimport { EventEmitter, Directive, Input, Output, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { DeviceStandardInfo } from './devices-standard-info';\n\n@Directive({ selector: 'device-standard-info' })\nexport class DeviceStandardInfoDirective extends DeviceStandardInfo implements OnInit, OnDestroy {\n    @Input() set deviceStandardInfo( grid_state: string[] | string ) {\n        this._updateData( this.currentstate );\n    }\n    @Output() public standard: EventEmitter<any> = new EventEmitter();\n    constructor( protected _responsiveState: ResponsiveState,\n        protected viewContainer: ViewContainerRef,\n        protected cd: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n    ngOnInit() {\n       this.connect();\n    }\n    ngOnDestroy() {\n        this.disconnect();\n    }\n    protected _updateData( value: any ) {\n        this.standard.emit( value );\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name orientation-info\n * @description Orientation abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\nexport abstract class OrientationInfo {\n    public currentstate: string;\n    private _subscription: Subscription;\n    private _isEnabledForPlatform: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    constructor(protected _responsiveState: ResponsiveState,\n        platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n    }\n    public connect(): Observable<any> {\n        if (this._isEnabledForPlatform) {\n            this._subscription = this._responsiveState.orientation$.pipe(distinctUntilChanged())\n            .subscribe((data) => {\n                this._updateData(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isEnabledForPlatform) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getOrientation(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name orientation-info.directive\n * @description Device orientation directive in ngx-responsive\n *\n * @license MIT\n */\nimport { EventEmitter, Directive, Output, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { OrientationInfo } from './orientation-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive({ selector: 'orientation-info' })\nexport class OrientationInfoDirective extends OrientationInfo implements OnInit, OnDestroy {\n    @Output() public orientation: EventEmitter<any> = new EventEmitter();\n    constructor(protected _responsiveState: ResponsiveState,\n        protected viewContainer: ViewContainerRef,\n        protected cd: ChangeDetectorRef,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n    ngOnInit() {\n        this.connect();\n    }\n    ngOnDestroy() {\n        this.disconnect();\n    }\n    protected _updateData(value: any) {\n        this.orientation.emit(value);\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name devices-info.rx\n * @description devices-info reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { DevicesInfo } from './devices-info';\n\n@Injectable()\nexport class DeviceInfoRx extends DevicesInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n}\n","/**\n * @name devices-standard-info.rx\n * @description devices-standard reactive service in ngx-responsive\n *\n * \n * @license MIT\n */\nimport { Injectable } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { DeviceStandardInfo } from './devices-standard-info';\n\n@Injectable()\nexport class DeviceStandardInfoRx extends DeviceStandardInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n}\n","/**\n * @name orientation-info.rx\n * @description Orientation reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { OrientationInfo } from './orientation-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Injectable()\nexport class OrientationInfoRx extends OrientationInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n}\n","/**\n * @name devices\n * @description Device module in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport {\n  IsDesktopDirective,\n  IsTabletDirective,\n  IsMobileDirective,\n  IsSmartTvDirective,\n  ShowItDeviceDirective,\n  HideItDeviceDirective,\n  IsIphoneDirective,\n  IsIpadDirective,\n  IsAndroidMobileDirective,\n  IsAndroidTabletDirective,\n  IsWindowsPhoneDirective,\n  ShowItStandardDirective,\n  HideItStandardDirective,\n  IsPortraitDirective,\n  IsLandscapeDirective\n} from './devices-directives';\n\nimport { DeviceInfoDirective } from './devices-info.directive';\nimport { DeviceStandardInfoDirective } from './devices-standard-info.directive';\nimport { OrientationInfoDirective } from './orientation-info.directive';\nimport { DeviceInfoRx } from './devices-info.rx';\nimport { DeviceStandardInfoRx } from './devices-standard-info.rx';\nimport { OrientationInfoRx } from './orientation-info.rx';\n\nexport const DEVICES_DIRECTIVES: Provider[] = [\n  IsDesktopDirective,\n  IsTabletDirective,\n  IsMobileDirective,\n  IsSmartTvDirective,\n  ShowItDeviceDirective,\n  HideItDeviceDirective,\n  IsIphoneDirective,\n  IsIpadDirective,\n  IsAndroidMobileDirective,\n  IsAndroidTabletDirective,\n  IsWindowsPhoneDirective,\n  ShowItStandardDirective,\n  HideItStandardDirective,\n  IsPortraitDirective,\n  IsLandscapeDirective,\n  DeviceInfoDirective,\n  DeviceStandardInfoDirective,\n  OrientationInfoDirective\n];\n\nexport const DEVICES_INFO_RX: Provider[] = [\n  DeviceInfoRx,\n  DeviceStandardInfoRx,\n  OrientationInfoRx\n ];\n\nexport * from './devices-info.rx';\nexport * from './devices-standard-info.rx';\nexport * from './orientation-info.rx';\nexport * from './devices-info.directive';\nexport * from './devices-standard-info.directive';\nexport * from './orientation-info.directive';\nexport * from './devices-directives';\n","/**\n * @name pixelratio.directives\n * @description pixelratio directives in ngx-responsive\n *\n * @license MIT\n */\nimport { Directive, Input, Output, EventEmitter, TemplateRef, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { RESPONSIVE_BASE } from '../../@core/providers/responsive-base/responsive-base';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n/*======== 1x =========*/\n@Directive({\n    selector: '[is1xPixel]'\n})\nexport class Is1xPixelDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = '1x';\n    protected _showWhenTrue = true;\n\n    @Input() set is1xPixel( grid_state: string ) {\n        this.setGrid( this._state, 'pixelratio' );\n    }\n    constructor ( templateRef: TemplateRef<any>,\n                  viewContainer: ViewContainerRef,\n                  _responsiveState: ResponsiveState,\n                  cd: ChangeDetectorRef,\n                  platformService: PlatformService\n         ) {\n         super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n/*======== RETINA =========*/\n@Directive(\n{\n    selector: '[isRetina]'\n})\n\nexport class IsRetinaDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = 'retina';\n    protected _showWhenTrue = true;\n\n    @Input() set isRetina( grid_state: string ) {\n        this.setGrid( this._state, 'pixelratio' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                 _responsiveState: ResponsiveState,\n                 cd: ChangeDetectorRef,\n                 platformService: PlatformService\n        ) {\n        super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n/*======== 4K =========*/\n@Directive(\n{\n    selector: '[is4k]'\n})\nexport class Is4kDirective extends RESPONSIVE_BASE<any> {\n\n    protected _state = '4k';\n    protected _showWhenTrue = true;\n\n    @Input() set isRetina( grid_state: string ) {\n        this.setGrid( this._state, 'pixelratio' );\n    }\n    constructor( templateRef: TemplateRef<any>,\n                 viewContainer: ViewContainerRef,\n                _responsiveState: ResponsiveState,\n                cd: ChangeDetectorRef,\n                platformService: PlatformService\n       ) {\n       super( templateRef, viewContainer, _responsiveState, cd, platformService );\n    }\n}\n\n/*======== DeviceInfo =========*/\n\n@Directive({ selector: 'pixel-ratio-info' })\nexport class PixelRatioInfoDirective implements OnInit, OnDestroy {\n\n    public currentstate: string;\n    private _subscription: Subscription;\n    private noRepeat: string;\n    private _isEnabledForPlatform: boolean = null;\n\n    @Input() set pixelratioInfo( grid_state: string[] | string ) {\n        this.updateData( this.currentstate );\n    }\n\n    @Output() pixelratio: EventEmitter<any> = new EventEmitter();\n\n    constructor(\n        private _responsiveState: ResponsiveState,\n        private viewContainer: ViewContainerRef,\n        private cd: ChangeDetectorRef,\n        platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n    }\n\n    ngOnInit() {\n        if (this._isEnabledForPlatform) {\n            this._subscription = this._responsiveState.pixel$.subscribe(this.updateData.bind( this ));\n        }\n    }\n\n    ngOnDestroy() {\n        if (this._isEnabledForPlatform) {\n            this._subscription.unsubscribe();\n        }\n    }\n\n    updateData( value: any ) {\n        const update = this._ifValueChanged( this.noRepeat, value );\n        if (update) {\n            this.pixelratio.emit( value );\n            this.cd.markForCheck();\n        }\n    }\n\n    _ifValueChanged( oldValue: any, newValue: any ): boolean {\n        if ( oldValue === newValue ) {\n            return false;\n        } else {\n            this.noRepeat = newValue;\n            return true;\n        }\n    }\n}\n","/**\n * @name pixelratio\n * @description pixelratio in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport {\n  Is1xPixelDirective,\n  IsRetinaDirective,\n  Is4kDirective,\n  PixelRatioInfoDirective\n} from './pixelratio-directives';\n\nexport const PIXELRATIO_DIRECTIVES: Provider[] = [\n  Is1xPixelDirective,\n  IsRetinaDirective,\n  Is4kDirective,\n  PixelRatioInfoDirective\n];\n\nexport * from './pixelratio-directives';\n","/**\n * @name responsive\n * @description Responsive directive in ngx-responsive\n *\n * @license MIT\n */\nimport { Output, EventEmitter, Directive, Input, TemplateRef, ViewContainerRef, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { IResponsivePattern, IResponsiveSubscriptions } from '../../@core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { ResponsiveWindowDirective } from \"../responsive-window/responsive-window\";\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive(\n    {\n        selector: '[responsive]'\n    })\nexport class ResponsiveDirective implements OnDestroy {\n\n    private _config: string | string[];\n    @Input() set responsive(config: string | string[]) {\n        this._config = config;\n        this.init_responsive();\n    }\n    get config(): string | string[]{\n        return this._config;\n    }\n    \n    // @Input() responsiveContainer: ResponsiveWindowDirective;\n    private _responsiveContainer:ResponsiveWindowDirective;\n    @Input() \n    set responsiveContainer(value: ResponsiveWindowDirective) {\n      this._responsiveContainer = value;\n      if(this.config){\n          if(this._sizes_window !== null && this._sizes_window !== \"window\") {\n            throw new Error('Responsive directive cannot use window AND responsiveContainer together');\n          }\n          this.init_responsive();\n      }\n    }\n    get responsiveContainer(): ResponsiveWindowDirective{\n        return this._responsiveContainer;\n    }\n\n    @Output() changes: EventEmitter<any> = new EventEmitter();\n    private _windows = null;\n    private _window = null;\n    private _isEnabledForPlatform: boolean = null;\n    public set_values: IResponsivePattern = {\n        bootstrap: '',\n        browser: '',\n        device: '',\n        pixelratio: '',\n        orientation: '',\n        standard: '',\n        ie: '',\n        sizes: 0\n    };\n\n    private set_active_subscriptions: IResponsiveSubscriptions =\n        {\n            bootstrap: false,\n            browser: false,\n            device: false,\n            pixelratio: false,\n            orientation: false,\n            standard: false,\n            ie: false,\n            sizes: false\n        };\n    private match_multiple: IResponsiveSubscriptions =\n        {\n            bootstrap: false,\n            browser: false,\n            device: false,\n            pixelratio: false,\n            orientation: false,\n            standard: false,\n            ie: false,\n            sizes: false\n        };\n\n    private _subscription_Bootstrap: Subscription;\n    private _subscription_Browser: Subscription;\n    private _subscription_Pixel_Ratio: Subscription;\n    private _subscription_Device: Subscription;\n    private _subscription_Orientation: Subscription;\n    private _subscription_Standard: Subscription;\n    private _subscription_IE_Version: Subscription;\n    private _subscription_custom_sizes: Subscription;\n\n\n    protected _showWhenTrue = true;\n    private _globalNoRepeat = 0;\n    private _noRepeatBootstrapName: string;\n\n    private _bootstrapNoRepeat = 0;\n    private _deviceNoRepeat = 0;\n    private _standardNoRepeat = 0;\n    private _orientationNoRepeat = 0;\n    private _browserNoRepeat = 0;\n    private _pixelratioNoRepeat = 0;\n    private _ieNoRepeat = 0;\n    private _sizesNoRepeat = 0;\n\n    private _bootstrap_user_param: string[] = [];\n    private _devices_user_param: string[] = [];\n    private _standard_user_param: string[] = [];\n    private _orientation_user_param: string[] = [];\n    private _browser_user_param: string[] = [];\n    private _pixelratio_user_param: string[] = [];\n    private _ie_user_param: string[] = [];\n    private _sizes_user_param: [number, number] = [0, Number.MAX_VALUE];\n    private _sizes_window = 'window';\n    // private _sizes_container = null;\n\n    protected _actives: string[] = [];\n\n    constructor(\n        public templateRef: TemplateRef<Object>,\n        private _responsiveState: ResponsiveState,\n        private viewContainer: ViewContainerRef,\n        private cd: ChangeDetectorRef,\n        platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n    }\n\n    public init_responsive(): void {\n        const config: any = this.config;\n        if (this.isJSON(config)) {\n            if (!!config.bootstrap && this._bootstrapNoRepeat === 0) {\n                this._bootstrap_user_param = <string[]>(Array.isArray(config.bootstrap) ? config.bootstrap : [config.bootstrap]);\n                this._bootstrapNoRepeat = 1;\n                this.set_active_subscriptions.bootstrap = true;\n            }\n            if (!!config.device && this._deviceNoRepeat === 0) {\n                this._devices_user_param = <string[]>(Array.isArray(config.device) ? config.device : [config.device]);\n                this._deviceNoRepeat = 1;\n                this.set_active_subscriptions.device = true;\n            }\n            if (!!config.standard && this._standardNoRepeat === 0) {\n                this._standard_user_param = <string[]>(Array.isArray(config.standard) ? config.standard : [config.standard]);\n                this._standardNoRepeat = 1;\n                this.set_active_subscriptions.standard = true;\n            }\n            if (!!config.orientation && this._orientationNoRepeat === 0) {\n                this._orientation_user_param = <string[]>(Array.isArray(config.orientation) ? config.orientation : [config.orientation]);\n                this._orientationNoRepeat = 1;\n                this.set_active_subscriptions.orientation = true;\n            }\n            if (!!config.browser && this._browserNoRepeat === 0) {\n                this._browser_user_param = <string[]>(Array.isArray(config.browser) ? config.browser : [config.browser]);\n                this._browserNoRepeat = 1;\n                this.set_active_subscriptions.browser = true;\n            }\n            if (!!config.pixelratio && this._pixelratioNoRepeat === 0) {\n                this._pixelratio_user_param = <string[]>(Array.isArray(config.pixelratio) ? config.pixelratio : [config.pixelratio]);\n                this._pixelratioNoRepeat = 1;\n                this.set_active_subscriptions.pixelratio = true;\n            }\n            if (!!config.ie && this._ieNoRepeat === 0) {\n                this._ie_user_param = <string[]>(Array.isArray(config.ie) ? config.ie : [config.ie]);\n                this._ieNoRepeat = 1;\n                this.set_active_subscriptions.ie = true;\n            }\n            if (!!config.sizes && this._sizesNoRepeat === 0) {\n                const _min = config.sizes.min || 0;\n                const _max = config.sizes.max || Number.MAX_VALUE;\n                const _win = config.sizes.window;\n                if (_win !== undefined) {\n                    this._sizes_window = _win;\n                }\n                // this._sizes_container = value.sizes.container;\n                this._sizes_user_param = [_min, _max];\n                this._sizesNoRepeat = 1;\n                this.set_active_subscriptions.sizes = true;\n            }\n        } else if (Array.isArray(config)) {\n            throw new Error('Responsive directive don´t work with a only array parameter');\n        } else if (typeof config === 'string') {\n            throw new Error('Responsive directive don´t work with a only string parameter');\n        } else if (typeof config === 'number') {\n            throw new Error('Responsive directive don´t work with a only number parameter');\n        } else if (typeof config === 'undefined' || config === null) {\n            throw new Error('Responsive directive don´t work without a param');\n        }\n\n        for (let key in this.set_active_subscriptions) {\n            if (this.set_active_subscriptions[key]) {\n                this._actives.push(key);\n            }\n        }\n        if (this._isEnabledForPlatform) {\n            if (this.set_active_subscriptions.bootstrap) {\n                this._subscription_Bootstrap = this._responsiveState.elemento$.subscribe(this.updateBootstrap.bind(this));\n            }\n            if (this.set_active_subscriptions.browser) {\n                this._subscription_Browser = this._responsiveState.browser$.subscribe(this.updateBrowser.bind(this));\n            }\n\n            if (this.set_active_subscriptions.device) {\n                this._subscription_Device = this._responsiveState.device$.subscribe(this.updateDevice.bind(this));\n            }\n\n            if (this.set_active_subscriptions.pixelratio) {\n                this._subscription_Pixel_Ratio = this._responsiveState.pixel$.subscribe(this.updatePixelRatio.bind(this));\n            }\n\n            if (this.set_active_subscriptions.orientation) {\n                this._subscription_Orientation = this._responsiveState.orientation$.subscribe(this.updateOrientation.bind(this));\n            }\n\n            if (this.set_active_subscriptions.standard) {\n                this._subscription_Standard = this._responsiveState.standard$.subscribe(this.updateStandard.bind(this));\n            }\n\n            if (this.set_active_subscriptions.ie) {\n                this._subscription_IE_Version = this._responsiveState.ieVersion$.subscribe(this.updateIEversion.bind(this));\n            }\n\n            if (this.set_active_subscriptions.sizes) {\n                this._subscription_custom_sizes = this._responsiveState.ancho$.subscribe(this.updateSizes.bind(this));\n            }\n        }\n    }\n\n    private updateBootstrap(value: string): void {\n        const _update = this._ifValueChanged(this._noRepeatBootstrapName, value);\n        if (_update) {\n            this.set_values.bootstrap = value;\n        }\n        this.updateEvent(this.set_values.bootstrap, 'bootstrap');\n    }\n    private updateBrowser(value: string): void {\n        this.set_values.browser = value;\n        this.updateEvent(this.set_values.browser, 'browser');\n    }\n    private updateDevice(value: string): void {\n        this.set_values.device = value;\n        this.updateEvent(this.set_values.device, 'device');\n    }\n    private updatePixelRatio(value: string): void {\n        this.set_values.pixelratio = value;\n        this.updateEvent(this.set_values.pixelratio, 'pixelratio');\n    }\n    private updateOrientation(value: string): void {\n        this.set_values.orientation = value;\n        this.updateEvent(this.set_values.orientation, 'orientation');\n    }\n    private updateStandard(value: string): void {\n        this.set_values.standard = value;\n        this.updateEvent(this.set_values.standard, 'standard');\n    }\n    private updateIEversion(value: string): void {\n        this.set_values.ie = value;\n        this.updateEvent(this.set_values.ie, 'ie');\n    }\n    private updateSizes(value: number): void {\n        if(this.responsiveContainer){\n            this.set_values.sizes = this._isEnabledForPlatform ? this.responsiveContainer.getWidth() : 0;\n        }else if (this._sizes_window){\n            this.set_values.sizes = this._responsiveState.getWidth(this._sizes_window);\n        }else{\n            this.set_values.sizes = value;\n        }\n        this.updateEvent(this.set_values.sizes, 'sizes');\n    }\n\n    private updateEvent(param: any, type_directive: string): void {\n        if (!!this._showWhenTrue) {\n            switch (type_directive) {\n                case 'bootstrap':\n                    this.showHideOperations(this._bootstrap_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'device':\n                    this.showHideOperations(this._devices_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'standard':\n                    this.showHideOperations(this._standard_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'orientation':\n                    this.showHideOperations(this._orientation_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'browser':\n                    this.showHideOperations(this._browser_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'pixelratio':\n                    this.showHideOperations(this._pixelratio_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'ie':\n                    this.showHideOperations(this._ie_user_param.indexOf(param) !== -1, type_directive);\n                    break;\n                case 'sizes':\n                    this.showHideOperations(\n                        (\n                            param >= this._sizes_user_param[0] &&\n                            param < this._sizes_user_param[1]\n                        ),\n                        type_directive);\n                    break;\n            }\n        } else {\n\n            switch (type_directive) {\n                case 'bootstrap':\n                    this.showHideOperations(!(this._bootstrap_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'device':\n                    this.showHideOperations(!(this._devices_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'standard':\n                    this.showHideOperations(!(this._standard_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'orientation':\n                    this.showHideOperations(!(this._orientation_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'browser':\n                    this.showHideOperations(!(this._browser_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'pixelratio':\n                    this.showHideOperations(!(this._pixelratio_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'ie':\n                    this.showHideOperations(!(this._ie_user_param.indexOf(param)), type_directive);\n                    break;\n                case 'sizes':\n                    this.showHideOperations(!((\n                        param >= this._sizes_user_param[0] &&\n                        param < this._sizes_user_param[1])),\n                        type_directive);\n                    break;\n            }\n        }\n    }\n\n    private showHideOperations(show: boolean, type_directive: string): void {\n        const global_state = this.matchValues(show, type_directive);\n        if (!!global_state) {\n            if (this._globalNoRepeat === 0) {\n                this._globalNoRepeat = 1;\n                this.viewContainer.createEmbeddedView(this.templateRef);\n                this.changes.emit(true);\n                this.cd.markForCheck();\n            }\n        } else {\n            this._globalNoRepeat = 0;\n            this.changes.emit(false);\n            this.viewContainer.clear();\n            this.cd.markForCheck();\n        }\n    }\n\n    private matchValues(show: boolean, type_directive: string) {\n        let match = true;\n        if (show) {\n            this.match_multiple[type_directive] = true;\n        } else {\n            this.match_multiple[type_directive] = false;\n        }\n\n        for (let all_key in this.match_multiple) {\n            for (let active of this._actives) {\n                if (all_key == active && this.match_multiple[all_key] === false)\n                    return match = false;\n            }\n        }\n        return match;\n    }\n\n    public ngOnDestroy(): void {\n        if (this._isEnabledForPlatform) {\n            if (this.set_active_subscriptions.bootstrap) {\n                this._subscription_Bootstrap.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.browser) {\n                this._subscription_Browser.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.device) {\n                this._subscription_Device.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.pixelratio) {\n                this._subscription_Pixel_Ratio.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.orientation) {\n                this._subscription_Orientation.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.standard) {\n                this._subscription_Standard.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.ie) {\n                this._subscription_IE_Version.unsubscribe();\n            }\n\n            if (this.set_active_subscriptions.sizes) {\n                this._subscription_custom_sizes.unsubscribe();\n            }\n        }\n    }\n\n    private _ifValueChanged(oldValue: any, newValue: any): boolean {\n        if (oldValue === newValue) {\n            return false;\n        } else {\n            this._noRepeatBootstrapName = newValue;\n            return true;\n        }\n    }\n\n    private isJSON(value: any): boolean {\n        try {\n            JSON.stringify(value);\n            return true;\n        } catch (ex) {\n            return false;\n        }\n    }\n}\n","/**\n * @name responsive\n * @description Responsive in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport { ResponsiveDirective } from './responsive';\nexport const RESPONSIVE_DIRECTIVE: Provider[] = [ ResponsiveDirective ];\nexport * from './responsive';\n","/**\n * @name responsive-size-info\n * @description Responsive Size Info abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\nexport abstract class ResponsiveSizeInfo {\n    private _subscription: Subscription;\n    private _isEnabledForPlatform: boolean = null;\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject<any>();\n    constructor( public _responsiveState: ResponsiveState,\n        platformService: PlatformService\n    ) {\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n    }\n    public connect(): Observable<any> {\n        if (this._isEnabledForPlatform) {\n            this._subscription = this._responsiveState.elemento$.pipe(distinctUntilChanged())\n                .subscribe((data) => {\n                    this._updateData(data);\n                });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isEnabledForPlatform) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getResponsiveSize(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _updateData(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name responsive-size-info.directive\n * @description Responsive Size Info directive in ngx-responsive\n *\n * @license MIT\n */\nimport { Directive, EventEmitter, Input, Output, ViewContainerRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { ResponsiveSizeInfo } from './responsive-size-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive({ selector: 'responsiveSizeInfo' })\nexport class ResponsiveSizeInfoDirective extends ResponsiveSizeInfo implements OnInit, OnDestroy {\n    public currentstate: string;\n    @Input() set responsiveSizeInfo(grid_state: string[] | string) {\n        this._updateData(this.currentstate);\n    }\n    @Output() statechanges: EventEmitter<any> = new EventEmitter();\n\n    constructor(public _responsiveState: ResponsiveState,\n        public viewContainer: ViewContainerRef,\n        public cd: ChangeDetectorRef,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n    ngOnInit(): void {\n        this.connect();\n    }\n    ngOnDestroy(): void {\n        this.disconnect();\n    }\n    protected _updateData(value: any): void {\n        this.statechanges.emit(value);\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name responsive-size-info.rx\n * @description Responsive Size Info reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { ResponsiveSizeInfo } from './responsive-size-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Injectable()\nexport class ResponsiveSizeInfoRx extends ResponsiveSizeInfo {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n}\n","/**\n * @name responsive-size-info\n * @description Responsive Size Info in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport { ResponsiveSizeInfoDirective } from './responsive-size-info.directive';\nimport { ResponsiveSizeInfoRx } from './responsive-size-info.rx';\nexport const RESPONSIVE_SIZE_INFO_DIRECTIVE: Provider[] = [ ResponsiveSizeInfoDirective ];\nexport const RESPONSIVE_SIZE_INFO_RX: Provider[] = [ ResponsiveSizeInfoRx ];\n\nexport * from './responsive-size-info';\nexport * from './responsive-size-info.directive';\nexport * from './responsive-size-info.rx';\n\n","/**\n * @name responsive-window\n * @description responsiveWindow Directive in ngx-responsive\n *\n * @license MIT\n */\nimport { DoCheck, Directive, Input, ElementRef, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { ResponsiveConfig } from \"../../@core/providers/responsive-config/responsive-config\";\nimport { Observable } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive({\n    selector: \"[responsive-window]\",\n    exportAs: \"container\"\n})\nexport class ResponsiveWindowDirective implements OnInit, OnDestroy, DoCheck {\n\n    private _noRepeat: string;\n    private element: HTMLElement;\n    private _isEnabledForPlatform: boolean = null;\n\n    @Input('responsive-window') name: string;\n\n    public currentBreakpoint$: Observable<string>;\n\n    constructor(\n        private _responsiveState: ResponsiveState,\n        private el: ElementRef,\n        private cd: ChangeDetectorRef,\n        platformService: PlatformService,\n        private _responsiveConfig: ResponsiveConfig) {\n\n        this._isEnabledForPlatform = platformService.isEnabledForPlatform();\n        if (this._isEnabledForPlatform) {\n            this.element = el.nativeElement;\n        }\n\n        this.currentBreakpoint$ = this._responsiveState\n            .ancho$\n            .pipe(\n                map(this.getCurrentBreakpoint.bind(this))\n            );\n    }\n    public ngOnInit(): void {\n        if (this._isEnabledForPlatform) {\n            this._responsiveState.registerWindow(this);\n        }\n    }\n\n    public ngDoCheck(): void {\n        if (this._isEnabledForPlatform) {\n            const _update = this._ifValueChanged(this._noRepeat, this.name);\n            if (_update) {\n                this._responsiveState.unregisterWindow(this);\n                this._responsiveState.registerWindow(this);\n                this.cd.markForCheck();\n            }\n        }\n    }\n    public ngOnDestroy() {\n        if (this._isEnabledForPlatform) {\n            this._responsiveState.unregisterWindow(this);\n        }\n    }\n\n    public getWidth() {\n        return (this._isEnabledForPlatform) ? this.element.offsetWidth : 0;\n    }\n\n    public getCurrentBreakpoint(): string {\n        const width: number = this.getWidth();\n        // console.error(\"getCurrentBreakpoint\", width)\n        if (this._responsiveConfig.config.breakPoints.xxl.min <= width) {\n            return 'xxl';\n        } else if (this._responsiveConfig.config.breakPoints.xl.max >= width && this._responsiveConfig.config.breakPoints.xl.min <= width) {\n            return 'xl';\n        } else if (this._responsiveConfig.config.breakPoints.lg.max >= width && this._responsiveConfig.config.breakPoints.lg.min <= width) {\n            return 'lg';\n        } else if (this._responsiveConfig.config.breakPoints.md.max >= width && this._responsiveConfig.config.breakPoints.md.min <= width) {\n            return 'md';\n        } else if (this._responsiveConfig.config.breakPoints.sm.max >= width && this._responsiveConfig.config.breakPoints.sm.min <= width) {\n            return 'sm';\n        } else if (this._responsiveConfig.config.breakPoints.xs.max >= width) {\n            return 'xs';\n        }\n    }\n\n\n    private _ifValueChanged(oldValue: any, newValue: any): boolean {\n        if (oldValue === newValue) {\n            return false;\n        } else {\n            this._noRepeat = newValue;\n            return true;\n        }\n    }\n}\n","import { Provider } from '@angular/core';\nimport { ResponsiveWindowDirective } from './responsive-window';\nexport const RESPONSIVEWINDOW_DIRECTIVE: Provider[] = [ ResponsiveWindowDirective ];\nexport * from './responsive-window';\n","/**\n * @name useragent-info\n * @description User agent info abstract class in ngx-responsive\n *\n * @license MIT\n */\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\n\nexport abstract class UserAgentInfo {\n    public replaySubject$: ReplaySubject<any> = new ReplaySubject();\n    private _isBrowser: boolean = null;\n    private _subscription: Subscription;\n    constructor(public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) {\n        this._isBrowser = isPlatformBrowser(this._platformId);\n    }\n    public connect(): Observable<any> {\n        if (this._isBrowser) {\n            this._subscription = this._responsiveState.userAgent$.pipe(distinctUntilChanged())\n                .subscribe((data) => {\n                    this._emitUserAgent(data);\n            });\n        }\n        return this.replaySubject$.asObservable();\n    }\n    public disconnect(): void {\n        if (this._isBrowser) {\n            this._subscription.unsubscribe();\n        }\n    }\n    get getUserAgent(): Observable<any> {\n        return this.replaySubject$.asObservable();\n    }\n    protected _emitUserAgent(value: any): void {\n        this.replaySubject$.next(value);\n    }\n}\n","/**\n * @name useragent-info.directive\n * @description Useragent info directive in ngx-responsive\n *\n * @license MIT\n */\nimport { Output, EventEmitter, Directive, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\n\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { UserAgentInfo } from './useragent-info';\nimport { PlatformService } from '../../@core/providers/platform-service/platform.service';\n\n@Directive(\n{\n    selector: 'user-agent-info'\n})\nexport class UserAgentInfoDirective extends UserAgentInfo implements OnInit, OnDestroy {\n    @Output() info: EventEmitter<any> = new EventEmitter();\n    constructor(\n        public _responsiveState: ResponsiveState,\n        public cd: ChangeDetectorRef,\n        platformService: PlatformService\n    ) { super(_responsiveState, platformService); }\n    public ngOnInit(): void {\n        this.connect();\n    }\n    public ngOnDestroy(): void {\n        this.disconnect();\n    }\n    protected _emitUserAgent ( value: any ): void {\n        this.info.emit( value );\n        this.cd.markForCheck();\n    }\n}\n","/**\n * @name useragent-info.rx\n * @description Useragent info reactive service in ngx-responsive\n *\n * @license MIT\n */\nimport { Injectable} from '@angular/core';\nimport { PLATFORM_ID, Inject } from '@angular/core';\nimport { ResponsiveState } from '../../@core/providers/responsive-state/responsive-state';\nimport { UserAgentInfo } from './useragent-info';\n\n@Injectable()\nexport class UserAgentInfoRx extends UserAgentInfo  {\n    constructor( \n        public _responsiveState: ResponsiveState,\n        @Inject(PLATFORM_ID) protected _platformId\n    ) { super(_responsiveState, _platformId); }\n}\n","/**\n * @name useragent\n * @description Useragent in ngx-responsive\n *\n * @license MIT\n */\nimport { Provider } from '@angular/core';\nimport { UserAgentInfoDirective } from './useragent-info.directive';\nimport { UserAgentInfoRx } from './useragent-info.rx';\nexport const USERAGENT_INFO_DIRECTIVE: Provider[] = [ UserAgentInfoDirective ];\nexport const USERAGENT_INFO_RX: Provider[] = [ UserAgentInfoRx ];\n\nexport * from './useragent-info';\nexport * from './useragent-info.directive';\nexport * from './useragent-info.rx';\n","/**\n * @name directives\n * @description Directives in ngx-responsive\n *\n * @license MIT\n */\n\nexport * from './bootstrap/index';\nexport * from './browsers/index';\nexport * from './custom-sizes/index';\nexport * from './devices/index';\nexport * from './pixelratio/index';\nexport * from './responsive/index';\nexport * from './responsive-size-info/index';\nexport * from './responsive-size-info/index';\nexport * from './responsive-size-info/index';\nexport * from './responsive-window/index';\nexport * from './useragent/index';\n","/**\n * @name responsive.module\n * @description Core module in ngx-responsive\n *\n * @author Manu Cutillas\n * @license MIT\n */\n\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { ResponsiveState } from './@core/providers/responsive-state/responsive-state';\nimport { ResponsiveConfig } from './@core/providers/responsive-config/responsive-config';\nimport { InjectionToken } from '@angular/core';\nimport { BOOTSTRAP_DIRECTIVES } from './@directives/bootstrap/index';\nimport { BROWSER_DIRECTIVES, BROWSER_INFO_RX, IE_INFO_RX } from './@directives/browsers/index';\nimport { CUSTOMSIZES_DIRECTIVES } from './@directives/custom-sizes/index';\nimport { DEVICES_DIRECTIVES, DEVICES_INFO_RX } from './@directives/devices/index';\nimport { PIXELRATIO_DIRECTIVES } from './@directives/pixelratio/index';\nimport { RESPONSIVE_DIRECTIVE } from './@directives/responsive/index';\nimport { RESPONSIVE_SIZE_INFO_DIRECTIVE, RESPONSIVE_SIZE_INFO_RX } from './@directives/responsive-size-info/index';\nimport { RESPONSIVEWINDOW_DIRECTIVE } from './@directives/responsive-window/index';\nimport { USERAGENT_INFO_DIRECTIVE, USERAGENT_INFO_RX } from './@directives/useragent/index';\nimport { IResponsiveConfig } from './@core/interfaces/responsive-config.interfaces';\nimport { PlatformService } from './@core/providers/platform-service/platform.service';\nexport const RESPONSIVE_CONFIGURATION = new InjectionToken<IResponsiveConfig>('config');\n\nexport function responsiveConfiguration(config: IResponsiveConfig) {\n    return new ResponsiveConfig(config);\n}\n@NgModule({\n    declarations:\n        [\n            BOOTSTRAP_DIRECTIVES,\n            BROWSER_DIRECTIVES,\n            CUSTOMSIZES_DIRECTIVES,\n            DEVICES_DIRECTIVES,\n            PIXELRATIO_DIRECTIVES,\n            RESPONSIVE_DIRECTIVE,\n            RESPONSIVEWINDOW_DIRECTIVE,\n            USERAGENT_INFO_DIRECTIVE,\n            RESPONSIVE_SIZE_INFO_DIRECTIVE\n        ],\n    exports:\n        [\n            BOOTSTRAP_DIRECTIVES,\n            BROWSER_DIRECTIVES,\n            CUSTOMSIZES_DIRECTIVES,\n            DEVICES_DIRECTIVES,\n            PIXELRATIO_DIRECTIVES,\n            RESPONSIVE_DIRECTIVE,\n            RESPONSIVEWINDOW_DIRECTIVE,\n            USERAGENT_INFO_DIRECTIVE,\n            RESPONSIVE_SIZE_INFO_DIRECTIVE\n        ]\n})\nexport class ResponsiveModule {\n    public static forRoot(config: IResponsiveConfig = null): ModuleWithProviders<ResponsiveModule> {\n        return {\n            ngModule: ResponsiveModule,\n            providers: [            {\n                provide: RESPONSIVE_CONFIGURATION,\n                useValue: (config !== null) ? config : {\n                    breakPoints: {\n                        xs: { max: 575 },\n                        sm: { min: 576, max: 767 },\n                        md: { min: 768, max: 991 },\n                        lg: { min: 992, max: 1199 },\n                        xl: { min: 1200, max: 1399 },\n                        xxl: { min: 1400 },\n                    },\n                    debounceTime: 100,\n                    renderOnServer: false\n                } as IResponsiveConfig\n            },{\n                provide: ResponsiveConfig,\n                useFactory: responsiveConfiguration,\n                deps:[RESPONSIVE_CONFIGURATION]\n            },\n            ResponsiveState,\n            PlatformService,\n            RESPONSIVE_SIZE_INFO_RX,\n            USERAGENT_INFO_RX,\n            BROWSER_INFO_RX,\n            IE_INFO_RX,\n            DEVICES_INFO_RX]\n        };\n    }\n}\n\n\n","/**\n * @name ngx-responsive\n * @description Devices Detect Directives for Angular\n * @author Manuel Cutillas\n *\n * ```\n * #Contributors\n *  - Christophe HOARAU\n *  - Kamil Breguła\n *  - Janne Julkunen\n *  - phransyz\n *  - Michael Burger\n *  - Alyssa Brunswick\n *  - Quentin\n *  - Thomas Christensen\n *  - MattSenter\n *  - lydemann\n * ```\n * @created_at May 04, 2016\n * @updated_at May 12, 2020\n * @version v9.0.0\n *\n * @angular/core : \"9.x.x\"\n * rxjs: \"9.x.x\"\n */\nexport * from \"./@core/index\";\nexport * from \"./@directives/index\";\nexport * from \"./responsive.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.PlatformService","i2.ResponsiveConfig","i1.ResponsiveState","i2.PlatformService","i3.ResponsiveConfig","i1.XxlDirective","i1.XlDirective","i1.LgDirective","i1.MdDirective","i1.SmDirective","i1.XsDirective","i1.ShowItBootstrapDirective","i1.HideItBootstrapDirective","i2.IsChromeDirective","i2.IsFirefoxDirective","i2.IsSafariDirective","i2.IsOperaDirective","i2.IsIEDirective","i2.IsIE9Directive","i2.IsIE10Directive","i2.IsIE11Directive","i2.IsIE12Directive","i2.ShowItBrowserDirective","i2.HideItBrowserDirective","i2.ShowIEVersionDirective","i2.HideIEVersionDirective","i3.BrowserInfoDirective","i4.IeInfoDirective","i5.ShowItSizesDirective","i5.HideItSizesDirective","i6.IsDesktopDirective","i6.IsTabletDirective","i6.IsMobileDirective","i6.IsSmartTvDirective","i6.ShowItDeviceDirective","i6.HideItDeviceDirective","i6.IsIphoneDirective","i6.IsIpadDirective","i6.IsAndroidMobileDirective","i6.IsAndroidTabletDirective","i6.IsWindowsPhoneDirective","i6.ShowItStandardDirective","i6.HideItStandardDirective","i6.IsPortraitDirective","i6.IsLandscapeDirective","i7.DeviceInfoDirective","i8.DeviceStandardInfoDirective","i9.OrientationInfoDirective","i10.Is1xPixelDirective","i10.IsRetinaDirective","i10.Is4kDirective","i10.PixelRatioInfoDirective","i11.ResponsiveDirective","i12.ResponsiveWindowDirective","i13.UserAgentInfoDirective","i14.ResponsiveSizeInfoDirective"],"mappings":"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"}