{"version":3,"sources":["webpack:////__w/1/s/node_modules/lodash/_createSet.js","webpack:////__w/1/s/libs/intl-ui/src/Modules/ComponentListRenderer/ComponentListRenderer.tsx","webpack:////__w/1/s/node_modules/lodash/isEmpty.js","webpack:////__w/1/s/node_modules/lodash/isArrayLikeObject.js","webpack:////__w/1/s/node_modules/lodash/_arrayIncludes.js","webpack:////__w/1/s/libs/intl-ui/src/Elements/Script/Script.tsx","webpack:////__w/1/s/node_modules/lodash/union.js","webpack:////__w/1/s/node_modules/lodash/_baseIndexOf.js","webpack:////__w/1/s/libs/intl-util/src/removeLine.ts","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/SimpleBanner/SimpleBanner.style.ts","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/SimpleBanner/SimpleBanner.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/Menu.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/CustomMenuItems/useCustomMenuItems.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/CustomMenuItems/TestMenuItem/TestMenuItem.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/components/MenuItemList/components/MenuItem/components/Price/Price.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/components/MenuItemList/components/MenuItem/MenuItem.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/components/MenuItemList/components/MenuItem/MenuItem.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/components/MenuItemList/components/MenuColumnLoader/MenuColumnLoader.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/components/MenuItemList/MenuItemList.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Menu/Menu.tsx","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/MenuPage/useMenu.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/pages/menu.tsx","webpack:////__w/1/s/node_modules/lodash/_strictIndexOf.js","webpack:////__w/1/s/node_modules/lodash/noop.js","webpack:////__w/1/s/node_modules/lodash/_baseUniq.js","webpack:////__w/1/s/node_modules/lodash/_arrayIncludesWith.js","webpack:////__w/1/s/node_modules/lodash/_baseIsNaN.js"],"names":["Set","noop","setToArray","createSet","values","module","exports","ComponentListRenderer","_ref","listText","Component","Box","Array","isArray","React","_map2","value","data-testid","key","baseKeys","getTag","isArguments","isArrayLike","isBuffer","isPrototype","isTypedArray","hasOwnProperty","Object","prototype","splice","length","tag","size","call","isObjectLike","baseIndexOf","array","Script","tilt","sx","children","isRussiaSite","checkCountryLocale","_objectSpread","fontFamily","transform","textTransform","display","baseFlatten","baseRest","baseUniq","isArrayLikeObject","union","arrays","baseFindIndex","baseIsNaN","strictIndexOf","fromIndex","removeLine","object","line","SimpleBanner","backgroundColor","mb","p","position","overflow","flexDirection","Headline","color","zIndex","mt","fontSize","fontWeight","lineHeight","TitleScript","Image","width","height","script","title","image","direction","Flex","Styled","Heading","as","top","left","right","alt","src","HeaderLayout","textAlign","textHeader","legalText","CustomMenuItems","TestMenuItem","props","minHeight","JSON","stringify","Price","priceText","price","subscript","verticalAlign","MenuItem","marginBottom","ItemContent","alignSelf","ItemImage","m","PreHeader","ItemName","Description","marginTop","CornerIcon","bottom","preHeader","description","icon","itemName","_objectWithoutProperties","_excluded","assign","_isEmpty2","Text","priceObject","index","MenuColumnLoader","list","column","filteredList","_filter2","menuItem","isRight","ItemList","ValidCustomComponent","customMenuItemComponent","CustomMenuItem","id","MenuItemList","activeMenuItems","justifyContent","Menu","menu","simpleBanner","textBar","dangerouslySetInnerHTML","__html","useMenu","locale","_data$franchiseeMenu","_filteredMenuByFranch","data","useStaticQuery","franchiseeId","SelectedFranchiseeId","useSelectedFranchiseeId","franchisees","useFranchisees","franchiseeDirection","filteredMenuByFranchisee","franchiseeFilter","franchiseeMenu","nodes","newActiveMenuItem","_menuItem$icon","_menuItem$image","newMenuItem","url","name","undefined","leftColumn","rightColumn","cleanedActiveMenuItems","_union2","bannerScript","bannerTitle","bannerImage","sortedActiveMenuItems","_sortBy2","MenuPage","pathContext","menuData","Helmet","content","Layout","Container","px","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","iteratee","comparator","includes","isCommon","result","seen","set","outer","computed","seenIndex","push"],"mappings":"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","file":"component---themes-gatsby-theme-multi-site-src-pages-menu-tsx-082bc63d06ba3343eeef.js","sourcesContent":["var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","import * as React from 'react';\nimport { map as _map } from 'lodash';\nimport Box from '@lce/slice_v2/Layout/Box';\n\ninterface IComponentListRendererProps {\n listText?: string | string[];\n Component?: any;\n}\n\nconst ComponentListRenderer: React.FC = ({ listText, Component = Box }) => {\n if (Array.isArray(listText)) {\n return (\n <>\n {_map(listText, value => (\n \n {value}\n \n ))}\n \n );\n }\n\n if (listText && !Array.isArray(listText)) {\n return {listText};\n }\n return null;\n};\n\nexport default ComponentListRenderer;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","import * as React from 'react';\n\nimport Box from '@lce/slice_v2/Layout/Box';\nimport { SxStyleProp } from 'theme-ui';\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\n\nexport interface IScriptProps {\n tilt?: number;\n sx?: SxStyleProp;\n}\n\nconst Script: React.FC = ({ tilt = 3, sx, children }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n return(\n \n {children}\n \n );\n};\n\nexport default Script;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","import { map as _map } from 'lodash';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\n\nconst removeLine = (array?: ILineObject[]): string[] => _map(array, object => object.line);\n\nexport default removeLine;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const SimpleBanner: SxStyleProp = {\n backgroundColor: 'primary',\n mb: '24px',\n p: '12px',\n position: 'relative',\n overflow: 'hidden',\n flexDirection: 'row',\n};\n\nexport const Headline: SxStyleProp = {\n color: 'white',\n fontFamily: 'primary',\n zIndex: 1,\n mt: [ '100px', '52px', '0' ],\n fontSize: [ 24, 44 ],\n fontWeight: 'bold',\n lineHeight: '0.8em',\n};\n\nexport const TitleScript: SxStyleProp = {\n color: 'black',\n fontWeight: 'normal',\n fontSize: '0.75em',\n mb: '0',\n};\n\nexport const Image: SxStyleProp = {\n width: '100%',\n height: 'auto',\n};\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Heading from '@lce/slice_v2/Elements/Heading';\nimport Image from '@lce/slice_v2/Elements/Image';\nimport { Direction } from '@lce/intl-types/src/IDirection';\n\nimport ComponentListRenderer from '../../../Modules/ComponentListRenderer';\nimport Script from '../../../Elements/Script';\nimport * as Styled from './SimpleBanner.style';\n\nexport interface ISimpleBannerProps {\n script?: string;\n title?: string[];\n image?: string;\n direction: Direction;\n}\n\nconst SimpleBanner: React.FC = ({ script, title, image, direction }) => (\n \n \n \n \n \n {image && (\n \n \"\"\n \n )}\n \n);\n\nexport default SimpleBanner;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const HeaderLayout: SxStyleProp = {\n textAlign: 'center',\n backgroundColor: '#bcbec0',\n mb: 12,\n p: '8px 0',\n};\n\nexport const textHeader: SxStyleProp = {\n fontWeight: 'bold',\n mb: 0,\n color: 'white',\n fontSize: 14,\n};\n\nexport const legalText: SxStyleProp = {\n fontFamily: 'tertiary',\n};\n","import * as React from 'react';\n//Import custom banners here and add them to the Banners object.\nimport TestMenuItem from './TestMenuItem';\n\nexport interface IObjectIndexer {\n [key: string]: T;\n}\n\nconst CustomMenuItems: IObjectIndexer> = {\n TestMenuItem,\n};\n\nexport default CustomMenuItems;\n","import * as React from 'react';\n\nimport Box from '@lce/slice_v2/Layout/Box';\n\nconst TestMenuItem: React.FC = props => (\n \n SOME CUSTOM MENU ITEM COMPONENT\n {JSON.stringify(props)}\n \n);\n\nexport default TestMenuItem;\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\n\nexport interface IPriceProps {\n priceText: string;\n price: string;\n subscript: string;\n}\n\nconst Price: React.FC = ({ priceText, price, subscript }) => (\n \n {priceText}\n \n {price} {subscript &&\n {subscript}}\n \n \n);\n\nexport default Price;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const MenuItem: SxStyleProp = {\n backgroundColor: 'primary',\n flexDirection: ['column-reverse', 'row'],\n overflow: 'hidden',\n position: 'relative',\n height: ['inherit', '264px'],\n marginBottom: '24px',\n};\n\nexport const ItemContent: SxStyleProp = {\n alignSelf: 'center',\n p: ['16px', '0 4px 0 0'],\n width: ['100%', '37.0915%'],\n};\n\nexport const ItemImage: SxStyleProp = {\n width: ['100%', '62.9084%'],\n alignSelf: 'flex-end',\n minHeight: '1px',\n};\n\nexport const Image: SxStyleProp = {\n width: '100%',\n height: 'auto',\n minHeight: '1px',\n m: '0',\n verticalAlign: 'bottom',\n};\n\nexport const PreHeader: SxStyleProp = {\n fontFamily: 'primary',\n textTransform: 'uppercase',\n lineHeight: '20px',\n fontWeight: 'bold',\n fontSize: '24px',\n};\n\nexport const ItemName: SxStyleProp = {\n fontFamily: 'primary',\n color: 'white',\n textTransform: 'uppercase',\n lineHeight: '28px',\n fontWeight: 'bold',\n fontSize: '32px',\n mb: '0',\n};\n\nexport const Description: SxStyleProp = {\n fontFamily: 'primary',\n textTransform: 'uppercase',\n marginTop: '8px',\n fontWeight: 'bold',\n lineHeight: '20px',\n fontSize: '16px',\n};\n\nexport const CornerIcon: SxStyleProp = {\n position: 'absolute',\n left: '12px',\n bottom: [ '12px', 'auto' ],\n top: [ 'auto', '12px' ],\n m: '0',\n zIndex: '1',\n};\n","import * as React from 'react';\nimport { map as _map, isEmpty as _isEmpty } from 'lodash';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Image from '@lce/slice_v2/Elements/Image';\nimport Text from '@lce/slice_v2/Elements/Text';\nimport Heading from '@lce/slice_v2/Elements/Heading';\n\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\nimport ComponentListRenderer from '../../../../../../Modules/ComponentListRenderer';\nimport Price, { IPriceProps } from './components/Price';\nimport * as Styled from './MenuItem.style';\n\nexport interface IMenuItemProps {\n preHeader?: string[];\n itemName: string[];\n image: string;\n price: IPriceProps[];\n description?: string[];\n icon?: string;\n}\n\nconst MenuItem: React.FC = ({ preHeader, description, icon, itemName, image, price, ...props }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n return(\n \n {icon && \"\"}\n \n \"\"\n \n \n {!_isEmpty(preHeader) && \n \n \n \n }\n \n \n \n {_map(price, (priceObject, index) => (\n \n ))}\n {!_isEmpty(description) && \n \n \n }\n \n \n );\n};\n\nexport default MenuItem;\n","import * as React from 'react';\nimport { filter as _filter, map as _map } from 'lodash';\nimport Box from '@lce/slice_v2/Layout/Box';\n\nimport CustomMenuItem from '../../../../CustomMenuItems/useCustomMenuItems';\nimport MenuItem, { IMenuItemProps } from '../MenuItem';\n\ninterface IMenuColumnLoader {\n list: IActiveMenuItemProps[];\n column: string;\n}\n\nexport interface IActiveMenuItemProps {\n isRight: boolean;\n position?: number;\n customMenuItemComponent?: string;\n menuItem?: IMenuItemProps;\n id: string;\n}\n\nconst MenuColumnLoader: React.FC = ({ list, column }) => {\n const filteredList = _filter(list, menuItem => menuItem.isRight === (column === 'Right'));\n\n const ItemList = _map(filteredList, menuItem => {\n const ValidCustomComponent =\n menuItem.customMenuItemComponent &&\n CustomMenuItem[menuItem.customMenuItemComponent] &&\n CustomMenuItem[menuItem.customMenuItemComponent];\n const menuComponent = ValidCustomComponent ? (\n \n ) : (\n menuItem.menuItem && menuItem.menuItem.itemName && (\n \n )\n );\n\n return menuComponent;\n });\n return (\n \n {ItemList}\n \n );\n};\n\nexport default MenuColumnLoader;\n","import * as React from 'react';\nimport Flex from '@lce/slice_v2/Layout/Flex';\n\nimport MenuColumnLoader, { IActiveMenuItemProps } from './components/MenuColumnLoader';\n\nexport interface IMenuItemListProps {\n activeMenuItems: IActiveMenuItemProps[];\n}\n\nconst MenuItemList: React.FC = ({ activeMenuItems }) => (\n \n \n \n \n);\n\nexport default MenuItemList;\n","import * as React from 'react';\nimport Text from '@lce/slice_v2/Elements/Text';\nimport Box from '@lce/slice_v2/Layout/Box';\n\nimport SimpleBanner, { ISimpleBannerProps } from '../../Patterns/Banners/SimpleBanner';\n\nimport * as Styled from './Menu.style';\nimport MenuItemList, { IMenuItemListProps } from './components/MenuItemList';\n\nexport interface IMenuProps extends IMenuItemListProps {\n menu: IMenuPageProps;\n}\n\nexport interface IMenuPageProps {\n simpleBanner?: ISimpleBannerProps;\n textBar?: string;\n legalText?: any;\n}\n\nconst Menu: React.FC = ({ menu: { simpleBanner, textBar, legalText }, activeMenuItems }) => (\n <>\n {textBar && (\n \n {textBar}\n \n )}\n {simpleBanner && }\n \n {legalText && }\n \n);\n\nexport default Menu;\n","/* eslint-disable max-lines-per-function */\nimport { graphql, useStaticQuery } from 'gatsby';\nimport { map as _map, isEmpty as _isEmpty, sortBy as _sortBy, union as _union } from 'lodash';\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\nimport { IDatoImage } from '@lce/intl-types/src/IDatoImage';\nimport removeLine from '@lce/intl-util/src/removeLine';\nimport { IMenuProps } from '@lce/intl-ui/src/PageComponents/Menu';\nimport { IMenuPageProps } from '@lce/intl-ui/src/PageComponents/Menu/Menu';\nimport franchiseeFilter from '@lce/intl-util/src/FranchiseeFilter';\nimport { IMenuItemListProps } from '@lce/intl-ui/src/PageComponents/Menu/components/MenuItemList';\nimport { IActiveMenuItemProps } from '@lce/intl-ui/src/PageComponents/Menu/components/MenuItemList/components/MenuColumnLoader';\nimport franchiseeDirection from '@lce/intl-util/src/FranchiseeDirection';\n\nimport { ISiteConfigProps } from '../Config/useSiteConfig';\nimport { useSelectedFranchiseeId } from '../FranchiseeId/hooks/useSelectedFranchiseeId';\nimport useFranchisees from '../FranchiseeId/hooks/useFranchisees';\n\ninterface IDatoUseMenu extends ISiteConfigProps {\n menu: IDatoMenuNodes;\n activeMenuItems: IDatoActiveMenuItemNodes;\n franchiseeMenu: IDatoFranchiseeMenuNodes;\n}\n\ninterface IDatoFranchiseeMenuNodes {\n nodes: IDatoFranchiseeMenu[];\n}\n\ninterface IDatoFranchiseeMenu {\n locale: string;\n menuName: string;\n textBar: string;\n bannerScript?: string;\n bannerTitle?: ILineObject[];\n bannerImage?: {\n url: string;\n };\n legalText: string;\n leftColumn: IMenuItem[];\n rightColumn: IMenuItem[];\n franchisee: {\n name: string;\n originalId: string;\n };\n}\n\ninterface IDatoMenuNodes {\n nodes: IDatoBannerMenu[];\n}\n\ninterface IDatoActiveMenuItemNodes {\n nodes: IDatoActiveMenuItem[];\n}\n\ninterface IDatoBannerMenu {\n locale: string;\n textBar: string;\n bannerScript?: string;\n bannerTitle?: ILineObject[];\n bannerImage?: IDatoImage;\n legalText: string;\n}\n\ninterface IPrice {\n priceText: string;\n price: string;\n subscript: string;\n}\n\ninterface IDatoActiveMenuItem {\n id: string;\n nonDisplayTitle: string;\n isRight: boolean;\n menuItem?: IMenuItem;\n}\n\ninterface IMenuItem {\n locale: string;\n title: string;\n preHeader: ILineObject[];\n name: ILineObject[];\n image: {\n alt?: string;\n url: string;\n };\n price: IPrice[];\n description: ILineObject[];\n icon: IDatoImage;\n id: string;\n}\n\ninterface IDatoMenu extends IMenuItemListProps {\n menu: IMenuPageProps;\n}\n\n// eslint-disable-next-line max-lines-per-function\nconst useMenu = (locale: string) => {\n const data: IDatoUseMenu = useStaticQuery(graphql`\n query UseMenuMsQuery {\n franchiseeMenu: allDatoCmsFranchiseeMenuItem {\n nodes {\n locale\n menuName\n textBar\n bannerScript\n bannerTitle {\n line\n }\n bannerImage {\n url\n }\n legalText\n leftColumn {\n title\n preHeader {\n line\n }\n name {\n line\n }\n image {\n url\n }\n price {\n priceText\n price\n subscript\n }\n description {\n line\n }\n icon {\n url\n }\n id\n }\n rightColumn {\n title\n preHeader {\n line\n }\n name {\n line\n }\n image {\n url\n }\n price {\n priceText\n price\n subscript\n }\n description {\n line\n }\n icon {\n url\n }\n id\n }\n franchisee {\n name\n originalId\n } \n }\n }\n }\n `);\n \n const { franchiseeId: SelectedFranchiseeId } = useSelectedFranchiseeId(locale);\n const { franchisees } = useFranchisees(locale);\n\n const direction: Direction = franchiseeDirection(franchisees, SelectedFranchiseeId);\n \n const filteredMenuByFranchisee = franchiseeFilter(data?.franchiseeMenu?.nodes, SelectedFranchiseeId, locale);\n\n const newActiveMenuItem = (menuItem: IMenuItem, isRight: boolean, key: number): IActiveMenuItemProps => {\n const newMenuItem = menuItem &&\n !_isEmpty(menuItem) ? {\n ...menuItem,\n description: removeLine(menuItem.description),\n icon: menuItem?.icon?.url,\n image: menuItem?.image?.url,\n itemName: removeLine(menuItem?.name),\n preHeader: removeLine(menuItem?.preHeader),\n } : undefined;\n \n return {\n id: menuItem.id,\n isRight,\n position: key,\n menuItem: newMenuItem,\n };\n };\n\n const leftColumn: IActiveMenuItemProps[] = _map(filteredMenuByFranchisee?.leftColumn, (menuItem, index) => newActiveMenuItem(menuItem, false, index));\n const rightColumn: IActiveMenuItemProps[] = _map(filteredMenuByFranchisee?.rightColumn, (menuItem, index) => newActiveMenuItem(menuItem, true, index));\n\n const cleanedActiveMenuItems = _union(leftColumn, rightColumn);\n\n const simpleBanner = {\n script: filteredMenuByFranchisee?.bannerScript,\n title: removeLine(filteredMenuByFranchisee?.bannerTitle),\n image: filteredMenuByFranchisee?.bannerImage?.url,\n };\n\n delete filteredMenuByFranchisee?.bannerImage;\n delete filteredMenuByFranchisee?.bannerTitle;\n delete filteredMenuByFranchisee?.bannerScript;\n\n const sortedActiveMenuItems = _sortBy(cleanedActiveMenuItems, (activeMenuItems) => activeMenuItems?.position);\n\n const menuPage: IMenuProps = {\n menu: {\n ...filteredMenuByFranchisee,\n simpleBanner: simpleBanner?.title && simpleBanner?.image ? { ...simpleBanner, direction } : undefined,\n },\n activeMenuItems: {\n ...sortedActiveMenuItems,\n },\n };\n\n return menuPage;\n\n};\n\nexport default useMenu;\n","import * as React from 'react';\nimport { IDefaultPageProps } from '@lce/intl-types/src/IDefaultPageProps';\nimport Container from '@lce/intl-ui/src/Layout/Container';\nimport Menu from '@lce/intl-ui/src/PageComponents/Menu';\nimport Helmet from 'react-helmet';\n\nimport Layout from '../ui/ConnectedLayout';\nimport useMenu from '../api/MenuPage/useMenu';\n\nconst MenuPage: React.FC = props => {\n const { locale } = props.pathContext;\n const menuData = useMenu(locale);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n );\n};\nexport default MenuPage;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n"],"sourceRoot":""}