{"version":3,"file":"static/chunks/7975.720944afb25fc7eb.js","mappings":"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","sources":["webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/EmptyState.tsx","webpack://_N_E/./lib/office/dto/office-occupancy.dto.ts","webpack://_N_E/./public/icons/highDemandIcon.svg","webpack://_N_E/./public/icons/lowStockIcon.svg","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/OccupancyStatus.tsx","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/OfficeSearch/MoveInDateFilter.tsx","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/OfficeSearch/Office.tsx","webpack://_N_E/./public/icons/minus.svg","webpack://_N_E/./public/icons/plus.svg","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/OfficeSearch/PeopleFilter.tsx","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/OfficeSearch/OfficeSearch.tsx","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/_components/PurchaseWithConfidenceBanner.tsx","webpack://_N_E/./app/[locale]/(pdp)/locations/[slug]/offices/[id]/_components/constants.ts","webpack://_N_E/./components/HorizontalDivider.tsx","webpack://_N_E/./components/Tooltip.tsx","webpack://_N_E/./components/search/filters/FilterButton.tsx","webpack://_N_E/./components/search/filters/FilterCtas.tsx","webpack://_N_E/./lib/office/office-api.ts","webpack://_N_E/./lib/office/office-utils.ts","webpack://_N_E/./node_modules/@industriousoffice/react-components/lib/lib.es.js","webpack://_N_E/./utils/date-picker-utils.ts","webpack://_N_E/./utils/gtm.ts","webpack://_N_E/./public/icons/calendar.svg","webpack://_N_E/./public/icons/clockAlt.svg","webpack://_N_E/./public/icons/seatsIconAlt.svg","webpack://_N_E/./public/icons/tooltipIcon2.svg","webpack://_N_E/./public/icons/verified.svg"],"sourcesContent":["import { useTranslations } from 'next-intl';\n\nimport { ButtonAsLink } from '@/components/buttons';\n\ntype EmptyStateProps = {\n onResetClick: () => void;\n};\nconst EmptyState = ({ onResetClick }: EmptyStateProps) => {\n const t = useTranslations('location.on-demand');\n\n return (\n
\n

\n {t('no-result-title')}\n {t('no-result-description')}\n

\n \n {t('no-result-cta')}\n \n
\n );\n};\n\nexport default EmptyState;\n","export enum OCCUPANCY_STATUS {\n LAST_OFFICE = 'LAST_OFFICE',\n LAST_WINDOW_OFFICE = 'LAST_WINDOW_OFFICE',\n LOW_STOCK = 'LOW_STOCK',\n HIGH_DEMAND = 'HIGH_DEMAND',\n}\n\nexport type OccupancyStatusDto = {\n status: OCCUPANCY_STATUS;\n count?: number;\n};\n","export default {\"src\":\"/_next/static/media/highDemandIcon.3173da5e.svg\",\"height\":18,\"width\":18,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/lowStockIcon.3077adb2.svg\",\"height\":18,\"width\":18,\"blurWidth\":0,\"blurHeight\":0};","import { useTranslations } from 'next-intl';\nimport Image from 'next/image';\nimport { useEffect, useState } from 'react';\n\nimport { SkeletonLoader } from '@/components/SkeletonLoader';\nimport {\n OCCUPANCY_STATUS,\n OccupancyStatusDto,\n} from '@/lib/office/dto/office-occupancy.dto';\nimport { fetchOfficeOccupancyById } from '@/lib/office/office-api';\nimport highDemandIcon from '@/public/icons/highDemandIcon.svg';\nimport lowStockIcon from '@/public/icons/lowStockIcon.svg';\n\nimport clsx from 'clsx';\n\ntype OccupancyStatusProps = {\n officeFakeId: string;\n seats?: number;\n className?: string;\n statusClassname?: string;\n withBackground?: boolean;\n onlyShowOne?: boolean;\n};\n\nexport default function OccupancyStatus({\n officeFakeId,\n seats,\n className,\n statusClassname,\n withBackground,\n onlyShowOne,\n}: OccupancyStatusProps) {\n const t = useTranslations('office-occupancy');\n\n const [isLoading, setIsLoading] = useState(true);\n const [occupancyStatuses, setOccupancyStatuses] =\n useState();\n\n useEffect(() => {\n const fetchOccupancy = async () => {\n try {\n const statuses = await fetchOfficeOccupancyById(officeFakeId);\n\n if (onlyShowOne && statuses.length > 0) {\n setOccupancyStatuses([statuses.sort(sortStatuses)[0]]);\n } else {\n setOccupancyStatuses(statuses);\n }\n } finally {\n setIsLoading(false);\n }\n };\n\n fetchOccupancy();\n }, [officeFakeId]);\n\n if (isLoading) {\n return (\n \n );\n }\n\n return occupancyStatuses && occupancyStatuses.length > 0 ? (\n
\n {occupancyStatuses.map((item) => (\n \n \n {t(item.status, {\n count: item.count,\n seats,\n })}\n
\n ))}\n \n ) : null;\n}\n\nconst sortStatuses = (a: OccupancyStatusDto, b: OccupancyStatusDto) => {\n const sortArray = [\n OCCUPANCY_STATUS.LAST_OFFICE,\n OCCUPANCY_STATUS.LAST_WINDOW_OFFICE,\n OCCUPANCY_STATUS.HIGH_DEMAND,\n OCCUPANCY_STATUS.LOW_STOCK,\n ];\n return sortArray.indexOf(a.status) - sortArray.indexOf(b.status);\n};\n","import { Popover } from '@industriousoffice/react-components';\nimport { format } from 'date-fns';\nimport dynamic from 'next/dynamic';\nimport Image from 'next/image';\nimport { useMemo, useState } from 'react';\n\nimport FilterButton, {\n FilterButtonStyle,\n} from '@/components/search/filters/FilterButton';\nimport calendarIcon from '@/public/icons/calendar.svg';\nimport { DateAfter, DateBefore, DayOfWeek } from '@/types/DateFilter';\n\nconst DatePiker = dynamic(() =>\n import('@industriousoffice/react-components').then((mod) => mod.Picker)\n);\n\ntype MoveInDateFilterProps = {\n btnDataTestId?: string;\n btnClassName?: string;\n label: string;\n value: Date | undefined;\n disabledDays: (Date | DayOfWeek | DateBefore | DateAfter)[];\n onChange: (data: Date | undefined) => void;\n};\n\nexport default function MoveInDateFilter({\n btnDataTestId,\n btnClassName,\n label,\n disabledDays,\n value,\n onChange,\n}: MoveInDateFilterProps) {\n const [isPopoverOpen, setIsPopperOpen] = useState(false);\n\n const valueLabel = useMemo(() => {\n if (!value) return label;\n\n return format(value, 'EEE, MMM d');\n }, [value]);\n\n const handleDateChange = (date: Date | undefined) => {\n onChange(date);\n setIsPopperOpen(false);\n };\n\n return (\n setIsPopperOpen(!isPopoverOpen)}\n align=\"start\"\n content={\n \n }\n >\n \n }\n isActive={!!value}\n onClearClick={() => onChange(undefined)}\n buttonStyle={FilterButtonStyle.CHIP}\n >\n {valueLabel}\n \n \n );\n}\n","import { useTranslations } from 'next-intl';\nimport Image from 'next/image';\nimport { useParams } from 'next/navigation';\n\nimport { ImageWithPlaceholder } from '@/components/ImageWithPlaceholder';\nimport { Link } from '@/components/Link';\nimport { getOfficeImage } from '@/lib/office/office-utils';\nimport clockIcon from '@/public/icons/clockAlt.svg';\nimport seatsIcon from '@/public/icons/seatsIconAlt.svg';\nimport { stringifyUrl } from '@/utils/stringify-url';\n\nimport { LocationPdpParams } from '../../types';\nimport OccupancyStatus from '../OccupancyStatus';\n\ntype OfficeProps = {\n id: string;\n seats?: number;\n officeConfigurationType?: string;\n membershipCount?: number;\n conferenceRoomHours?: number;\n moveInDay?: string;\n termLength?: number;\n};\n\nexport default function Office({\n id,\n seats,\n conferenceRoomHours,\n membershipCount,\n officeConfigurationType,\n moveInDay,\n termLength,\n}: OfficeProps) {\n const t = useTranslations('location.on-demand.office');\n const { slug } = useParams();\n\n const url = stringifyUrl(`/locations/${slug}/offices/${id}`, {\n day: moveInDay,\n monthTerm: `${termLength}-month`,\n });\n\n return (\n \n
\n \n
\n
\n
\n \n {t('office-title', {\n configuration: officeConfigurationType,\n seats,\n })}\n \n\n {membershipCount && membershipCount > 0 && (\n
\n \n {t('office-memberships', { count: membershipCount })}\n
\n )}\n\n {conferenceRoomHours && conferenceRoomHours > 0 && (\n
\n \n {t('office-meeting-room-hours', { hours: conferenceRoomHours })}\n
\n )}\n\n \n
\n
\n \n );\n}\n","export default {\"src\":\"/_next/static/media/minus.4ace41d7.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/plus.9db3464d.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0};","import { Popover } from '@industriousoffice/react-components';\nimport { useTranslations } from 'next-intl';\nimport Image from 'next/image';\nimport { useState } from 'react';\n\nimport { HorizontalDivider } from '@/components/HorizontalDivider';\nimport FilterButton, {\n FilterButtonStyle,\n} from '@/components/search/filters/FilterButton';\nimport FilterCtas from '@/components/search/filters/FilterCtas';\nimport minusIcon from '@/public/icons/minus.svg';\nimport plusIcon from '@/public/icons/plus.svg';\nimport seatsIcon from '@/public/icons/seatsIconAlt.svg';\n\nimport clsx from 'clsx';\n\ntype PeopleFilterProps = {\n btnClassName?: string;\n btnDataTestId?: string;\n value: number | undefined;\n onChange: (value: number | undefined) => void;\n};\n\nexport default function PeopleFilter({\n btnClassName,\n btnDataTestId,\n value,\n onChange,\n}: PeopleFilterProps) {\n const t = useTranslations('location.on-demand.office');\n const [isPopoverOpen, setIsPopperOpen] = useState(false);\n\n const onApply = (value?: number) => {\n setIsPopperOpen(false);\n\n if (value === undefined) {\n return onChange(undefined);\n }\n\n onChange(value);\n };\n\n const handleOpenChange = (isOpen: boolean) => {\n setIsPopperOpen(isOpen);\n };\n\n const Content = () => {\n const [filterValue, setFilterValue] = useState(value);\n\n return (\n
\n
\n
\n \n {t('filter-people-title')}\n \n
\n \n setFilterValue(Math.max(0, (filterValue ?? 0) - 1))\n }\n >\n \"less\"\n \n\n {filterValue || `-`}\n\n setFilterValue((filterValue ?? 0) + 1)}\n >\n \"more\"\n \n
\n
\n {t('filter-people-description')}\n
\n \n onChange(undefined)}\n onApplyBtn={() => onApply(filterValue)}\n dataTestId=\"seats\"\n />\n
\n );\n };\n\n return (\n }\n >\n }\n isActive={!!value}\n onClearClick={() => onChange(undefined)}\n buttonStyle={FilterButtonStyle.CHIP}\n >\n {t('filter-people', { count: value ?? 0 })}\n \n \n );\n}\n","'use client';\n\nimport { Tag, TagVariant } from '@industriousoffice/react-components';\nimport { useTranslations } from 'next-intl';\nimport Link from 'next/link';\nimport { useParams, useSearchParams } from 'next/navigation';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { Button, ButtonAction } from '@/components/buttons/Button';\nimport { LocationOpeningHoursDto } from '@/lib/locations/dto/location-opening-hours.dto';\nimport { OfficeSearch as Search } from '@/lib/office/dto/office-search.dto';\nimport { createOfficeSearch, getOfficeSearch } from '@/lib/office/office-api';\nimport { BlackoutDateDto } from '@/lib/shared/dto/blackout-date.dto';\nimport {\n getBlackoutDatesDayFilter,\n getMaxDaysFilter,\n getOpeningHoursDayFilter,\n getPastDayFilter,\n getPastDayOrTodayFilter,\n} from '@/utils/date-picker-utils';\nimport { getLocalDateFromDay, isAfter, isEqual } from '@/utils/date-utils';\nimport {\n GtmListId,\n GtmListName,\n isDataLayerLoaded,\n mapOfficeToItemEcommerce,\n pushECommerceEvent,\n} from '@/utils/gtm';\n\nimport { MAX_DAYS_HORIZON } from '../../offices/[id]/_components/constants';\nimport { LocationPdpParams } from '../../types';\nimport EmptyState from '../EmptyState';\nimport PurchaseWithConfidence from '../PurchaseWithConfidenceBanner';\nimport MoveInDateFilter from './MoveInDateFilter';\nimport Office from './Office';\nimport OfficeSearchFiltersSkeleton from './OfficeSearchFiltersSkeleton';\nimport OfficeSearchResultSkeleton from './OfficeSearchResultSkeleton';\nimport PeopleFilter from './PeopleFilter';\n\nconst SEARCH_ID_KEY = 'officeSearchId';\n\ntype OfficeSearchProps = {\n openingHours: LocationOpeningHoursDto;\n blackoutDates: BlackoutDateDto[];\n locationId: string;\n locationName: string;\n};\n\nexport default function OfficeSearch({\n openingHours,\n blackoutDates,\n locationId,\n locationName,\n}: OfficeSearchProps) {\n const t = useTranslations('location.on-demand.office');\n const searchParams = useSearchParams();\n const { slug: locationSlug } = useParams();\n\n const [search, setSearch] = useState();\n const [isLoading, setIsLoading] = useState(true);\n\n const disabledDays = useMemo(() => {\n const today = new Date();\n\n const elevenAmToday = new Date().setHours(11, 0, 0, 0);\n\n const isElevenAmOrLater =\n isAfter(today, new Date(elevenAmToday)) ||\n isEqual(today, new Date(elevenAmToday));\n\n return [\n ...getBlackoutDatesDayFilter(blackoutDates),\n getOpeningHoursDayFilter(openingHours),\n isElevenAmOrLater ? getPastDayOrTodayFilter() : getPastDayFilter(),\n getMaxDaysFilter(MAX_DAYS_HORIZON),\n ];\n }, [blackoutDates, openingHours]);\n\n const moveInDate = search?.filter.moveInDay\n ? getLocalDateFromDay(search.filter.moveInDay)\n : undefined;\n const seats = search?.filter.seats;\n const termLength = search?.filter.termLength;\n\n const showOfficeList =\n !isLoading && search?.offices && search.offices.length > 0;\n const showNoResult =\n !isLoading && search?.offices && search.offices.length === 0;\n\n const createSearch = async ({\n searchId,\n ...filters\n }: {\n locationSlug: string;\n searchId?: string;\n moveInDate?: Date;\n seats?: number;\n termLength?: number;\n }) => {\n setIsLoading(true);\n const nextSearch = await createOfficeSearch({\n ...filters,\n searchId,\n });\n\n const params = new URLSearchParams(searchParams.toString());\n params.set(SEARCH_ID_KEY, nextSearch.searchId);\n window.history.replaceState(null, '', `?${params.toString()}`);\n\n setSearch(nextSearch);\n setIsLoading(false);\n };\n\n const getSearch = async (searchId: string) => {\n setIsLoading(true);\n const nextSearch = await getOfficeSearch(searchId);\n setSearch(nextSearch);\n setIsLoading(false);\n };\n\n useEffect(() => {\n const searchId = searchParams.get(SEARCH_ID_KEY);\n if (searchId) {\n getSearch(searchId);\n } else {\n createSearch({ locationSlug });\n }\n }, []);\n\n const isGtmReady = isDataLayerLoaded();\n\n useEffect(() => {\n if (!isGtmReady || isLoading || !search) return;\n\n pushECommerceEvent('view_item_list', {\n item_list_id: GtmListId.LocationPdp,\n item_list_name: GtmListName.LocationPdp,\n items: search.offices.map((office) =>\n mapOfficeToItemEcommerce({\n officeName: t('office-title', {\n configuration: office.officeConfigurationType,\n seats: office.seats,\n }),\n officeId: office.id,\n locationName: locationName,\n seats: office.seats,\n locationId: locationId,\n })\n ),\n });\n }, [isLoading, isGtmReady, search]);\n\n return (\n
\n
\n \n

\n {t.rich('subtitle', {\n bold: (chunks) => {chunks},\n })}\n

\n
\n
\n\n {isLoading && (\n
\n \n \n
\n )}\n {!isLoading && (\n
\n
\n
\n \n
\n
\n \n createSearch({\n searchId: search?.searchId,\n locationSlug,\n moveInDate,\n seats,\n termLength,\n })\n }\n />\n \n createSearch({\n searchId: search?.searchId,\n locationSlug,\n moveInDate,\n seats,\n termLength,\n })\n }\n btnDataTestId=\"seats-filter-button\"\n />\n
\n
\n {showOfficeList && (\n <>\n \n {search?.offices.map((office) => (\n \n \n \n ))}\n \n {t('photos-info')}\n \n )}\n {showNoResult && (\n
\n createSearch({ locationSlug })} />\n
\n
\n \n {t('no-result-disclaimer.title')}\n \n \n {t('no-result-disclaimer.description')}\n \n
\n \n {t('no-result-disclaimer.cta')}\n \n
\n
\n )}\n
\n )}\n
\n );\n}\n","import Image from 'next/image';\n\nimport Tooltip from '@/components/Tooltip';\nimport tooltipIcon from '@/public/icons/tooltipIcon2.svg';\nimport verifiedIcon from '@/public/icons/verified.svg';\n\ntype PurchaseWithConfidenceProps = {\n testId: string;\n title: string;\n tooltip: string;\n};\n\nexport default function PurchaseWithConfidence({\n testId,\n title,\n tooltip,\n}: PurchaseWithConfidenceProps) {\n return (\n \n
\n \n \n {title}\n

\n \"tooltip-icon\"\n
\n \n }\n >\n {tooltip}\n \n );\n}\n","export const MAX_DAYS_HORIZON = 60;\n","import clsx from 'clsx';\n\ntype Props = {\n className?: string;\n};\n\nexport function HorizontalDivider(props: Props) {\n const { className } = props;\n return
;\n}\n","import * as Popover from '@radix-ui/react-popover';\nimport { ReactNode } from 'react';\n\ntype TooltipProps = {\n triggerComponent: ReactNode;\n children: ReactNode;\n};\n\nexport default function Tooltip({ triggerComponent, children }: TooltipProps) {\n return (\n \n {triggerComponent}\n\n \n \n {children}\n \n \n \n \n );\n}\n","import Image from 'next/image';\nimport React from 'react';\n\nimport closeIcon from '@/public/icons/closeIcon.svg';\n\nimport clsx from 'clsx';\n\ntype FilterButtonProps = {\n icon: JSX.Element;\n isActive?: boolean;\n buttonStyle?: FilterButtonStyle;\n onClearClick?: () => void;\n} & React.ComponentPropsWithoutRef<'button'>;\n\nexport enum FilterButtonStyle {\n DEFAULT = 'default',\n CHIP = 'chip',\n}\n\nconst FilterButton = React.forwardRef(\n (\n {\n children,\n isActive,\n icon,\n onClearClick,\n className,\n buttonStyle = FilterButtonStyle.DEFAULT,\n ...rest\n },\n ref\n ) => {\n const handleClearClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n onClearClick?.();\n };\n\n return (\n \n {icon}\n \n {children}\n \n {isActive && (\n handleClearClick(e)}\n />\n )}\n \n );\n }\n);\nFilterButton.displayName = 'FilterButton';\n\nexport default FilterButton;\n","import { useTranslations } from 'next-intl';\n\nimport { PrimaryButton } from '@/components/buttons/PrimaryButton';\n\ntype FilterCtaProps = {\n dataTestId: string;\n onClearLink: () => void;\n onApplyBtn: () => void;\n};\n\nexport default function FilterCtas({\n dataTestId,\n onClearLink,\n onApplyBtn,\n}: FilterCtaProps) {\n const t = useTranslations('general');\n\n return (\n \n \n {t('clear')}\n \n \n {t('apply')}\n \n
\n );\n}\n","import { getServerConfig } from '@/utils/config';\nimport { formatToDay } from '@/utils/date-utils';\nimport { tryFetchToJson } from '@/utils/http-request';\n\nimport { OccupancyStatusDto } from './dto/office-occupancy.dto';\nimport { OfficePrices } from './dto/office-prices.dto';\nimport { OfficeSearch } from './dto/office-search.dto';\nimport { Office } from './dto/office.dto';\n\nexport enum OfficeSorts {\n Seats = 'seats',\n}\n\nexport type CreateOfficeSearchProps = {\n searchId?: string;\n locationSlug: string;\n moveInDate?: Date;\n seats?: number;\n termLength?: number;\n limit?: number;\n};\n\nexport async function createOfficeSearch({\n searchId,\n locationSlug,\n moveInDate,\n seats,\n termLength,\n limit,\n}: CreateOfficeSearchProps): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/office-searches`;\n\n const body = {\n ...(searchId ? { searchId } : {}),\n locationSlug,\n ...(seats ? { seats } : {}),\n ...(termLength ? { termLength } : {}),\n moveInDay: moveInDate && formatToDay(moveInDate),\n ...(limit ? { limit } : {}),\n sort: OfficeSorts.Seats,\n };\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n init: {\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n body: JSON.stringify(body),\n },\n },\n });\n}\n\nexport async function getOfficeSearch(searchId: string): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/office-searches/${searchId}`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n },\n });\n}\n\nexport async function fetchOfficeById(\n officeId: string,\n locale: string\n): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/discovery/offices/${officeId}`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n init: {\n headers: { 'Accept-Language': locale },\n },\n },\n });\n}\n\nexport async function fetchOfficePricesById(\n officeId: string,\n locale: string\n): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_PRICING_API_URL\n }/discovery/offices/${officeId}/prices`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n init: {\n headers: { 'Accept-Language': locale },\n },\n },\n });\n}\n\nexport async function fetchOfficeOccupancyById(\n officeId: string\n): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_PRE_SALE_API_URL\n }/offices/${officeId}/occupancy-status`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n },\n });\n}\n","import {\n OFFICE_INTERIOR_IMG,\n OFFICE_WINDOW_IMG,\n} from '@/models/location-utils';\nimport { WINDOW_OFFICE_CONFIGURATION } from '@/utils/constants';\n\nimport { MonthTermType } from './dto/office.dto';\n\nconst ELEVEN_SEATS = 11;\nconst INTERIOR_TYPE = 'interior';\nconst WINDOW_TYPE = 'window';\n\nexport function getTermLengthNumber(value: MonthTermType): number {\n return Number(value.split('-')[0]);\n}\n\nexport function getOfficeImage(\n seats?: number,\n officeConfigurationType?: string\n): string {\n const basePath = '/public-s3/images/';\n const configurationType =\n officeConfigurationType === WINDOW_OFFICE_CONFIGURATION\n ? WINDOW_TYPE\n : INTERIOR_TYPE;\n\n if (!seats) {\n return configurationType === WINDOW_TYPE\n ? OFFICE_WINDOW_IMG\n : OFFICE_INTERIOR_IMG;\n }\n\n const seatsNumber = seats >= ELEVEN_SEATS ? '11-plus' : seats;\n const imageFile = `office-rep-${seatsNumber}-${configurationType}.webp`;\n\n return `${basePath}${imageFile}`;\n}\n","export * from \"/codebuild/output/src4237242273/src/website/node_modules/@industriousoffice/react-components/lib/lib.es.js\"","import { LocationOpeningHoursDto } from '@/lib/locations/dto/location-opening-hours.dto';\nimport { BlackoutDateDto } from '@/lib/shared/dto/blackout-date.dto';\nimport { DateRange } from '@/models/DateRange';\nimport {\n DateAfter,\n DateBefore,\n DateInterval,\n DayOfWeek,\n} from '@/types/DateFilter';\n\nimport { DAY_PASS_CUTOFF_HOUR } from './constants';\nimport { MAX_BOOKING_MONTHS } from './constants';\nimport {\n addDays,\n addMonths,\n createLocalDay,\n isAfter,\n setHours,\n setMinutes,\n} from './date-utils';\n\nconst dayOfWeekMap = {\n sun: 0,\n mon: 1,\n tue: 2,\n wed: 3,\n thu: 4,\n fri: 5,\n sat: 6,\n};\n\nexport function getBlackoutDatesDayFilter(\n blackoutDays: BlackoutDateDto[]\n): Date[] {\n return blackoutDays.map((blackoutDay) => createLocalDay(blackoutDay.date));\n}\n\nexport function getUnavailableDaysFilter(unavailableDays: string[]): Date[] {\n return unavailableDays.map(createLocalDay);\n}\n\nexport function getPastDayFilter(): DateBefore {\n return { before: new Date() };\n}\n\nexport function getPastDayOrTodayFilter(): DateBefore {\n return { before: addDays(new Date(), 1) };\n}\n\nexport function getDateFilterBeforeCutoff(): DateBefore {\n const today = new Date();\n\n const todayAtCutoff = setHours(setMinutes(today, 0), DAY_PASS_CUTOFF_HOUR);\n\n if (isAfter(today, todayAtCutoff)) {\n return { before: addDays(today, 1) };\n }\n\n return { before: addDays(today, 0) };\n}\n\nexport function getDateRangeDayFilter(dateRange: DateRange): DateInterval {\n return { before: dateRange.from, after: dateRange.to };\n}\n\nexport function getMaxMonthsFilter(months: number): DateAfter {\n const today = new Date();\n const dateAfterMonths = addMonths(today, months);\n return { after: dateAfterMonths };\n}\n\nexport function getMaxDaysFilter(days: number): DateAfter {\n const today = new Date();\n const dateAfterDays = addDays(today, days);\n return { after: dateAfterDays };\n}\n\nexport function getOpeningHoursDayFilter(\n openingHours: LocationOpeningHoursDto\n): DayOfWeek {\n const openedDays = Object.keys(openingHours).filter(\n (day) => openingHours[day as keyof LocationOpeningHoursDto] == null\n );\n\n return {\n dayOfWeek: openedDays.map(\n (day) => dayOfWeekMap[day as keyof typeof dayOfWeekMap]\n ),\n };\n}\n\nexport const weekEndDisabled = getOpeningHoursDayFilter({\n mon: { open: '09:00', close: '17:00' },\n tue: { open: '09:00', close: '17:00' },\n wed: { open: '09:00', close: '17:00' },\n thu: { open: '09:00', close: '17:00' },\n fri: { open: '09:00', close: '17:00' },\n sat: null,\n sun: null,\n});\n\nexport const pastDaysOrTodayDisabled = getPastDayOrTodayFilter();\n\nexport const pastDaysBeforeCutoffDisabled = getDateFilterBeforeCutoff();\nexport const futureMonthsDisabled = getMaxMonthsFilter(MAX_BOOKING_MONTHS);\n","import { MeetingRoomDto } from '@/lib/meeting-rooms/dto/meeting-room.dto';\nimport { SimpleMeetingRoomDto } from '@/lib/meeting-rooms/dto/simple-meeting-room.dto';\nimport { StringBool } from '@/models/StringBool.enum';\n\nimport { MeetingRoomMapFeatureProps } from './mapbox';\n\nexport enum GtmListId {\n SearchPage = 'search_page',\n LocationPdp = 'location_pdp',\n}\n\nexport enum GtmListName {\n SearchPage = 'Search Page',\n LocationPdp = 'Location PDP',\n}\n\ntype GtmOptionsPageView = {\n pageType?: string;\n};\n\ntype GtmOptionsLocation = {\n location_name?: string;\n location_city?: string;\n location_metro?: string;\n location_country?: string;\n location_id?: string;\n};\n\ntype GtmOptionsCheckoutCustomize = {\n country?: string;\n metro?: string;\n location?: string;\n global_access?: StringBool;\n location_id?: string;\n promo_code?: string;\n};\n\ntype GtmOptionsMeetingRoom = {\n location_name?: string;\n meeting_room_name?: string;\n};\n\nexport type GtmOptions = GtmOptionsPageView &\n GtmOptionsLocation &\n GtmOptionsMeetingRoom &\n GtmOptionsCheckoutCustomize;\n\nexport const isDataLayerLoaded = () => {\n return typeof window !== 'undefined' && !!window.dataLayer;\n};\n\nexport const pushEvent = (event: string, options = {}) => {\n if (!window.dataLayer) return;\n window.dataLayer.push({ event, ...options });\n};\n\nexport const pageview = ({\n url,\n pageType,\n options = {},\n}: {\n url: string;\n pageType: string;\n options: GtmOptions;\n}) => {\n pushEvent('pageview', { url, pageType, ...options });\n};\n\nexport const pushECommerceEvent = (\n event: string,\n options: Record\n) => {\n if (!window.dataLayer) return;\n window.dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.\n pushEvent(event, { ecommerce: options });\n};\n\nconst AFFILIATION = 'Online purchase';\nconst PRODUCT_CATEGORY_ON_DEMAND = 'On demand';\nconst PRODUCT_CATEGORY_SUBSCRIPTION = 'subscription';\n\nconst MEETING_ROOM_PRODUCT = 'Meeting room';\nconst COWORKING_ITEM_NAME = 'Coworking day pass';\nconst DAY_PASS_PRODUCT = 'Day pass';\nconst INDUSTRIOUS_BRAND_NAME = 'Industrious';\nconst OFFICE_PRODUCT = 'Private office';\n\nexport const mapMeetingRoomToItemEcommerce = (\n meetingRoom: MeetingRoomDto | SimpleMeetingRoomDto,\n locationId: string\n) => {\n return {\n item_name: `${meetingRoom.locationName} - ${meetingRoom.name}`,\n item_id: meetingRoom.slug,\n affiliation: AFFILIATION,\n item_brand:\n (meetingRoom as MeetingRoomDto)?.brandName || INDUSTRIOUS_BRAND_NAME,\n item_category: meetingRoom.locationName,\n item_category2: PRODUCT_CATEGORY_ON_DEMAND,\n item_category3: MEETING_ROOM_PRODUCT,\n ...(meetingRoom.locationTier != null && {\n item_category4: `Tier ${meetingRoom.locationTier}`,\n }),\n item_variant: meetingRoom.seats,\n location_id: locationId,\n };\n};\n\nexport const mapSimpleMeetingRoomToItemEcommerce = (\n meetingRoom: SimpleMeetingRoomDto | MeetingRoomMapFeatureProps\n) => {\n return {\n item_name: `${meetingRoom.locationName} - ${meetingRoom.name}`,\n item_id: meetingRoom.slug,\n affiliation: AFFILIATION,\n item_category: meetingRoom.locationName,\n item_category2: PRODUCT_CATEGORY_ON_DEMAND,\n item_category3: MEETING_ROOM_PRODUCT,\n ...(meetingRoom.locationTier != null && {\n item_category4: `Tier ${meetingRoom.locationTier}`,\n }),\n item_variant: meetingRoom.seats,\n };\n};\n\nexport const mapCoworkingToItemEcommerce = (location: {\n name: string;\n id: string;\n}) => {\n return {\n item_name: COWORKING_ITEM_NAME,\n affiliation: AFFILIATION,\n item_brand: INDUSTRIOUS_BRAND_NAME,\n item_category: location.name,\n item_category2: PRODUCT_CATEGORY_ON_DEMAND,\n item_category3: DAY_PASS_PRODUCT,\n location_id: location.id,\n };\n};\n\nexport const mapOfficeToItemEcommerce = (params: {\n officeName: string;\n officeId: string;\n locationName: string;\n seats?: number;\n locationId: string;\n}) => {\n const { officeName, officeId, locationName, seats, locationId } = params;\n return {\n item_id: officeId,\n item_name: officeName,\n affiliation: AFFILIATION,\n item_brand: INDUSTRIOUS_BRAND_NAME,\n item_category: locationName,\n item_category2: PRODUCT_CATEGORY_SUBSCRIPTION,\n item_category3: OFFICE_PRODUCT,\n item_variant: seats,\n location_id: locationId,\n quantity: 1,\n };\n};\n","export default {\"src\":\"/_next/static/media/calendar.eaaacbb5.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/clockAlt.3fecbadc.svg\",\"height\":20,\"width\":19,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/seatsIconAlt.504f35d8.svg\",\"height\":20,\"width\":19,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/tooltipIcon2.d0181276.svg\",\"height\":16,\"width\":15,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/verified.c38866d8.svg\",\"height\":24,\"width\":24,\"blurWidth\":0,\"blurHeight\":0};"],"names":["__webpack_exports__","Z","onResetClick","param","t","useTranslations","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","className","p","jsx","span","ButtonAsLink","onClick","OCCUPANCY_STATUS","highDemandIcon","lowStockIcon","OccupancyStatus","officeFakeId","seats","statusClassname","withBackground","onlyShowOne","isLoading","setIsLoading","useState","occupancyStatuses","setOccupancyStatuses","useEffect","fetchOccupancy","statuses","fetchOfficeOccupancyById","length","sort","sortStatuses","jsx_runtime","SkeletonLoader","clsx","map","Image","src","item","status","HIGH_DEMAND","alt","count","a","b","sortArray","LAST_OFFICE","LAST_WINDOW_OFFICE","LOW_STOCK","indexOf","DatePiker","dynamic","Promise","resolve","then","__webpack_require__","bind","mod","Picker","MoveInDateFilter","btnDataTestId","btnClassName","label","disabledDays","value","onChange","isPopoverOpen","setIsPopperOpen","valueLabel","useMemo","format","Popover","isOpen","onOpenChange","align","content","mode","onSelect","date","data-testid","disabled","FilterButton","icon","calendarIcon","aria-hidden","isActive","onClearClick","undefined","buttonStyle","FilterButtonStyle","CHIP","Office","id","conferenceRoomHours","membershipCount","officeConfigurationType","moveInDay","termLength","slug","useParams","url","stringifyUrl","concat","day","monthTerm","Link","href","ImageWithPlaceholder","fill","getOfficeImage","configuration","width","height","seatsIcon","clockIcon","hours","minus","plus","PeopleFilter","onApply","filterValue","setFilterValue","button","type","Math","max","minusIcon","plusIcon","HorizontalDivider","FilterCtas","onClearLink","onApplyBtn","dataTestId","Content","SEARCH_ID_KEY","OfficeSearch","openingHours","blackoutDates","locationId","locationName","searchParams","useSearchParams","locationSlug","search","setSearch","today","Date","elevenAmToday","setHours","isElevenAmOrLater","isAfter","isEqual","getBlackoutDatesDayFilter","getOpeningHoursDayFilter","getPastDayOrTodayFilter","getPastDayFilter","getMaxDaysFilter","MAX_DAYS_HORIZON","moveInDate","filter","getLocalDateFromDay","showOfficeList","offices","showNoResult","createSearch","searchId","filters","nextSearch","createOfficeSearch","params","URLSearchParams","toString","set","window","history","replaceState","getSearch","getOfficeSearch","get","isGtmReady","isDataLayerLoaded","pushECommerceEvent","item_list_id","GtmListId","LocationPdp","item_list_name","GtmListName","items","mapOfficeToItemEcommerce","officeName","office","officeId","Tag","variant","TagVariant","None","text","testId","rich","bold","chunks","OfficeSearchFiltersSkeleton","OfficeSearchResultSkeleton","PurchaseWithConfidence","title","tooltip","Fragment","ul","li","EmptyState","Button","as","action","ButtonAction","PRIMARY","Tooltip","triggerComponent","verifiedIcon","tooltipIcon","props","hr","children","asChild","alignOffset","sideOffset","React","ref","rest","handleClearClick","e","stopPropagation","closeIcon","displayName","PrimaryButton","sm","limit","getServerConfig","NEXT_PUBLIC_INVENTORY_API_URL","body","formatToDay","tryFetchToJson","fetchParams","input","init","headers","method","JSON","stringify","fetchOfficePricesById","locale","NEXT_PUBLIC_PRICING_API_URL","NEXT_PUBLIC_PRE_SALE_API_URL","OfficeSorts","WINDOW_TYPE","getTermLengthNumber","Number","split","configurationType","WINDOW_OFFICE_CONFIGURATION","OFFICE_WINDOW_IMG","OFFICE_INTERIOR_IMG","imageFile","dayOfWeekMap","sun","mon","tue","wed","thu","fri","sat","blackoutDays","createLocalDay","blackoutDay","getUnavailableDaysFilter","unavailableDays","before","addDays","getDateRangeDayFilter","dateRange","from","after","to","days","dayOfWeek","openedDays","keys","weekEndDisabled","open","close","pastDaysBeforeCutoffDisabled","getDateFilterBeforeCutoff","todayAtCutoff","setMinutes","DAY_PASS_CUTOFF_HOUR","futureMonthsDisabled","getMaxMonthsFilter","months","addMonths","MAX_BOOKING_MONTHS","dataLayer","pushEvent","event","options","push","pageview","pageType","ecommerce","AFFILIATION","PRODUCT_CATEGORY_ON_DEMAND","MEETING_ROOM_PRODUCT","INDUSTRIOUS_BRAND_NAME","mapMeetingRoomToItemEcommerce","meetingRoom","item_name","name","item_id","affiliation","item_brand","brandName","item_category","item_category2","item_category3","locationTier","item_category4","item_variant","location_id","mapSimpleMeetingRoomToItemEcommerce","mapCoworkingToItemEcommerce","location","quantity"],"sourceRoot":""}