{"version":3,"file":"static/chunks/app/[locale]/locations/[slug]/meetings-conference-room-space/page-5ec7245fd73d4daa.js","mappings":"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AAM,4DACNJ,SAAU,0DACZ,EACA,CACEqD,IAAK,cACLpD,SAAU,IACVC,MAAO,IACPE,KAAM,4DACNJ,SACE,+DACJ,EACD,CACD6D,UAAW,CACT,CACER,IAAK,UACLnD,MAAO,IACPG,kBAAmB,GACnBD,KAAM,4DACNJ,SACE,4DACJ,EACA,CACEqD,IAAK,cACLnD,MAAO,KACPG,kBAAmB,GACnBD,KAAM,4DACNJ,SACE,gEACJ,EACA,CACEqD,IAAK,kBACLnD,MAAO,IACPG,kBAAmB,GACnBD,KAAM,4DACNJ,SAAU,0DACZ,EACD,EAEH8D,YAAa,4DACb5F,SAAU,CACR,2BACA,mBACA,eACA,UACA,SACA,MACD,EAEH,iCAAkC,CAChCwF,OAAQ,CACN,CACExE,IAAK,6CACLC,IAAK,wBACP,EACA,CACED,IAAK,4CACLC,IAAK,kBACP,EACA,CACED,IAAK,6CACLC,IAAK,wBACP,EACA,CACED,IAAK,6CACLC,IAAK,mBACP,EACA,CACED,IAAK,6CACLC,IAAK,wBACP,EACA,CACED,IAAK,6CACLC,IAAK,wBACP,EACA,CACED,IAAK,2CACLC,IAAK,iBACP,EACD,CACDoC,MAAO,CACLwC,KAAM,CACJ,CACEV,IAAK,aACLpD,SAAU,EACVC,MAAO,GACPE,KAAM,sEACNJ,SAAU,mDACZ,EACA,CACEqD,IAAK,UACLpD,SAAU,EACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,gDACZ,EACD,CACD,kBAAmB,CACjB,CACEqD,IAAK,kBACLpD,SAAU,GACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,wDACZ,EACA,CACEqD,IAAK,SACLpD,SAAU,GACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,+CACZ,EACA,CACEqD,IAAK,aACLpD,SAAU,GACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,mDACZ,EACA,CACEqD,IAAK,eACLpD,SAAU,GACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,qDACZ,EACD,CACD,yBAA0B,CACxB,CACEqD,IAAK,WACLpD,SAAU,GACVC,MAAO,IACPE,KAAM,sEACNJ,SAAU,iDA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","sources":["webpack://_N_E/?87ee","webpack://_N_E/./public/icons/markerIcon.svg","webpack://_N_E/./components/modules/FeaturesModule/FeaturesModule.tsx","webpack://_N_E/./components/cards/TxProductCard.tsx","webpack://_N_E/./app/[locale]/locations/[slug]/meetings-conference-room-space/components/CardsSlider.tsx","webpack://_N_E/./app/[locale]/locations/[slug]/meetings-conference-room-space/components/constants.ts","webpack://_N_E/./app/[locale]/locations/[slug]/meetings-conference-room-space/components/TxPage.tsx","webpack://_N_E/./hooks/useScreenSize.tsx","webpack://_N_E/./models/index.ts","webpack://_N_E/./node_modules/lodash.debounce/index.js"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src4237242273/src/website/app/[locale]/locations/[slug]/meetings-conference-room-space/components/TxPage.tsx\");\n","export default {\"src\":\"/_next/static/media/markerIcon.be417b09.svg\",\"height\":22,\"width\":18,\"blurWidth\":0,\"blurHeight\":0};","import { useTranslations } from 'next-intl';\nimport Image from 'next/image';\n\nimport { Link } from '@/components/Link';\nimport { CardContent, CardWrapper } from '@/components/cards/shared';\nimport { getGoogleMapsDirectionUrlFromString } from '@/models';\nimport markerIcon from '@/public/icons/markerIcon.svg';\nimport { getBackgroundSectionClassName } from '@/utils/marketing-landing-page';\n\nimport { Eyebrow } from '../shared/Eyebrow';\nimport { Title } from '../shared/Title';\nimport {\n BackgroundColorProps,\n ImageEyebrowProps,\n TextEyebrowProps,\n} from '../types';\n\nimport clsx from 'clsx';\n\ntype FeaturesModuleProps = {\n className?: string;\n eyeBrow: TextEyebrowProps | ImageEyebrowProps;\n title: string;\n address: string;\n description: string;\n featureCardTitle: string;\n features: string[];\n background?: BackgroundColorProps;\n};\n\nexport default function FeaturesModule({\n className,\n eyeBrow,\n title,\n address,\n description,\n featureCardTitle,\n features,\n background,\n}: FeaturesModuleProps) {\n const t = useTranslations('general');\n return (\n \n
\n \n \n <div className=\"flex mb-4\">\n <Image\n className=\"mr-2\"\n src={markerIcon}\n alt={t('alt-marker-icon')}\n aria-hidden=\"true\"\n />\n <Link\n className=\"font-bold\"\n href={getGoogleMapsDirectionUrlFromString(address)}\n target=\"_blank\"\n rel=\"noopener\"\n >\n {address}\n </Link>\n </div>\n <p>{description}</p>\n </div>\n <div className=\"w-full md:min-w-[400px]\">\n <CardWrapper>\n <CardContent title={featureCardTitle}>\n {features.map((feature) => (\n <p className=\"my-1\" key={feature}>\n {feature}\n </p>\n ))}\n </CardContent>\n </CardWrapper>\n </div>\n </section>\n );\n}\n","import { useTranslations } from 'next-intl';\n\nimport { CardContent, CardFooter, CardWrapper } from './shared';\n\ntype TxProductCardProps = {\n imageSrc: string;\n title: string;\n description: string;\n capacity?: number;\n price: number;\n setup?: string;\n link: string;\n hideCapacitySetup?: boolean;\n};\n\nexport default function TxProductCard({\n imageSrc,\n title,\n description,\n capacity,\n price,\n setup,\n link,\n hideCapacitySetup,\n}: TxProductCardProps) {\n const t = useTranslations('tx-page.cards');\n return (\n <CardWrapper\n image={{ src: imageSrc, alt: title }}\n imgClassName=\"h-[200px]\"\n isExternal\n link={link}\n >\n <CardContent title={title}>\n <p className=\"mb-2 text-sm\">{description}</p>\n {!hideCapacitySetup && (\n <div className=\"flex flex-wrap text-sm\">\n <div>\n <strong>{t('capacity')}</strong>\n  {capacity}\n <span className=\"mx-2\">|</span>\n </div>\n <div>\n <strong>{t('setup')}</strong>\n  {setup}\n </div>\n </div>\n )}\n </CardContent>\n <CardFooter\n leftLabel={\n <div>\n {t.rich('price', {\n important: (chunks) => <strong>{chunks}</strong>,\n price: price,\n })}\n </div>\n }\n ctaLabel={t('cta')}\n isLinkExternal\n />\n </CardWrapper>\n );\n}\n","import { useTranslations } from 'next-intl';\nimport dynamic from 'next/dynamic';\nimport { useState } from 'react';\n\nimport { useScrollHandlers } from '@/components/Carousel/useScrollHandlers';\nimport TxProductCard from '@/components/cards/TxProductCard';\n\nimport { TxCardData } from './constants';\n\nimport clsx from 'clsx';\n\nconst ArrowButton = dynamic(\n () => import('@/components/buttons').then((mod) => mod.ArrowButton),\n { ssr: false }\n);\n\nconst NB_CARDS_TO_SHOW = 2;\nconst GAP = 10;\n\ntype CardsSliderProps = {\n cards: TxCardData[];\n marginContainer: number;\n slug: string;\n widthCard: number;\n};\n\nexport function CardsSlider({\n cards,\n slug,\n marginContainer,\n widthCard,\n}: CardsSliderProps) {\n const t = useTranslations(`tx-page.${slug}.cards`);\n const [cardsToShow, setCardsToShow] = useState(cards);\n const [index, setIndex] = useState(0);\n\n const showNextButton = cardsToShow.length > NB_CARDS_TO_SHOW;\n\n const handleNextButtonClicked = () => {\n if (index + 1 === cards.length && !showNextButton) {\n return;\n }\n setIndex((prev) => prev + 1);\n\n if (showNextButton) {\n const newIndexToAdd = cardsToShow.length % cards.length;\n setCardsToShow((prev) => [...prev, cards[newIndexToAdd]]);\n }\n };\n\n const handlePrevButtonClicked = () => {\n if (index - 1 < 0) return;\n setIndex((prev) => prev - 1);\n };\n\n const { handleTouchMove, handleTouchStart } = useScrollHandlers({\n canGoNext: true,\n canGoPrev: true,\n goNext: handleNextButtonClicked,\n goPrev: handlePrevButtonClicked,\n });\n\n return (\n <div className=\"overflow-hidden\">\n <div\n style={{\n transform: `translate(-${(widthCard + GAP * 2) * index}px)`,\n }}\n className=\"relative flex h-full gap-5 transition-transform\"\n >\n {cardsToShow.map((card, i) => (\n <div\n key={`${card.key}${i}`}\n style={{\n flex: `0 0 ${widthCard}px`,\n }}\n className={clsx(\n showNextButton && index + 2 <= i && 'lg:opacity-[0.5]'\n )}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n >\n <TxProductCard\n {...card}\n title={t(`${card.key}.title`)}\n description={t(`${card.key}.description`)}\n setup={!card.hideCapacitySetup ? t(`${card.key}.setup`) : ''}\n />\n </div>\n ))}\n </div>\n {showNextButton && (\n <ArrowButton\n direction=\"right\"\n onClick={handleNextButtonClicked}\n style={{ right: `${marginContainer - 30}px` }}\n className=\"max-md:hidden absolute inset-y-0 m-auto z-[1] right-0\"\n />\n )}\n </div>\n );\n}\n","import { ManagerRoles } from '@/lib/locations/dto';\nimport { ImageDto } from '@/lib/marketing-page/dto/modules/shared';\nimport { VisibleLocationManager } from '@/models/location-utils';\n\nexport type TxCardData = {\n key: string;\n capacity?: number;\n price: number;\n link: string;\n imageSrc: string;\n hideCapacitySetup?: boolean;\n};\n\ntype TxData = {\n images: ImageDto[];\n cards: { [key: string]: TxCardData[] };\n inquireLink: string;\n features: string[];\n managers?: VisibleLocationManager[];\n};\n\nexport const TX_DATA: { [key: string]: TxData } = {\n '135-w-50th-st-suite-200': {\n images: [\n {\n src: '/public-s3/images/tx/club-135/entrance.webp',\n alt: 'Entrance of Club 135',\n },\n {\n src: '/public-s3/images/tx/club-135/stairs.webp',\n alt: 'Stairs at Club 135',\n },\n {\n src: '/public-s3/images/tx/club-135/billiards.webp',\n alt: 'Billiards',\n },\n {\n src: '/public-s3/images/tx/club-135/common-area.webp',\n alt: 'Common area',\n },\n {\n src: '/public-s3/images/tx/club-135/lounge.webp',\n alt: 'Lounge',\n },\n {\n src: '/public-s3/images/tx/club-135/table.webp',\n alt: 'Table',\n },\n ],\n cards: {\n 'huddle-room': [\n {\n key: 'conference-A',\n capacity: 4,\n price: 70,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/huddle-conferenceA.webp',\n },\n {\n key: 'conference-B',\n capacity: 4,\n price: 70,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/huddle-conferenceB.webp',\n },\n ],\n boardroom: [\n {\n key: 'conference-C',\n capacity: 8,\n price: 135,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/boardroom-conferenceC.webp',\n },\n {\n key: 'conference-D',\n capacity: 10,\n price: 170,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/boardroom-conferenceD.webp',\n },\n {\n key: 'conference-E',\n capacity: 8,\n price: 135,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/boardroom-conferenceE.webp',\n },\n ],\n classroom: [\n {\n key: 'room-F',\n capacity: 38,\n price: 220,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc: '/public-s3/images/tx/club-135/cards/classroom-roomF.webp',\n },\n {\n key: 'room-G',\n capacity: 48,\n price: 220,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc: '/public-s3/images/tx/club-135/cards/classroom-roomG.webp',\n },\n {\n key: 'room-H',\n capacity: 48,\n price: 260,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc: '/public-s3/images/tx/club-135/cards/classroom-roomH.webp',\n },\n {\n key: 'rooms-F-G-H',\n capacity: 138,\n price: 595,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/classroom-roomFGHjpg.webp',\n },\n ],\n reception: [\n {\n key: 'terrace',\n price: 700,\n hideCapacitySetup: true,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/reception-terrace.webp',\n },\n {\n key: 'allmeetings',\n price: 2500,\n hideCapacitySetup: true,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc:\n '/public-s3/images/tx/club-135/cards/reception-allmeetings.webp',\n },\n {\n key: 'reception-space',\n price: 3000,\n hideCapacitySetup: true,\n link: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n imageSrc: '/public-s3/images/tx/club-135/cards/reception-space.webp',\n },\n ],\n },\n inquireLink: 'https://135w50thstreet.tripleseat.com/party_request/25672',\n features: [\n 'collaborative-workspaces',\n 'conference-rooms',\n 'lounge-areas',\n 'terrace',\n 'coffee',\n 'mxm',\n ],\n },\n '250-west-34th-street-3rd-floor': {\n images: [\n {\n src: '/public-s3/images/tx/penn-1/meeting-1.webp',\n alt: 'Meeting room at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/lounge-2.webp',\n alt: 'Lounge at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/meeting-3.webp',\n alt: 'Meeting room at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/kitchen-4.webp',\n alt: 'Kitchen at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/meeting-5.webp',\n alt: 'Meeting room at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/meeting-6.webp',\n alt: 'Meeting room at Penn 1',\n },\n {\n src: '/public-s3/images/tx/penn-1/board-7.webp',\n alt: 'Board at Penn 1',\n },\n ],\n cards: {\n hubs: [\n {\n key: 'pepperbush',\n capacity: 6,\n price: 75,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/pepperbush.webp',\n },\n {\n key: 'boxwood',\n capacity: 8,\n price: 100,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/boxwood.webp',\n },\n ],\n 'conference-room': [\n {\n key: 'mountain-laurel',\n capacity: 12,\n price: 150,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/mountain-laurel.webp',\n },\n {\n key: 'redbud',\n capacity: 12,\n price: 150,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/redbud.webp',\n },\n {\n key: 'blue-beech',\n capacity: 12,\n price: 150,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/blue-beech.webp',\n },\n {\n key: 'benjamin-fig',\n capacity: 12,\n price: 150,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/benjamin-fig.webp',\n },\n ],\n 'large-conference-rooms': [\n {\n key: 'magnolia',\n capacity: 16,\n price: 200,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/magnolia.webp',\n },\n {\n key: 'red-mapple',\n capacity: 18,\n price: 225,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/red-mapple.webp',\n },\n {\n key: 'honey-locust',\n capacity: 18,\n price: 225,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/honey-locust.webp',\n },\n ],\n 'specialty-rooms': [\n {\n key: 'the-studio',\n capacity: 8,\n price: 125,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/the-studio.webp',\n },\n {\n key: 'pitch-room',\n capacity: 12,\n price: 225,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/pitch-room.webp',\n },\n ],\n 'multifunction-rooms': [\n {\n key: 'assembly-01',\n capacity: 50,\n price: 600,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/assembly-01.webp',\n },\n {\n key: 'assembly-02',\n capacity: 50,\n price: 600,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/assembly-02.webp',\n },\n {\n key: 'grand-assembly',\n capacity: 100,\n price: 1250,\n link: 'https://worklifepenn1.spaces.nexudus.com/bookings/search?&v=4.0.696',\n imageSrc: '/public-s3/images/tx/penn-1/cards/grand-assembly.webp',\n },\n ],\n },\n inquireLink: '/meeting-event-space-inquiry',\n features: [\n 'wifi',\n 'check-in',\n 'coffee-sparkling',\n 'snacks',\n 'av-manager',\n 'coat-check',\n 'phone-booths',\n 'av-connectivity',\n ],\n managers: [\n {\n name: 'Eric Webb',\n role: ManagerRoles.MemberExperienceAssociate,\n avatarUrl: '/public-s3/images/tx/penn-1/Eric-Webb.webp',\n email: '',\n phone: null,\n },\n {\n name: 'Jae Clarizio',\n role: ManagerRoles.ConferenceServicesManager,\n avatarUrl: '/public-s3/images/tx/penn-1/Jae-Clarizio.webp',\n email: '',\n phone: null,\n },\n {\n name: 'Barry Friedman',\n role: ManagerRoles.TechnicalAudioVisualManager,\n avatarUrl: '/public-s3/images/tx/penn-1/Barry-Friedman.webp',\n email: '',\n phone: null,\n },\n ],\n },\n};\n","'use client';\n\nimport { useTranslations } from 'next-intl';\nimport dynamic from 'next/dynamic';\nimport { useEffect, useRef, useState } from 'react';\n\nimport HorizontalGallery from '@/components/HorizontalGallery';\nimport { SecondaryButton } from '@/components/buttons';\nimport FeaturesModule from '@/components/modules/FeaturesModule/FeaturesModule';\nimport { EyebrowType } from '@/components/modules/types';\nimport TertiaryHeading from '@/components/typography/TertiaryHeading';\nimport { useRouter } from '@/hooks/useRouter';\nimport { ScreenSize, useScreenSize } from '@/hooks/useScreenSize';\n\nimport { CardsSlider } from './CardsSlider';\nimport { TX_DATA } from './constants';\n\nimport clsx from 'clsx';\n\nconst MemberExperienceTeam = dynamic(\n () => import('@/components/MemberExperienceTeam'),\n {\n ssr: false,\n }\n);\n\nexport type TxPageProps = {\n slug: string;\n};\n\nconst SIZE_CONTAINER = 1133;\nconst DEFAULT_SIZE_CARD = 322;\n\nexport default function TxPage({ slug }: TxPageProps) {\n const t = useTranslations('tx-page');\n const router = useRouter();\n const [margin, setMargin] = useState(0);\n const [widthCard, setWidthCard] = useState<number>(0);\n\n const data = TX_DATA[slug];\n const screenSize = useScreenSize();\n\n const refWrapper = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!refWrapper.current || !refWrapper) return;\n\n if (screenSize > ScreenSize.LG) {\n setMargin((window.innerWidth - SIZE_CONTAINER) / 2 + 32);\n } else if (screenSize > ScreenSize.SM) {\n setMargin(40);\n } else {\n setMargin(20);\n }\n\n if (screenSize < ScreenSize.XS) {\n setWidthCard(window.innerWidth - margin - 32);\n } else if (screenSize < ScreenSize.SM) {\n setWidthCard(DEFAULT_SIZE_CARD);\n } else {\n setWidthCard((refWrapper.current.offsetWidth - margin) / 2 - 10);\n }\n }, [screenSize, margin]);\n\n const handleClickInquire = () => {\n router.push(data.inquireLink);\n };\n\n return (\n <main>\n <HorizontalGallery images={data.images} />\n <FeaturesModule\n className=\"my-12 px-5 sm:px-10 lg:w-[1133px] mx-auto\"\n address={t(`${slug}.location`)}\n description={t(`${slug}.description`)}\n eyeBrow={{ type: EyebrowType.Text, text: t('eyebrow') }}\n title={t(`${slug}.title`)}\n featureCardTitle={t('features-title')}\n features={data.features.map((f) => t(`${slug}.features.${f}`))}\n />\n <section className=\"py-6 bg-almond-99 lg:py-14\">\n <div style={{ marginLeft: `${margin}px` }}>\n {Object.keys(data.cards).map((key) => (\n <div\n className=\"mb-8 md:grid md:grid-cols-3 md:gap-5 md:mb-16\"\n key={key}\n >\n <div className=\"flex flex-col md:col-span-1 max-md:mb-4\">\n <TertiaryHeading className=\"mb-1 md:mb-3\">\n {t(`${slug}.${key}.title`)}\n </TertiaryHeading>\n {t(`${slug}.${key}.description`)}\n </div>\n <div ref={refWrapper} className=\"md:col-span-2\">\n <CardsSlider\n cards={data.cards[key]}\n marginContainer={margin}\n slug={slug}\n widthCard={widthCard}\n />\n </div>\n </div>\n ))}\n </div>\n </section>\n {data.managers && (\n <MemberExperienceTeam\n className=\"px-5 sm:px-10 lg:w-[1133px] mx-auto py-12\"\n managers={data.managers}\n />\n )}\n <section\n className={clsx(\n 'flex flex-col items-center text-center px-4 py-9 md:py-16',\n data.managers != null && 'bg-almond-99'\n )}\n >\n <TertiaryHeading className=\"mb-4 lg:mb-7\">\n {t('questions-title')}\n </TertiaryHeading>\n <SecondaryButton onClick={handleClickInquire}>\n {t('cta-inquire-now')}\n </SecondaryButton>\n </section>\n </main>\n );\n}\n","'use client';\n\nimport debounce from 'lodash.debounce';\nimport { useEffect, useState } from 'react';\n\nconst DEBOUNCE_TIME = 100;\n\nexport enum ScreenSize {\n XXS = 320,\n XS = 375,\n SM = 500,\n MD = 600,\n LG = 960,\n XL = 1440,\n}\n\nexport function useScreenSize(): number {\n const [widthWindow, setWidthWindow] = useState<number>(0);\n\n useEffect(() => {\n const handleResize = debounce(() => {\n setWidthWindow(window.innerWidth);\n }, DEBOUNCE_TIME);\n\n setWidthWindow(window.innerWidth);\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return widthWindow;\n}\n","export * from './location-utils';\nexport * from './LatLng';\nexport * from './solutions-pages-utils';\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\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 an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"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 object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or 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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n"],"names":["Promise","resolve","then","__webpack_require__","bind","markerIcon","FeaturesModule","param","className","eyeBrow","title","address","description","featureCardTitle","features","background","t","useTranslations","jsx_runtime","jsxs","section","clsx","color","getBackgroundSectionClassName","div","jsx","Eyebrow","eyebrow","Title","Image","src","alt","aria-hidden","Link","href","getGoogleMapsDirectionUrlFromString","target","rel","p","CardWrapper","CardContent","map","feature","TxProductCard","imageSrc","capacity","price","setup","link","hideCapacitySetup","image","imgClassName","isExternal","strong","span","CardFooter","leftLabel","rich","important","chunks","ctaLabel","isLinkExternal","ArrowButton","dynamic","mod","ssr","CardsSlider","cards","slug","marginContainer","widthCard","concat","cardsToShow","setCardsToShow","useState","index","setIndex","showNextButton","length","handleNextButtonClicked","prev","newIndexToAdd","handleTouchMove","handleTouchStart","useScrollHandlers","canGoNext","canGoPrev","goNext","goPrev","style","transform","GAP","card","i","flex","onTouchStart","onTouchMove","key","direction","onClick","right","TX_DATA","images","boardroom","classroom","reception","inquireLink","hubs","managers","name","role","ManagerRoles","MemberExperienceAssociate","avatarUrl","email","phone","ConferenceServicesManager","TechnicalAudioVisualManager","MemberExperienceTeam","all","e","TxPage","router","useRouter","margin","setMargin","setWidthCard","data","screenSize","useScreenSize","refWrapper","useRef","useEffect","current","ScreenSize","LG","window","innerWidth","SIZE_CONTAINER","SM","XS","offsetWidth","main","HorizontalGallery","type","EyebrowType","Text","text","f","marginLeft","Object","keys","TertiaryHeading","ref","SecondaryButton","push","widthWindow","setWidthWindow","handleResize","debounce","addEventListener","removeEventListener","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","freeSelf","self","root","Function","objectToString","objectProto","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","toNumber","isObjectLike","call","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","trailingEdge","setTimeout","debounced","isInvoking","arguments","cancel","clearTimeout","flush"],"sourceRoot":""}