{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.box.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Foundation","Box","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__","ImNotTouchingYou","element","parent","lrOnly","tbOnly","ignoreBottom","OverlapArea","GetDimensions","GetOffsets","anchor","position","vOffset","hOffset","isOverflow","console","log","Rtl","GetExplicitOffsets","left","$eleDims","windowDims","offset","width","top","height","$anchorDims","topOver","bottomOver","leftOver","rightOver","eleDims","parDims","Math","min","sqrt","elem","length","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","alignment","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\n\nimport { rtl as Rtl } from \"./foundation.core.utils\";\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetOffsets: GetOffsets,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n};\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n console.log(\"NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5\");\n switch (position) {\n case 'top':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow);\n case 'bottom':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n case 'center top':\n return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow);\n case 'center bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow);\n case 'center left':\n return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow);\n case 'center right':\n return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow);\n case 'left bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow);\n case 'right bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n // Backwards compatibility... this along with the reveal and reveal full\n // classes are the only ones that didn't reference anchor\n case 'center':\n return {\n left: ($eleDims.windowDims.offset.left + ($eleDims.windowDims.width / 2)) - ($eleDims.width / 2) + hOffset,\n top: ($eleDims.windowDims.offset.top + ($eleDims.windowDims.height / 2)) - ($eleDims.height / 2 + vOffset)\n }\n case 'reveal':\n return {\n left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset,\n top: $eleDims.windowDims.offset.top + vOffset\n }\n case 'reveal full':\n return {\n left: $eleDims.windowDims.offset.left,\n top: $eleDims.windowDims.offset.top\n }\n break;\n default:\n return {\n left: (Rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset: $anchorDims.offset.left + hOffset),\n top: $anchorDims.offset.top + $anchorDims.height + vOffset\n }\n\n }\n\n}\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n // set position related attribute\n\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"]}