{"version":3,"file":"js/corporate-locations.chunk.js","mappings":"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","sources":["webpack:///./assets/stone/src/components/corporate/CorporateLocation.tsx","webpack:///./assets/stone/src/components/corporate/CorporateLocations.tsx","webpack:///./assets/stone/src/components/corporate/CorporateLocationsLoader.tsx"],"sourcesContent":["import React from 'react';\nconst ClientServiceContactUs = (props) => {\n const { location } = props;\n const useHeading = (text) => {\n return React.createElement(`h${props.headingindex}`, { className: 'font__subtitle' }, text);\n };\n return (React.createElement(\"div\", { className: \"corporate-locations_location\", id: 'location-' + location.ID },\n location.sublocations && React.createElement(\"p\", { className: \"sublocation\" }, location.sublocations),\n location.name && useHeading(location.name),\n location.info && React.createElement(\"p\", { className: \"info\", dangerouslySetInnerHTML: { __html: location.info } })));\n};\nClientServiceContactUs.defaultProps = {\n headingindex: 3,\n};\nexport default ClientServiceContactUs;\n","import React from 'react';\nimport CorporateLocation from './CorporateLocation';\nimport { Tab, TabList, TabPanel, Tabs } from 'react-tabs';\nimport classNames from 'classnames';\nconst CorporateLocations = (props) => {\n let { locations, aggregationType } = props;\n const tabHeading = (text) => {\n return React.createElement(`h${props.headingindex}`, { className: 'font__subtitle' }, text);\n };\n const countryHeading = (text, tabid) => {\n let headingindex = tabid ? props.headingindex + 1 : props.headingindex;\n return React.createElement(`h${headingindex}`, { className: 'visually-hidden' }, text);\n };\n const locationHeading = (tabid, cTitle) => {\n let headingindex = props.headingindex;\n if (typeof tabid != 'undefined')\n headingindex++;\n if (!!cTitle)\n headingindex++;\n return headingindex;\n };\n const contryContent = (country, tabkey) => {\n const locations = country.locations.filter((loc) => loc.tabid === tabkey);\n return (React.createElement(\"div\", { className: classNames('corporate-locations_row', { 'is-multiloc': locations.length > 1 }), id: country.id },\n country.title && countryHeading(country.title, tabkey),\n React.createElement(\"ul\", { className: \"locations\" }, locations.map((location) => (React.createElement(\"li\", { key: location.ID },\n React.createElement(CorporateLocation, { headingindex: locationHeading(tabkey, country.title), location: location })))))));\n };\n return (React.createElement(React.Fragment, null, (aggregationType === 'tab' && (React.createElement(Tabs, { className: \"tabs\" },\n React.createElement(TabList, null, Object.keys(locations.tabs).map((_key) => {\n return React.createElement(Tab, { key: _key }, locations.tabs[_key].title);\n })),\n React.createElement(\"div\", { className: \"corporate-locations_panels\" }, Object.keys(locations.tabs).map((_key) => (React.createElement(TabPanel, { key: _key },\n locations.tabs[_key].title && tabHeading(locations.tabs[_key].title),\n React.createElement(\"div\", { className: \"corporate-locations_panel\" }, Object.keys(locations.tabs[_key].countries).map((_ckey) => contryContent(locations.tabs[_key].countries[_ckey], _key)))))))))) || React.createElement(\"div\", { className: \"corporate-locations_panel\" }, Object.keys(locations.countries).map((_key) => contryContent(locations.countries[_key])))));\n};\nCorporateLocations.defaultProps = {\n headingindex: 2,\n};\nexport default CorporateLocations;\n","import React from 'react';\nimport CorporateLocations from '@stone/components/corporate/CorporateLocations';\nconst CorporateLocationsLoader = (props) => {\n const locationData = JSON.parse(props.locations);\n let aggregationType = locationData.some((location) => typeof location.tabid !== 'undefined') ? 'tab' : 'country';\n let hasmissingtab = false;\n let locationResult = {\n countries: {},\n tabs: {},\n };\n locationData.forEach((location) => {\n let cid = location.countryid || 'row' + Math.random().toString(16).slice(2);\n locationResult.countries[cid] = locationResult.countries[cid] || {\n id: cid,\n title: location.countryname,\n locations: [],\n };\n locationResult.countries[cid].title = locationResult.countries[cid].title || location.countryname;\n locationResult.countries[cid].locations.push(location);\n if (aggregationType == 'tab') {\n let tid = location.tabid;\n if (tid) {\n locationResult.tabs[tid] = locationResult.tabs[tid] || {\n id: tid,\n title: location.tabname,\n countries: {},\n };\n locationResult.tabs[tid].title = locationResult.tabs[tid].title || location.tabname;\n locationResult.tabs[tid].countries[cid] = locationResult.countries[cid];\n }\n else {\n hasmissingtab = true;\n }\n }\n });\n return (React.createElement(React.Fragment, null,\n hasmissingtab && props.editmode && (React.createElement(\"span\", { style: { backgroundColor: 'yellow', position: 'absolute', padding: 4, marginTop: -30, fontWeight: 700 } }, \"SONE LOCATION HAS MISSING TAB ID!\")),\n React.createElement(CorporateLocations, { headingindex: parseInt(props.headingindex), aggregationType: aggregationType, locations: locationResult })));\n};\nexport default CorporateLocationsLoader;\n"],"names":["ClientServiceContactUs","props","location","className","id","ID","sublocations","name","text","headingindex","info","dangerouslySetInnerHTML","__html","defaultProps","CorporateLocations","locations","aggregationType","locationHeading","tabid","cTitle","contryContent","country","tabkey","filter","loc","length","title","countryHeading","map","key","CorporateLocation","Object","keys","tabs","_key","countries","_ckey","locationData","JSON","parse","some","hasmissingtab","locationResult","forEach","cid","countryid","Math","random","toString","slice","countryname","push","tid","tabname","editmode","style","backgroundColor","position","padding","marginTop","fontWeight","parseInt"],"sourceRoot":""}