{"version":3,"file":"static/chunks/186-dc756db1e18c088d.js","mappings":"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","sources":["webpack://_N_E/./src/components/EndModal.tsx","webpack://_N_E/./src/components/Product/ProductCardWithScrap.tsx","webpack://_N_E/./src/promotions/api/promotion.ts","webpack://_N_E/./src/utils/Navigation/tracking.ts","webpack://_N_E/./src/components/Link/Link.tsx","webpack://_N_E/./src/components/Link/LogLink.tsx","webpack://_N_E/./src/api/share-link.ts","webpack://_N_E/./src/promotions/components/SectionViewer.tsx","webpack://_N_E/./src/promotions/hooks/usePromotionQuery.ts","webpack://_N_E/./src/styles/grids.ts","webpack://_N_E/"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\n\nimport { ScrollLock } from '@bucketplace/ui';\nimport { pxToRem, MEDIA_QUERY } from '@bucketplace/design-system';\nimport { Modal } from '@bucketplace/design-system/bds';\n\nimport { OHS_HOST } from 'common';\nimport { useAutoChangeComponent } from 'utils';\n\ninterface EndModalProps {\n end: Date | string;\n title: string;\n contents: string;\n redirectTarget?: 'home' | 'store';\n}\n\nconst modalButtonInfo = {\n home: {\n label: '홈으로 이동하기',\n href: `${OHS_HOST}`,\n },\n store: {\n label: '쇼핑하러 가기',\n href: `${OHS_HOST}/store`,\n },\n};\n\nexport const EndModal = ({\n end,\n title,\n contents,\n redirectTarget = 'home',\n}: EndModalProps): React.ReactElement | null => {\n const endTime = new Date(end);\n const { label, href } = modalButtonInfo[redirectTarget];\n const autoChange = useAutoChangeComponent(endTime);\n\n return autoChange(\n null,\n <>\n \n \n { contents.split('\\\\n').map((content, index) => (\n
{ content }
\n )) }\n { label }\n \n \n );\n};\n\nconst Anchor = styled.a`\n display: flex;\n margin: 0 auto;\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: ${pxToRem(4)};\n font-weight: 400;\n color: white;\n line-height: 1.25rem;\n min-height: ${pxToRem(32)};\n ${({ theme }) => `\n background-color: ${theme.content.primary1.basic};\n `}\n word-break: keep-all;\n margin-top: ${pxToRem(10)};\n margin-bottom: ${pxToRem(10)};\n width: 40%;\n ${MEDIA_QUERY.max('mobile', `\n width: ${pxToRem(150)};\n `)}\n`;\n","import React from 'react';\nimport { BucketLogData } from '@bucketplace/bucket-log';\nimport { CommerceProductCard, ProductCardProps } from '@bucketplace/common';\n\nimport { OHS_HOST } from 'common';\nimport { SuperLink } from 'components/Layout';\n\nexport interface ScrapChildScrapParams {\n bucketLogData?: Omit;\n amplitudeLogData?: { scrappedFrom?: string };\n}\n\nexport function ProductCardWithScrap ({\n product,\n className,\n logData,\n}: ProductCardProps): React.ReactElement {\n // const router = useRouter();\n // const { userInfo } = useUserContext();\n // const isLoggedIn = userInfo?.user != null;\n // const userId = userInfo?.user?.userId;\n // const handleScrap = async ({ type, id }: ProductScrapActionParams): Promise => {\n // const {\n // success,\n // collectionId,\n // collectCount,\n // message,\n // } = await createScrap({ type, id });\n // return {\n // success,\n // collectCount,\n // message,\n // id: collectionId,\n // };\n // };\n // const handleUnscrap = async ({ type, id }: ProductScrapActionParams): Promise => {\n // const {\n // success,\n // collectCount,\n // message,\n // } = await deleteScrap({ type, id });\n // return {\n // success,\n // collectCount,\n // message,\n // };\n // };\n // const handleCreateCollectionBook = async ({ name }: { name: string }) => {\n // const { success, id } = await createCollectionBook({ name });\n // return { success, id };\n // };\n // const handleMoveCollectionBookItemList = async ({ collectionBookId, ids }: {\n // collectionBookId: number,\n // ids: number[],\n // }): Promise<{ success: boolean }> => {\n // const { success } = await moveCollectionBookItems(collectionBookId, ids);\n // return { success };\n // };\n // const redirectToLogin = () => {\n // router.push(`${SIGN_IN_URL}${encodeURIComponent(router.asPath)}`);\n // };\n // const handleClickScrapBook = () => {\n // if (!isLoggedIn) {\n // redirectToLogin();\n // }\n // router.push(`${OHS_HOST}/users/${userId}/collections`);\n // };\n // const handleClickScrapBookTo = (scrapBookId: number) => {\n // router.push(`${OHS_HOST}/collection_books/${scrapBookId}`);\n // };\n\n // const scrapData = createProductScrapData({\n // userId,\n // scrappedFrom: '썸네일',\n // onScrap: () => () => {/* noop */},\n // onUnscrap: () => {/* noop */},\n // onCreateScrap: handleScrap,\n // onDeleteScrap: handleUnscrap,\n // onCreateCollectionBook: handleCreateCollectionBook,\n // onMoveCollectionBookItemList: handleMoveCollectionBookItemList,\n // getCollectionBookList: getCollectionBookList,\n // onClickScrapBook: handleClickScrapBook,\n // onClickScrapBookTo: handleClickScrapBookTo,\n // redirectToLogin,\n // product,\n // active: product.isScrap ?? false,\n // count: product.scrapCount ?? 0,\n // });\n\n return (\n \n );\n}\n","import { stringify } from 'querystring';\nimport { camelizeKeys } from 'humps';\n\nimport { Product } from '@bucketplace/common';\n\nimport { clientHttp } from 'common/http';\n\nimport { SectionItemsResponse, ResponseGetCouponMoldsPublish, CommonPublishProductCoupon } from 'promotions/types';\n\nimport { fetcher } from 'api/fetcher';\n\nexport const publishCartCouponMolds = async (\n { id }: { id: number }\n): Promise => {\n const res = await fetcher(`/api/promotions/coupon/${id}`);\n return res;\n};\n\nexport const publishProductCouponMolds = async (\n { id, userId }: { id: number, userId: string }\n): Promise => {\n const json = await clientHttp.post('/api/promotions/product-coupon/create', {\n json: {\n couponMoldId: id,\n userId,\n },\n }).json();\n return camelizeKeys(json) as CommonPublishProductCoupon;\n};\n\nexport const getStoreItems = async (\n {\n ids,\n isLoggedIn,\n showCouponBadge,\n }: {\n ids: string[],\n isLoggedIn: boolean,\n showCouponBadge: boolean,\n }\n): Promise => {\n try {\n const res = await fetcher(\n `/api/promotions/store-items?${stringify({\n ids: ids.join(','),\n isLoggedIn,\n showCouponBadge,\n })}`\n );\n\n return res.map((item) => ({\n ...item,\n id: Number(item.id),\n }));\n } catch (error) {\n return [];\n }\n};\n\nexport const getSectionItems = async (\n id: string,\n detailId: string,\n {\n sectionId,\n page,\n }: {\n sectionId?: string,\n page: number,\n }\n): Promise => {\n const res = await fetcher(\n `/api/promotions/${id}/section-items?${stringify({\n sectionId,\n detailId,\n page,\n })}`\n );\n\n return res;\n};\n\nexport const getExhibitionSectionItems = async (url): Promise => {\n const res = await fetcher(url);\n\n return res.sectionItems;\n};\n","const windowObj = typeof window !== 'undefined' ? (window as any) : null;\n\nexport interface AmplitudeIdentify {\n /** increment a user property by a given value (can also be negative to decrement). */\n add(key: string, value: number | string): AmplitudeIdentify;\n /** Append a value or values to a user property */\n append(key: string, value: unknown): AmplitudeIdentify;\n /** Prepend a value or values to a user property */\n prepend(key: string, value: unknown): AmplitudeIdentify;\n /** Sets the value of a given user property */\n set(key: string, value: unknown): AmplitudeIdentify;\n /** Sets the value of a given user property only once */\n setOnce(key: string, value: unknown): AmplitudeIdentify;\n /** Unset and remove a user property */\n unset(key: string): AmplitudeIdentify;\n}\n\nexport interface AmplitudeRevenue {\n setProductId(productId: string): AmplitudeRevenue;\n setQuantity(quantity: number): AmplitudeRevenue;\n setPrice(price: number): AmplitudeRevenue;\n setRevenueType(revenueType: string): AmplitudeRevenue;\n setEventProperties(eventProperties: any): AmplitudeRevenue;\n}\n\nexport interface AmplitudeClient {\n init(\n apiKey: string,\n userId?: string,\n config?: unknown,\n callback?: (client: AmplitudeClient) => void,\n ): void;\n\n setVersionName(versionName: string): void;\n\n isNewSession(): boolean;\n setSessionId(sessionId: number): void;\n getSessionId(): number;\n\n setDomain(domain: string): void;\n setUserId(userId: string | null): void;\n\n setDeviceId(id: string): void;\n regenerateDeviceId(): void;\n\n identify(identifyObj: AmplitudeIdentify, optCallback?: () => void): void;\n\n setUserProperties(properties: any): void;\n setGlobalUserProperties(properties: any): void;\n clearUserProperties(): void;\n\n setOptOut(enable: boolean): void;\n\n setGroup(groupType: string, groupName: string | string[]): void;\n\n logEvent(event: string, data?: unknown, callback?: () => void): void;\n logEventWithGroups(\n event: string,\n data?: unknown,\n groups?: unknown,\n callback?: () => void,\n ): void;\n logRevenueV2(revenueObj: AmplitudeRevenue): void;\n logRevenue(pric: number, quantity: number, product: string): void;\n logEventWithTimestamp(\n event: string,\n data?: unknown,\n timestamp?: number,\n callback?: () => void,\n ): void;\n\n Identify: new () => AmplitudeIdentify;\n Revenue: new () => AmplitudeRevenue;\n}\n\nexport function getAmplitude (): AmplitudeClient | null {\n if (windowObj.amplitude == null) return null;\n\n return windowObj.amplitude.getInstance?.() as AmplitudeClient | null;\n}\n\nexport function logAmplitude (type: string, data?: unknown): void {\n const amplitude = getAmplitude();\n\n if (amplitude == null) return;\n\n amplitude.logEvent(type, data);\n}\n","import React, { AnchorHTMLAttributes } from 'react';\nimport NextLink, { LinkProps as _LinkProps } from 'next/link';\n\nexport interface LinkProps extends\n Omit<_LinkProps, 'passHref' | 'onClick' | 'onMouseEnter' | 'onTouchStart'>,\n Omit, 'href'> {\n className?: string;\n children?: React.ReactNode;\n state?: unknown;\n}\n\nfunction LinkIntrinsic (\n props: LinkProps,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: React.Ref\n): React.ReactElement {\n const {\n className,\n children,\n href,\n as,\n replace,\n scroll,\n shallow,\n prefetch,\n locale,\n ...restProps\n } = props;\n const nextLinkProps = {\n replace,\n scroll,\n shallow,\n prefetch,\n locale,\n };\n\n return (\n \n \n { children }\n \n \n );\n}\n\nexport const Link = React.memo(React.forwardRef(LinkIntrinsic));\n","import React, { forwardRef, ReactElement, Ref, MouseEvent } from 'react';\n\nimport { BucketLogData, bucketLog } from '@bucketplace/bucket-log';\n\nimport { logAmplitude } from 'utils/Navigation/tracking';\nimport { Link, LinkProps } from 'components/Link/Link';\n\nexport interface LogLinkData {\n linkType?: 'a' | 'link';\n logData?: BucketLogData;\n amplitudeType?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n amplitudeData?: object;\n}\n\nexport interface LogLinkProps extends LinkProps, LogLinkData {}\n\nfunction LogLink (\n props: LogLinkProps,\n ref: Ref\n): ReactElement {\n const {\n linkType,\n logData,\n onClick,\n amplitudeType,\n amplitudeData = {},\n children,\n href,\n ...linkProps\n } = props;\n const isAnchor = linkType === 'a';\n const handleClick = (e: MouseEvent): void => {\n if (logData) {\n bucketLog({\n category: 'click',\n ...logData,\n });\n }\n if (amplitudeType) {\n logAmplitude(amplitudeType, {\n ...amplitudeData,\n });\n }\n if (onClick) {\n onClick(e);\n }\n };\n\n if (isAnchor) {\n return (\n \n { children }\n \n );\n }\n\n return (\n \n { children }\n \n );\n}\n\nexport default forwardRef(LogLink);\n","import camelcase from 'camelcase-keys';\nimport { stringify, parse } from 'qs';\nimport { omit } from 'lodash-es';\n\nimport { clientHttp } from 'common/http';\n\n// As we're sending our requests to BE services via api g/w proxy built-in to\n// ohou.se-client, using the endpoint without a hostname here:\nconst SHARE_LINK_QUERY_PARAMS_EXCLUSION_LIST = ['affect_id', 'affect_type'];\n\nexport interface CreateShareLinkParams {\n locationHref: string;\n onlyWeb: boolean;\n contentType: string;\n contentId: number;\n userId?: number | null;\n}\n\nexport interface CreateShareLinkResult {\n url?: string;\n}\n\nexport async function createShareLink({\n locationHref,\n onlyWeb,\n contentType,\n contentId,\n userId,\n}: CreateShareLinkParams): Promise {\n // parse the given url with a minimal regex pattern\n const match = /^([^?#]+)(\\?[^?#]*)?(#.+?)?$/.exec(locationHref);\n if (match == null) {\n throw new Error('invariant: invalid `locationHref`');\n }\n\n // here we drop the `hash` part\n const [, leadingUrlPart, search] = match;\n let serializedQuery = '';\n if (search != null) {\n const originalQuery = parse(search);\n // According to the spec, they want to strip some of useless params from querystring for the sake of ease processing\n // > https://docs.google.com/document/d/1TW7MPUCYIYK21-DfBc1kB58qp_ICRCYCsm-fTNdkDok\n const filteredQuery = omit(originalQuery, SHARE_LINK_QUERY_PARAMS_EXCLUSION_LIST);\n serializedQuery = `?${stringify(filteredQuery)}`;\n }\n\n const json = await clientHttp.post('/api/share/link', {\n json: {\n location_href: `${leadingUrlPart}${serializedQuery}`,\n only_web: onlyWeb,\n content_type: contentType,\n content_id: contentId,\n user_id: userId ?? null,\n },\n }).json();\n\n return camelcase(json as any, { deep: true }) as CreateShareLinkResult;\n}\n","import React, { memo, ReactElement, useEffect, useMemo, useState } from 'react';\nimport { useRouter } from 'next/router';\nimport isValid from 'date-fns/isValid';\n\nimport { useSnackbar } from '@bucketplace/design-system';\nimport { bucketLog, BucketLogData } from '@bucketplace/bucket-log';\nimport { Viewer, DocumentNode, defaultComponents, LinkContextValue } from '@bucketplace/jsx-editor/exhibition';\nimport { CUSTOM_COUPON_PUBLISH_MESSAGE, getCouponsPublishMessage, Product, useKakaoAPI } from '@bucketplace/common';\n\nimport { OHS_HOST } from 'common';\nimport { useUserContext, useGlobalModal } from 'provider';\nimport { getStoreItems, publishCartCouponMolds, publishProductCouponMolds } from 'promotions/api/promotion';\nimport LogLink from 'components/Link/LogLink';\nimport { SuperLink } from 'components/Layout';\nimport { getAppOsInfo, checkAppVersion, sendBrazeLog } from 'utils';\nimport { createShareLink } from 'api/share-link';\n\n// import { usePlatformInfo } from '../hooks/usePlatformInfo';\n\nconst DISABLE_COMPONENT_ID_LIST = ['snsShare', 'floatingLink', 'modal', 'comment'];\nconst DISPLAY_DATE_KEY = '82efaa2733534320a1d200cd69202842';\n\nexport const INITIAL_EDITOR_DATA: DocumentNode = {\n key: null,\n type: 'page',\n props: {},\n children: [],\n};\n\nconst getEditorLink = (\n experimentType: string | null,\n callback: (targetId:string, smooth?: boolean) => void\n): LinkContextValue => {\n return {\n element: ({ to, children, logData, ...props }) => {\n const isAnchor = typeof to === 'string' && to.includes('#');\n const href = typeof to === 'string' ? (isAnchor ? 'javascript:;' : to) : '';\n\n return (\n \n { children }\n \n );\n },\n callbacks: {\n onClick: (targetId: string) => {\n callback(targetId, true);\n },\n },\n };\n};\n\nconst hasStickyTabType = (node: DocumentNode): boolean => {\n if (node.type === 'stickyTab') {\n return true;\n }\n for (const child of node.children) {\n if (hasStickyTabType(child)) {\n return true;\n }\n }\n return false;\n};\n\nexport interface SectionViewerProps {\n exhibitionId: string;\n units: string;\n kakaoTemplate: {\n templateId: number,\n templateArgs: any,\n };\n experimentType?: string | null;\n onViewerLoaded: (isLoaded: boolean) => void;\n onClick: (targetId: string, smooth?: boolean) => void;\n}\n\nfunction _SectionViewer ({\n exhibitionId,\n units,\n kakaoTemplate,\n experimentType,\n onViewerLoaded,\n onClick,\n}: SectionViewerProps): ReactElement {\n const { query, asPath } = useRouter();\n const { openConfirmModal, openAlertModal } = useGlobalModal();\n const { open } = useSnackbar();\n const { userInfo, pending } = useUserContext();\n const isLoggedIn = !!userInfo?.user;\n const { osType, osVersion } = getAppOsInfo() ?? {};\n const kakaoApi = useKakaoAPI();\n\n let showCouponBadge = true;\n\n if (!checkAppVersion({\n osType,\n currentVersion: osVersion,\n androidVersion: '23.5.0',\n iosVersion: '23.5.0',\n })) {\n showCouponBadge = false;\n }\n const [isViewerLoaded, setIsViewerLoaded] = useState(false);\n\n const displayDateValue = (query[DISPLAY_DATE_KEY] ?? '') as string;\n const displayDate = isValid(new Date(displayDateValue)) ? new Date(displayDateValue) : undefined;\n\n const linkContextValue = getEditorLink(experimentType, onClick);\n\n const handleCouponClick = async (cartCouponMoldIds: string[], productCouponMoldIds: string[]): Promise => {\n if (pending) {\n await openAlertModal({ message: '접속 인원이 많아 페이지 로딩이 지연되고 있습니다. 다시 시도해주세요.' });\n return;\n }\n\n if (!isLoggedIn) {\n const path = `/events/${asPath}`;\n const signInUrl = `${OHS_HOST}/users/sign_in?redirect_to=${encodeURIComponent(path)}`;\n\n if (await openConfirmModal({\n message: '로그인 후 다운로드가 가능합니다.',\n })) {\n window.location.href = signInUrl;\n }\n\n return;\n }\n\n try {\n const cartCoupons = await Promise.all(cartCouponMoldIds.filter(Boolean).map(\n async (id) => await publishCartCouponMolds({\n id: Number(id),\n })\n ));\n const productCoupons = await Promise.all(productCouponMoldIds.filter(Boolean).map(\n async (id) => await publishProductCouponMolds({\n id: Number(id),\n userId: userInfo.user.userId.toString(),\n })\n )).then(result => result.flatMap(coupon => coupon));\n\n const message = getCouponsPublishMessage(cartCoupons, productCoupons);\n\n await openAlertModal({ message });\n } catch (error) {\n console.error(JSON.stringify(error));\n await openAlertModal({ message: CUSTOM_COUPON_PUBLISH_MESSAGE.ERROR });\n return;\n }\n };\n\n const handleGetStoreItems = async (ids: string[]): Promise => {\n const items = await getStoreItems({\n ids,\n isLoggedIn,\n showCouponBadge: showCouponBadge ?? false,\n });\n return items;\n };\n\n const handleGetStoreItemHref = (productId: number): string => `${OHS_HOST}/productions/${productId}/selling`;\n\n const handleSendBucketLog = (logData?: BucketLogData): void => {\n if (logData) {\n bucketLog({\n category: logData.category ?? 'click',\n ...logData,\n });\n }\n };\n\n const handleImageMapBrazeClick = (customEventName: string): void => {\n const logData = {\n customEventName,\n exhibitionId,\n date: new Date().toISOString(),\n userId: userInfo?.user?.userId,\n // Web에서 osType이 'undefined' 로 넘어옴\n osType: osType != null && osType !== 'undefined' ? osType : 'Web',\n osVersion: osVersion,\n };\n\n sendBrazeLog(customEventName, logData);\n\n // if (isInApp) {\n // sendBrazeAppLog(customEventName, logData);\n // } else {\n // sendBrazeLog(customEventName, logData);\n // }\n };\n\n const handleImageMapBrazeSignin = async (): Promise => {\n const path = `/events/${asPath}`;\n const signInUrl = `${OHS_HOST}/users/sign_in?redirect_to=${encodeURIComponent(path)}`;\n\n if (await openConfirmModal({\n message: '로그인 후 이용이 가능합니다.',\n })) {\n window.location.href = signInUrl;\n }\n };\n\n const handleImageMapShareClick = async (): Promise => {\n const request = {\n locationHref: typeof window === 'undefined' ? '' : window.location.href,\n onlyWeb: false,\n contentId: Number(exhibitionId),\n contentType: 'Exhibition',\n userId: userInfo?.user?.userId != null ? Number(userInfo?.user?.userId) : undefined,\n };\n /** @ https://wolfgangrittner.dev/how-to-use-clipboard-api-in-firefox/ */\n if (typeof ClipboardItem && navigator.clipboard.write) {\n // NOTE: Safari locks down the clipboard API to only work when triggered\n // by a direct user interaction. You can't use it async in a promise.\n // But! You can wrap the promise in a ClipboardItem, and give that to\n // the clipboard API.\n // Found this on https://developer.apple.com/forums/thread/691873\n const text = new ClipboardItem({\n 'text/plain': createShareLink(request)\n .then(response => response.url ?? window.location.href)\n .then(text => new Blob([text], { type: 'text/plain' })),\n });\n navigator.clipboard.write([text])\n .then(() => {\n open({ content: '클립보드에 복사했습니다.' });\n })\n .catch(err => {\n console.error('Could not copy text: ', err);\n open({ content: '클립보드 복사에 실패했습니다.' });\n });}\n else {\n // NOTE: Firefox has support for ClipboardItem and navigator.clipboard.write,\n // but those are behind `dom.events.asyncClipboard.clipboardItem` preference.\n // Good news is that other than Safari, Firefox does not care about\n // Clipboard API being used async in a Promise.\n createShareLink(request)\n .then(response => response.url ?? window.location.href)\n .then(text => navigator.clipboard.writeText(text)\n .then(() => {\n open({ content: '클립보드에 복사했습니다.' });\n })\n .catch(err => {\n console.error('Could not copy text: ', err);\n open({ content: '클립보드 복사에 실패했습니다.' });\n })\n );\n }\n };\n\n const document = useMemo(() => {\n return units ? JSON.parse(units) : INITIAL_EDITOR_DATA;\n }, [units]);\n\n useEffect(() => {\n onViewerLoaded(isViewerLoaded);\n }, [isViewerLoaded, onViewerLoaded]);\n\n if (typeof window === 'undefined' || !units || pending) {\n return null;\n }\n\n return (\n // eslint-disable-next-line react/no-unknown-property\n
setIsViewerLoaded(true)}>\n \n
\n );\n}\n\nexport const SectionViewer = memo(_SectionViewer);\n","import { useRouter } from 'next/router';\n\ninterface PromotionQuery {\n /** 기획전 id */\n id?: string;\n /** 앵커링할 id */\n anchor?: string;\n /** 외부에서 진입시 초기 앵커링 여부 */\n // eslint-disable-next-line camelcase\n anchor_section?: string;\n /** section 정보 */\n section?: string;\n}\n\ninterface UsePromotionQueryParam {\n isProd: boolean;\n defaultId?: number;\n}\n\ninterface UsePromotionQueryResponse {\n promotionId: number;\n anchorTargetId: string;\n anchorSection: string;\n section: string;\n}\n\nexport function usePromotionQuery({\n isProd,\n defaultId,\n}: UsePromotionQueryParam): UsePromotionQueryResponse {\n const router = useRouter();\n const {\n id,\n section,\n anchor: anchorTargetId,\n anchor_section: anchorSection,\n } = router.query as PromotionQuery;\n\n // production일경우 정해진 ID만 사용할 수 있으나, stage에서는 QA를 위해 전달받은 id가 있으면 해당 id를 먼저 사용\n // e.g events.stage-web.dailyhou.se/promotion/o-season-week?id=12345 일경우 12345 기획전 사용\n const promotionId = isProd && defaultId\n ? defaultId\n : id ?? defaultId;\n\n return {\n promotionId: Number(promotionId),\n anchorTargetId,\n anchorSection,\n section: section ?? '',\n };\n}\n","/**\n * Design System Grid\n */\nimport { css, SerializedStyles } from '@emotion/react';\nimport {\n BreakPoint,\n MEDIA_QUERY,\n pxToRem,\n} from '@bucketplace/design-system';\nimport {\n COLUMN_PRESET,\n GridItemProps,\n TOTAL_COLUMN,\n} from '@bucketplace/design-system/bds';\n\nexport type Gap = number | string | {\n mobile?: number | string,\n tablet?: number | string,\n laptop?: number | string,\n};\n\nexport interface GridGap {\n row: string;\n column: string;\n}\n\nexport type ColumnPreset = 'full' | 'half' | 'quarter';\n\nexport function cssGridGap (gap: Gap): SerializedStyles {\n if (typeof gap === 'object') {\n const {\n mobile = 0,\n tablet = mobile,\n laptop = tablet,\n } = gap;\n\n return css`\n ${mapToGrid(baseGap(mobile))};\n ${MEDIA_QUERY.min('tablet', mapToGrid(baseGap(tablet)))}\n ${MEDIA_QUERY.min('laptop', mapToGrid(baseGap(laptop)))}\n `;\n }\n return css`${mapToGrid(baseGap(gap))};`;\n}\n\nexport function cssGridItemGap (gap: Gap): SerializedStyles {\n if (typeof gap === 'object') {\n const {\n mobile = 0,\n tablet = mobile,\n laptop = tablet,\n } = gap;\n\n return css`\n ${mapToGridItem(baseGap(mobile))};\n ${MEDIA_QUERY.min('tablet', mapToGridItem(baseGap(tablet)))}\n ${MEDIA_QUERY.min('laptop', mapToGridItem(baseGap(laptop)))}\n `;\n }\n return css`${mapToGrid(baseGap(gap))};`;\n}\nexport function cssColumn (column: GridItemProps['column']): SerializedStyles {\n const { mobile = 1, tablet = mobile, laptop = tablet } = typeof column === 'object' ? column : COLUMN_PRESET[column];\n\n return css`\n ${mapToColumn('mobile', mobile)};\n ${mapToColumn('tablet', tablet)};\n ${mapToColumn('laptop', laptop)};\n `;\n}\n\nfunction baseGap (gap: number | string): GridGap {\n const gaps = `${gap}`.split(' ').map(Number);\n const vertical = gaps[0] as number;\n const horizontal = gaps[1];\n\n if (typeof horizontal === 'number') {\n return {\n row: pxToRem(vertical / 2),\n column: pxToRem(horizontal / 2),\n };\n }\n\n const halfGap = pxToRem(vertical / 2);\n return {\n row: halfGap,\n column: halfGap,\n };\n}\n\nfunction mapToGrid (gap: GridGap): SerializedStyles {\n return css`margin: -${gap.row} -${gap.column};`;\n}\n\nfunction mapToGridItem (gap: GridGap): SerializedStyles {\n return css`padding: ${gap.row} ${gap.column};`;\n}\n\nfunction mapToColumn (\n breakPoint: BreakPoint, column: number | ColumnPreset\n): SerializedStyles {\n const size = typeof column === 'number'\n ? column\n : COLUMN_PRESET[column][breakPoint];\n\n const width = (100 / TOTAL_COLUMN[breakPoint]) * size;\n\n return breakPoint === 'mobile'\n ? css`width: ${width}%;`\n : css`${MEDIA_QUERY.min(breakPoint, `width: ${width}%;`)}`;\n}\n","\"use strict\";\n(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[186],{\n\n/***/ 80344:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Y\": function() { return /* binding */ EndModal; }\n/* harmony export */ });\n/* harmony import */ var _emotion_styled_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12851);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75271);\n/* harmony import */ var _bucketplace_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(540);\n/* harmony import */ var _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90671);\n/* harmony import */ var _bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93353);\n/* harmony import */ var common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23336);\n/* harmony import */ var utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73387);\n/* harmony import */ var _emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83128);\n\n\n\n\n\n\n\n\n\n\nvar modalButtonInfo = {\n home: {\n label: '홈으로 이동하기',\n href: \"\".concat(common__WEBPACK_IMPORTED_MODULE_3__/* .OHS_HOST */ .K2)\n },\n store: {\n label: '쇼핑하러 가기',\n href: \"\".concat(common__WEBPACK_IMPORTED_MODULE_3__/* .OHS_HOST */ .K2, \"/store\")\n }\n};\nvar EndModal = function EndModal(_ref) {\n var end = _ref.end,\n title = _ref.title,\n contents = _ref.contents,\n _ref$redirectTarget = _ref.redirectTarget,\n redirectTarget = _ref$redirectTarget === void 0 ? 'home' : _ref$redirectTarget;\n var endTime = new Date(end);\n var _modalButtonInfo$redi = modalButtonInfo[redirectTarget],\n label = _modalButtonInfo$redi.label,\n href = _modalButtonInfo$redi.href;\n var autoChange = (0,utils__WEBPACK_IMPORTED_MODULE_4__/* .useAutoChangeComponent */ .Vl)(endTime);\n return autoChange(null, (0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .jsxs */ .BX)(_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .Fragment */ .HY, {\n children: [(0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .jsx */ .tZ)(_bucketplace_ui__WEBPACK_IMPORTED_MODULE_2__/* .ScrollLock */ .tH, {\n enabled: true\n }), (0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .jsxs */ .BX)(_bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_6__/* .Modal */ .u_l, {\n width: 600,\n header: {\n title: title\n },\n children: [contents.split('\\\\n').map(function (content, index) {\n return (0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .jsx */ .tZ)(\"div\", {\n children: content\n }, index);\n }), (0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__/* .jsx */ .tZ)(Anchor, {\n href: href,\n children: label\n })]\n })]\n }));\n};\n\nvar Anchor = /*#__PURE__*/(0,_emotion_styled_base__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z)(\"a\", true ? {\n target: \"e1pepei80\"\n} : 0)(\"display:flex;margin:0 auto;align-items:center;justify-content:center;text-align:center;border-radius:\", (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.p)(4), \";font-weight:400;color:white;line-height:1.25rem;min-height:\", (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.p)(32), \";\", function (_ref2) {\n var theme = _ref2.theme;\n return \"\\n background-color: \".concat(theme.content.primary1.basic, \";\\n \");\n}, \" word-break:keep-all;margin-top:\", (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.p)(10), \";margin-bottom:\", (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.p)(10), \";width:40%;\", _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.M.max('mobile', \"\\n width: \".concat((0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__.p)(150), \";\\n \")), \";\" + ( true ? \"\" : 0));\n\n/***/ }),\n\n/***/ 476:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"u\": function() { return /* binding */ ProductCardWithScrap; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75271);\n/* harmony import */ var _bucketplace_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7394);\n/* harmony import */ var common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23336);\n/* harmony import */ var components_Layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82399);\n/* harmony import */ var _emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83128);\n\n\n\n\n\nfunction ProductCardWithScrap(_ref) {\n var product = _ref.product,\n className = _ref.className,\n logData = _ref.logData;\n // const router = useRouter();\n // const { userInfo } = useUserContext();\n // const isLoggedIn = userInfo?.user != null;\n // const userId = userInfo?.user?.userId;\n // const handleScrap = async ({ type, id }: ProductScrapActionParams): Promise => {\n // const {\n // success,\n // collectionId,\n // collectCount,\n // message,\n // } = await createScrap({ type, id });\n // return {\n // success,\n // collectCount,\n // message,\n // id: collectionId,\n // };\n // };\n // const handleUnscrap = async ({ type, id }: ProductScrapActionParams): Promise => {\n // const {\n // success,\n // collectCount,\n // message,\n // } = await deleteScrap({ type, id });\n // return {\n // success,\n // collectCount,\n // message,\n // };\n // };\n // const handleCreateCollectionBook = async ({ name }: { name: string }) => {\n // const { success, id } = await createCollectionBook({ name });\n // return { success, id };\n // };\n // const handleMoveCollectionBookItemList = async ({ collectionBookId, ids }: {\n // collectionBookId: number,\n // ids: number[],\n // }): Promise<{ success: boolean }> => {\n // const { success } = await moveCollectionBookItems(collectionBookId, ids);\n // return { success };\n // };\n // const redirectToLogin = () => {\n // router.push(`${SIGN_IN_URL}${encodeURIComponent(router.asPath)}`);\n // };\n // const handleClickScrapBook = () => {\n // if (!isLoggedIn) {\n // redirectToLogin();\n // }\n // router.push(`${OHS_HOST}/users/${userId}/collections`);\n // };\n // const handleClickScrapBookTo = (scrapBookId: number) => {\n // router.push(`${OHS_HOST}/collection_books/${scrapBookId}`);\n // };\n // const scrapData = createProductScrapData({\n // userId,\n // scrappedFrom: '썸네일',\n // onScrap: () => () => {/* noop */},\n // onUnscrap: () => {/* noop */},\n // onCreateScrap: handleScrap,\n // onDeleteScrap: handleUnscrap,\n // onCreateCollectionBook: handleCreateCollectionBook,\n // onMoveCollectionBookItemList: handleMoveCollectionBookItemList,\n // getCollectionBookList: getCollectionBookList,\n // onClickScrapBook: handleClickScrapBook,\n // onClickScrapBookTo: handleClickScrapBookTo,\n // redirectToLogin,\n // product,\n // active: product.isScrap ?? false,\n // count: product.scrapCount ?? 0,\n // });\n return (0,_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__/* .jsx */ .tZ)(_bucketplace_common__WEBPACK_IMPORTED_MODULE_4__/* .CommerceProductCard */ .jci, {\n product: product // scrapData={scrapData}\n ,\n className: className,\n linkComponent: components_Layout__WEBPACK_IMPORTED_MODULE_2__/* .SuperLink */ .jf,\n href: \"\".concat(common__WEBPACK_IMPORTED_MODULE_1__/* .OHS_HOST */ .K2, \"/productions/\").concat(product.id, \"/selling\"),\n logData: logData\n });\n}\n\n/***/ }),\n\n/***/ 2118:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"$u\": function() { return /* binding */ publishProductCouponMolds; },\n/* harmony export */ \"L9\": function() { return /* binding */ publishCartCouponMolds; },\n/* harmony export */ \"NX\": function() { return /* binding */ getSectionItems; },\n/* harmony export */ \"a_\": function() { return /* binding */ getExhibitionSectionItems; },\n/* harmony export */ \"oU\": function() { return /* binding */ getStoreItems; }\n/* harmony export */ });\n/* harmony import */ var _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88756);\n/* harmony import */ var _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6325);\n/* harmony import */ var _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78838);\n/* harmony import */ var _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var querystring__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97150);\n/* harmony import */ var humps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87493);\n/* harmony import */ var humps__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(humps__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8585);\n/* harmony import */ var api_fetcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83899);\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .Z)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n\nvar publishCartCouponMolds = /*#__PURE__*/function () {\n var _ref2 = (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)( /*#__PURE__*/_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee(_ref) {\n var id, res;\n return _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = _ref.id;\n _context.next = 3;\n return (0,api_fetcher__WEBPACK_IMPORTED_MODULE_5__/* .fetcher */ ._)(\"/api/promotions/coupon/\".concat(id));\n\n case 3:\n res = _context.sent;\n return _context.abrupt(\"return\", res);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function publishCartCouponMolds(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\nvar publishProductCouponMolds = /*#__PURE__*/function () {\n var _ref4 = (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)( /*#__PURE__*/_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee2(_ref3) {\n var id, userId, json;\n return _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n id = _ref3.id, userId = _ref3.userId;\n _context2.next = 3;\n return common_http__WEBPACK_IMPORTED_MODULE_4__/* .clientHttp.post */ .J.post('/api/promotions/product-coupon/create', {\n json: {\n couponMoldId: id,\n userId: userId\n }\n }).json();\n\n case 3:\n json = _context2.sent;\n return _context2.abrupt(\"return\", (0,humps__WEBPACK_IMPORTED_MODULE_3__.camelizeKeys)(json));\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function publishProductCouponMolds(_x2) {\n return _ref4.apply(this, arguments);\n };\n}();\nvar getStoreItems = /*#__PURE__*/function () {\n var _ref6 = (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)( /*#__PURE__*/_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee3(_ref5) {\n var ids, isLoggedIn, showCouponBadge, res;\n return _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n ids = _ref5.ids, isLoggedIn = _ref5.isLoggedIn, showCouponBadge = _ref5.showCouponBadge;\n _context3.prev = 1;\n _context3.next = 4;\n return (0,api_fetcher__WEBPACK_IMPORTED_MODULE_5__/* .fetcher */ ._)(\"/api/promotions/store-items?\".concat((0,querystring__WEBPACK_IMPORTED_MODULE_2__.stringify)({\n ids: ids.join(','),\n isLoggedIn: isLoggedIn,\n showCouponBadge: showCouponBadge\n })));\n\n case 4:\n res = _context3.sent;\n return _context3.abrupt(\"return\", res.map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n id: Number(item.id)\n });\n }));\n\n case 8:\n _context3.prev = 8;\n _context3.t0 = _context3[\"catch\"](1);\n return _context3.abrupt(\"return\", []);\n\n case 11:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[1, 8]]);\n }));\n\n return function getStoreItems(_x3) {\n return _ref6.apply(this, arguments);\n };\n}();\nvar getSectionItems = /*#__PURE__*/function () {\n var _ref8 = (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)( /*#__PURE__*/_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee4(id, detailId, _ref7) {\n var sectionId, page, res;\n return _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n sectionId = _ref7.sectionId, page = _ref7.page;\n _context4.next = 3;\n return (0,api_fetcher__WEBPACK_IMPORTED_MODULE_5__/* .fetcher */ ._)(\"/api/promotions/\".concat(id, \"/section-items?\").concat((0,querystring__WEBPACK_IMPORTED_MODULE_2__.stringify)({\n sectionId: sectionId,\n detailId: detailId,\n page: page\n })));\n\n case 3:\n res = _context4.sent;\n return _context4.abrupt(\"return\", res);\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function getSectionItems(_x4, _x5, _x6) {\n return _ref8.apply(this, arguments);\n };\n}();\nvar getExhibitionSectionItems = /*#__PURE__*/function () {\n var _ref9 = (0,_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z)( /*#__PURE__*/_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee5(url) {\n var res;\n return _app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return (0,api_fetcher__WEBPACK_IMPORTED_MODULE_5__/* .fetcher */ ._)(url);\n\n case 2:\n res = _context5.sent;\n return _context5.abrupt(\"return\", res.sectionItems);\n\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function getExhibitionSectionItems(_x7) {\n return _ref9.apply(this, arguments);\n };\n}();\n\n/***/ }),\n\n/***/ 43005:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"k\": function() { return /* binding */ SectionViewer; }\n});\n\n// UNUSED EXPORTS: INITIAL_EDITOR_DATA\n\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/dist/compiled/@babel/runtime/helpers/esm/asyncToGenerator.js\nvar asyncToGenerator = __webpack_require__(6325);\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/dist/compiled/@babel/runtime/helpers/esm/defineProperty.js\nvar defineProperty = __webpack_require__(88756);\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/dist/compiled/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules\nvar objectWithoutProperties = __webpack_require__(85922);\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/dist/compiled/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__(78838);\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n// EXTERNAL MODULE: ./node_modules/.pnpm/react@18.3.1/node_modules/react/index.js\nvar react = __webpack_require__(75271);\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/router.js\nvar router = __webpack_require__(17966);\n// EXTERNAL MODULE: ./node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/isValid/index.js + 4 modules\nvar isValid = __webpack_require__(41714);\n// EXTERNAL MODULE: ./node_modules/.pnpm/@bucketplace+design-system@5.9.0-snapshot.1_@bucketplace+ui@1.1.0_@emotion+react@11.13.3_@emo_kg77ydgzcrrvpcndyvt2t3vqny/node_modules/@bucketplace/design-system/dist/esm/index.js\nvar esm = __webpack_require__(9814);\n// EXTERNAL MODULE: ./node_modules/.pnpm/@bucketplace+bucket-log@1.2.3_@emotion+react@11.13.3_react-dom@18.3.1_react@18.3.1/node_modules/@bucketplace/bucket-log/dist/index.esm.js\nvar index_esm = __webpack_require__(46166);\n// EXTERNAL MODULE: ./node_modules/.pnpm/@bucketplace+jsx-editor@4.0.17_@bucketplace+bucket-log@1.2.3_@bucketplace+commerce-admin-ui@2_iylemcmyljcqx6pqfkw5yjqwhy/node_modules/@bucketplace/jsx-editor/lib-esm/index.js + 547 modules\nvar lib_esm = __webpack_require__(63047);\n// EXTERNAL MODULE: ./node_modules/.pnpm/@bucketplace+common@6.0.0_@bucketplace+config@0.1.2_@bucketplace+design-system@5.9.0-snapshot_mnaeigxo3rapupzl32u5o3bze4/node_modules/@bucketplace/common/dist/index.es.js\nvar index_es = __webpack_require__(7394);\n// EXTERNAL MODULE: ./src/common/index.ts + 5 modules\nvar common = __webpack_require__(23336);\n// EXTERNAL MODULE: ./src/provider/index.ts + 9 modules\nvar provider = __webpack_require__(90454);\n// EXTERNAL MODULE: ./src/promotions/api/promotion.ts\nvar promotion = __webpack_require__(2118);\n;// CONCATENATED MODULE: ./src/utils/Navigation/tracking.ts\nvar windowObj = true ? window : 0;\nfunction getAmplitude() {\n var _windowObj$amplitude$, _windowObj$amplitude;\n\n if (windowObj.amplitude == null) return null;\n return (_windowObj$amplitude$ = (_windowObj$amplitude = windowObj.amplitude).getInstance) === null || _windowObj$amplitude$ === void 0 ? void 0 : _windowObj$amplitude$.call(_windowObj$amplitude);\n}\nfunction logAmplitude(type, data) {\n var amplitude = getAmplitude();\n if (amplitude == null) return;\n amplitude.logEvent(type, data);\n}\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/link.js\nvar next_link = __webpack_require__(22220);\nvar link_default = /*#__PURE__*/__webpack_require__.n(next_link);\n// EXTERNAL MODULE: ./node_modules/.pnpm/@emotion+react@11.13.3_@types+react@18.3.12_react@18.3.1/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\nvar emotion_react_jsx_runtime_browser_esm = __webpack_require__(83128);\n;// CONCATENATED MODULE: ./src/components/Link/Link.tsx\n\n\nvar _excluded = [\"className\", \"children\", \"href\", \"as\", \"replace\", \"scroll\", \"shallow\", \"prefetch\", \"locale\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\nfunction LinkIntrinsic(props, // eslint-disable-next-line @typescript-eslint/no-explicit-any\nref) {\n var className = props.className,\n children = props.children,\n href = props.href,\n as = props.as,\n replace = props.replace,\n scroll = props.scroll,\n shallow = props.shallow,\n prefetch = props.prefetch,\n locale = props.locale,\n restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded);\n\n var nextLinkProps = {\n replace: replace,\n scroll: scroll,\n shallow: shallow,\n prefetch: prefetch,\n locale: locale\n };\n return (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)((link_default()), _objectSpread(_objectSpread({}, nextLinkProps), {}, {\n href: href !== null && href !== void 0 ? href : '',\n as: as !== null && as !== void 0 ? as : href,\n passHref: true,\n children: (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(\"a\", _objectSpread(_objectSpread({}, restProps), {}, {\n ref: ref,\n className: className,\n children: children\n }))\n }));\n}\n\nvar Link = /*#__PURE__*/react.memo( /*#__PURE__*/react.forwardRef(LinkIntrinsic));\n;// CONCATENATED MODULE: ./src/components/Link/LogLink.tsx\n\n\nvar LogLink_excluded = [\"linkType\", \"logData\", \"onClick\", \"amplitudeType\", \"amplitudeData\", \"children\", \"href\"];\n\nfunction LogLink_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction LogLink_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? LogLink_ownKeys(Object(source), !0).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : LogLink_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n\n\nfunction LogLink(props, ref) {\n var linkType = props.linkType,\n logData = props.logData,\n onClick = props.onClick,\n amplitudeType = props.amplitudeType,\n _props$amplitudeData = props.amplitudeData,\n amplitudeData = _props$amplitudeData === void 0 ? {} : _props$amplitudeData,\n children = props.children,\n href = props.href,\n linkProps = (0,objectWithoutProperties/* default */.Z)(props, LogLink_excluded);\n\n var isAnchor = linkType === 'a';\n\n var handleClick = function handleClick(e) {\n if (logData) {\n (0,index_esm/* bucketLog */._P)(LogLink_objectSpread({\n category: 'click'\n }, logData));\n }\n\n if (amplitudeType) {\n logAmplitude(amplitudeType, LogLink_objectSpread({}, amplitudeData));\n }\n\n if (onClick) {\n onClick(e);\n }\n };\n\n if (isAnchor) {\n return (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(\"a\", LogLink_objectSpread(LogLink_objectSpread({\n href: href.toString(),\n ref: ref,\n onClick: handleClick\n }, linkProps), {}, {\n children: children\n }));\n }\n\n return (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(Link, LogLink_objectSpread(LogLink_objectSpread({\n href: href,\n ref: ref,\n onClick: handleClick\n }, linkProps), {}, {\n children: children\n }));\n}\n\n/* harmony default export */ var Link_LogLink = (/*#__PURE__*/(0,react.forwardRef)(LogLink));\n// EXTERNAL MODULE: ./src/components/Layout/index.ts + 10 modules\nvar Layout = __webpack_require__(82399);\n// EXTERNAL MODULE: ./src/utils/index.ts + 7 modules\nvar utils = __webpack_require__(73387);\n// EXTERNAL MODULE: ./node_modules/.pnpm/next@12.3.4_@babel+core@7.26.0_react-dom@18.3.1_react@18.3.1_sass@1.80.4/node_modules/next/dist/compiled/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__(46003);\n// EXTERNAL MODULE: ./node_modules/.pnpm/camelcase-keys@7.0.2/node_modules/camelcase-keys/index.js\nvar camelcase_keys = __webpack_require__(70655);\nvar camelcase_keys_default = /*#__PURE__*/__webpack_require__.n(camelcase_keys);\n// EXTERNAL MODULE: ./node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/index.js\nvar lib = __webpack_require__(93672);\n// EXTERNAL MODULE: ./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/omit.js + 5 modules\nvar omit = __webpack_require__(45240);\n// EXTERNAL MODULE: ./src/common/http.ts + 12 modules\nvar http = __webpack_require__(8585);\n;// CONCATENATED MODULE: ./src/api/share-link.ts\n\n\n\n\n\n\n // As we're sending our requests to BE services via api g/w proxy built-in to\n// ohou.se-client, using the endpoint without a hostname here:\n\nvar SHARE_LINK_QUERY_PARAMS_EXCLUSION_LIST = ['affect_id', 'affect_type'];\nfunction createShareLink(_x) {\n return _createShareLink.apply(this, arguments);\n}\n\nfunction _createShareLink() {\n _createShareLink = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee(_ref) {\n var locationHref, onlyWeb, contentType, contentId, userId, match, _match, leadingUrlPart, search, serializedQuery, originalQuery, filteredQuery, json;\n\n return regenerator_default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n locationHref = _ref.locationHref, onlyWeb = _ref.onlyWeb, contentType = _ref.contentType, contentId = _ref.contentId, userId = _ref.userId;\n // parse the given url with a minimal regex pattern\n match = /^([^?#]+)(\\?[^?#]*)?(#.+?)?$/.exec(locationHref);\n\n if (!(match == null)) {\n _context.next = 4;\n break;\n }\n\n throw new Error('invariant: invalid `locationHref`');\n\n case 4:\n // here we drop the `hash` part\n _match = (0,slicedToArray/* default */.Z)(match, 3), leadingUrlPart = _match[1], search = _match[2];\n serializedQuery = '';\n\n if (search != null) {\n originalQuery = (0,lib.parse)(search); // According to the spec, they want to strip some of useless params from querystring for the sake of ease processing\n // > https://docs.google.com/document/d/1TW7MPUCYIYK21-DfBc1kB58qp_ICRCYCsm-fTNdkDok\n\n filteredQuery = (0,omit/* default */.Z)(originalQuery, SHARE_LINK_QUERY_PARAMS_EXCLUSION_LIST);\n serializedQuery = \"?\".concat((0,lib.stringify)(filteredQuery));\n }\n\n _context.next = 9;\n return http/* clientHttp.post */.J.post('/api/share/link', {\n json: {\n location_href: \"\".concat(leadingUrlPart).concat(serializedQuery),\n only_web: onlyWeb,\n content_type: contentType,\n content_id: contentId,\n user_id: userId !== null && userId !== void 0 ? userId : null\n }\n }).json();\n\n case 9:\n json = _context.sent;\n return _context.abrupt(\"return\", camelcase_keys_default()(json, {\n deep: true\n }));\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _createShareLink.apply(this, arguments);\n}\n;// CONCATENATED MODULE: ./src/promotions/components/SectionViewer.tsx\n\n\n\nvar SectionViewer_excluded = [\"to\", \"children\", \"logData\"];\n\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction SectionViewer_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction SectionViewer_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? SectionViewer_ownKeys(Object(source), !0).forEach(function (key) { (0,defineProperty/* default */.Z)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : SectionViewer_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // import { usePlatformInfo } from '../hooks/usePlatformInfo';\n\n\nvar DISABLE_COMPONENT_ID_LIST = ['snsShare', 'floatingLink', 'modal', 'comment'];\nvar DISPLAY_DATE_KEY = '82efaa2733534320a1d200cd69202842';\nvar INITIAL_EDITOR_DATA = {\n key: null,\n type: 'page',\n props: {},\n children: []\n};\n\nvar getEditorLink = function getEditorLink(experimentType, callback) {\n return {\n element: function element(_ref) {\n var to = _ref.to,\n children = _ref.children,\n logData = _ref.logData,\n props = (0,objectWithoutProperties/* default */.Z)(_ref, SectionViewer_excluded);\n\n var isAnchor = typeof to === 'string' && to.includes('#');\n var href = typeof to === 'string' ? isAnchor ? 'javascript:;' : to : '';\n return (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(Link_LogLink, SectionViewer_objectSpread(SectionViewer_objectSpread({\n linkType: \"a\",\n href: href,\n logData: SectionViewer_objectSpread(SectionViewer_objectSpread({}, logData), {}, {\n data: experimentType ? {\n experimentType: experimentType\n } : null\n })\n }, props), {}, {\n children: children\n }));\n },\n callbacks: {\n onClick: function onClick(targetId) {\n callback(targetId, true);\n }\n }\n };\n};\n\nvar hasStickyTabType = function hasStickyTabType(node) {\n if (node.type === 'stickyTab') {\n return true;\n }\n\n var _iterator = _createForOfIteratorHelper(node.children),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n\n if (hasStickyTabType(child)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n};\n\nfunction _SectionViewer(_ref2) {\n var _getAppOsInfo, _query$DISPLAY_DATE_K;\n\n var exhibitionId = _ref2.exhibitionId,\n units = _ref2.units,\n kakaoTemplate = _ref2.kakaoTemplate,\n experimentType = _ref2.experimentType,\n onViewerLoaded = _ref2.onViewerLoaded,\n onClick = _ref2.onClick;\n\n var _useRouter = (0,router.useRouter)(),\n query = _useRouter.query,\n asPath = _useRouter.asPath;\n\n var _useGlobalModal = (0,provider/* useGlobalModal */.JT)(),\n openConfirmModal = _useGlobalModal.openConfirmModal,\n openAlertModal = _useGlobalModal.openAlertModal;\n\n var _useSnackbar = (0,esm/* useSnackbar */.Ds_)(),\n open = _useSnackbar.open;\n\n var _useUserContext = (0,provider/* useUserContext */.SE)(),\n userInfo = _useUserContext.userInfo,\n pending = _useUserContext.pending;\n\n var isLoggedIn = !!(userInfo !== null && userInfo !== void 0 && userInfo.user);\n\n var _ref3 = (_getAppOsInfo = (0,utils/* getAppOsInfo */.ZA)()) !== null && _getAppOsInfo !== void 0 ? _getAppOsInfo : {},\n osType = _ref3.osType,\n osVersion = _ref3.osVersion;\n\n var kakaoApi = (0,index_es/* useKakaoAPI */.HP5)();\n var showCouponBadge = true;\n\n if (!(0,utils/* checkAppVersion */.Kc)({\n osType: osType,\n currentVersion: osVersion,\n androidVersion: '23.5.0',\n iosVersion: '23.5.0'\n })) {\n showCouponBadge = false;\n }\n\n var _useState = (0,react.useState)(false),\n isViewerLoaded = _useState[0],\n setIsViewerLoaded = _useState[1];\n\n var displayDateValue = (_query$DISPLAY_DATE_K = query[DISPLAY_DATE_KEY]) !== null && _query$DISPLAY_DATE_K !== void 0 ? _query$DISPLAY_DATE_K : '';\n var displayDate = (0,isValid/* default */.Z)(new Date(displayDateValue)) ? new Date(displayDateValue) : undefined;\n var linkContextValue = getEditorLink(experimentType, onClick);\n\n var handleCouponClick = /*#__PURE__*/function () {\n var _ref4 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee3(cartCouponMoldIds, productCouponMoldIds) {\n var path, signInUrl, cartCoupons, productCoupons, message;\n return regenerator_default().wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!pending) {\n _context3.next = 4;\n break;\n }\n\n _context3.next = 3;\n return openAlertModal({\n message: '접속 인원이 많아 페이지 로딩이 지연되고 있습니다. 다시 시도해주세요.'\n });\n\n case 3:\n return _context3.abrupt(\"return\");\n\n case 4:\n if (isLoggedIn) {\n _context3.next = 12;\n break;\n }\n\n path = \"/events/\".concat(asPath);\n signInUrl = \"\".concat(common/* OHS_HOST */.K2, \"/users/sign_in?redirect_to=\").concat(encodeURIComponent(path));\n _context3.next = 9;\n return openConfirmModal({\n message: '로그인 후 다운로드가 가능합니다.'\n });\n\n case 9:\n if (!_context3.sent) {\n _context3.next = 11;\n break;\n }\n\n window.location.href = signInUrl;\n\n case 11:\n return _context3.abrupt(\"return\");\n\n case 12:\n _context3.prev = 12;\n _context3.next = 15;\n return Promise.all(cartCouponMoldIds.filter(Boolean).map( /*#__PURE__*/function () {\n var _ref5 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee(id) {\n return regenerator_default().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (0,promotion/* publishCartCouponMolds */.L9)({\n id: Number(id)\n });\n\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref5.apply(this, arguments);\n };\n }()));\n\n case 15:\n cartCoupons = _context3.sent;\n _context3.next = 18;\n return Promise.all(productCouponMoldIds.filter(Boolean).map( /*#__PURE__*/function () {\n var _ref6 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee2(id) {\n return regenerator_default().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (0,promotion/* publishProductCouponMolds */.$u)({\n id: Number(id),\n userId: userInfo.user.userId.toString()\n });\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x4) {\n return _ref6.apply(this, arguments);\n };\n }())).then(function (result) {\n return result.flatMap(function (coupon) {\n return coupon;\n });\n });\n\n case 18:\n productCoupons = _context3.sent;\n message = (0,index_es/* getCouponsPublishMessage */.VCx)(cartCoupons, productCoupons);\n _context3.next = 22;\n return openAlertModal({\n message: message\n });\n\n case 22:\n _context3.next = 30;\n break;\n\n case 24:\n _context3.prev = 24;\n _context3.t0 = _context3[\"catch\"](12);\n console.error(JSON.stringify(_context3.t0));\n _context3.next = 29;\n return openAlertModal({\n message: index_es/* CUSTOM_COUPON_PUBLISH_MESSAGE.ERROR */.GYW.ERROR\n });\n\n case 29:\n return _context3.abrupt(\"return\");\n\n case 30:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[12, 24]]);\n }));\n\n return function handleCouponClick(_x, _x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n\n var handleGetStoreItems = /*#__PURE__*/function () {\n var _ref7 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee4(ids) {\n var _showCouponBadge;\n\n var items;\n return regenerator_default().wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return (0,promotion/* getStoreItems */.oU)({\n ids: ids,\n isLoggedIn: isLoggedIn,\n showCouponBadge: (_showCouponBadge = showCouponBadge) !== null && _showCouponBadge !== void 0 ? _showCouponBadge : false\n });\n\n case 2:\n items = _context4.sent;\n return _context4.abrupt(\"return\", items);\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function handleGetStoreItems(_x5) {\n return _ref7.apply(this, arguments);\n };\n }();\n\n var handleGetStoreItemHref = function handleGetStoreItemHref(productId) {\n return \"\".concat(common/* OHS_HOST */.K2, \"/productions/\").concat(productId, \"/selling\");\n };\n\n var handleSendBucketLog = function handleSendBucketLog(logData) {\n if (logData) {\n var _logData$category;\n\n (0,index_esm/* bucketLog */._P)(SectionViewer_objectSpread({\n category: (_logData$category = logData.category) !== null && _logData$category !== void 0 ? _logData$category : 'click'\n }, logData));\n }\n };\n\n var handleImageMapBrazeClick = function handleImageMapBrazeClick(customEventName) {\n var _userInfo$user;\n\n var logData = {\n customEventName: customEventName,\n exhibitionId: exhibitionId,\n date: new Date().toISOString(),\n userId: userInfo === null || userInfo === void 0 ? void 0 : (_userInfo$user = userInfo.user) === null || _userInfo$user === void 0 ? void 0 : _userInfo$user.userId,\n // Web에서 osType이 'undefined' 로 넘어옴\n osType: osType != null && osType !== 'undefined' ? osType : 'Web',\n osVersion: osVersion\n };\n (0,utils/* sendBrazeLog */.Gp)(customEventName, logData); // if (isInApp) {\n // sendBrazeAppLog(customEventName, logData);\n // } else {\n // sendBrazeLog(customEventName, logData);\n // }\n };\n\n var handleImageMapBrazeSignin = /*#__PURE__*/function () {\n var _ref8 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee5() {\n var path, signInUrl;\n return regenerator_default().wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n path = \"/events/\".concat(asPath);\n signInUrl = \"\".concat(common/* OHS_HOST */.K2, \"/users/sign_in?redirect_to=\").concat(encodeURIComponent(path));\n _context5.next = 4;\n return openConfirmModal({\n message: '로그인 후 이용이 가능합니다.'\n });\n\n case 4:\n if (!_context5.sent) {\n _context5.next = 6;\n break;\n }\n\n window.location.href = signInUrl;\n\n case 6:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function handleImageMapBrazeSignin() {\n return _ref8.apply(this, arguments);\n };\n }();\n\n var handleImageMapShareClick = /*#__PURE__*/function () {\n var _ref9 = (0,asyncToGenerator/* default */.Z)( /*#__PURE__*/regenerator_default().mark(function _callee6() {\n var _userInfo$user2, _userInfo$user3;\n\n var request, text;\n return regenerator_default().wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n request = {\n locationHref: false ? 0 : window.location.href,\n onlyWeb: false,\n contentId: Number(exhibitionId),\n contentType: 'Exhibition',\n userId: (userInfo === null || userInfo === void 0 ? void 0 : (_userInfo$user2 = userInfo.user) === null || _userInfo$user2 === void 0 ? void 0 : _userInfo$user2.userId) != null ? Number(userInfo === null || userInfo === void 0 ? void 0 : (_userInfo$user3 = userInfo.user) === null || _userInfo$user3 === void 0 ? void 0 : _userInfo$user3.userId) : undefined\n };\n /** @ https://wolfgangrittner.dev/how-to-use-clipboard-api-in-firefox/ */\n\n if (typeof ClipboardItem && navigator.clipboard.write) {\n // NOTE: Safari locks down the clipboard API to only work when triggered\n // by a direct user interaction. You can't use it async in a promise.\n // But! You can wrap the promise in a ClipboardItem, and give that to\n // the clipboard API.\n // Found this on https://developer.apple.com/forums/thread/691873\n text = new ClipboardItem({\n 'text/plain': createShareLink(request).then(function (response) {\n var _response$url;\n\n return (_response$url = response.url) !== null && _response$url !== void 0 ? _response$url : window.location.href;\n }).then(function (text) {\n return new Blob([text], {\n type: 'text/plain'\n });\n })\n });\n navigator.clipboard.write([text]).then(function () {\n open({\n content: '클립보드에 복사했습니다.'\n });\n })[\"catch\"](function (err) {\n console.error('Could not copy text: ', err);\n open({\n content: '클립보드 복사에 실패했습니다.'\n });\n });\n } else {\n // NOTE: Firefox has support for ClipboardItem and navigator.clipboard.write,\n // but those are behind `dom.events.asyncClipboard.clipboardItem` preference.\n // Good news is that other than Safari, Firefox does not care about\n // Clipboard API being used async in a Promise.\n createShareLink(request).then(function (response) {\n var _response$url2;\n\n return (_response$url2 = response.url) !== null && _response$url2 !== void 0 ? _response$url2 : window.location.href;\n }).then(function (text) {\n return navigator.clipboard.writeText(text).then(function () {\n open({\n content: '클립보드에 복사했습니다.'\n });\n })[\"catch\"](function (err) {\n console.error('Could not copy text: ', err);\n open({\n content: '클립보드 복사에 실패했습니다.'\n });\n });\n });\n }\n\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n return function handleImageMapShareClick() {\n return _ref9.apply(this, arguments);\n };\n }();\n\n var document = (0,react.useMemo)(function () {\n return units ? JSON.parse(units) : INITIAL_EDITOR_DATA;\n }, [units]);\n (0,react.useEffect)(function () {\n onViewerLoaded(isViewerLoaded);\n }, [isViewerLoaded, onViewerLoaded]);\n\n if ( false || !units || pending) {\n return null;\n }\n\n return (// eslint-disable-next-line react/no-unknown-property\n (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(\"div\", {\n onLoad: function onLoad() {\n return setIsViewerLoaded(true);\n },\n children: (0,emotion_react_jsx_runtime_browser_esm/* jsx */.tZ)(lib_esm/* Viewer */.AE, {\n document: document,\n components: lib_esm/* defaultComponents */._f,\n displayDate: displayDate,\n disableComponentIds: DISABLE_COMPONENT_ID_LIST,\n editorInfoContext: {\n onSendLog: handleSendBucketLog,\n uploadEndpoint: '',\n isInitialLoadAllContent: true\n },\n unitContext: {\n storeItems: {\n getStoreItems: handleGetStoreItems,\n getStoreItemHref: handleGetStoreItemHref,\n linkComponent: Layout/* SuperLink */.jf\n },\n coupon: {\n onClick: handleCouponClick\n },\n imageMapShare: {\n kakaoApi: kakaoApi,\n kakaoTemplateId: kakaoTemplate.templateId,\n templateArgs: kakaoTemplate.templateArgs,\n onClick: handleImageMapShareClick\n },\n imageMapBraze: {\n isLoggedIn: isLoggedIn,\n onClick: handleImageMapBrazeClick,\n onSignin: handleImageMapBrazeSignin\n },\n link: linkContextValue\n }\n })\n })\n );\n}\n\nvar SectionViewer = /*#__PURE__*/(0,react.memo)(_SectionViewer);\n\n/***/ }),\n\n/***/ 3771:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"u\": function() { return /* binding */ usePromotionQuery; }\n/* harmony export */ });\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17966);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction usePromotionQuery(_ref) {\n var isProd = _ref.isProd,\n defaultId = _ref.defaultId;\n var router = (0,next_router__WEBPACK_IMPORTED_MODULE_0__.useRouter)();\n var _ref2 = router.query,\n id = _ref2.id,\n section = _ref2.section,\n anchorTargetId = _ref2.anchor,\n anchorSection = _ref2.anchor_section; // production일경우 정해진 ID만 사용할 수 있으나, stage에서는 QA를 위해 전달받은 id가 있으면 해당 id를 먼저 사용\n // e.g events.stage-web.dailyhou.se/promotion/o-season-week?id=12345 일경우 12345 기획전 사용\n\n var promotionId = isProd && defaultId ? defaultId : id !== null && id !== void 0 ? id : defaultId;\n return {\n promotionId: Number(promotionId),\n anchorTargetId: anchorTargetId,\n anchorSection: anchorSection,\n section: section !== null && section !== void 0 ? section : ''\n };\n}\n\n/***/ }),\n\n/***/ 81213:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"XG\": function() { return /* binding */ cssColumn; },\n/* harmony export */ \"cf\": function() { return /* binding */ cssGridItemGap; },\n/* harmony export */ \"iC\": function() { return /* binding */ cssGridGap; }\n/* harmony export */ });\n/* harmony import */ var _emotion_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52814);\n/* harmony import */ var _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90671);\n/* harmony import */ var _bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93353);\n/**\n * Design System Grid\n */\n\n\n\nfunction cssGridGap(gap) {\n if (typeof gap === 'object') {\n var _gap$mobile = gap.mobile,\n mobile = _gap$mobile === void 0 ? 0 : _gap$mobile,\n _gap$tablet = gap.tablet,\n tablet = _gap$tablet === void 0 ? mobile : _gap$tablet,\n _gap$laptop = gap.laptop,\n laptop = _gap$laptop === void 0 ? tablet : _gap$laptop;\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(mapToGrid(baseGap(mobile)), \";\", _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.M.min('tablet', mapToGrid(baseGap(tablet))), \" \", _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.M.min('laptop', mapToGrid(baseGap(laptop))), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n }\n\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(mapToGrid(baseGap(gap)), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\nfunction cssGridItemGap(gap) {\n if (typeof gap === 'object') {\n var _gap$mobile2 = gap.mobile,\n mobile = _gap$mobile2 === void 0 ? 0 : _gap$mobile2,\n _gap$tablet2 = gap.tablet,\n tablet = _gap$tablet2 === void 0 ? mobile : _gap$tablet2,\n _gap$laptop2 = gap.laptop,\n laptop = _gap$laptop2 === void 0 ? tablet : _gap$laptop2;\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(mapToGridItem(baseGap(mobile)), \";\", _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.M.min('tablet', mapToGridItem(baseGap(tablet))), \" \", _bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.M.min('laptop', mapToGridItem(baseGap(laptop))), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n }\n\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(mapToGrid(baseGap(gap)), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\nfunction cssColumn(column) {\n var _ref = typeof column === 'object' ? column : _bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_2__/* .COLUMN_PRESET */ .bdp[column],\n _ref$mobile = _ref.mobile,\n mobile = _ref$mobile === void 0 ? 1 : _ref$mobile,\n _ref$tablet = _ref.tablet,\n tablet = _ref$tablet === void 0 ? mobile : _ref$tablet,\n _ref$laptop = _ref.laptop,\n laptop = _ref$laptop === void 0 ? tablet : _ref$laptop;\n\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(mapToColumn('mobile', mobile), \";\", mapToColumn('tablet', tablet), \";\", mapToColumn('laptop', laptop), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\n\nfunction baseGap(gap) {\n var gaps = \"\".concat(gap).split(' ').map(Number);\n var vertical = gaps[0];\n var horizontal = gaps[1];\n\n if (typeof horizontal === 'number') {\n return {\n row: (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.p)(vertical / 2),\n column: (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.p)(horizontal / 2)\n };\n }\n\n var halfGap = (0,_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.p)(vertical / 2);\n return {\n row: halfGap,\n column: halfGap\n };\n}\n\nfunction mapToGrid(gap) {\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(\"margin:-\", gap.row, \" -\", gap.column, \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\n\nfunction mapToGridItem(gap) {\n return /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(\"padding:\", gap.row, \" \", gap.column, \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\n\nfunction mapToColumn(breakPoint, column) {\n var size = typeof column === 'number' ? column : _bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_2__/* .COLUMN_PRESET */ .bdp[column][breakPoint];\n var width = 100 / _bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_2__/* .TOTAL_COLUMN */ .PgY[breakPoint] * size;\n return breakPoint === 'mobile' ? /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(\"width:\", width, \"%;\" + ( true ? \"\" : 0), true ? \"\" : 0) : /*#__PURE__*/(0,_emotion_react__WEBPACK_IMPORTED_MODULE_0__/* .css */ .iv)(_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__.M.min(breakPoint, \"width: \".concat(width, \"%;\")), \";\" + ( true ? \"\" : 0), true ? \"\" : 0);\n}\n\n/***/ })\n\n}]);"],"names":["self","push","__unused_webpack_module","__webpack_exports__","__webpack_require__","d","EndModal","_emotion_styled_base__WEBPACK_IMPORTED_MODULE_0__","_bucketplace_ui__WEBPACK_IMPORTED_MODULE_2__","_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_7__","_bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_6__","common__WEBPACK_IMPORTED_MODULE_3__","utils__WEBPACK_IMPORTED_MODULE_4__","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__","modalButtonInfo","home","label","href","concat","K2","store","_ref","end","title","contents","_ref$redirectTarget","redirectTarget","endTime","Date","_modalButtonInfo$redi","autoChange","Vl","BX","HY","children","tZ","tH","enabled","u_l","width","header","split","map","content","index","Anchor","Z","target","p","_ref2","theme","primary1","basic","M","max","ProductCardWithScrap","_bucketplace_common__WEBPACK_IMPORTED_MODULE_4__","common__WEBPACK_IMPORTED_MODULE_1__","components_Layout__WEBPACK_IMPORTED_MODULE_2__","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__","product","className","logData","jci","linkComponent","jf","id","publishProductCouponMolds","publishCartCouponMolds","getSectionItems","getExhibitionSectionItems","getStoreItems","_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__","_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_6__","_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1__","_app_node_modules_pnpm_next_12_3_4_babel_core_7_26_0_react_dom_18_3_1_react_18_3_1_sass_1_80_4_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_1___default","n","querystring__WEBPACK_IMPORTED_MODULE_2__","humps__WEBPACK_IMPORTED_MODULE_3__","common_http__WEBPACK_IMPORTED_MODULE_4__","api_fetcher__WEBPACK_IMPORTED_MODULE_5__","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","_ref4","_ref6","_ref8","_ref9","mark","_callee","res","wrap","_context","prev","next","_","sent","abrupt","stop","_x","_callee2","_ref3","userId","json","_context2","J","post","couponMoldId","camelizeKeys","_x2","_callee3","_ref5","ids","isLoggedIn","showCouponBadge","_context3","stringify","join","item","Number","t0","_x3","_callee4","detailId","_ref7","sectionId","page","_context4","_x4","_x5","_x6","_callee5","url","_context5","sectionItems","_x7","SectionViewer","asyncToGenerator","objectWithoutProperties","regenerator","regenerator_default","react","router","isValid","esm","index_esm","lib_esm","index_es","common","provider","promotion","windowObj","window","next_link","link_default","emotion_react_jsx_runtime_browser_esm","_excluded","Link","memo","forwardRef","props","ref","as","replace","scroll","shallow","prefetch","locale","restProps","passHref","LogLink_excluded","LogLink_ownKeys","LogLink_objectSpread","Link_LogLink","linkType","onClick","amplitudeType","_props$amplitudeData","amplitudeData","linkProps","handleClick","e","_P","category","type","data","_windowObj$amplitude$","_windowObj$amplitude","amplitude","getInstance","call","logEvent","toString","Layout","utils","slicedToArray","camelcase_keys","camelcase_keys_default","lib","omit","http","SHARE_LINK_QUERY_PARAMS_EXCLUSION_LIST","createShareLink","_createShareLink","locationHref","onlyWeb","contentType","contentId","match","_match","leadingUrlPart","search","serializedQuery","originalQuery","filteredQuery","exec","parse","location_href","only_web","content_type","content_id","user_id","deep","SectionViewer_excluded","SectionViewer_ownKeys","SectionViewer_objectSpread","DISABLE_COMPONENT_ID_LIST","INITIAL_EDITOR_DATA","_getAppOsInfo","_query$DISPLAY_DATE_K","exhibitionId","units","kakaoTemplate","experimentType","onViewerLoaded","_useRouter","useRouter","query","asPath","_useGlobalModal","JT","openConfirmModal","openAlertModal","open","_useSnackbar","Ds_","_useUserContext","SE","userInfo","pending","user","ZA","osType","osVersion","kakaoApi","HP5","Kc","currentVersion","androidVersion","iosVersion","callback","_useState","useState","isViewerLoaded","setIsViewerLoaded","displayDateValue","displayDate","undefined","handleCouponClick","cartCouponMoldIds","productCouponMoldIds","path","signInUrl","cartCoupons","productCoupons","message","encodeURIComponent","location","Promise","all","Boolean","L9","$u","then","result","flatMap","coupon","VCx","console","error","JSON","GYW","ERROR","handleGetStoreItems","_showCouponBadge","items","oU","handleGetStoreItemHref","productId","handleSendBucketLog","_logData$category","handleImageMapBrazeClick","customEventName","_userInfo$user","date","toISOString","Gp","handleImageMapBrazeSignin","handleImageMapShareClick","_callee6","_userInfo$user2","_userInfo$user3","request","text","_context6","navigator","clipboard","write","ClipboardItem","response","_response$url","Blob","err","_response$url2","writeText","document","useMemo","useEffect","onLoad","AE","components","_f","disableComponentIds","editorInfoContext","onSendLog","uploadEndpoint","isInitialLoadAllContent","unitContext","storeItems","getStoreItemHref","imageMapShare","kakaoTemplateId","templateId","templateArgs","imageMapBraze","onSignin","link","element","to","isAnchor","includes","callbacks","targetId","usePromotionQuery","next_router__WEBPACK_IMPORTED_MODULE_0__","isProd","defaultId","section","anchorTargetId","anchor","anchorSection","anchor_section","promotionId","cssColumn","cssGridItemGap","cssGridGap","_emotion_react__WEBPACK_IMPORTED_MODULE_0__","_bucketplace_design_system__WEBPACK_IMPORTED_MODULE_1__","_bucketplace_design_system_bds__WEBPACK_IMPORTED_MODULE_2__","gap","_gap$mobile","mobile","_gap$tablet","tablet","_gap$laptop","laptop","iv","mapToGrid","baseGap","min","_gap$mobile2","_gap$tablet2","_gap$laptop2","mapToGridItem","column","bdp","_ref$mobile","_ref$tablet","_ref$laptop","mapToColumn","gaps","vertical","horizontal","row","halfGap","breakPoint","size","PgY"],"sourceRoot":""}