{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/styles/breakpoint.js", "ssg:https://asset.29cm.co.kr/contents/framer/libs/property-controls/breakpoint.js", "ssg:https://asset.29cm.co.kr/contents/framer/styles/theme.js", "ssg:https://asset.29cm.co.kr/contents/framer/libs/property-controls/theme.js", "ssg:https://asset.29cm.co.kr/contents/framer/libs/property-controls/component-id.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.types.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/IntersectionProvider/IntersectionProvider.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/SectionLayout/SectionLayout.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Root.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/mediaBuilder.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/@shared/providers/BreakpointProvider/BreakpointProvider.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useBreakpoint.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Image.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Video.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Root.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Content.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/@shared/providers/ThemeProvider/ThemeProvider.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useTheme.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Title.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Description.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Action.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Gradient.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/Body.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/Headline/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineMediaElement/HeadlineMediaElement.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/@shared/TextButton/TextButton.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useCreateAppSchemeLink.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/getAnchorTarget.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useNavigatePage.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/types.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineActionElement/HeadlineLinkActionElement.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineActionElement/HeadlineLinkActionElement.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/defaultOptions.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/constructFrom.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/startOfYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/getDayOfYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/startOfWeek.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/startOfISOWeek.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/getISOWeekYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/startOfISOWeekYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/getISOWeek.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/getWeekYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/startOfWeekYear.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/getWeek.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/addLeadingZeros.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/format/lightFormatters.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/format/formatters.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/format/longFormatters.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/_lib/protectedTokens.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isDate.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isValid.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US/_lib/formatDistance.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/_lib/buildFormatLongFn.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US/_lib/formatLong.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US/_lib/formatRelative.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/_lib/buildLocalizeFn.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US/_lib/localize.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/_lib/buildMatchFn.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US/_lib/match.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/en-US.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/format.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineActionElement/HeadlineCountdownActionElement.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineActionElement/HeadlineActionElement.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/query-store/query.store.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/spacing.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineElement/HeadlineElement.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/@date-fns/utc/date/mini.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/@date-fns/utc/date/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/_lib/tzTokenizeDate/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/_lib/newDateUTC/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/_lib/tzParseTimezone/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/_lib/getTimezoneOffsetInMilliseconds/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/_lib/tzPattern/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/toDate/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns-tz/dist/esm/toZonedTime/index.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/createUTCDate.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isEqual.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isAfter.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/compareAsc.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isWithinInterval.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/isBefore.js", "ssg:https://asset.29cm.co.kr/contents/framer/utils/date.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko/_lib/formatDistance.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko/_lib/formatLong.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko/_lib/formatRelative.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko/_lib/localize.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko/_lib/match.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/locale/ko.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/LinkedHeadlineModule/LinkedHeadlineModule.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/utils/key.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/LinkedHeadlineModule/LinkedHeadlineModule.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/ProfilesModule/ProfilesModule.types.js", "ssg:https://asset.29cm.co.kr/contents/framer/libs/property-controls/helpers.js", "ssg:https://asset.29cm.co.kr/contents/framer/types/models/coupon.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/CouponModule/CouponModule.types.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/controls.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.controls.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/IntersectionProvider/IntersectionProvider.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/constants/error.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/APIService.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/@middlewares/throwFailError.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/brand-sale/BrandSaleApiService.js", "ssg:https://asset.29cm.co.kr/contents/framer/apis/keyword-collections/KeywordCollectionApiService.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/KeywordCollection/KeywordCollectionTags/KeywordCollectionTags.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/addDays.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/subDays.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/addMonths.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/subMonths.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/sub.js", "ssg:https://asset.29cm.co.kr/contents/framer/node_modules/date-fns/formatISO.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/KeywordCollectionV2/TimeSaleCollectionTags/TimeSaleCollectionTags.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/systems/curations/KeywordCollectionV2/TimeSaleCollection.utils.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.hooks.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/AutoHeadlineModule/AutoHeadlineModule.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.js", "ssg:https://framerusercontent.com/modules/PueLRXpmraBi4DPH0bQS/kBjovm7jBQpbLqy7jHlj/HeadlineModule.js"],
  "sourcesContent": ["var Breakpoint = /* @__PURE__ */ ((Breakpoint2) => {\n  Breakpoint2[\"DESKTOP\"] = \"desktop\";\n  Breakpoint2[\"TABLET\"] = \"tablet\";\n  Breakpoint2[\"MOBILE\"] = \"mobile\";\n  return Breakpoint2;\n})(Breakpoint || {});\nexport {\n  Breakpoint\n};\n", "import { ControlType } from \"framer\";\nimport { Breakpoint } from \"../../styles/breakpoint.js\";\nconst BREAKPOINT_CONTROLS = {\n  breakpoint: {\n    type: ControlType.Enum,\n    title: \"\uBD84\uAE30\uC810\",\n    options: [Breakpoint.DESKTOP, Breakpoint.TABLET, Breakpoint.MOBILE],\n    optionTitles: [\"PC\", \"Tablet\", \"Mobile\"],\n    displaySegmentedControl: true\n  }\n};\nexport {\n  BREAKPOINT_CONTROLS\n};\n", "var Theme = /* @__PURE__ */ ((Theme2) => {\n  Theme2[\"LIGHT\"] = \"light\";\n  Theme2[\"DARK\"] = \"dark\";\n  return Theme2;\n})(Theme || {});\nexport {\n  Theme\n};\n", "import { ControlType } from \"framer\";\nimport { Theme } from \"../../styles/theme.js\";\nconst THEME_CONTROLS = {\n  theme: {\n    type: ControlType.Enum,\n    title: \"\uD14C\uB9C8\",\n    description: \"Light \uD14C\uB9C8\uB294 \uC77C\uBD80 \uC2A4\uD0C0\uC77C\uC774 \uBBF8\uC801\uC6A9\uB418\uC5B4 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\",\n    options: [Theme.LIGHT, Theme.DARK],\n    optionTitles: [\"Light\", \"Dark\"],\n    defaultValue: Theme.LIGHT,\n    displaySegmentedControl: true\n  }\n};\nexport {\n  THEME_CONTROLS\n};\n", "import { ControlType } from \"framer\";\nconst COMPONENT_ID_PROPS = {\n  componentId: {\n    type: ControlType.String,\n    title: \"\uCEF4\uD3EC\uB10C\uD2B8 ID\",\n    description: \"\uC774\uBCA4\uD2B8 \uC218\uC9D1 \uC2DC\uC5D0 \uBAA8\uB4C8\uC744 \uAD6C\uBD84\uD558\uAE30 \uC704\uD55C \uAC12\\nex. 29welcoming\",\n    defaultValue: \"\"\n  }\n};\nexport {\n  COMPONENT_ID_PROPS\n};\n", "var HeadlineActionType = /* @__PURE__ */ ((HeadlineActionType2) => {\n  HeadlineActionType2[HeadlineActionType2[\"External\"] = 0] = \"External\";\n  HeadlineActionType2[HeadlineActionType2[\"Link\"] = 1] = \"Link\";\n  HeadlineActionType2[HeadlineActionType2[\"Countdown\"] = 2] = \"Countdown\";\n  return HeadlineActionType2;\n})(HeadlineActionType || {});\nvar HeadlinePresetType = /* @__PURE__ */ ((HeadlinePresetType2) => {\n  HeadlinePresetType2[HeadlinePresetType2[\"Default\"] = 0] = \"Default\";\n  HeadlinePresetType2[HeadlinePresetType2[\"Schedule\"] = 1] = \"Schedule\";\n  HeadlinePresetType2[HeadlinePresetType2[\"Link\"] = 2] = \"Link\";\n  return HeadlinePresetType2;\n})(HeadlinePresetType || {});\nvar HeadlineModuleInputType = /* @__PURE__ */ ((HeadlineModuleInputType2) => {\n  HeadlineModuleInputType2[HeadlineModuleInputType2[\"Linked\"] = 0] = \"Linked\";\n  HeadlineModuleInputType2[HeadlineModuleInputType2[\"Manual\"] = 1] = \"Manual\";\n  HeadlineModuleInputType2[HeadlineModuleInputType2[\"Auto\"] = 2] = \"Auto\";\n  return HeadlineModuleInputType2;\n})(HeadlineModuleInputType || {});\nexport {\n  HeadlineActionType,\n  HeadlineModuleInputType,\n  HeadlinePresetType\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { useInView } from \"framer-motion\";\nimport { createContext, useRef } from \"react\";\nconst IntersectionContext = createContext({\n  isInView: false\n});\nconst IntersectionProvider = ({\n  children,\n  ...rest\n}) => {\n  const ref = useRef(null);\n  const isInView = useInView(ref, rest);\n  return /* @__PURE__ */ jsx(IntersectionContext.Provider, { value: {\n    isInView\n  }, children: /* @__PURE__ */ jsx(\"div\", { ref, style: {\n    width: \"100%\"\n  }, children }) });\n};\nexport {\n  IntersectionContext,\n  IntersectionProvider\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { BreakpointProvider } from \"../../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"react\";\nimport { ThemeProvider } from \"../../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport { IntersectionProvider } from \"../IntersectionProvider/IntersectionProvider.js\";\nimport \"framer-motion\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport { SWRConfig } from \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { EventTrackingProvider } from \"../EventTrackingProvider/EventTrackingProvider.js\";\nimport \"../../../../constants/snowplow/snowplowSchema.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nconst SectionLayout = ({\n  children,\n  theme = \"light\",\n  breakpoint = \"mobile\",\n  componentId,\n  intersectionOptions\n}) => {\n  return /* @__PURE__ */ jsx(ThemeProvider, { theme, children: /* @__PURE__ */ jsx(BreakpointProvider, { breakpoint, children: /* @__PURE__ */ jsx(IntersectionProvider, { once: true, margin: \"200px 0px\", ...intersectionOptions, children: /* @__PURE__ */ jsx(EventTrackingProvider, { componentId, children: /* @__PURE__ */ jsx(SWRConfig, { value: {\n    revalidateIfStale: false,\n    revalidateOnFocus: false,\n    revalidateOnReconnect: false\n  }, children }) }) }) }) });\n};\nexport {\n  SectionLayout\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { createContext, forwardRef } from \"react\";\nconst HeadlineContext = createContext(null);\nconst Root = forwardRef(({\n  children,\n  style,\n  priority = \"primary\",\n  loading = false,\n  ...rest\n}, ref) => {\n  return /* @__PURE__ */ jsx(HeadlineContext.Provider, { value: {\n    priority,\n    loading\n  }, children: /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...containerStyleByPriority[priority],\n    ...style\n  }, children }) });\n});\nconst containerStyle = {\n  position: \"relative\",\n  width: \"100%\"\n};\nconst containerStyleByPriority = {\n  primary: {\n    paddingTop: 16\n  },\n  secondary: {\n    paddingTop: 12\n  },\n  tertiary: {\n    paddingTop: 0\n  }\n};\nexport {\n  HeadlineContext,\n  Root\n};\n", "var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\nclass MediaBuilder {\n  constructor(src) {\n    __publicField(this, \"src\");\n    this.src = new URL(src);\n  }\n  set(name, value) {\n    this.src.searchParams.set(name, value);\n  }\n  setQuality(quality) {\n    this.set(\"q\", `${quality}`);\n    return this;\n  }\n  setFormat(format) {\n    this.set(\"format\", format);\n    return this;\n  }\n  setWidth(width) {\n    this.set(\"width\", `${width}`);\n    return this;\n  }\n  getSrc() {\n    return this.src.href;\n  }\n  getSrcSet(...widths) {\n    const unique = Array.from(new Set(widths));\n    const array = unique.map((width) => {\n      const url = new URL(this.src);\n      url.searchParams.set(\"width\", `${width * 2}`);\n      return `${url.href} ${width}w`;\n    });\n    return array.join(\",\");\n  }\n}\nconst mediaBuilder = (src) => new MediaBuilder(src);\nexport {\n  mediaBuilder\n};\n", "import { useContext } from \"react\";\nimport { BreakpointContext } from \"./BreakpointProvider.js\";\nconst useBreakpointContext = () => {\n  return useContext(BreakpointContext);\n};\nexport {\n  useBreakpointContext\n};\n", "import \"../components/@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport { useBreakpointContext } from \"../components/@shared/providers/BreakpointProvider/BreakpointProvider.hooks.js\";\nconst useBreakpoint = () => {\n  const {\n    breakpoint\n  } = useBreakpointContext();\n  return breakpoint;\n};\nexport {\n  useBreakpoint\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport { mediaBuilder } from \"../../../../utils/mediaBuilder.js\";\nimport { HEADLINE_MEDIA_MAX_WIDTH } from \"./Root.constants.js\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport \"../../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport { useBreakpoint } from \"../../../../hooks/useBreakpoint.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nconst SRC_SET_WIDTHS = [540, 1024, 1440];\nconst Image = forwardRef(({\n  source,\n  lazy = true\n}, ref) => {\n  const breakpoint = useBreakpoint();\n  if (!source) {\n    return null;\n  }\n  const result = mediaBuilder(source).setFormat(\"auto\").setQuality(90);\n  return /* @__PURE__ */ jsx(\"img\", { ref, style: {\n    ...containerStyle,\n    ...containerStyleByBreakpoint[breakpoint]\n  }, loading: lazy ? \"lazy\" : \"eager\", sizes: \"100vw\", srcSet: result.getSrcSet(...SRC_SET_WIDTHS), src: result.getSrc(), alt: \"\", \"data-headline-media\": \"true\" });\n});\nconst containerStyle = {\n  width: \"100%\",\n  maxWidth: HEADLINE_MEDIA_MAX_WIDTH,\n  objectFit: \"cover\"\n};\nconst containerStyleByBreakpoint = {\n  desktop: {\n    aspectRatio: \"3 / 1\"\n  },\n  tablet: {\n    aspectRatio: \"16 / 9\"\n  },\n  mobile: {\n    aspectRatio: \"16 / 9\"\n  }\n};\nexport {\n  Image\n};\n", "import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useRef, useMemo } from \"react\";\nimport { useInView } from \"framer-motion\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport \"../../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport { useBreakpoint } from \"../../../../hooks/useBreakpoint.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { querify } from \"../../../../utils/querify.js\";\nimport { HEADLINE_MEDIA_MAX_WIDTH } from \"./Root.constants.js\";\nconst Video = forwardRef(({\n  poster,\n  source,\n  sourceWebm,\n  lazy = true\n}, ref) => {\n  const breakpoint = useBreakpoint();\n  const fallbackRef = useRef(null);\n  const isInView = useInView(fallbackRef, {\n    margin: \"400px 0px\",\n    once: true\n  });\n  const query = useMemo(() => querify({\n    width: posterWidthByBreakpoint[breakpoint],\n    q: 90\n  }), [breakpoint]);\n  if (!source) {\n    return null;\n  }\n  if (lazy && !isInView) {\n    return /* @__PURE__ */ jsx(\"div\", { ref: fallbackRef, style: {\n      ...containerStyle,\n      ...containerStyleByBreakpoint[breakpoint]\n    }, \"data-headline-media\": \"true\" });\n  }\n  const media = mediaByBreakpoint[breakpoint];\n  return /* @__PURE__ */ jsxs(\"video\", { ref, style: {\n    ...containerStyle,\n    ...containerStyleByBreakpoint[breakpoint]\n  }, poster: poster !== void 0 ? `${poster}?${query}` : void 0, autoPlay: true, playsInline: true, muted: true, loop: true, \"data-headline-media\": \"true\", children: [\n    sourceWebm ? /* @__PURE__ */ jsx(\"source\", { type: \"video/webm\", src: sourceWebm, media }) : null,\n    /* @__PURE__ */ jsx(\"source\", { type: \"video/mp4\", src: source, media })\n  ] });\n});\nconst containerStyle = {\n  width: \"100%\",\n  maxWidth: HEADLINE_MEDIA_MAX_WIDTH,\n  objectFit: \"cover\"\n};\nconst containerStyleByBreakpoint = {\n  desktop: {\n    aspectRatio: \"3 / 1\"\n  },\n  tablet: {\n    aspectRatio: \"16 / 9\"\n  },\n  mobile: {\n    aspectRatio: \"16 / 9\"\n  }\n};\nconst posterWidthByBreakpoint = {\n  desktop: void 0,\n  tablet: 1440,\n  mobile: 1024\n};\nconst mediaByBreakpoint = {\n  desktop: \"(min-width: 1025px)\",\n  tablet: \"(min-width: 541px)\",\n  mobile: void 0\n};\nexport {\n  Video\n};\n", "import { useContext } from \"react\";\nimport { HeadlineContext } from \"./Root.js\";\nconst useHeadlineContext = () => {\n  const context = useContext(HeadlineContext);\n  if (!context) {\n    throw new Error(\"useHeadlineContext should be used within Root\");\n  }\n  return context;\n};\nexport {\n  useHeadlineContext\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport \"../../../@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport { useBreakpoint } from \"../../../../hooks/useBreakpoint.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { useHeadlineContext } from \"./Root.hooks.js\";\nimport { ComponentName } from \"../../../../styles/ComponentName.js\";\nimport { createWithStyle } from \"../../../../styles/createWithStyle.js\";\nimport { css } from \"../../../../styles/css.js\";\nconst {\n  classNames,\n  withStyle\n} = createWithStyle(ComponentName.HeadlineContent, {\n  container: css`\n    position: relative;\n\n    /* NOTE(\uC784\uADDC\uBBFC): data-headline-media \uC18D\uC131\uC744 \uAC00\uC9C4 \uC694\uC18C\uAC00 \uD615\uC81C\uB85C \uC874\uC7AC\uD558\uB294 \uACBD\uC6B0\uC5D0\uB9CC \uC2A4\uD0C0\uC77C \uC801\uC6A9 */\n    &:where([data-headline-media='true'], [data-headline-media='true'] + *) {\n      position: absolute;\n      inset: auto 0 0;\n    }\n\n    &:where([data-headline-media='true'], [data-headline-media='true'] + *) > * {\n      padding-top: 40px !important;\n    }\n\n    &:where([data-headline-media='true'], [data-headline-media='true'] + *) > *[data-breakpoint='desktop'] {\n      padding-right: 32px !important;\n    }\n  `\n});\nconst Content = withStyle(forwardRef(({\n  children,\n  style,\n  ...rest\n}, ref) => {\n  const breakpoint = useBreakpoint();\n  const {\n    priority\n  } = useHeadlineContext();\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, className: classNames.container, children: /* @__PURE__ */ jsx(\"div\", { style: {\n    ...wrapperStyle,\n    ...wrapperStyleByBreakpoint[breakpoint],\n    ...wrapperStyleByPriority[priority],\n    ...style\n  }, \"data-breakpoint\": breakpoint, children: /* @__PURE__ */ jsx(\"div\", { style: {\n    ...contentStyle,\n    ...contentStyleByPriority[priority]\n  }, children }) }) });\n}));\nconst wrapperStyle = {\n  position: \"relative\"\n};\nconst wrapperStyleByBreakpoint = {\n  desktop: {\n    paddingRight: 0,\n    paddingLeft: 0\n  },\n  tablet: {\n    paddingRight: 20,\n    paddingLeft: 20\n  },\n  mobile: {\n    paddingRight: 20,\n    paddingLeft: 20\n  }\n};\nconst wrapperStyleByPriority = {\n  primary: {\n    paddingBottom: 16\n  },\n  secondary: {\n    paddingBottom: 20\n  },\n  tertiary: {\n    paddingBottom: 16\n  }\n};\nconst contentStyle = {\n  display: \"flex\"\n};\nconst contentStyleByPriority = {\n  primary: {\n    flexDirection: \"column\",\n    gap: 4\n  },\n  secondary: {\n    minHeight: 40,\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    gap: 16\n  },\n  tertiary: {\n    flexDirection: \"row\",\n    alignItems: \"center\",\n    gap: 16\n  }\n};\nexport {\n  Content\n};\n", "import { useContext } from \"react\";\nimport { ThemeContext } from \"./ThemeProvider.js\";\nconst useThemeContext = () => {\n  return useContext(ThemeContext);\n};\nexport {\n  useThemeContext\n};\n", "import \"../components/@shared/providers/ThemeProvider/ThemeProvider.js\";\nimport { useThemeContext } from \"../components/@shared/providers/ThemeProvider/ThemeProvider.hooks.js\";\nconst useTheme = () => {\n  const {\n    theme\n  } = useThemeContext();\n  return theme;\n};\nexport {\n  useTheme\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport \"framer\";\nimport { typography } from \"../../../../styles/typography.js\";\nimport { useHeadlineContext } from \"./Root.hooks.js\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport { useTheme } from \"../../../../hooks/useTheme.js\";\nimport { useBreakpoint } from \"../../../../hooks/useBreakpoint.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { Skeleton } from \"../../../@shared/Skeleton/Skeleton.js\";\nconst Title = forwardRef(({\n  children,\n  style,\n  ...rest\n}, ref) => {\n  const {\n    priority,\n    loading\n  } = useHeadlineContext();\n  const breakpoint = useBreakpoint();\n  const theme = useTheme();\n  if (loading) {\n    return /* @__PURE__ */ jsx(Skeleton, { style: {\n      ...skeletonStyle,\n      ...skeletonStyleByPriority[priority][breakpoint],\n      ...skeletonStyleByTheme[theme]\n    } });\n  }\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...textStyle[priority][breakpoint],\n    ...textColor[theme],\n    ...style\n  }, children });\n});\nconst containerStyle = {\n  zIndex: 1,\n  width: \"100%\",\n  whiteSpace: \"pre-wrap\",\n  color: \"#ffffff\"\n};\nconst skeletonStyle = {\n  width: \"40%\",\n  borderRadius: 6\n};\nconst skeletonStyleByPriority = {\n  primary: {\n    desktop: {\n      height: 42\n    },\n    tablet: {\n      height: 30.8\n    },\n    mobile: {\n      height: 30.8\n    }\n  },\n  secondary: {\n    desktop: {\n      height: 21\n    },\n    tablet: {\n      height: 21\n    },\n    mobile: {\n      height: 21\n    }\n  },\n  tertiary: {\n    desktop: {\n      height: 19.59\n    },\n    tablet: {\n      height: 19.59\n    },\n    mobile: {\n      height: 19.59\n    }\n  }\n};\nconst skeletonStyleByTheme = {\n  light: {\n    backgroundColor: \"#dee2e6\"\n  },\n  dark: {\n    backgroundColor: \"#27272a\"\n  }\n};\nconst textColor = {\n  light: {\n    color: \"#000000\"\n  },\n  dark: {\n    color: \"#ffffff\"\n  }\n};\nconst textStyle = {\n  primary: {\n    desktop: typography(30, 700),\n    tablet: typography(22, 700),\n    mobile: typography(22, 700)\n  },\n  secondary: {\n    desktop: typography(15, 700),\n    tablet: typography(15, 700),\n    mobile: typography(15, 700)\n  },\n  tertiary: {\n    desktop: typography(14, 700),\n    tablet: typography(14, 700),\n    mobile: typography(14, 700)\n  }\n};\nexport {\n  Title\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport { useTheme } from \"../../../../hooks/useTheme.js\";\nimport \"../../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { typography } from \"../../../../styles/typography.js\";\nimport { useHeadlineContext } from \"./Root.hooks.js\";\nimport { Skeleton } from \"../../../@shared/Skeleton/Skeleton.js\";\nconst Description = forwardRef(({\n  children,\n  style,\n  ...rest\n}, ref) => {\n  const {\n    priority,\n    loading\n  } = useHeadlineContext();\n  const theme = useTheme();\n  if (!children) {\n    return null;\n  }\n  if (loading) {\n    return /* @__PURE__ */ jsx(Skeleton, { style: {\n      ...skeletonStyle,\n      ...skeletonStyleByPriority[priority],\n      ...skeletonStyleByTheme[theme]\n    } });\n  }\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...containerStyleByPriority[priority],\n    ...textColor[theme],\n    ...style\n  }, children });\n});\nconst containerStyle = {\n  zIndex: 1,\n  width: \"100%\",\n  whiteSpace: \"pre-wrap\"\n};\nconst skeletonStyle = {\n  width: \"36%\",\n  borderRadius: 6\n};\nconst skeletonStyleByPriority = {\n  primary: {\n    height: 21\n  },\n  secondary: {\n    height: 16.8\n  },\n  tertiary: {\n    height: 16.8\n  }\n};\nconst skeletonStyleByTheme = {\n  light: {\n    backgroundColor: \"#dee2e6\"\n  },\n  dark: {\n    backgroundColor: \"#27272a\"\n  }\n};\nconst containerStyleByPriority = {\n  primary: {\n    ...typography(15, 400)\n  },\n  secondary: {\n    ...typography(12, 400)\n  },\n  // NOTE:(\uAE40\uD64D\uB3D9) tertiary\uC5D0\uC11C Description \uC0AC\uC6A9\uCF00\uC774\uC2A4\uAC00 \uC544\uC9C1 \uC5C6\uC5B4 secondary\uC640 \uB3D9\uC77C\uD558\uAC8C \uAC00\uC838\uAC11\uB2C8\uB2E4.\n  tertiary: {\n    ...typography(12, 400)\n  }\n};\nconst textColor = {\n  light: {\n    color: \"#474747\"\n  },\n  dark: {\n    color: \"#a0a0a0\"\n  }\n};\nexport {\n  Description\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nconst Action = forwardRef(({\n  children,\n  style,\n  ...rest\n}, ref) => {\n  if (!children) {\n    return null;\n  }\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...style\n  }, children });\n});\nconst containerStyle = {\n  zIndex: 1,\n  minWidth: \"fit-content\",\n  display: \"flex\",\n  alignItems: \"center\"\n};\nexport {\n  Action\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport { useTheme } from \"../../../../hooks/useTheme.js\";\nimport \"../../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nconst Gradient = forwardRef(({\n  style,\n  ...rest\n}, ref) => {\n  const theme = useTheme();\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...containerStyleByTheme[theme],\n    ...style\n  } });\n});\nconst containerStyle = {\n  position: \"absolute\",\n  inset: 0,\n  zIndex: 0,\n  width: \"100%\"\n};\nconst containerStyleByTheme = {\n  light: {\n    background: \"linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.60) 46%, #fff 90%)\"\n  },\n  dark: {\n    background: \"linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.60) 46%, #000 90%)\"\n  }\n};\nexport {\n  Gradient\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport { useHeadlineContext } from \"./Root.hooks.js\";\nconst Body = forwardRef(({\n  children,\n  style,\n  ...rest\n}, ref) => {\n  const {\n    priority\n  } = useHeadlineContext();\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...containerStyleByPriority[priority],\n    ...style\n  }, children });\n});\nconst containerStyle = {\n  width: \"100%\",\n  display: \"flex\"\n};\nconst containerStyleByPriority = {\n  primary: {\n    flexDirection: \"row\",\n    gap: 16\n  },\n  secondary: {\n    flexDirection: \"column\"\n  },\n  tertiary: {\n    flexDirection: \"column\"\n  }\n};\nexport {\n  Body\n};\n", "import { Root } from \"./Root.js\";\nimport { Image } from \"./Image.js\";\nimport { Video } from \"./Video.js\";\nimport { Content } from \"./Content.js\";\nimport { Title } from \"./Title.js\";\nimport { Description } from \"./Description.js\";\nimport { Action } from \"./Action.js\";\nimport { Gradient } from \"./Gradient.js\";\nimport { Body } from \"./Body.js\";\nconst Headline = {\n  Root,\n  Image,\n  Video,\n  Content,\n  Body,\n  Title,\n  Description,\n  Action,\n  Gradient\n};\nexport {\n  Headline\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { Headline } from \"../../../systems/curations/Headline/index.js\";\nconst HeadlineMediaElement = ({\n  mediaType,\n  imageSrc,\n  videoSrc,\n  videoSrcWebm,\n  poster,\n  lazy\n}) => {\n  switch (mediaType) {\n    case \"image\":\n      return /* @__PURE__ */ jsx(Headline.Image, { source: imageSrc, lazy });\n    case \"video\":\n      return /* @__PURE__ */ jsx(Headline.Video, { source: videoSrc, sourceWebm: videoSrcWebm, poster, lazy });\n    default:\n      return null;\n  }\n};\nexport {\n  HeadlineMediaElement\n};\n", "import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport { Icon } from \"../Icon/Icon.js\";\nimport { typography } from \"../../../styles/typography.js\";\nconst TextButton = ({\n  children,\n  style,\n  as,\n  theme = \"light\",\n  size = \"medium\",\n  prefixIcon,\n  postfixIcon,\n  variant,\n  backgroundColor,\n  color,\n  isUnderlined = false,\n  ...rest\n}, ref) => {\n  const Component = as ?? \"button\";\n  const variantStyle = textButtonStyleByVariant[rest.disabled ? \"disabled\" : variant];\n  const textButtonStyle = {\n    ...style,\n    ...baseTextButtonStyle,\n    ...textButtonStyleBySize[size],\n    ...variantStyle[theme],\n    ...isUnderlined && {\n      textDecoration: \"underline\"\n    }\n  };\n  const reshapedProps = {\n    ...rest,\n    href: rest.disabled ? void 0 : rest.href,\n    onClick: rest.disabled ? void 0 : rest.onClick\n  };\n  return /* @__PURE__ */ jsxs(Component, { ref, ...reshapedProps, style: textButtonStyle, children: [\n    prefixIcon ? /* @__PURE__ */ jsx(Icon, { type: getIconType(prefixIcon), fill: getIconFill(prefixIcon), size: iconSizeByButtonSize[size], color: textButtonStyle.color, weight: \"bold\" }) : null,\n    /* @__PURE__ */ jsx(\"div\", { style: contentStyle, children }),\n    postfixIcon ? /* @__PURE__ */ jsx(Icon, { type: getIconType(postfixIcon), fill: getIconFill(postfixIcon), size: iconSizeByButtonSize[size], color: textButtonStyle.color, weight: \"bold\" }) : null\n  ] });\n};\nconst getIconType = (icon) => typeof icon === \"string\" ? icon : icon.type;\nconst getIconFill = (icon) => typeof icon === \"string\" ? void 0 : icon.fill;\nconst baseTextButtonStyle = {\n  minWidth: \"fit-content\",\n  height: \"auto\",\n  display: \"flex\",\n  alignItems: \"center\",\n  justifyContent: \"center\",\n  cursor: \"pointer\",\n  // reset button element css\n  backgroundColor: \"transparent\",\n  textDecoration: \"none\",\n  padding: 0,\n  outline: \"none\",\n  border: \"none\",\n  boxSizing: \"border-box\"\n};\nconst textButtonStyleBySize = {\n  large: {\n    gap: \"4px\",\n    ...typography(18, 600, 1.2)\n  },\n  medium: {\n    gap: \"4px\",\n    ...typography(16, 600, 1.2)\n  },\n  small: {\n    gap: \"2px\",\n    ...typography(14, 600, 1.2)\n  },\n  xSmall: {\n    gap: \"2px\",\n    ...typography(12, 700, 1.36)\n  }\n};\nconst textButtonStyleByVariant = {\n  primary: {\n    light: {\n      color: \"#000\"\n    },\n    dark: {\n      color: \"#fff\"\n    }\n  },\n  secondary: {\n    light: {\n      color: \"#474747\"\n    },\n    dark: {\n      color: \"#a0a0a0\"\n    }\n  },\n  tertiary: {\n    light: {\n      color: \"#a0a0a0\"\n    },\n    dark: {\n      color: \"#474747\"\n    }\n  },\n  disabled: {\n    light: {\n      color: \"#c4c4c4\",\n      cursor: \"not-allowed\"\n    },\n    dark: {\n      color: \"#303033\",\n      cursor: \"not-allowed\"\n    }\n  }\n};\nconst iconSizeByButtonSize = {\n  large: 20,\n  medium: 18,\n  small: 16,\n  xSmall: 12\n};\nconst contentStyle = {\n  display: \"flex\",\n  alignItems: \"center\"\n};\nconst Default = forwardRef(TextButton);\nexport {\n  Default as TextButton\n};\n", "const CONTENT_DOMAIN_HOSTNAME = \"https://content.29cm.co.kr\";\nconst useCreateAppSchemeLink = () => {\n  const createAppSchemeLink = (href, options = {}) => {\n    const fullPath = href.includes(\"https://\") ? href : `${CONTENT_DOMAIN_HOSTNAME}${href}`;\n    const params = [];\n    if (options.home !== void 0) {\n      params.push(`29cm_nav_home=${getOnOffValue(options.home)}`);\n    }\n    if (options.cart !== void 0) {\n      params.push(`29cm_nav_cart=${getOnOffValue(options.cart)}`);\n    }\n    if (options.search !== void 0) {\n      params.push(`29cm_nav_search=${getOnOffValue(options.search)}`);\n    }\n    if (options.title !== void 0) {\n      params.push(`29cm_title=${encodeURIComponent(options.title)}`);\n    }\n    const queryString = params.length ? `?${params.join(\"&\")}` : \"\";\n    return `app29cm://web/${encodeURIComponent(`${fullPath}${queryString}`)}`;\n  };\n  return {\n    createAppSchemeLink\n  };\n};\nconst getOnOffValue = (value) => value ? \"on\" : \"off\";\nexport {\n  useCreateAppSchemeLink\n};\n", "import { isServer } from \"./context.js\";\nconst getAnchorTarget = (url) => {\n  if (isServer()) {\n    return \"_self\";\n  }\n  return normalizeURL(url) === normalizeURL(window.location.href) ? \"_self\" : \"_blank\";\n};\nconst normalizeURL = (url) => {\n  const hasOrigin = !url.startsWith(\"/\");\n  try {\n    const {\n      origin,\n      pathname\n    } = new URL(hasOrigin ? url : `${window.location.origin}${url}`);\n    return `${origin}${pathname}`;\n  } catch (error) {\n    return \"\";\n  }\n};\nexport {\n  getAnchorTarget\n};\n", "import { isWebview } from \"../utils/device.js\";\nimport { useCreateAppSchemeLink } from \"./useCreateAppSchemeLink.js\";\nimport { getAnchorTarget } from \"../utils/getAnchorTarget.js\";\nconst useNavigatePage = (url) => {\n  const {\n    createAppSchemeLink\n  } = useCreateAppSchemeLink();\n  return () => {\n    if (isWebview()) {\n      document.location.href = createAppSchemeLink(url);\n    } else {\n      window.open(url, getAnchorTarget(url));\n    }\n  };\n};\nexport {\n  useNavigatePage\n};\n", "var QueryType = /* @__PURE__ */ ((QueryType2) => {\n  QueryType2[\"Product\"] = \"product\";\n  QueryType2[\"KeywordCollection\"] = \"keyword-collection\";\n  QueryType2[\"KeywordCollections\"] = \"keyword-collections\";\n  QueryType2[\"BrandCuration\"] = \"brand-curation\";\n  QueryType2[\"Recommendation\"] = \"recommendation\";\n  QueryType2[\"Ranking\"] = \"ranking\";\n  QueryType2[\"CouponCollection\"] = \"coupon-collection\";\n  QueryType2[\"RaffleGroup\"] = \"raffle-group\";\n  QueryType2[\"Coupon\"] = \"coupon\";\n  return QueryType2;\n})(QueryType || {});\nvar RankingType = /* @__PURE__ */ ((RankingType2) => {\n  RankingType2[\"Popularity\"] = \"POPULARITY\";\n  RankingType2[\"Trending\"] = \"TRENDING\";\n  return RankingType2;\n})(RankingType || {});\nvar PopularityPeriodType = /* @__PURE__ */ ((PopularityPeriodType2) => {\n  PopularityPeriodType2[\"Realtime\"] = \"REALTIME\";\n  PopularityPeriodType2[\"Hourly\"] = \"HOURLY\";\n  PopularityPeriodType2[\"Daily\"] = \"DAILY\";\n  return PopularityPeriodType2;\n})(PopularityPeriodType || {});\nvar TrendingPeriodType = /* @__PURE__ */ ((TrendingPeriodType2) => {\n  TrendingPeriodType2[\"Hourly\"] = \"HOURLY\";\n  return TrendingPeriodType2;\n})(TrendingPeriodType || {});\nvar CategoryType = /* @__PURE__ */ ((CategoryType2) => {\n  CategoryType2[CategoryType2[\"Large\"] = 0] = \"Large\";\n  CategoryType2[CategoryType2[\"Middle\"] = 1] = \"Middle\";\n  return CategoryType2;\n})(CategoryType || {});\nexport {\n  CategoryType,\n  PopularityPeriodType,\n  QueryType,\n  RankingType,\n  TrendingPeriodType\n};\n", "import { QueryType } from \"../../types.js\";\nimport { env } from \"../../../../config/index.js\";\nimport { querify } from \"../../../../utils/querify.js\";\nconst getCouponCollectionHref = (query, componentId) => {\n  return `${env.workspace.content}/coupon-collection/${query.couponCollectionId}?${querify({\n    source: componentId ?? \"CouponCollection\"\n  })}`;\n};\nconst getKeywordCollectionHref = (query, componentId) => {\n  var _a;\n  return `${env.workspace.content}/collection/${query.keywordCollectionId}?${querify({\n    source: componentId,\n    product_group: (_a = query.selectedProductGroup) == null ? void 0 : _a.id\n  })}`;\n};\nconst getHref = (query, componentId) => {\n  switch (query.type) {\n    case QueryType.CouponCollection:\n      return getCouponCollectionHref(query, componentId);\n    case QueryType.KeywordCollection:\n      return getKeywordCollectionHref(query, componentId);\n    default:\n      return \"\";\n  }\n};\nexport {\n  getCouponCollectionHref,\n  getHref,\n  getKeywordCollectionHref\n};\n", "import { useComponentId } from \"../systems/curations/EventTrackingProvider/EventTrackingProvider.hooks.js\";\nimport \"../systems/curations/EventTrackingProvider/EventTrackingProvider.js\";\nimport { useTrackSnowplowEvent } from \"../../hooks/snowplow/useTrackSnowplowEvent.js\";\nconst useTrackClickButtonEvent = () => {\n  const trackSnowplowEvent = useTrackSnowplowEvent();\n  const componentId = useComponentId();\n  const trackClickButtonEvent = ({\n    type,\n    layoutPosition = -1,\n    name = \"\"\n  }) => {\n    trackSnowplowEvent(\"click_button\", {\n      // TODO(\uC784\uADDC\uBBFC): section_name, position \uD504\uB85C\uD37C\uD2F0\uC5D0 \uD560\uB2F9\uD55C \uC57D\uC18D\uB41C \uC784\uC758 \uAC12 \uC218\uC815\n      section_name: componentId,\n      section_title: componentId,\n      position: -1,\n      layout_position: layoutPosition,\n      button_id: type,\n      button_name: name\n    });\n  };\n  return trackClickButtonEvent;\n};\nconst useTrackImpressionContentEvent = () => {\n  const trackSnowplowEvent = useTrackSnowplowEvent();\n  const componentId = useComponentId();\n  const trackImpressionContentEvent = () => {\n    trackSnowplowEvent(\"impression_content\", {\n      // TODO(\uC784\uADDC\uBBFC): section_name, position, layout_position \uD504\uB85C\uD37C\uD2F0\uC5D0 \uD560\uB2F9\uD55C \uC57D\uC18D\uB41C \uC784\uC758 \uAC12 \uC218\uC815\n      section_name: componentId,\n      section_title: componentId,\n      position: -1,\n      layout_position: -1\n    });\n  };\n  return trackImpressionContentEvent;\n};\nexport {\n  useTrackClickButtonEvent,\n  useTrackImpressionContentEvent\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { TextButton as Default } from \"../../../@shared/TextButton/TextButton.js\";\nimport \"react\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport { useTheme } from \"../../../../hooks/useTheme.js\";\nimport \"../../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../../systems/Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { useComponentId } from \"../../../systems/curations/EventTrackingProvider/EventTrackingProvider.hooks.js\";\nimport \"../../../systems/curations/EventTrackingProvider/EventTrackingProvider.js\";\nimport { useNavigatePage } from \"../../../../hooks/useNavigatePage.js\";\nimport { getHref } from \"./HeadlineLinkActionElement.utils.js\";\nimport { useTrackClickButtonEvent } from \"../../hooks.js\";\nconst HeadlineLinkActionElement = ({\n  action\n}) => {\n  const theme = useTheme();\n  const componentId = useComponentId();\n  const trackClickButtonEvent = useTrackClickButtonEvent();\n  const navigate = useNavigatePage(getHref(action.query, componentId));\n  const handleClick = () => {\n    trackClickButtonEvent({\n      type: \"more\",\n      name: action.label\n    });\n    navigate();\n  };\n  return /* @__PURE__ */ jsx(Default, { onClick: handleClick, style: {\n    opacity: 0.6\n  }, theme, variant: \"primary\", size: \"xSmall\", postfixIcon: \"chevronRight\", children: action.label });\n};\nexport {\n  HeadlineLinkActionElement\n};\n", "let defaultOptions = {};\nfunction getDefaultOptions() {\n  return defaultOptions;\n}\nexport {\n  getDefaultOptions\n};\n", "function constructFrom(date, value) {\n  if (date instanceof Date) {\n    return new date.constructor(value);\n  } else {\n    return new Date(value);\n  }\n}\nexport {\n  constructFrom,\n  constructFrom as default\n};\n", "import { toDate } from \"./toDate.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nfunction startOfYear(date) {\n  const cleanDate = toDate(date);\n  const _date = constructFrom(date, 0);\n  _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\nexport {\n  startOfYear as default,\n  startOfYear\n};\n", "import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\nfunction getDayOfYear(date) {\n  const _date = toDate(date);\n  const diff = differenceInCalendarDays(_date, startOfYear(_date));\n  const dayOfYear = diff + 1;\n  return dayOfYear;\n}\nexport {\n  getDayOfYear as default,\n  getDayOfYear\n};\n", "import { toDate } from \"./toDate.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nfunction startOfWeek(date, options) {\n  var _a, _b, _c, _d;\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn = (options == null ? void 0 : options.weekStartsOn) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) ?? defaultOptions.weekStartsOn ?? ((_d = (_c = defaultOptions.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.weekStartsOn) ?? 0;\n  const _date = toDate(date);\n  const day = _date.getDay();\n  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n  _date.setDate(_date.getDate() - diff);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\nexport {\n  startOfWeek as default,\n  startOfWeek\n};\n", "import { startOfWeek } from \"./startOfWeek.js\";\nfunction startOfISOWeek(date) {\n  return startOfWeek(date, { weekStartsOn: 1 });\n}\nexport {\n  startOfISOWeek as default,\n  startOfISOWeek\n};\n", "import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\nfunction getISOWeekYear(date) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n  const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n  const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\nexport {\n  getISOWeekYear as default,\n  getISOWeekYear\n};\n", "import { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nfunction startOfISOWeekYear(date) {\n  const year = getISOWeekYear(date);\n  const fourthOfJanuary = constructFrom(date, 0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  return startOfISOWeek(fourthOfJanuary);\n}\nexport {\n  startOfISOWeekYear as default,\n  startOfISOWeekYear\n};\n", "import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\nfunction getISOWeek(date) {\n  const _date = toDate(date);\n  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\nexport {\n  getISOWeek as default,\n  getISOWeek\n};\n", "import { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nfunction getWeekYear(date, options) {\n  var _a, _b, _c, _d;\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions.firstWeekContainsDate ?? ((_d = (_c = defaultOptions.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;\n  const firstWeekOfNextYear = constructFrom(date, 0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n  const firstWeekOfThisYear = constructFrom(date, 0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\nexport {\n  getWeekYear as default,\n  getWeekYear\n};\n", "import { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nfunction startOfWeekYear(date, options) {\n  var _a, _b, _c, _d;\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions.firstWeekContainsDate ?? ((_d = (_c = defaultOptions.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;\n  const year = getWeekYear(date, options);\n  const firstWeek = constructFrom(date, 0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  const _date = startOfWeek(firstWeek, options);\n  return _date;\n}\nexport {\n  startOfWeekYear as default,\n  startOfWeekYear\n};\n", "import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\nfunction getWeek(date, options) {\n  const _date = toDate(date);\n  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\nexport {\n  getWeek as default,\n  getWeek\n};\n", "function addLeadingZeros(number, targetLength) {\n  const sign = number < 0 ? \"-\" : \"\";\n  const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n  return sign + output;\n}\nexport {\n  addLeadingZeros\n};\n", "import { addLeadingZeros } from \"../addLeadingZeros.js\";\nconst lightFormatters = {\n  // Year\n  y(date, token) {\n    const signedYear = date.getFullYear();\n    const year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n  },\n  // Month\n  M(date, token) {\n    const month = date.getMonth();\n    return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n  // Day of the month\n  d(date, token) {\n    return addLeadingZeros(date.getDate(), token.length);\n  },\n  // AM or PM\n  a(date, token) {\n    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return dayPeriodEnumValue.toUpperCase();\n      case \"aaa\":\n        return dayPeriodEnumValue;\n      case \"aaaaa\":\n        return dayPeriodEnumValue[0];\n      case \"aaaa\":\n      default:\n        return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n    }\n  },\n  // Hour [1-12]\n  h(date, token) {\n    return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n  },\n  // Hour [0-23]\n  H(date, token) {\n    return addLeadingZeros(date.getHours(), token.length);\n  },\n  // Minute\n  m(date, token) {\n    return addLeadingZeros(date.getMinutes(), token.length);\n  },\n  // Second\n  s(date, token) {\n    return addLeadingZeros(date.getSeconds(), token.length);\n  },\n  // Fraction of second\n  S(date, token) {\n    const numberOfDigits = token.length;\n    const milliseconds = date.getMilliseconds();\n    const fractionalSeconds = Math.trunc(\n      milliseconds * Math.pow(10, numberOfDigits - 3)\n    );\n    return addLeadingZeros(fractionalSeconds, token.length);\n  }\n};\nexport {\n  lightFormatters\n};\n", "import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\nconst dayPeriodEnum = {\n  am: \"am\",\n  pm: \"pm\",\n  midnight: \"midnight\",\n  noon: \"noon\",\n  morning: \"morning\",\n  afternoon: \"afternoon\",\n  evening: \"evening\",\n  night: \"night\"\n};\nconst formatters = {\n  // Era\n  G: function(date, token, localize) {\n    const era = date.getFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return localize.era(era, { width: \"abbreviated\" });\n      case \"GGGGG\":\n        return localize.era(era, { width: \"narrow\" });\n      case \"GGGG\":\n      default:\n        return localize.era(era, { width: \"wide\" });\n    }\n  },\n  // Year\n  y: function(date, token, localize) {\n    if (token === \"yo\") {\n      const signedYear = date.getFullYear();\n      const year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, { unit: \"year\" });\n    }\n    return lightFormatters.y(date, token);\n  },\n  // Local week-numbering year\n  Y: function(date, token, localize, options) {\n    const signedWeekYear = getWeekYear(date, options);\n    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n    if (token === \"YY\") {\n      const twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n    if (token === \"Yo\") {\n      return localize.ordinalNumber(weekYear, { unit: \"year\" });\n    }\n    return addLeadingZeros(weekYear, token.length);\n  },\n  // ISO week-numbering year\n  R: function(date, token) {\n    const isoWeekYear = getISOWeekYear(date);\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function(date, token) {\n    const year = date.getFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n  // Quarter\n  Q: function(date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      case \"Q\":\n        return String(quarter);\n      case \"QQ\":\n        return addLeadingZeros(quarter, 2);\n      case \"Qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      case \"QQQ\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"QQQQQ\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"QQQQ\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // Stand-alone quarter\n  q: function(date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      case \"q\":\n        return String(quarter);\n      case \"qq\":\n        return addLeadingZeros(quarter, 2);\n      case \"qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      case \"qqq\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"standalone\"\n        });\n      case \"qqqqq\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"standalone\"\n        });\n      case \"qqqq\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"standalone\"\n        });\n    }\n  },\n  // Month\n  M: function(date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"M\":\n      case \"MM\":\n        return lightFormatters.M(date, token);\n      case \"Mo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      case \"MMM\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"MMMMM\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"MMMM\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"formatting\" });\n    }\n  },\n  // Stand-alone month\n  L: function(date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"L\":\n        return String(month + 1);\n      case \"LL\":\n        return addLeadingZeros(month + 1, 2);\n      case \"Lo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      case \"LLL\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"standalone\"\n        });\n      case \"LLLLL\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"standalone\"\n        });\n      case \"LLLL\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"standalone\" });\n    }\n  },\n  // Local week of year\n  w: function(date, token, localize, options) {\n    const week = getWeek(date, options);\n    if (token === \"wo\") {\n      return localize.ordinalNumber(week, { unit: \"week\" });\n    }\n    return addLeadingZeros(week, token.length);\n  },\n  // ISO week of year\n  I: function(date, token, localize) {\n    const isoWeek = getISOWeek(date);\n    if (token === \"Io\") {\n      return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n    }\n    return addLeadingZeros(isoWeek, token.length);\n  },\n  // Day of the month\n  d: function(date, token, localize) {\n    if (token === \"do\") {\n      return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n    }\n    return lightFormatters.d(date, token);\n  },\n  // Day of year\n  D: function(date, token, localize) {\n    const dayOfYear = getDayOfYear(date);\n    if (token === \"Do\") {\n      return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n    }\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n  // Day of week\n  E: function(date, token, localize) {\n    const dayOfWeek = date.getDay();\n    switch (token) {\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"EEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"EEEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\"\n        });\n      case \"EEEE\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // Local day of week\n  e: function(date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      case \"e\":\n        return String(localDayOfWeek);\n      case \"ee\":\n        return addLeadingZeros(localDayOfWeek, 2);\n      case \"eo\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"eee\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"eeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"eeeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\"\n        });\n      case \"eeee\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // Stand-alone local day of week\n  c: function(date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      case \"c\":\n        return String(localDayOfWeek);\n      case \"cc\":\n        return addLeadingZeros(localDayOfWeek, token.length);\n      case \"co\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"ccc\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"standalone\"\n        });\n      case \"ccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"standalone\"\n        });\n      case \"cccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"standalone\"\n        });\n      case \"cccc\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"standalone\"\n        });\n    }\n  },\n  // ISO day of week\n  i: function(date, token, localize) {\n    const dayOfWeek = date.getDay();\n    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      case \"i\":\n        return String(isoDayOfWeek);\n      case \"ii\":\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      case \"io\":\n        return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n      case \"iii\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"iiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"iiiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\"\n        });\n      case \"iiii\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // AM or PM\n  a: function(date, token, localize) {\n    const hours = date.getHours();\n    const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"aaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        }).toLowerCase();\n      case \"aaaaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"aaaa\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // AM, PM, midnight, noon\n  b: function(date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    }\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"bbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        }).toLowerCase();\n      case \"bbbbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"bbbb\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // in the morning, in the afternoon, in the evening, at night\n  B: function(date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\"\n        });\n      case \"BBBBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\"\n        });\n      case \"BBBB\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\"\n        });\n    }\n  },\n  // Hour [1-12]\n  h: function(date, token, localize) {\n    if (token === \"ho\") {\n      let hours = date.getHours() % 12;\n      if (hours === 0)\n        hours = 12;\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n    return lightFormatters.h(date, token);\n  },\n  // Hour [0-23]\n  H: function(date, token, localize) {\n    if (token === \"Ho\") {\n      return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n    }\n    return lightFormatters.H(date, token);\n  },\n  // Hour [0-11]\n  K: function(date, token, localize) {\n    const hours = date.getHours() % 12;\n    if (token === \"Ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Hour [1-24]\n  k: function(date, token, localize) {\n    let hours = date.getHours();\n    if (hours === 0)\n      hours = 24;\n    if (token === \"ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n    return addLeadingZeros(hours, token.length);\n  },\n  // Minute\n  m: function(date, token, localize) {\n    if (token === \"mo\") {\n      return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n    }\n    return lightFormatters.m(date, token);\n  },\n  // Second\n  s: function(date, token, localize) {\n    if (token === \"so\") {\n      return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n    }\n    return lightFormatters.s(date, token);\n  },\n  // Fraction of second\n  S: function(date, token) {\n    return lightFormatters.S(date, token);\n  },\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function(date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n    if (timezoneOffset === 0) {\n      return \"Z\";\n    }\n    switch (token) {\n      case \"X\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n      case \"XXXX\":\n      case \"XX\":\n        return formatTimezone(timezoneOffset);\n      case \"XXXXX\":\n      case \"XXX\":\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function(date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n    switch (token) {\n      case \"x\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n      case \"xxxx\":\n      case \"xx\":\n        return formatTimezone(timezoneOffset);\n      case \"xxxxx\":\n      case \"xxx\":\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n  // Timezone (GMT)\n  O: function(date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n    switch (token) {\n      case \"O\":\n      case \"OO\":\n      case \"OOO\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      case \"OOOO\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n  // Timezone (specific non-location)\n  z: function(date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n    switch (token) {\n      case \"z\":\n      case \"zz\":\n      case \"zzz\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      case \"zzzz\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n  // Seconds timestamp\n  t: function(date, token, _localize) {\n    const timestamp = Math.trunc(date.getTime() / 1e3);\n    return addLeadingZeros(timestamp, token.length);\n  },\n  // Milliseconds timestamp\n  T: function(date, token, _localize) {\n    const timestamp = date.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  }\n};\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = Math.trunc(absOffset / 60);\n  const minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n  if (offset % 60 === 0) {\n    const sign = offset > 0 ? \"-\" : \"+\";\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, delimiter);\n}\nfunction formatTimezone(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n  const minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\nexport {\n  formatters\n};\n", "const dateLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"P\":\n      return formatLong.date({ width: \"short\" });\n    case \"PP\":\n      return formatLong.date({ width: \"medium\" });\n    case \"PPP\":\n      return formatLong.date({ width: \"long\" });\n    case \"PPPP\":\n    default:\n      return formatLong.date({ width: \"full\" });\n  }\n};\nconst timeLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"p\":\n      return formatLong.time({ width: \"short\" });\n    case \"pp\":\n      return formatLong.time({ width: \"medium\" });\n    case \"ppp\":\n      return formatLong.time({ width: \"long\" });\n    case \"pppp\":\n    default:\n      return formatLong.time({ width: \"full\" });\n  }\n};\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n  const matchResult = pattern.match(/(P+)(p+)?/) || [];\n  const datePattern = matchResult[1];\n  const timePattern = matchResult[2];\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n  let dateTimeFormat;\n  switch (datePattern) {\n    case \"P\":\n      dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n      break;\n    case \"PP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n      break;\n    case \"PPP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n      break;\n    case \"PPPP\":\n    default:\n      dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n      break;\n  }\n  return dateTimeFormat.replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong)).replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\nconst longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter\n};\nexport {\n  longFormatters\n};\n", "const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\nfunction isProtectedDayOfYearToken(token) {\n  return dayOfYearTokenRE.test(token);\n}\nfunction isProtectedWeekYearToken(token) {\n  return weekYearTokenRE.test(token);\n}\nfunction warnOrThrowProtectedError(token, format, input) {\n  const _message = message(token, format, input);\n  console.warn(_message);\n  if (throwTokens.includes(token))\n    throw new RangeError(_message);\n}\nfunction message(token, format, input) {\n  const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n  return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\nexport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError\n};\n", "function isDate(value) {\n  return value instanceof Date || typeof value === \"object\" && Object.prototype.toString.call(value) === \"[object Date]\";\n}\nexport {\n  isDate as default,\n  isDate\n};\n", "import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\nfunction isValid(date) {\n  if (!isDate(date) && typeof date !== \"number\") {\n    return false;\n  }\n  const _date = toDate(date);\n  return !isNaN(Number(_date));\n}\nexport {\n  isValid as default,\n  isValid\n};\n", "const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"less than a second\",\n    other: \"less than {{count}} seconds\"\n  },\n  xSeconds: {\n    one: \"1 second\",\n    other: \"{{count}} seconds\"\n  },\n  halfAMinute: \"half a minute\",\n  lessThanXMinutes: {\n    one: \"less than a minute\",\n    other: \"less than {{count}} minutes\"\n  },\n  xMinutes: {\n    one: \"1 minute\",\n    other: \"{{count}} minutes\"\n  },\n  aboutXHours: {\n    one: \"about 1 hour\",\n    other: \"about {{count}} hours\"\n  },\n  xHours: {\n    one: \"1 hour\",\n    other: \"{{count}} hours\"\n  },\n  xDays: {\n    one: \"1 day\",\n    other: \"{{count}} days\"\n  },\n  aboutXWeeks: {\n    one: \"about 1 week\",\n    other: \"about {{count}} weeks\"\n  },\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weeks\"\n  },\n  aboutXMonths: {\n    one: \"about 1 month\",\n    other: \"about {{count}} months\"\n  },\n  xMonths: {\n    one: \"1 month\",\n    other: \"{{count}} months\"\n  },\n  aboutXYears: {\n    one: \"about 1 year\",\n    other: \"about {{count}} years\"\n  },\n  xYears: {\n    one: \"1 year\",\n    other: \"{{count}} years\"\n  },\n  overXYears: {\n    one: \"over 1 year\",\n    other: \"over {{count}} years\"\n  },\n  almostXYears: {\n    one: \"almost 1 year\",\n    other: \"almost {{count}} years\"\n  }\n};\nconst formatDistance = (token, count, options) => {\n  let result;\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n  if (options == null ? void 0 : options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return result + \" ago\";\n    }\n  }\n  return result;\n};\nexport {\n  formatDistance\n};\n", "function buildFormatLongFn(args) {\n  return (options = {}) => {\n    const width = options.width ? String(options.width) : args.defaultWidth;\n    const format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\nexport {\n  buildFormatLongFn\n};\n", "import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\nconst dateFormats = {\n  full: \"EEEE, MMMM do, y\",\n  long: \"MMMM do, y\",\n  medium: \"MMM d, y\",\n  short: \"MM/dd/yyyy\"\n};\nconst timeFormats = {\n  full: \"h:mm:ss a zzzz\",\n  long: \"h:mm:ss a z\",\n  medium: \"h:mm:ss a\",\n  short: \"h:mm a\"\n};\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\"\n};\nconst formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\"\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\"\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\"\n  })\n};\nexport {\n  formatLong\n};\n", "const formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: \"P\"\n};\nconst formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];\nexport {\n  formatRelative\n};\n", "function buildLocalizeFn(args) {\n  return (value, options) => {\n    const context = (options == null ? void 0 : options.context) ? String(options.context) : \"standalone\";\n    let valuesArray;\n    if (context === \"formatting\" && args.formattingValues) {\n      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      const width = (options == null ? void 0 : options.width) ? String(options.width) : defaultWidth;\n      valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      const defaultWidth = args.defaultWidth;\n      const width = (options == null ? void 0 : options.width) ? String(options.width) : args.defaultWidth;\n      valuesArray = args.values[width] || args.values[defaultWidth];\n    }\n    const index = args.argumentCallback ? args.argumentCallback(value) : value;\n    return valuesArray[index];\n  };\n}\nexport {\n  buildLocalizeFn\n};\n", "import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\nconst eraValues = {\n  narrow: [\"B\", \"A\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"Before Christ\", \"Anno Domini\"]\n};\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n};\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mar\",\n    \"Apr\",\n    \"May\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Oct\",\n    \"Nov\",\n    \"Dec\"\n  ],\n  wide: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\"\n  ]\n};\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n  abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  wide: [\n    \"Sunday\",\n    \"Monday\",\n    \"Tuesday\",\n    \"Wednesday\",\n    \"Thursday\",\n    \"Friday\",\n    \"Saturday\"\n  ]\n};\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\"\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\"\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\"\n  }\n};\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\"\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\"\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\"\n  }\n};\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + \"st\";\n      case 2:\n        return number + \"nd\";\n      case 3:\n        return number + \"rd\";\n    }\n  }\n  return number + \"th\";\n};\nconst localize = {\n  ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\"\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\"\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\"\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\"\n  })\n};\nexport {\n  localize\n};\n", "function buildMatchFn(args) {\n  return (string, options = {}) => {\n    const width = options.width;\n    const matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n    const matchResult = string.match(matchPattern);\n    if (!matchResult) {\n      return null;\n    }\n    const matchedString = matchResult[0];\n    const parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n    const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) : (\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n      findKey(parsePatterns, (pattern) => pattern.test(matchedString))\n    );\n    let value;\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback ? (\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n      options.valueCallback(value)\n    ) : value;\n    const rest = string.slice(matchedString.length);\n    return { value, rest };\n  };\n}\nfunction findKey(object, predicate) {\n  for (const key in object) {\n    if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {\n      return key;\n    }\n  }\n  return void 0;\n}\nfunction findIndex(array, predicate) {\n  for (let key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return void 0;\n}\nexport {\n  buildMatchFn\n};\n", "function buildMatchPatternFn(args) {\n  return (string, options = {}) => {\n    const matchResult = string.match(args.matchPattern);\n    if (!matchResult)\n      return null;\n    const matchedString = matchResult[0];\n    const parseResult = string.match(args.parsePattern);\n    if (!parseResult)\n      return null;\n    let value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n    value = options.valueCallback ? options.valueCallback(value) : value;\n    const rest = string.slice(matchedString.length);\n    return { value, rest };\n  };\n}\nexport {\n  buildMatchPatternFn\n};\n", "import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\nconst matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i\n};\nconst parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i]\n};\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i\n  ],\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i\n  ]\n};\nconst matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i\n  }\n};\nconst match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10)\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\"\n  })\n};\nexport {\n  match\n};\n", "import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\nconst enUS = {\n  code: \"en-US\",\n  formatDistance,\n  formatLong,\n  formatRelative,\n  localize,\n  match,\n  options: {\n    weekStartsOn: 0,\n    firstWeekContainsDate: 1\n  }\n};\nexport {\n  enUS as default,\n  enUS\n};\n", "import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport { isProtectedWeekYearToken, isProtectedDayOfYearToken, warnOrThrowProtectedError } from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\nimport { enUS } from \"./locale/en-US.js\";\nconst formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\nfunction format(date, formatStr, options) {\n  var _a, _b, _c, _d, _e, _f, _g, _h;\n  const defaultOptions = getDefaultOptions();\n  const locale = (options == null ? void 0 : options.locale) ?? defaultOptions.locale ?? enUS;\n  const firstWeekContainsDate = (options == null ? void 0 : options.firstWeekContainsDate) ?? ((_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) ?? defaultOptions.firstWeekContainsDate ?? ((_d = (_c = defaultOptions.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) ?? 1;\n  const weekStartsOn = (options == null ? void 0 : options.weekStartsOn) ?? ((_f = (_e = options == null ? void 0 : options.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) ?? defaultOptions.weekStartsOn ?? ((_h = (_g = defaultOptions.locale) == null ? void 0 : _g.options) == null ? void 0 : _h.weekStartsOn) ?? 0;\n  const originalDate = toDate(date);\n  if (!isValid(originalDate)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n  let parts = formatStr.match(longFormattingTokensRegExp).map((substring) => {\n    const firstCharacter = substring[0];\n    if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n      const longFormatter = longFormatters[firstCharacter];\n      return longFormatter(substring, locale.formatLong);\n    }\n    return substring;\n  }).join(\"\").match(formattingTokensRegExp).map((substring) => {\n    if (substring === \"''\") {\n      return { isToken: false, value: \"'\" };\n    }\n    const firstCharacter = substring[0];\n    if (firstCharacter === \"'\") {\n      return { isToken: false, value: cleanEscapedString(substring) };\n    }\n    if (formatters[firstCharacter]) {\n      return { isToken: true, value: substring };\n    }\n    if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n      throw new RangeError(\n        \"Format string contains an unescaped latin alphabet character `\" + firstCharacter + \"`\"\n      );\n    }\n    return { isToken: false, value: substring };\n  });\n  if (locale.localize.preprocessor) {\n    parts = locale.localize.preprocessor(originalDate, parts);\n  }\n  const formatterOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale\n  };\n  return parts.map((part) => {\n    if (!part.isToken)\n      return part.value;\n    const token = part.value;\n    if (!(options == null ? void 0 : options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token) || !(options == null ? void 0 : options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n      warnOrThrowProtectedError(token, formatStr, String(date));\n    }\n    const formatter = formatters[token[0]];\n    return formatter(originalDate, token, locale.localize, formatterOptions);\n  }).join(\"\");\n}\nfunction cleanEscapedString(input) {\n  const matched = input.match(escapedStringRegExp);\n  if (!matched) {\n    return input;\n  }\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\nexport {\n  format as default,\n  format,\n  format as formatDate,\n  formatters,\n  longFormatters\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { Countdown } from \"../../../systems/Countdown/Countdown.js\";\nimport { formatDate as format } from \"../../../../node_modules/date-fns/format.js\";\nimport \"react\";\nimport \"../../../../node_modules/@firebase/analytics/dist/esm/index.esm2017.js\";\nimport \"../../../../node_modules/firebase/app/dist/esm/index.esm.js\";\nimport \"../../../../node_modules/swr/core/dist/index.js\";\nimport \"../../../../config/index.js\";\nimport \"../../../../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js\";\nimport \"../../../../node_modules/js-cookie/dist/js.cookie.js\";\nimport \"framer\";\nimport \"../../../../node_modules/@29cm/snowplow/dist/esm/core/snowplow.js\";\nimport \"../../../../node_modules/swr/mutation/dist/index.js\";\nimport \"../../../../hooks/stores/content/content.store.js\";\nimport \"../../../../hooks/stores/dialog/dialog.store.js\";\nimport \"../../../../hooks/stores/global-layout/global-layout.store.js\";\nimport \"../../../../hooks/stores/toast/toast.store.js\";\nimport { useTheme } from \"../../../../hooks/useTheme.js\";\nimport \"../../../@shared/providers/BreakpointProvider/BreakpointProvider.js\";\nimport \"../../../../hooks/stores/bottom-sheet/bottom-sheet.store.js\";\nimport \"react-dom\";\nimport \"../../../systems/Dialog/Dialog.module.css.js\";\nimport \"framer-motion\";\nimport \"../../../../containers/DialogContainer/DialogContainer.emitter.js\";\nimport \"../../../../utils/redirectLogin.js\";\nimport \"../../../../utils/event-properties/source.js\";\nimport { typography } from \"../../../../styles/typography.js\";\nconst HeadlineCountdownActionElement = ({\n  action\n}) => {\n  const {\n    endAt\n  } = action;\n  const theme = useTheme();\n  return /* @__PURE__ */ jsx(Countdown, { targetDateString: format(endAt, \"yyyy-MM-dd\"), targetTimeString: format(endAt, \"HH:mm:ss\"), dateDisplayFormat: \"D\uC77C\", timeDisplayFormat: \"H\uC2DC\uAC04 m\uBD84 s\uCD08\", fontSize: 15, color: countdownColorByTheme[theme], style: {\n    ...typography(15, 500)\n  } });\n};\nconst countdownColorByTheme = {\n  light: \"#FF4800\",\n  dark: \"#D53E00\"\n};\nexport {\n  HeadlineCountdownActionElement\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { HeadlineActionType } from \"../HeadlineModule.types.js\";\nimport { HeadlineLinkActionElement } from \"./HeadlineLinkActionElement.js\";\nimport { HeadlineCountdownActionElement } from \"./HeadlineCountdownActionElement.js\";\nconst HeadlineActionElement = ({\n  actionElement,\n  action\n}) => {\n  switch (action.type) {\n    case HeadlineActionType.External:\n      return actionElement;\n    case HeadlineActionType.Link:\n      return /* @__PURE__ */ jsx(HeadlineLinkActionElement, { action });\n    case HeadlineActionType.Countdown:\n      return /* @__PURE__ */ jsx(HeadlineCountdownActionElement, { action });\n  }\n};\nexport {\n  HeadlineActionElement\n};\n", "import { create } from \"../../../node_modules/zustand/esm/index.js\";\nconst initialState = {\n  queries: {}\n};\nconst useQueryStore = create((set) => ({\n  ...initialState,\n  dispatchSetQuery: (key, query) => set((prev) => ({\n    queries: {\n      ...prev.queries,\n      [key]: query\n    }\n  }))\n}));\nexport {\n  useQueryStore\n};\n", "const getPaddingStyle = (value) => {\n  return value.isMixed ? `${value.paddingTop}px ${value.paddingRight}px ${value.paddingBottom}px ${value.paddingLeft}px` : `${value.padding}px`;\n};\nconst getPadding = (value) => {\n  return {\n    top: value.isMixed ? value.paddingTop : value.padding,\n    right: value.isMixed ? value.paddingRight : value.padding,\n    bottom: value.isMixed ? value.paddingBottom : value.padding,\n    left: value.isMixed ? value.paddingLeft : value.padding\n  };\n};\nexport {\n  getPadding,\n  getPaddingStyle\n};\n", "import { jsxs, jsx } from \"react/jsx-runtime\";\nimport { useEffect } from \"react\";\nimport { HeadlineMediaElement } from \"../HeadlineMediaElement/HeadlineMediaElement.js\";\nimport { Headline } from \"../../../systems/curations/Headline/index.js\";\nimport { HeadlineActionElement } from \"../HeadlineActionElement/HeadlineActionElement.js\";\nimport { useQueryStore } from \"../../query-store/query.store.js\";\nimport { getPadding } from \"../../../../utils/spacing.js\";\nconst HeadlineElement = ({\n  loading,\n  input,\n  output,\n  layout,\n  actionElement\n}) => {\n  const dispatchSetQuery = useQueryStore((state) => state.dispatchSetQuery);\n  const {\n    title,\n    description,\n    action\n  } = input;\n  const {\n    priority,\n    mediaType,\n    ...rest\n  } = layout;\n  const hasMediaType = mediaType !== \"none\";\n  const isPrimary = priority === \"primary\";\n  const canRenderMedia = isPrimary && hasMediaType;\n  useEffect(() => {\n    if (!input.query) {\n      return;\n    }\n    if (!output) {\n      return;\n    }\n    dispatchSetQuery(output, input.query);\n  }, [output, input]);\n  const padding = getPadding(layout);\n  return /* @__PURE__ */ jsxs(Headline.Root, { style: {\n    paddingTop: padding.top\n  }, loading, priority, children: [\n    canRenderMedia ? /* @__PURE__ */ jsx(HeadlineMediaElement, { mediaType, ...rest }) : null,\n    /* @__PURE__ */ jsxs(Headline.Content, { style: {\n      paddingRight: padding.right,\n      paddingBottom: padding.bottom,\n      paddingLeft: padding.left\n    }, children: [\n      /* @__PURE__ */ jsxs(Headline.Body, { children: [\n        /* @__PURE__ */ jsx(Headline.Title, { children: title }),\n        isPrimary ? /* @__PURE__ */ jsx(Headline.Action, { children: action ? /* @__PURE__ */ jsx(HeadlineActionElement, { actionElement, action }) : null }) : /* @__PURE__ */ jsx(Headline.Description, { children: description })\n      ] }),\n      isPrimary ? /* @__PURE__ */ jsx(Headline.Description, { children: description }) : /* @__PURE__ */ jsx(Headline.Action, { children: action ? /* @__PURE__ */ jsx(HeadlineActionElement, { actionElement, action }) : null }),\n      canRenderMedia ? /* @__PURE__ */ jsx(Headline.Gradient, {}) : null\n    ] })\n  ] });\n};\nexport {\n  HeadlineElement\n};\n", "class UTCDateMini extends Date {\n  constructor() {\n    super();\n    this.setTime(\n      arguments.length === 0 ? (\n        // Enables Sinon's fake timers that override the constructor\n        Date.now()\n      ) : arguments.length === 1 ? typeof arguments[0] === \"string\" ? +new Date(arguments[0]) : arguments[0] : Date.UTC(...arguments)\n    );\n  }\n  getTimezoneOffset() {\n    return 0;\n  }\n}\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach((method) => {\n  if (re.test(method)) {\n    const utcMethod = Date.prototype[method.replace(re, \"$1UTC\")];\n    if (utcMethod)\n      UTCDateMini.prototype[method] = utcMethod;\n  }\n});\nexport {\n  UTCDateMini\n};\n", "import { UTCDateMini } from \"./mini.js\";\nclass UTCDate extends UTCDateMini {\n  toString() {\n    const date = this.toDateString();\n    const time = this.toTimeString();\n    return `${date} ${time}`;\n  }\n  toDateString() {\n    const weekday = weekdayFormat.format(this);\n    const date = dateFormat.format(this);\n    const year = this.getFullYear();\n    return `${weekday} ${date} ${year}`;\n  }\n  toTimeString() {\n    const time = timeFormat.format(this);\n    return `${time} GMT+0000 (Coordinated Universal Time)`;\n  }\n  toLocaleString(locales, options) {\n    return Date.prototype.toLocaleString.call(this, locales, {\n      timeZone: \"UTC\",\n      ...options\n    });\n  }\n  toLocaleDateString(locales, options) {\n    return Date.prototype.toLocaleDateString.call(this, locales, {\n      timeZone: \"UTC\",\n      ...options\n    });\n  }\n  toLocaleTimeString(locales, options) {\n    return Date.prototype.toLocaleTimeString.call(this, locales, {\n      timeZone: \"UTC\",\n      ...options\n    });\n  }\n}\nvar weekdayFormat = new Intl.DateTimeFormat(\"en-US\", {\n  weekday: \"short\",\n  timeZone: \"UTC\"\n});\nvar dateFormat = new Intl.DateTimeFormat(\"en-US\", {\n  month: \"short\",\n  day: \"numeric\",\n  timeZone: \"UTC\"\n});\nvar timeFormat = new Intl.DateTimeFormat(\"en-GB\", {\n  hour12: false,\n  hour: \"numeric\",\n  minute: \"numeric\",\n  second: \"numeric\",\n  timeZone: \"UTC\"\n});\nexport {\n  UTCDate\n};\n", "function tzTokenizeDate(date, timeZone) {\n  const dtf = getDateTimeFormat(timeZone);\n  return \"formatToParts\" in dtf ? partsOffset(dtf, date) : hackyOffset(dtf, date);\n}\nconst typeToPos = {\n  year: 0,\n  month: 1,\n  day: 2,\n  hour: 3,\n  minute: 4,\n  second: 5\n};\nfunction partsOffset(dtf, date) {\n  try {\n    const formatted = dtf.formatToParts(date);\n    const filled = [];\n    for (let i = 0; i < formatted.length; i++) {\n      const pos = typeToPos[formatted[i].type];\n      if (pos !== void 0) {\n        filled[pos] = parseInt(formatted[i].value, 10);\n      }\n    }\n    return filled;\n  } catch (error) {\n    if (error instanceof RangeError) {\n      return [NaN];\n    }\n    throw error;\n  }\n}\nfunction hackyOffset(dtf, date) {\n  const formatted = dtf.format(date);\n  const parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted);\n  return [\n    parseInt(parsed[3], 10),\n    parseInt(parsed[1], 10),\n    parseInt(parsed[2], 10),\n    parseInt(parsed[4], 10),\n    parseInt(parsed[5], 10),\n    parseInt(parsed[6], 10)\n  ];\n}\nconst dtfCache = {};\nfunction getDateTimeFormat(timeZone) {\n  if (!dtfCache[timeZone]) {\n    const testDateFormatted = new Intl.DateTimeFormat(\"en-US\", {\n      hourCycle: \"h23\",\n      timeZone: \"America/New_York\",\n      year: \"numeric\",\n      month: \"2-digit\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\"\n    }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\"));\n    const hourCycleSupported = testDateFormatted === \"06/25/2014, 00:00:00\" || testDateFormatted === \"\u200E06\u200E/\u200E25\u200E/\u200E2014\u200E \u200E00\u200E:\u200E00\u200E:\u200E00\";\n    dtfCache[timeZone] = hourCycleSupported ? new Intl.DateTimeFormat(\"en-US\", {\n      hourCycle: \"h23\",\n      timeZone,\n      year: \"numeric\",\n      month: \"numeric\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\"\n    }) : new Intl.DateTimeFormat(\"en-US\", {\n      hour12: false,\n      timeZone,\n      year: \"numeric\",\n      month: \"numeric\",\n      day: \"2-digit\",\n      hour: \"2-digit\",\n      minute: \"2-digit\",\n      second: \"2-digit\"\n    });\n  }\n  return dtfCache[timeZone];\n}\nexport {\n  tzTokenizeDate\n};\n", "function newDateUTC(fullYear, month, day, hour, minute, second, millisecond) {\n  const utcDate = /* @__PURE__ */ new Date(0);\n  utcDate.setUTCFullYear(fullYear, month, day);\n  utcDate.setUTCHours(hour, minute, second, millisecond);\n  return utcDate;\n}\nexport {\n  newDateUTC\n};\n", "import { tzTokenizeDate } from \"../tzTokenizeDate/index.js\";\nimport { newDateUTC } from \"../newDateUTC/index.js\";\nconst MILLISECONDS_IN_HOUR = 36e5;\nconst MILLISECONDS_IN_MINUTE = 6e4;\nconst patterns = {\n  timezone: /([Z+-].*)$/,\n  timezoneZ: /^(Z)$/,\n  timezoneHH: /^([+-]\\d{2})$/,\n  timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/\n};\nfunction tzParseTimezone(timezoneString, date, isUtcDate) {\n  if (!timezoneString) {\n    return 0;\n  }\n  let token = patterns.timezoneZ.exec(timezoneString);\n  if (token) {\n    return 0;\n  }\n  let hours;\n  let absoluteOffset;\n  token = patterns.timezoneHH.exec(timezoneString);\n  if (token) {\n    hours = parseInt(token[1], 10);\n    if (!validateTimezone(hours)) {\n      return NaN;\n    }\n    return -(hours * MILLISECONDS_IN_HOUR);\n  }\n  token = patterns.timezoneHHMM.exec(timezoneString);\n  if (token) {\n    hours = parseInt(token[2], 10);\n    const minutes = parseInt(token[3], 10);\n    if (!validateTimezone(hours, minutes)) {\n      return NaN;\n    }\n    absoluteOffset = Math.abs(hours) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n    return token[1] === \"+\" ? -absoluteOffset : absoluteOffset;\n  }\n  if (isValidTimezoneIANAString(timezoneString)) {\n    date = new Date(date || Date.now());\n    const utcDate = isUtcDate ? date : toUtcDate(date);\n    const offset = calcOffset(utcDate, timezoneString);\n    const fixedOffset = isUtcDate ? offset : fixOffset(date, offset, timezoneString);\n    return -fixedOffset;\n  }\n  return NaN;\n}\nfunction toUtcDate(date) {\n  return newDateUTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n}\nfunction calcOffset(date, timezoneString) {\n  const tokens = tzTokenizeDate(date, timezoneString);\n  const asUTC = newDateUTC(tokens[0], tokens[1] - 1, tokens[2], tokens[3] % 24, tokens[4], tokens[5], 0).getTime();\n  let asTS = date.getTime();\n  const over = asTS % 1e3;\n  asTS -= over >= 0 ? over : 1e3 + over;\n  return asUTC - asTS;\n}\nfunction fixOffset(date, offset, timezoneString) {\n  const localTS = date.getTime();\n  let utcGuess = localTS - offset;\n  const o2 = calcOffset(new Date(utcGuess), timezoneString);\n  if (offset === o2) {\n    return offset;\n  }\n  utcGuess -= o2 - offset;\n  const o3 = calcOffset(new Date(utcGuess), timezoneString);\n  if (o2 === o3) {\n    return o2;\n  }\n  return Math.max(o2, o3);\n}\nfunction validateTimezone(hours, minutes) {\n  return -23 <= hours && hours <= 23 && (minutes == null || 0 <= minutes && minutes <= 59);\n}\nconst validIANATimezoneCache = {};\nfunction isValidTimezoneIANAString(timeZoneString) {\n  if (validIANATimezoneCache[timeZoneString])\n    return true;\n  try {\n    new Intl.DateTimeFormat(void 0, { timeZone: timeZoneString });\n    validIANATimezoneCache[timeZoneString] = true;\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\nexport {\n  tzParseTimezone\n};\n", "function getTimezoneOffsetInMilliseconds(date) {\n  const utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n  utcDate.setUTCFullYear(date.getFullYear());\n  return +date - +utcDate;\n}\nexport {\n  getTimezoneOffsetInMilliseconds\n};\n", "const tzPattern = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nexport {\n  tzPattern\n};\n", "import { getTimezoneOffsetInMilliseconds } from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { tzParseTimezone } from \"../_lib/tzParseTimezone/index.js\";\nimport { tzPattern } from \"../_lib/tzPattern/index.js\";\nconst MILLISECONDS_IN_HOUR = 36e5;\nconst MILLISECONDS_IN_MINUTE = 6e4;\nconst DEFAULT_ADDITIONAL_DIGITS = 2;\nconst patterns = {\n  dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n  datePattern: /^([0-9W+-]+)(.*)/,\n  plainTime: /:/,\n  // year tokens\n  YY: /^(\\d{2})$/,\n  YYY: [\n    /^([+-]\\d{2})$/,\n    // 0 additional digits\n    /^([+-]\\d{3})$/,\n    // 1 additional digit\n    /^([+-]\\d{4})$/\n    // 2 additional digits\n  ],\n  YYYY: /^(\\d{4})/,\n  YYYYY: [\n    /^([+-]\\d{4})/,\n    // 0 additional digits\n    /^([+-]\\d{5})/,\n    // 1 additional digit\n    /^([+-]\\d{6})/\n    // 2 additional digits\n  ],\n  // date tokens\n  MM: /^-(\\d{2})$/,\n  DDD: /^-?(\\d{3})$/,\n  MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n  Www: /^-?W(\\d{2})$/,\n  WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n  HH: /^(\\d{2}([.,]\\d*)?)$/,\n  HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n  HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n  // time zone tokens (to identify the presence of a tz)\n  timeZone: tzPattern\n};\nfunction toDate(argument, options = {}) {\n  if (arguments.length < 1) {\n    throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n  }\n  if (argument === null) {\n    return /* @__PURE__ */ new Date(NaN);\n  }\n  const additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits);\n  if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n    throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n  }\n  if (argument instanceof Date || typeof argument === \"object\" && Object.prototype.toString.call(argument) === \"[object Date]\") {\n    return new Date(argument.getTime());\n  } else if (typeof argument === \"number\" || Object.prototype.toString.call(argument) === \"[object Number]\") {\n    return new Date(argument);\n  } else if (!(Object.prototype.toString.call(argument) === \"[object String]\")) {\n    return /* @__PURE__ */ new Date(NaN);\n  }\n  const dateStrings = splitDateString(argument);\n  const { year, restDateString } = parseYear(dateStrings.date, additionalDigits);\n  const date = parseDate(restDateString, year);\n  if (date === null || isNaN(date.getTime())) {\n    return /* @__PURE__ */ new Date(NaN);\n  }\n  if (date) {\n    const timestamp = date.getTime();\n    let time = 0;\n    let offset;\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time);\n      if (time === null || isNaN(time)) {\n        return /* @__PURE__ */ new Date(NaN);\n      }\n    }\n    if (dateStrings.timeZone || options.timeZone) {\n      offset = tzParseTimezone(dateStrings.timeZone || options.timeZone, new Date(timestamp + time));\n      if (isNaN(offset)) {\n        return /* @__PURE__ */ new Date(NaN);\n      }\n    } else {\n      offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time));\n      offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset));\n    }\n    return new Date(timestamp + time + offset);\n  } else {\n    return /* @__PURE__ */ new Date(NaN);\n  }\n}\nfunction splitDateString(dateString) {\n  const dateStrings = {};\n  let parts = patterns.dateTimePattern.exec(dateString);\n  let timeString;\n  if (!parts) {\n    parts = patterns.datePattern.exec(dateString);\n    if (parts) {\n      dateStrings.date = parts[1];\n      timeString = parts[2];\n    } else {\n      dateStrings.date = null;\n      timeString = dateString;\n    }\n  } else {\n    dateStrings.date = parts[1];\n    timeString = parts[3];\n  }\n  if (timeString) {\n    const token = patterns.timeZone.exec(timeString);\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], \"\");\n      dateStrings.timeZone = token[1].trim();\n    } else {\n      dateStrings.time = timeString;\n    }\n  }\n  return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n  if (dateString) {\n    const patternYYY = patterns.YYY[additionalDigits];\n    const patternYYYYY = patterns.YYYYY[additionalDigits];\n    let token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n    if (token) {\n      const yearString = token[1];\n      return {\n        year: parseInt(yearString, 10),\n        restDateString: dateString.slice(yearString.length)\n      };\n    }\n    token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n    if (token) {\n      const centuryString = token[1];\n      return {\n        year: parseInt(centuryString, 10) * 100,\n        restDateString: dateString.slice(centuryString.length)\n      };\n    }\n  }\n  return {\n    year: null\n  };\n}\nfunction parseDate(dateString, year) {\n  if (year === null) {\n    return null;\n  }\n  let date;\n  let month;\n  let week;\n  if (!dateString || !dateString.length) {\n    date = /* @__PURE__ */ new Date(0);\n    date.setUTCFullYear(year);\n    return date;\n  }\n  let token = patterns.MM.exec(dateString);\n  if (token) {\n    date = /* @__PURE__ */ new Date(0);\n    month = parseInt(token[1], 10) - 1;\n    if (!validateDate(year, month)) {\n      return /* @__PURE__ */ new Date(NaN);\n    }\n    date.setUTCFullYear(year, month);\n    return date;\n  }\n  token = patterns.DDD.exec(dateString);\n  if (token) {\n    date = /* @__PURE__ */ new Date(0);\n    const dayOfYear = parseInt(token[1], 10);\n    if (!validateDayOfYearDate(year, dayOfYear)) {\n      return /* @__PURE__ */ new Date(NaN);\n    }\n    date.setUTCFullYear(year, 0, dayOfYear);\n    return date;\n  }\n  token = patterns.MMDD.exec(dateString);\n  if (token) {\n    date = /* @__PURE__ */ new Date(0);\n    month = parseInt(token[1], 10) - 1;\n    const day = parseInt(token[2], 10);\n    if (!validateDate(year, month, day)) {\n      return /* @__PURE__ */ new Date(NaN);\n    }\n    date.setUTCFullYear(year, month, day);\n    return date;\n  }\n  token = patterns.Www.exec(dateString);\n  if (token) {\n    week = parseInt(token[1], 10) - 1;\n    if (!validateWeekDate(week)) {\n      return /* @__PURE__ */ new Date(NaN);\n    }\n    return dayOfISOWeekYear(year, week);\n  }\n  token = patterns.WwwD.exec(dateString);\n  if (token) {\n    week = parseInt(token[1], 10) - 1;\n    const dayOfWeek = parseInt(token[2], 10) - 1;\n    if (!validateWeekDate(week, dayOfWeek)) {\n      return /* @__PURE__ */ new Date(NaN);\n    }\n    return dayOfISOWeekYear(year, week, dayOfWeek);\n  }\n  return null;\n}\nfunction parseTime(timeString) {\n  let hours;\n  let minutes;\n  let token = patterns.HH.exec(timeString);\n  if (token) {\n    hours = parseFloat(token[1].replace(\",\", \".\"));\n    if (!validateTime(hours)) {\n      return NaN;\n    }\n    return hours % 24 * MILLISECONDS_IN_HOUR;\n  }\n  token = patterns.HHMM.exec(timeString);\n  if (token) {\n    hours = parseInt(token[1], 10);\n    minutes = parseFloat(token[2].replace(\",\", \".\"));\n    if (!validateTime(hours, minutes)) {\n      return NaN;\n    }\n    return hours % 24 * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n  }\n  token = patterns.HHMMSS.exec(timeString);\n  if (token) {\n    hours = parseInt(token[1], 10);\n    minutes = parseInt(token[2], 10);\n    const seconds = parseFloat(token[3].replace(\",\", \".\"));\n    if (!validateTime(hours, minutes, seconds)) {\n      return NaN;\n    }\n    return hours % 24 * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1e3;\n  }\n  return null;\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n  week = week || 0;\n  day = day || 0;\n  const date = /* @__PURE__ */ new Date(0);\n  date.setUTCFullYear(isoWeekYear, 0, 4);\n  const fourthOfJanuaryDay = date.getUTCDay() || 7;\n  const diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n  date.setUTCDate(date.getUTCDate() + diff);\n  return date;\n}\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n  return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n  if (month < 0 || month > 11) {\n    return false;\n  }\n  if (date != null) {\n    if (date < 1) {\n      return false;\n    }\n    const isLeapYear = isLeapYearIndex(year);\n    if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n      return false;\n    }\n    if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n  if (dayOfYear < 1) {\n    return false;\n  }\n  const isLeapYear = isLeapYearIndex(year);\n  if (isLeapYear && dayOfYear > 366) {\n    return false;\n  }\n  if (!isLeapYear && dayOfYear > 365) {\n    return false;\n  }\n  return true;\n}\nfunction validateWeekDate(week, day) {\n  if (week < 0 || week > 52) {\n    return false;\n  }\n  if (day != null && (day < 0 || day > 6)) {\n    return false;\n  }\n  return true;\n}\nfunction validateTime(hours, minutes, seconds) {\n  if (hours < 0 || hours >= 25) {\n    return false;\n  }\n  if (minutes != null && (minutes < 0 || minutes >= 60)) {\n    return false;\n  }\n  if (seconds != null && (seconds < 0 || seconds >= 60)) {\n    return false;\n  }\n  return true;\n}\nexport {\n  toDate\n};\n", "import { tzParseTimezone } from \"../_lib/tzParseTimezone/index.js\";\nimport { toDate } from \"../toDate/index.js\";\nfunction toZonedTime(date, timeZone, options) {\n  date = toDate(date, options);\n  const offsetMilliseconds = tzParseTimezone(timeZone, date, true);\n  const d = new Date(date.getTime() - offsetMilliseconds);\n  const resultDate = /* @__PURE__ */ new Date(0);\n  resultDate.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate());\n  resultDate.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());\n  return resultDate;\n}\nexport {\n  toZonedTime\n};\n", "import { UTCDate } from \"../node_modules/@date-fns/utc/date/index.js\";\nimport { toZonedTime } from \"../node_modules/date-fns-tz/dist/esm/toZonedTime/index.js\";\nconst createKRTimeZoneDate = (date) => {\n  const utcDate = date ? new UTCDate(date) : new UTCDate();\n  return toZonedTime(utcDate, \"Asia/Seoul\");\n};\nexport {\n  createKRTimeZoneDate\n};\n", "import { toDate } from \"./toDate.js\";\nfunction isEqual(leftDate, rightDate) {\n  const _dateLeft = toDate(leftDate);\n  const _dateRight = toDate(rightDate);\n  return +_dateLeft === +_dateRight;\n}\nexport {\n  isEqual as default,\n  isEqual\n};\n", "import { toDate } from \"./toDate.js\";\nfunction isAfter(date, dateToCompare) {\n  const _date = toDate(date);\n  const _dateToCompare = toDate(dateToCompare);\n  return _date.getTime() > _dateToCompare.getTime();\n}\nexport {\n  isAfter as default,\n  isAfter\n};\n", "import { toDate } from \"./toDate.js\";\nfunction compareAsc(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n  const diff = _dateLeft.getTime() - _dateRight.getTime();\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n  } else {\n    return diff;\n  }\n}\nexport {\n  compareAsc,\n  compareAsc as default\n};\n", "import { toDate } from \"./toDate.js\";\nfunction isWithinInterval(date, interval) {\n  const time = +toDate(date);\n  const [startTime, endTime] = [\n    +toDate(interval.start),\n    +toDate(interval.end)\n  ].sort((a, b) => a - b);\n  return time >= startTime && time <= endTime;\n}\nexport {\n  isWithinInterval as default,\n  isWithinInterval\n};\n", "import { toDate } from \"./toDate.js\";\nfunction isBefore(date, dateToCompare) {\n  const _date = toDate(date);\n  const _dateToCompare = toDate(dateToCompare);\n  return +_date < +_dateToCompare;\n}\nexport {\n  isBefore as default,\n  isBefore\n};\n", "import { createKRTimeZoneDate } from \"./createUTCDate.js\";\nimport { isEqual } from \"../node_modules/date-fns/isEqual.js\";\nimport { isAfter } from \"../node_modules/date-fns/isAfter.js\";\nimport { compareAsc } from \"../node_modules/date-fns/compareAsc.js\";\nimport { parseISO } from \"../node_modules/date-fns/parseISO.js\";\nimport { isWithinInterval } from \"../node_modules/date-fns/isWithinInterval.js\";\nimport { isBefore } from \"../node_modules/date-fns/isBefore.js\";\nconst composeFramerDateTime = (dateTime) => {\n  const {\n    date,\n    hours,\n    minutes,\n    seconds\n  } = dateTime;\n  if (!date) {\n    return;\n  }\n  const copied = createKRTimeZoneDate(date);\n  copied.setHours(hours, minutes, seconds);\n  return copied;\n};\nconst appendFramerTime = (date, time) => {\n  const {\n    hours,\n    minutes,\n    seconds\n  } = time;\n  const copied = new Date(date);\n  copied.setHours(hours, minutes, seconds);\n  return copied;\n};\nconst isAbove = (date, dateToCompare) => isEqual(date, dateToCompare) || isAfter(date, dateToCompare);\nconst orderByDateAsc = (items, selector) => {\n  return [...items].sort((x, y) => compareAsc(selector(x), selector(y)));\n};\nconst getCurrentScheduleIndex = (list, startDateSelector, endDateSelector) => {\n  const now = createKRTimeZoneDate();\n  const currentIndex = list.findIndex((item, index) => {\n    const nextItem = list[index + 1];\n    const startDate = startDateSelector(item);\n    const endDate = endDateSelector(item, nextItem);\n    const start = parseISO(startDate.toString());\n    const end = endDate ? parseISO(endDate.toString()) : void 0;\n    const isWithin = end ? isWithinInterval(now, {\n      start,\n      end\n    }) : false;\n    const isUpcoming = isBefore(now, start);\n    const isLast = nextItem === void 0;\n    return isWithin || isUpcoming || isLast;\n  });\n  return currentIndex === -1 ? void 0 : currentIndex;\n};\nconst getScheduleStatus = (startAt, endAt) => {\n  const now = createKRTimeZoneDate();\n  const isOngoing = isWithinInterval(now, {\n    start: startAt,\n    end: endAt\n  });\n  if (isOngoing) {\n    return \"ongoing\";\n  }\n  const isUpcoming = isBefore(now, startAt);\n  if (isUpcoming) {\n    return \"upcoming\";\n  }\n  return \"end\";\n};\nexport {\n  appendFramerTime,\n  composeFramerDateTime,\n  getCurrentScheduleIndex,\n  getScheduleStatus,\n  isAbove,\n  orderByDateAsc\n};\n", "const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"1\uCD08 \uBBF8\uB9CC\",\n    other: \"{{count}}\uCD08 \uBBF8\uB9CC\"\n  },\n  xSeconds: {\n    one: \"1\uCD08\",\n    other: \"{{count}}\uCD08\"\n  },\n  halfAMinute: \"30\uCD08\",\n  lessThanXMinutes: {\n    one: \"1\uBD84 \uBBF8\uB9CC\",\n    other: \"{{count}}\uBD84 \uBBF8\uB9CC\"\n  },\n  xMinutes: {\n    one: \"1\uBD84\",\n    other: \"{{count}}\uBD84\"\n  },\n  aboutXHours: {\n    one: \"\uC57D 1\uC2DC\uAC04\",\n    other: \"\uC57D {{count}}\uC2DC\uAC04\"\n  },\n  xHours: {\n    one: \"1\uC2DC\uAC04\",\n    other: \"{{count}}\uC2DC\uAC04\"\n  },\n  xDays: {\n    one: \"1\uC77C\",\n    other: \"{{count}}\uC77C\"\n  },\n  aboutXWeeks: {\n    one: \"\uC57D 1\uC8FC\",\n    other: \"\uC57D {{count}}\uC8FC\"\n  },\n  xWeeks: {\n    one: \"1\uC8FC\",\n    other: \"{{count}}\uC8FC\"\n  },\n  aboutXMonths: {\n    one: \"\uC57D 1\uAC1C\uC6D4\",\n    other: \"\uC57D {{count}}\uAC1C\uC6D4\"\n  },\n  xMonths: {\n    one: \"1\uAC1C\uC6D4\",\n    other: \"{{count}}\uAC1C\uC6D4\"\n  },\n  aboutXYears: {\n    one: \"\uC57D 1\uB144\",\n    other: \"\uC57D {{count}}\uB144\"\n  },\n  xYears: {\n    one: \"1\uB144\",\n    other: \"{{count}}\uB144\"\n  },\n  overXYears: {\n    one: \"1\uB144 \uC774\uC0C1\",\n    other: \"{{count}}\uB144 \uC774\uC0C1\"\n  },\n  almostXYears: {\n    one: \"\uAC70\uC758 1\uB144\",\n    other: \"\uAC70\uC758 {{count}}\uB144\"\n  }\n};\nconst formatDistance = (token, count, options) => {\n  let result;\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n  if (options == null ? void 0 : options.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return result + \" \uD6C4\";\n    } else {\n      return result + \" \uC804\";\n    }\n  }\n  return result;\n};\nexport {\n  formatDistance\n};\n", "import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\nconst dateFormats = {\n  full: \"y\uB144 M\uC6D4 d\uC77C EEEE\",\n  long: \"y\uB144 M\uC6D4 d\uC77C\",\n  medium: \"y.MM.dd\",\n  short: \"y.MM.dd\"\n};\nconst timeFormats = {\n  full: \"a H\uC2DC mm\uBD84 ss\uCD08 zzzz\",\n  long: \"a H:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\"\n};\nconst dateTimeFormats = {\n  full: \"{{date}} {{time}}\",\n  long: \"{{date}} {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\"\n};\nconst formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\"\n  }),\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\"\n  }),\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\"\n  })\n};\nexport {\n  formatLong\n};\n", "const formatRelativeLocale = {\n  lastWeek: \"'\uC9C0\uB09C' eeee p\",\n  yesterday: \"'\uC5B4\uC81C' p\",\n  today: \"'\uC624\uB298' p\",\n  tomorrow: \"'\uB0B4\uC77C' p\",\n  nextWeek: \"'\uB2E4\uC74C' eeee p\",\n  other: \"P\"\n};\nconst formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];\nexport {\n  formatRelative\n};\n", "import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\nconst eraValues = {\n  narrow: [\"BC\", \"AD\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"\uAE30\uC6D0\uC804\", \"\uC11C\uAE30\"]\n};\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1\uBD84\uAE30\", \"2\uBD84\uAE30\", \"3\uBD84\uAE30\", \"4\uBD84\uAE30\"]\n};\nconst monthValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"],\n  abbreviated: [\n    \"1\uC6D4\",\n    \"2\uC6D4\",\n    \"3\uC6D4\",\n    \"4\uC6D4\",\n    \"5\uC6D4\",\n    \"6\uC6D4\",\n    \"7\uC6D4\",\n    \"8\uC6D4\",\n    \"9\uC6D4\",\n    \"10\uC6D4\",\n    \"11\uC6D4\",\n    \"12\uC6D4\"\n  ],\n  wide: [\n    \"1\uC6D4\",\n    \"2\uC6D4\",\n    \"3\uC6D4\",\n    \"4\uC6D4\",\n    \"5\uC6D4\",\n    \"6\uC6D4\",\n    \"7\uC6D4\",\n    \"8\uC6D4\",\n    \"9\uC6D4\",\n    \"10\uC6D4\",\n    \"11\uC6D4\",\n    \"12\uC6D4\"\n  ]\n};\nconst dayValues = {\n  narrow: [\"\uC77C\", \"\uC6D4\", \"\uD654\", \"\uC218\", \"\uBAA9\", \"\uAE08\", \"\uD1A0\"],\n  short: [\"\uC77C\", \"\uC6D4\", \"\uD654\", \"\uC218\", \"\uBAA9\", \"\uAE08\", \"\uD1A0\"],\n  abbreviated: [\"\uC77C\", \"\uC6D4\", \"\uD654\", \"\uC218\", \"\uBAA9\", \"\uAE08\", \"\uD1A0\"],\n  wide: [\"\uC77C\uC694\uC77C\", \"\uC6D4\uC694\uC77C\", \"\uD654\uC694\uC77C\", \"\uC218\uC694\uC77C\", \"\uBAA9\uC694\uC77C\", \"\uAE08\uC694\uC77C\", \"\uD1A0\uC694\uC77C\"]\n};\nconst dayPeriodValues = {\n  narrow: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  },\n  abbreviated: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  },\n  wide: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  }\n};\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  },\n  abbreviated: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  },\n  wide: {\n    am: \"\uC624\uC804\",\n    pm: \"\uC624\uD6C4\",\n    midnight: \"\uC790\uC815\",\n    noon: \"\uC815\uC624\",\n    morning: \"\uC544\uCE68\",\n    afternoon: \"\uC624\uD6C4\",\n    evening: \"\uC800\uB141\",\n    night: \"\uBC24\"\n  }\n};\nconst ordinalNumber = (dirtyNumber, options) => {\n  const number = Number(dirtyNumber);\n  const unit = String(options == null ? void 0 : options.unit);\n  switch (unit) {\n    case \"minute\":\n    case \"second\":\n      return String(number);\n    case \"date\":\n      return number + \"\uC77C\";\n    default:\n      return number + \"\uBC88\uC9F8\";\n  }\n};\nconst localize = {\n  ordinalNumber,\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\"\n  }),\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1\n  }),\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\"\n  }),\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\"\n  }),\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\"\n  })\n};\nexport {\n  localize\n};\n", "import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\nconst matchOrdinalNumberPattern = /^(\\d+)(\uC77C|\uBC88\uC9F8)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\nconst matchEraPatterns = {\n  narrow: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(\uAE30\uC6D0\uC804|\uC11C\uAE30)/i\n};\nconst parseEraPatterns = {\n  any: [/^(bc|\uAE30\uC6D0\uC804)/i, /^(ad|\uC11C\uAE30)/i]\n};\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\uC0AC?\uBD84\uAE30/i\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i]\n};\nconst matchMonthPatterns = {\n  narrow: /^(1[012]|[123456789])/,\n  abbreviated: /^(1[012]|[123456789])\uC6D4/i,\n  wide: /^(1[012]|[123456789])\uC6D4/i\n};\nconst parseMonthPatterns = {\n  any: [\n    /^1\uC6D4?$/,\n    /^2/,\n    /^3/,\n    /^4/,\n    /^5/,\n    /^6/,\n    /^7/,\n    /^8/,\n    /^9/,\n    /^10/,\n    /^11/,\n    /^12/\n  ]\n};\nconst matchDayPatterns = {\n  narrow: /^[\uC77C\uC6D4\uD654\uC218\uBAA9\uAE08\uD1A0]/,\n  short: /^[\uC77C\uC6D4\uD654\uC218\uBAA9\uAE08\uD1A0]/,\n  abbreviated: /^[\uC77C\uC6D4\uD654\uC218\uBAA9\uAE08\uD1A0]/,\n  wide: /^[\uC77C\uC6D4\uD654\uC218\uBAA9\uAE08\uD1A0]\uC694\uC77C/\n};\nconst parseDayPatterns = {\n  any: [/^\uC77C/, /^\uC6D4/, /^\uD654/, /^\uC218/, /^\uBAA9/, /^\uAE08/, /^\uD1A0/]\n};\nconst matchDayPeriodPatterns = {\n  any: /^(am|pm|\uC624\uC804|\uC624\uD6C4|\uC790\uC815|\uC815\uC624|\uC544\uCE68|\uC800\uB141|\uBC24)/i\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^(am|\uC624\uC804)/i,\n    pm: /^(pm|\uC624\uD6C4)/i,\n    midnight: /^\uC790\uC815/i,\n    noon: /^\uC815\uC624/i,\n    morning: /^\uC544\uCE68/i,\n    afternoon: /^\uC624\uD6C4/i,\n    evening: /^\uC800\uB141/i,\n    night: /^\uBC24/i\n  }\n};\nconst match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10)\n  }),\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1\n  }),\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\"\n  }),\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\"\n  })\n};\nexport {\n  match\n};\n", "import { formatDistance } from \"./ko/_lib/formatDistance.js\";\nimport { formatLong } from \"./ko/_lib/formatLong.js\";\nimport { formatRelative } from \"./ko/_lib/formatRelative.js\";\nimport { localize } from \"./ko/_lib/localize.js\";\nimport { match } from \"./ko/_lib/match.js\";\nconst ko = {\n  code: \"ko\",\n  formatDistance,\n  formatLong,\n  formatRelative,\n  localize,\n  match,\n  options: {\n    weekStartsOn: 0,\n    firstWeekContainsDate: 1\n  }\n};\nexport {\n  ko as default,\n  ko\n};\n", "import { HeadlineActionType, HeadlinePresetType } from \"./HeadlineModule.types.js\";\nimport { getScheduleStatus } from \"../../../utils/date.js\";\nimport { parseISO } from \"../../../node_modules/date-fns/parseISO.js\";\nimport { formatDate as format } from \"../../../node_modules/date-fns/format.js\";\nimport { ko } from \"../../../node_modules/date-fns/locale/ko.js\";\nconst getScheduleHeadline = (query, startAt, endAt) => {\n  const start = parseISO(startAt.toString());\n  const end = parseISO(endAt.toString());\n  const status = getScheduleStatus(start, end);\n  return {\n    title: getScheduleHeadlineTitle(status, start),\n    action: getScheduleHeadlineAction(status, start, end),\n    query\n  };\n};\nconst getScheduleHeadlineAction = (status, startAt, endAt) => {\n  switch (status) {\n    case \"ongoing\":\n      return {\n        type: HeadlineActionType.Countdown,\n        startAt,\n        endAt\n      };\n    case \"upcoming\":\n      return {\n        type: HeadlineActionType.External\n      };\n    default:\n      return;\n  }\n};\nconst getScheduleHeadlineTitle = (status, startAt) => {\n  switch (status) {\n    case \"ongoing\":\n      return \"\uC885\uB8CC\uAE4C\uC9C0 \uB0A8\uC740 \uC2DC\uAC04\";\n    case \"upcoming\":\n      return format(startAt, startAt.getMinutes() > 0 ? \"a h\uC2DC m\uBD84 \uC624\uD508\" : \"a h\uC2DC \uC624\uD508\", {\n        locale: ko\n      });\n    case \"end\":\n      return \"\uC885\uB8CC\uB41C \uC774\uBCA4\uD2B8\";\n    default:\n      return \"\";\n  }\n};\nconst getHeadlinePreset = (layout) => {\n  switch (layout.priority) {\n    case \"primary\":\n      return HeadlinePresetType.Default;\n    default:\n      return layout.preset;\n  }\n};\nexport {\n  getHeadlinePreset,\n  getScheduleHeadline\n};\n", "import { QueryType } from \"../../types.js\";\nimport { HeadlinePresetType, HeadlineActionType } from \"../HeadlineModule.types.js\";\nimport { getScheduleHeadline } from \"../HeadlineModule.utils.js\";\nconst getCouponCollectionHeadline = (query, preset) => {\n  const {\n    displayStartAt,\n    displayEndAt,\n    frontBrand,\n    title,\n    description\n  } = query;\n  const hasFrontBrand = frontBrand !== void 0;\n  if (preset === HeadlinePresetType.Link && hasFrontBrand) {\n    return {\n      // TODO(\uC784\uADDC\uBBFC): title format \uC744 \uC678\uBD80\uC5D0\uC11C \uC785\uB825\uBC1B\uC744 \uC218 \uC788\uB3C4\uB85D \uCC98\uB9AC\n      title: `${frontBrand.nameKor} \uC778\uAE30 \uC544\uC774\uD15C`,\n      action: {\n        type: HeadlineActionType.Link,\n        // TODO(\uC784\uADDC\uBBFC): label \uC744 \uC678\uBD80\uC5D0\uC11C \uC785\uB825\uBC1B\uC744 \uC218 \uC788\uB3C4\uB85D \uCC98\uB9AC\n        label: \"\uC0C1\uD488 \uC804\uCCB4\uBCF4\uAE30\",\n        query\n      },\n      query\n    };\n  }\n  const hasSchedule = displayStartAt && displayEndAt;\n  if (preset === HeadlinePresetType.Schedule && hasSchedule) {\n    return getScheduleHeadline(query, displayStartAt, displayEndAt);\n  }\n  return {\n    title: title ?? \"\",\n    description,\n    action: {\n      type: HeadlineActionType.External\n    },\n    query\n  };\n};\nconst getKeywordCollectionHeadline = (query, preset) => {\n  const {\n    selectedProductGroup,\n    title,\n    description\n  } = query;\n  const {\n    startAt,\n    endAt\n  } = selectedProductGroup ?? {};\n  if (preset === HeadlinePresetType.Link) {\n    return {\n      title: title ?? \"\",\n      action: {\n        type: HeadlineActionType.Link,\n        // TODO(\uC784\uADDC\uBBFC): label \uC744 \uC678\uBD80\uC5D0\uC11C \uC785\uB825\uBC1B\uC744 \uC218 \uC788\uB3C4\uB85D \uCC98\uB9AC\n        label: \"\uC0C1\uD488 \uC804\uCCB4\uBCF4\uAE30\",\n        query\n      },\n      query\n    };\n  }\n  const hasSchedule = startAt && endAt;\n  if (preset === HeadlinePresetType.Schedule && hasSchedule) {\n    return getScheduleHeadline(query, startAt, endAt);\n  }\n  return {\n    title: title ?? \"\",\n    description,\n    action: {\n      type: HeadlineActionType.External\n    },\n    query\n  };\n};\nconst getHeadline = (query, preset) => {\n  if (!query) {\n    return {\n      title: \"\",\n      description: \"\"\n    };\n  }\n  switch (query.type) {\n    case QueryType.CouponCollection:\n      return getCouponCollectionHeadline(query, preset);\n    case QueryType.KeywordCollection:\n      return getKeywordCollectionHeadline(query, preset);\n    default:\n      return {\n        title: \"\",\n        description: \"\"\n      };\n  }\n};\nexport {\n  getHeadline\n};\n", "const createKey = (query) => {\n  var _a;\n  return ((_a = query == null ? void 0 : query.keys) == null ? void 0 : _a.join(\"-\")) ?? void 0;\n};\nexport {\n  createKey\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { useMemo } from \"react\";\nimport { useQueryStore } from \"../../query-store/query.store.js\";\nimport { HeadlineElement } from \"../HeadlineElement/HeadlineElement.js\";\nimport { getHeadline } from \"./LinkedHeadlineModule.utils.js\";\nimport { getHeadlinePreset } from \"../HeadlineModule.utils.js\";\nimport { createKey } from \"../../utils/key.js\";\nconst LinkedHeadlineModule = ({\n  value,\n  input,\n  output,\n  layout,\n  actionElement\n}) => {\n  const query = useQueryStore((state) => state.queries[value]);\n  const headline = useMemo(() => getHeadline(query, getHeadlinePreset(layout)), [query, layout]);\n  return /* @__PURE__ */ jsx(HeadlineElement, { input: {\n    ...headline,\n    title: input.title || headline.title,\n    description: input.description || headline.description\n  }, output, layout, actionElement }, createKey(query));\n};\nexport {\n  LinkedHeadlineModule\n};\n", "var ProfilesModuleInputType = /* @__PURE__ */ ((ProfilesModuleInputType2) => {\n  ProfilesModuleInputType2[ProfilesModuleInputType2[\"Linked\"] = 0] = \"Linked\";\n  ProfilesModuleInputType2[ProfilesModuleInputType2[\"Manual\"] = 1] = \"Manual\";\n  ProfilesModuleInputType2[ProfilesModuleInputType2[\"Auto\"] = 2] = \"Auto\";\n  return ProfilesModuleInputType2;\n})(ProfilesModuleInputType || {});\nexport {\n  ProfilesModuleInputType\n};\n", "import { ControlType } from \"framer\";\nimport { entries } from \"../../utils/entries.js\";\nconst combineObjectPropertyControls = (...controls) => {\n  return controls.flatMap(entries).reduce((prev, curr) => {\n    const [key, incoming] = curr;\n    const copied = {\n      ...prev\n    };\n    const existing = copied[key] ?? {};\n    if (existing.type === ControlType.Enum && incoming.type === ControlType.Enum) {\n      copied[key] = mergeEnumControlDescription(existing, incoming);\n      return prev = copied;\n    }\n    return prev = {\n      ...prev,\n      [key]: incoming\n    };\n  }, {});\n};\nconst mergeEnumControlDescription = (existing, incoming) => {\n  return {\n    ...existing,\n    options: [...existing.options, ...incoming.options],\n    optionTitles: [...existing.optionTitles ?? [], ...incoming.optionTitles ?? []]\n  };\n};\nexport {\n  combineObjectPropertyControls\n};\n", "var CouponType = /* @__PURE__ */ ((CouponType2) => {\n  CouponType2[CouponType2[\"NORMAL\"] = 0] = \"NORMAL\";\n  CouponType2[CouponType2[\"LIMITED\"] = 1] = \"LIMITED\";\n  CouponType2[CouponType2[\"RANDOM\"] = 2] = \"RANDOM\";\n  return CouponType2;\n})(CouponType || {});\nvar CouponDiscountType = /* @__PURE__ */ ((CouponDiscountType2) => {\n  CouponDiscountType2[CouponDiscountType2[\"RATE\"] = 0] = \"RATE\";\n  CouponDiscountType2[CouponDiscountType2[\"AMOUNT\"] = 1] = \"AMOUNT\";\n  return CouponDiscountType2;\n})(CouponDiscountType || {});\nvar DiscountType = /* @__PURE__ */ ((DiscountType2) => {\n  DiscountType2[\"FIXED_RATE\"] = \"FIXED_RATE\";\n  DiscountType2[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\n  return DiscountType2;\n})(DiscountType || {});\nvar AvailableDayType = /* @__PURE__ */ ((AvailableDayType2) => {\n  AvailableDayType2[\"RANGE\"] = \"RANGE\";\n  AvailableDayType2[\"DAY\"] = \"DAY\";\n  AvailableDayType2[\"NONE\"] = \"NONE\";\n  return AvailableDayType2;\n})(AvailableDayType || {});\nvar KindType = /* @__PURE__ */ ((KindType2) => {\n  KindType2[\"PRODUCT\"] = \"PRODUCT\";\n  KindType2[\"CART\"] = \"CART\";\n  return KindType2;\n})(KindType || {});\nexport {\n  AvailableDayType,\n  CouponDiscountType,\n  CouponType,\n  DiscountType,\n  KindType\n};\n", "var CouponModuleInputType = /* @__PURE__ */ ((CouponModuleInputType2) => {\n  CouponModuleInputType2[CouponModuleInputType2[\"Linked\"] = 0] = \"Linked\";\n  CouponModuleInputType2[CouponModuleInputType2[\"Manual\"] = 1] = \"Manual\";\n  CouponModuleInputType2[CouponModuleInputType2[\"Auto\"] = 2] = \"Auto\";\n  return CouponModuleInputType2;\n})(CouponModuleInputType || {});\nvar CouponUpdateType = /* @__PURE__ */ ((CouponUpdateType2) => {\n  CouponUpdateType2[CouponUpdateType2[\"NORMAL\"] = 0] = \"NORMAL\";\n  CouponUpdateType2[CouponUpdateType2[\"DAILY\"] = 1] = \"DAILY\";\n  return CouponUpdateType2;\n})(CouponUpdateType || {});\nexport {\n  CouponModuleInputType,\n  CouponUpdateType\n};\n", "import { ControlType } from \"framer\";\nimport { QueryType, RankingType, PopularityPeriodType, TrendingPeriodType, CategoryType } from \"./types.js\";\nimport { CouponType } from \"../../types/models/coupon.js\";\nimport { CouponUpdateType } from \"./CouponModule/CouponModule.types.js\";\nconst PRODUCT_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.Product],\n    optionTitles: [\"\uC0C1\uD488\"]\n  },\n  productIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Product,\n    type: ControlType.String,\n    title: \"\uC0C1\uD488 ID\",\n    description: \"\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\"\n  }\n};\nconst KEYWORD_COLLECTION_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.KeywordCollection],\n    optionTitles: [\"\uD0A4\uC6CC\uB4DC \uCEEC\uB809\uC158\"]\n  },\n  keywordCollectionId: {\n    hidden: ({\n      type\n    }) => type !== QueryType.KeywordCollection,\n    type: ControlType.String,\n    title: \"\uD0A4\uC6CC\uB4DC \uCEEC\uB809\uC158 ID\",\n    description: \"\uB2E8\uC218\uB9CC \uC785\uB825\",\n    defaultValue: \"\"\n  }\n};\nconst KEYWORD_COLLECTIONS_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.KeywordCollections],\n    optionTitles: [\"\uB2E4\uC911 \uD0A4\uC6CC\uB4DC \uCEEC\uB809\uC158\"]\n  },\n  keywordCollectionIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.KeywordCollections,\n    type: ControlType.String,\n    title: \"\uD0A4\uC6CC\uB4DC \uCEEC\uB809\uC158 ID\",\n    description: \"\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\",\n    placeholder: \"11628,11629,11630\"\n  }\n};\nconst BRAND_CURATION_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.BrandCuration],\n    optionTitles: [\"\uBE0C\uB79C\uB4DC \uD050\uB808\uC774\uC158\"]\n  },\n  brandGroupIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.BrandCuration,\n    type: ControlType.String,\n    title: \"\uBE0C\uB79C\uB4DC \uADF8\uB8F9 ID\",\n    description: \"\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\"\n  },\n  brandSize: {\n    hidden: ({\n      type\n    }) => type !== QueryType.BrandCuration,\n    type: ControlType.Number,\n    title: \"\uAC1C\uC218\",\n    description: \"\uCD5C\uB300 500\uAC1C, \uBBF8\uC785\uB825 \uC2DC \uCD5C\uB300 \uAC1C\uC218\uB85C \uB178\uCD9C\",\n    unit: \"\uAC1C\",\n    defaultValue: 20,\n    min: 0,\n    displayStepper: true\n  },\n  brandCurationTagIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.BrandCuration,\n    type: ControlType.String,\n    title: \"\uD0DC\uADF8 ID\",\n    description: \"\uD0DC\uADF8 \uC544\uC774\uB514 \uC785\uB825 \uC2DC \uB9E4\uD551\uB41C \uC0C1\uD488\uB9CC \uB178\uCD9C\\n\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\"\n  }\n};\nconst RECOMMENDATION_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.Recommendation],\n    optionTitles: [\"\uAC1C\uC778\uD654 \uCD94\uCC9C\"]\n  },\n  recommendationTagIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Recommendation,\n    type: ControlType.String,\n    title: \"\uD0DC\uADF8 ID\",\n    description: \"\uD0DC\uADF8 \uC544\uC774\uB514 \uC785\uB825 \uC2DC \uB9E4\uD551\uB41C \uC0C1\uD488\uB9CC \uB178\uCD9C\\n\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\"\n  }\n};\nconst RANKING_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.Ranking],\n    optionTitles: [\"\uB7AD\uD0B9\"]\n  },\n  rankingType: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Ranking,\n    type: ControlType.Enum,\n    title: \"\uB7AD\uD0B9 \uC720\uD615\",\n    options: [RankingType.Popularity, RankingType.Trending],\n    optionTitles: [\"\uC778\uAE30\", \"\uAE09\uC0C1\uC2B9\"]\n  },\n  popularityPeriodType: {\n    hidden: ({\n      type,\n      rankingType\n    }) => type !== QueryType.Ranking || rankingType !== RankingType.Popularity,\n    type: ControlType.Enum,\n    title: \"\uAE30\uAC04\",\n    options: [PopularityPeriodType.Realtime, PopularityPeriodType.Hourly, PopularityPeriodType.Daily],\n    optionTitles: [\"\uC2E4\uC2DC\uAC04\", \"\uC2DC\uAC04\uBCC4\", \"\uC77C\uBCC4\"]\n  },\n  trendingPeriodType: {\n    hidden: ({\n      type,\n      rankingType\n    }) => type !== QueryType.Ranking || rankingType !== RankingType.Trending,\n    type: ControlType.Enum,\n    title: \"\uAE30\uAC04\",\n    options: [TrendingPeriodType.Hourly],\n    optionTitles: [\"\uC2DC\uAC04\uBCC4\"]\n  },\n  rankingTagIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Ranking,\n    type: ControlType.String,\n    title: \"\uD0DC\uADF8 ID\",\n    description: \"\uD0DC\uADF8 \uC544\uC774\uB514 \uC785\uB825 \uC2DC \uB9E4\uD551\uB41C \uC0C1\uD488\uB9CC \uB178\uCD9C\\n\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\"\n  },\n  categoryType: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Ranking,\n    type: ControlType.Enum,\n    title: \"\uCE74\uD14C\uACE0\uB9AC \uC720\uD615\",\n    options: [CategoryType.Large, CategoryType.Middle],\n    optionTitles: [\"\uB300\uCE74\uD14C\uACE0\uB9AC\", \"\uC911\uCE74\uD14C\uACE0\uB9AC\"],\n    defaultValue: CategoryType.Large\n  },\n  excludeLargeCategoryIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Ranking,\n    title: \"\uC81C\uC678 \uB300\uCE74\uD14C\uACE0\uB9AC ID\",\n    type: ControlType.String,\n    description: \"\uD328\uC2EF\uC5D0\uC11C \uC81C\uC678 \uC2DC\uD0AC \uB300\uCE74\uD14C\uACE0\uB9AC ID \uC785\uB825\\n\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\",\n    placeholder: \"268100100,269100100,272100100,273100100\"\n  },\n  excludeMiddleCategoryIds: {\n    hidden: ({\n      type\n    }) => type !== QueryType.Ranking,\n    type: ControlType.String,\n    title: \"\uC81C\uC678 \uC911\uCE74\uD14C\uACE0\uB9AC ID\",\n    description: \"\uD328\uC2EF\uC5D0\uC11C \uC81C\uC678 \uC2DC\uD0AC \uC911\uCE74\uD14C\uACE0\uB9AC ID \uC785\uB825\\n\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\",\n    defaultValue: \"\",\n    placeholder: \"268103100,268106100,268104100,268117100\"\n  }\n};\nconst COUPON_COLLECTION_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.CouponCollection],\n    optionTitles: [\"\uCFE0\uD3F0 \uCEEC\uB809\uC158\"]\n  },\n  brandSaleGroupId: {\n    hidden: ({\n      type\n    }) => type !== QueryType.CouponCollection,\n    type: ControlType.String,\n    title: \"\uBE0C\uB79C\uB4DC \uC138\uC77C \uADF8\uB8F9 ID\",\n    description: \"\uB2E8\uC218\uB9CC \uC785\uB825\",\n    defaultValue: \"\"\n  }\n};\nconst RAFFLE_GROUP_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.RaffleGroup],\n    optionTitles: [\"\uB798\uD50C \uADF8\uB8F9\"]\n  },\n  raffleGroupId: {\n    hidden: ({\n      type\n    }) => type !== QueryType.RaffleGroup,\n    type: ControlType.String,\n    title: \"\uB798\uD50C \uADF8\uB8F9 ID\"\n  }\n};\nconst COUPON_CONTROLS = {\n  type: {\n    type: ControlType.Enum,\n    title: \"\uC720\uD615\",\n    options: [QueryType.Coupon],\n    optionTitles: [\"\uCFE0\uD3F0\"]\n  },\n  couponType: {\n    type: ControlType.Enum,\n    title: \"\uCFE0\uD3F0 \uC720\uD615\",\n    description: \"\uB79C\uB364 \uCFE0\uD3F0\uC740 \uCFE0\uD3F0 \uBC88\uD638 \uC5C6\uC774 \uB2F9\uC77C\uC5D0 \uBC1C\uAE09 \uAC00\uB2A5\uD55C \uCFE0\uD3F0\uC774 \uBC1C\uAE09\uB429\uB2C8\uB2E4.\",\n    options: [CouponType.NORMAL, CouponType.LIMITED, CouponType.RANDOM],\n    optionTitles: [\"\uC77C\uBC18\", \"\uC120\uCC29\uC21C\", \"\uB79C\uB364\"]\n  },\n  couponUpdateType: {\n    hidden: (props) => props.couponType === CouponType.RANDOM,\n    type: ControlType.Enum,\n    title: \"\uCFE0\uD3F0 \uAC31\uC2E0 \uC720\uD615\",\n    options: [CouponUpdateType.NORMAL, CouponUpdateType.DAILY],\n    optionTitles: [\"\uACE0\uC815\", \"\uC77C\uC790\uBCC4\"]\n  },\n  couponIds: {\n    hidden: (props) => props.couponType !== CouponType.RANDOM && props.couponUpdateType !== CouponUpdateType.NORMAL,\n    type: ControlType.String,\n    title: \"\uCFE0\uD3F0 ID\",\n    description: \"\uBCF5\uC218 \uC785\uB825 \uC2DC \uCF64\uB9C8(,)\uB85C \uAD6C\uBD84\\n\uB79C\uB364 \uCFE0\uD3F0\uC740 \uC720\uC758\uC0AC\uD56D \uBB38\uAD6C \uC790\uB3D9\uC0DD\uC131\uC744 \uC704\uD574 \uCCAB \uD68C\uCC28\uC5D0 \uD574\uB2F9\uD558\uB294 \uCFE0\uD3F0\uBC88\uD638 \uBAA9\uB85D\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694.\"\n  },\n  dailyCouponOptions: {\n    hidden: (props) => props.couponType === CouponType.RANDOM || props.couponUpdateType !== CouponUpdateType.DAILY,\n    type: ControlType.Array,\n    title: \"\uAC31\uC2E0 \uC77C\uC790\",\n    control: {\n      type: ControlType.Object,\n      controls: {\n        dailyCouponIds: {\n          type: ControlType.Array,\n          title: \"\uCFE0\uD3F0 \uBC88\uD638 \uBAA9\uB85D\",\n          description: \"\uC77C\uC790\uBCC4 \uCFE0\uD3F0 \uBC88\uD638 \uBAA9\uB85D\uC744 \uC785\uB825\uD569\uB2C8\uB2E4.\\n\uD558\uB098\uC758 \uCFE0\uD3F0 \uBC88\uD638 \uBAA9\uB85D\uB2F9 \uD558\uB098\uC758 \uB0A0\uC9DC\uC5D0 \uC5F0\uACB0\uB429\uB2C8\uB2E4.\",\n          control: {\n            type: ControlType.String,\n            title: \"\uCFE0\uD3F0 \uBC88\uD638 \uBAA9\uB85D\"\n          }\n        },\n        updateSchedule: {\n          type: ControlType.Object,\n          title: \"\uAC31\uC2E0 \uAE30\uAC04\",\n          controls: {\n            startAt: {\n              type: ControlType.Date,\n              title: \"\uC2DC\uC791\uC77C\"\n            },\n            endAt: {\n              type: ControlType.Date,\n              title: \"\uC885\uB8CC\uC77C\"\n            }\n          }\n        },\n        updateAt: {\n          type: ControlType.Object,\n          title: \"\uAC31\uC2E0 \uC8FC\uAE30\",\n          description: \"ex) 10\uC2DC 0\uBD84 0\uCD08 \uC785\uB825 -> \uB9E4\uC77C \uC624\uC804 10\uC2DC\uC5D0 \uCFE0\uD3F0\uBC88\uD638 \uAC31\uC2E0\",\n          controls: {\n            hours: {\n              type: ControlType.Number,\n              title: \"\uC2DC\",\n              defaultValue: 0,\n              min: 0,\n              max: 23,\n              unit: \"\uC2DC\",\n              step: 1,\n              displayStepper: true\n            },\n            minutes: {\n              type: ControlType.Number,\n              title: \"\uBD84\",\n              defaultValue: 0,\n              min: 0,\n              max: 59,\n              unit: \"\uBD84\",\n              step: 1,\n              displayStepper: true\n            },\n            seconds: {\n              type: ControlType.Number,\n              title: \"\uCD08\",\n              defaultValue: 0,\n              min: 0,\n              max: 59,\n              unit: \"\uCD08\",\n              step: 1,\n              displayStepper: true\n            }\n          }\n        }\n      }\n    }\n  }\n};\nconst QUERY_CONTROL = {\n  type: ControlType.Object,\n  title: \"\uC9C8\uC758\",\n  controls: {}\n};\nexport {\n  BRAND_CURATION_CONTROLS,\n  COUPON_COLLECTION_CONTROLS,\n  COUPON_CONTROLS,\n  KEYWORD_COLLECTIONS_CONTROLS,\n  KEYWORD_COLLECTION_CONTROLS,\n  PRODUCT_CONTROLS,\n  QUERY_CONTROL,\n  RAFFLE_GROUP_CONTROLS,\n  RANKING_CONTROLS,\n  RECOMMENDATION_CONTROLS\n};\n", "import { combineObjectPropertyControls } from \"../../../libs/property-controls/helpers.js\";\nimport { QUERY_CONTROL, COUPON_COLLECTION_CONTROLS, KEYWORD_COLLECTION_CONTROLS } from \"../controls.js\";\nconst AUTO_HEADLINE_MODULE_QUERY = {\n  ...QUERY_CONTROL,\n  controls: combineObjectPropertyControls(KEYWORD_COLLECTION_CONTROLS, COUPON_COLLECTION_CONTROLS)\n};\nexport {\n  AUTO_HEADLINE_MODULE_QUERY\n};\n", "import { useContext } from \"react\";\nimport { IntersectionContext } from \"./IntersectionProvider.js\";\nconst useIntersectionContext = () => {\n  return useContext(IntersectionContext);\n};\nexport {\n  useIntersectionContext\n};\n", "const GENERAL_ERROR = \"\uC77C\uC2DC\uC801\uC778 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4.\\n\uC7A0\uC2DC \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.\";\nexport {\n  GENERAL_ERROR\n};\n", "var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\nimport { GENERAL_ERROR } from \"../constants/error.js\";\nimport { querify } from \"../utils/querify.js\";\nclass APIService {\n  constructor() {\n    __publicField(this, \"baseUrl\", \"\");\n    __publicField(this, \"middleware\");\n  }\n  async request(method, url, data, config) {\n    var _a;\n    const response = await fetch(...configure(method, url, data, config));\n    if (!response.ok) {\n      throw new Error(GENERAL_ERROR);\n    }\n    const json = await response.json();\n    (_a = this.middleware) == null ? void 0 : _a.call(this, json);\n    return json;\n  }\n  setMiddleware(middleware) {\n    this.middleware = middleware;\n  }\n  setBaseUrl(baseUrl) {\n    this.baseUrl = baseUrl;\n  }\n  get(path, data, config) {\n    return this.request(\"GET\", `${this.baseUrl}${path}`, data, config);\n  }\n  post(path, data, config) {\n    return this.request(\"POST\", `${this.baseUrl}${path}`, data, config);\n  }\n  put(path, data, config) {\n    return this.request(\"PUT\", `${this.baseUrl}${path}`, data, config);\n  }\n  delete(path, data, config) {\n    return this.request(\"DELETE\", `${this.baseUrl}${path}`, data, config);\n  }\n}\nconst configure = (method, url, data, config) => {\n  const headers = createHeaders(config);\n  const options = {\n    method,\n    headers,\n    credentials: \"include\",\n    ...config\n  };\n  const isGetMethod = method === \"GET\";\n  if (!isGetMethod) {\n    options.body = JSON.stringify(data);\n  }\n  return [appendQuery(url, isGetMethod ? data : void 0), options];\n};\nconst createHeaders = (config) => ({\n  \"Content-Type\": \"application/json\",\n  \"Accept\": \"application/json\",\n  ...config == null ? void 0 : config.headers\n});\nconst appendQuery = (url, query) => {\n  const hasQuery = new URL(url).search.length > 0;\n  const separator = hasQuery ? \"&\" : query !== void 0 ? \"?\" : \"\";\n  return `${url}${separator}${query ? querify(query) : \"\"}`;\n};\nexport {\n  APIService,\n  configure\n};\n", "import { GENERAL_ERROR } from \"../../constants/error.js\";\nconst throwFailError = (response) => {\n  if (response.result === \"FAIL\" || response.data === null) {\n    throw new Error(response.message ?? GENERAL_ERROR);\n  }\n};\nexport {\n  throwFailError\n};\n", "import { APIService } from \"../APIService.js\";\nimport { throwFailError } from \"../@middlewares/throwFailError.js\";\nimport { env } from \"../../config/index.js\";\nclass BrandSaleApiService extends APIService {\n  constructor() {\n    super();\n    this.setBaseUrl(env.api.content);\n    this.setMiddleware(throwFailError);\n  }\n  // NOTE: (\uAE40\uD64D\uB3D9) \uAD6C \uC774\uAD7F\uC785\uC810\uD68C(BrandTimeSale) \uC2E0 \uC774\uAD7F\uC785\uC810\uD68C(CouponCollection)\uC5D0\uC11C \uC0AC\uC6A9\uB418\uB294 api\uB85C brandSaleList\uB97C \uBC1B\uC544\uC635\uB2C8\uB2E4.\n  // brandSaleList\uC740 \uADF8\uB8F9\uBCC4\uB85C \uC5B4\uB5A4 brandSaleId\uC774 \uC788\uB294\uC9C0 \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774\uAD7F\uC785\uC810\uD68C\uC5D0\uC11C\uB294 \uADF8\uB8F9\uBCC4 \uC2DC\uC791 \uB0A0\uC9DC\uB97C \uAC00\uC838\uC640 \uD0ED\uC744 \uADF8\uB9AC\uB294\uB370 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.\n  getBrandSaleGroup(brandSaleGroupId) {\n    return this.get(`/api/v4/framers/proxy/content-api/api/v4/brand-sale-groups/${brandSaleGroupId}`);\n  }\n  // NOTE: (\uAE40\uD64D\uB3D9) \uAD6C \uC774\uAD7F\uC785\uC810\uD68C(BrandTimeSale) \uC2E0 \uC774\uAD7F\uC785\uC810\uD68C(CouponCollection)\uC5D0\uC11C \uC0AC\uC6A9\uB418\uB294 api\uB85C brandSaleCouponList\uB97C \uBC1B\uC544\uC635\uB2C8\uB2E4.\n  // brandSaleCouponList\uC5D0\uC11C\uB294 \uCFE0\uD3F0\uC758 \uC815\uBCF4, \uBE0C\uB79C\uB4DC\uC758 \uC815\uBCF4\uB97C \uC54C \uC218 \uC788\uC2B5\uB2C8\uB2E4.\n  getBrandSales(brandSaleId) {\n    return this.get(`/api/v4/framers/proxy/content-api/api/v4/brand-sales/${brandSaleId}`);\n  }\n  // NOTE: (\uAE40\uD64D\uB3D9) \uAD6C \uC774\uAD7F\uC785\uC810\uD68C(CouponCollection)\uC5D0\uC11C \uC0AC\uC6A9\uB418\uB294 api\uB85C \uC0C1\uD488\uB9AC\uC2A4\uD2B8\uB97C \uBC1B\uC544\uC635\uB2C8\uB2E4. \uD398\uC774\uC9C0\uB124\uC774\uC158\uC744 \uC81C\uACF5\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n  getBrandSaleCouponDetail(brandSaleCouponId, size) {\n    return this.get(`/api/v4/framers/proxy/content-api/api/v4/brand-sale-coupons/${brandSaleCouponId}`, {\n      size\n    });\n  }\n  // NOTE: (\uAE40\uD64D\uB3D9) \uC2E0 \uC774\uAD7F\uC785\uC810\uD68C(CouponCollection)\uC5D0\uC11C \uC0AC\uC6A9\uB418\uB294 api\uB85C getBrandSales\uC5D0\uC11C \uAC01 \uBE0C\uB79C\uB4DC\uC758 couponCollectionId\uB97C \uBC14\uD0D5\uC73C\uB85C \uC0C1\uD488\uB9AC\uC2A4\uD2B8\uB97C \uBC1B\uC544\uC635\uB2C8\uB2E4. \uD398\uC774\uC9C0\uB124\uC774\uC158\uC744 \uC81C\uACF5\uD569\uB2C8\uB2E4.\n  async getCouponCollectionProducts(couponCollectionId, params) {\n    return this.get(`/api/v4/framers/proxy/content-api/api/v5/coupon-collections/${couponCollectionId}/products`, params).then((res) => {\n      return {\n        ...res.data,\n        resultList: formatProducts(res.data.resultList)\n      };\n    });\n  }\n}\nconst brandSaleApi = new BrandSaleApiService();\nconst formatProducts = (products) => products.map((product) => {\n  var _a;\n  return {\n    ...product,\n    frontBrand: {\n      frontBrandId: product.frontBrand.id,\n      nameKor: product.frontBrand.nameKor,\n      nameEng: product.frontBrand.nameEng\n    },\n    isCoupon: product.saleInfo.coupon,\n    isFreeShipping: product.freeShipping,\n    isNew: product.newProperty,\n    isSoldOut: product.soldOut,\n    frontCategories: (_a = product.frontCategories) == null ? void 0 : _a.map((category) => ({\n      largeCategoryCode: category.largeCode ?? 0,\n      largeCategoryName: category.largeName ?? \"\",\n      mediumCategoryCode: category.mediumCode ?? 0,\n      mediumCategoryName: category.mediumName ?? \"\",\n      smallCategoryCode: category.smallCode ?? 0,\n      smallCategoryName: category.smallName ?? \"\"\n    }))\n  };\n});\nexport {\n  brandSaleApi\n};\n", "import { APIService } from \"../APIService.js\";\nimport { throwFailError } from \"../@middlewares/throwFailError.js\";\nimport { env } from \"../../config/index.js\";\nclass KeywordCollectionApiService extends APIService {\n  constructor() {\n    super();\n    this.setMiddleware(throwFailError);\n  }\n  async getKeywordCollection(collectionId) {\n    return this.get(`${env.api.content}/api/v4/framers/proxy/content-api/api/v5/keyword-collections/${collectionId}`);\n  }\n  async getCollectionProducts({\n    collectionId,\n    productGroupId,\n    sort,\n    page,\n    size\n  }) {\n    return this.get(`${env.api.content}/api/v4/framers/proxy/content-api/api/v5/keyword-collections/${collectionId}/product-groups/${productGroupId}/products`, {\n      sort,\n      page,\n      size\n    }).then((data) => ({\n      ...data.data,\n      resultList: data.data.resultList.map((product) => {\n        var _a;\n        return {\n          frontBrand: {\n            frontBrandId: product.frontBrand.id,\n            nameKor: product.frontBrand.nameKor,\n            nameEng: product.frontBrand.nameEng\n          },\n          productId: product.productId,\n          productName: product.productName,\n          subjectDescriptions: product.subjectDescriptions,\n          imageUrl: product.imageUrl,\n          consumerPrice: product.consumerPrice,\n          lastSalePrice: product.lastSalePrice,\n          lastSalePercent: product.lastSalePercent,\n          heartCount: product.heartCount,\n          heartOn: product.heartOn,\n          reviewCount: product.reviewCount,\n          reviewAveragePoint: product.reviewAveragePoint,\n          isCoupon: product.saleInfo.coupon,\n          isFreeShipping: product.freeShipping,\n          isNew: product.newProperty,\n          isSoldOut: product.soldOut,\n          frontCategories: (_a = product.frontCategories) == null ? void 0 : _a.map((category) => ({\n            largeCategoryCode: category.largeCode ?? 0,\n            largeCategoryName: category.largeName ?? \"\",\n            mediumCategoryCode: category.mediumCode ?? 0,\n            mediumCategoryName: category.mediumName ?? \"\",\n            smallCategoryCode: category.smallCode ?? 0,\n            smallCategoryName: category.smallName ?? \"\"\n          }))\n        };\n      })\n    }));\n  }\n}\nconst keywordCollectionApi = new KeywordCollectionApiService();\nexport {\n  keywordCollectionApi\n};\n", "import { createKRTimeZoneDate } from \"../../../../utils/createUTCDate.js\";\nimport { isAbove } from \"../../../../utils/date.js\";\nimport { ko } from \"../../../../node_modules/date-fns/locale/ko.js\";\nimport { isBefore } from \"../../../../node_modules/date-fns/isBefore.js\";\nimport { isWithinInterval } from \"../../../../node_modules/date-fns/isWithinInterval.js\";\nimport { formatDate as format } from \"../../../../node_modules/date-fns/format.js\";\nconst SEPARATOR = \"@\";\nconst reservedWords = [\"DATE\", \"GENDER\"];\nconst getProductGroupType = (productGroupList) => {\n  const includedReservedWordProductGroup = productGroupList.find((group) => group.title.includes(SEPARATOR));\n  if (includedReservedWordProductGroup === void 0) {\n    return \"KEYWORD\";\n  }\n  const firstReservedWord = includedReservedWordProductGroup.title.split(SEPARATOR)[0];\n  if (!reservedWords.includes(firstReservedWord)) {\n    return \"KEYWORD\";\n  }\n  return firstReservedWord;\n};\nconst reshapeProductGroupList = (productGroupList, productGroupType, gender) => {\n  if (productGroupType === \"DATE\") {\n    return reshapeDateProductGroupList(productGroupList);\n  }\n  if (productGroupType === \"GENDER\") {\n    return reshapeGenderProductGroupList(productGroupList, gender);\n  }\n  return productGroupList;\n};\nconst findInitialProductGroupId = (collectionProductGroup, reshapedProductGroupList, productGroupType) => {\n  if (collectionProductGroup.length === 0) {\n    return void 0;\n  }\n  if (productGroupType === \"DATE\") {\n    const currentProductGroupList = findCurrentProductGroupListByDate(collectionProductGroup);\n    return currentProductGroupList.productGroupId;\n  }\n  return reshapedProductGroupList[0].productGroupId;\n};\nconst reshapeDateProductGroupList = (productGroupList) => productGroupList.map((group) => ({\n  ...group,\n  title: formatTitle(group.title, \"DATE\")\n}));\nconst reshapeGenderProductGroupList = (productGroupList, gender) => {\n  const genderProductGroup = productGroupList.reduce((acc, cur) => {\n    const isCommonGroup = !cur.title.includes(SEPARATOR);\n    if (isCommonGroup) {\n      return {\n        ...acc,\n        common: [...acc.common, cur]\n      };\n    }\n    const isNotAllowedReservedWord = cur.title.split(SEPARATOR)[0] !== \"GENDER\";\n    if (isNotAllowedReservedWord) {\n      return {\n        ...acc,\n        notAllowed: [...acc.notAllowed, cur]\n      };\n    }\n    const groupGender = cur.title.split(SEPARATOR)[1].split(\":\")[0];\n    const formattedTitleGroup = {\n      ...cur,\n      title: formatTitle(cur.title, \"GENDER\")\n    };\n    switch (groupGender) {\n      case \"F\":\n        return {\n          ...acc,\n          female: [...acc.female, formattedTitleGroup]\n        };\n      case \"M\":\n        return {\n          ...acc,\n          male: [...acc.male, formattedTitleGroup]\n        };\n      default:\n        return {\n          ...acc,\n          notAllowed: [...acc.notAllowed, cur]\n        };\n    }\n  }, {\n    male: [],\n    female: [],\n    common: [],\n    notAllowed: []\n  });\n  if (!gender || gender === \"F\") {\n    return [...genderProductGroup.female, ...genderProductGroup.common, ...genderProductGroup.male, ...genderProductGroup.notAllowed];\n  }\n  return [...genderProductGroup.male, ...genderProductGroup.common, ...genderProductGroup.female, ...genderProductGroup.notAllowed];\n};\nconst findCurrentProductGroupIndex = (productGroupList) => {\n  const now = createKRTimeZoneDate();\n  return productGroupList.findIndex((group, index) => {\n    const standardDate = new Date(group.title.split(\"@\")[1]);\n    const nextGroupList = productGroupList[index + 1];\n    const nextDate = nextGroupList ? new Date(nextGroupList.title.split(\"@\")[1]) : null;\n    const isFirstProductGroupList = index === 0;\n    const isLastProductGroupList = nextDate === null;\n    const isBeforeStart = isFirstProductGroupList && isBefore(now, standardDate);\n    const isLast = isLastProductGroupList && isAbove(now, standardDate);\n    const isWithin = !isLastProductGroupList && isWithinInterval(now, {\n      start: standardDate,\n      end: nextDate\n    });\n    return isBeforeStart || isLast || isWithin;\n  });\n};\nconst findCurrentProductGroupListByDate = (productGroupList) => {\n  const currentIndex = findCurrentProductGroupIndex(productGroupList);\n  return productGroupList[currentIndex ?? 0];\n};\nconst formatTitle = (title, reservedWord) => {\n  if (!reservedWord) {\n    return title;\n  }\n  const [, needToFormatTitle] = title.split(SEPARATOR);\n  switch (reservedWord) {\n    case \"DATE\":\n      return format(new Date(needToFormatTitle), \"M.d. EEEEE\", {\n        locale: ko\n      });\n    case \"GENDER\":\n      return needToFormatTitle.split(\":\")[1];\n    default:\n      return title;\n  }\n};\nexport {\n  findCurrentProductGroupIndex,\n  findInitialProductGroupId,\n  getProductGroupType,\n  reshapeProductGroupList\n};\n", "import { toDate } from \"./toDate.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nfunction addDays(date, amount) {\n  const _date = toDate(date);\n  if (isNaN(amount))\n    return constructFrom(date, NaN);\n  if (!amount) {\n    return _date;\n  }\n  _date.setDate(_date.getDate() + amount);\n  return _date;\n}\nexport {\n  addDays,\n  addDays as default\n};\n", "import { addDays } from \"./addDays.js\";\nfunction subDays(date, amount) {\n  return addDays(date, -amount);\n}\nexport {\n  subDays as default,\n  subDays\n};\n", "import { toDate } from \"./toDate.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nfunction addMonths(date, amount) {\n  const _date = toDate(date);\n  if (isNaN(amount))\n    return constructFrom(date, NaN);\n  if (!amount) {\n    return _date;\n  }\n  const dayOfMonth = _date.getDate();\n  const endOfDesiredMonth = constructFrom(date, _date.getTime());\n  endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n  const daysInMonth = endOfDesiredMonth.getDate();\n  if (dayOfMonth >= daysInMonth) {\n    return endOfDesiredMonth;\n  } else {\n    _date.setFullYear(\n      endOfDesiredMonth.getFullYear(),\n      endOfDesiredMonth.getMonth(),\n      dayOfMonth\n    );\n    return _date;\n  }\n}\nexport {\n  addMonths,\n  addMonths as default\n};\n", "import { addMonths } from \"./addMonths.js\";\nfunction subMonths(date, amount) {\n  return addMonths(date, -amount);\n}\nexport {\n  subMonths as default,\n  subMonths\n};\n", "import { subDays } from \"./subDays.js\";\nimport { subMonths } from \"./subMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nfunction sub(date, duration) {\n  const {\n    years = 0,\n    months = 0,\n    weeks = 0,\n    days = 0,\n    hours = 0,\n    minutes = 0,\n    seconds = 0\n  } = duration;\n  const dateWithoutMonths = subMonths(date, months + years * 12);\n  const dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7);\n  const minutestoSub = minutes + hours * 60;\n  const secondstoSub = seconds + minutestoSub * 60;\n  const mstoSub = secondstoSub * 1e3;\n  const finalDate = constructFrom(date, dateWithoutDays.getTime() - mstoSub);\n  return finalDate;\n}\nexport {\n  sub as default,\n  sub\n};\n", "import { toDate } from \"./toDate.js\";\nimport { addLeadingZeros } from \"./_lib/addLeadingZeros.js\";\nfunction formatISO(date, options) {\n  const _date = toDate(date);\n  if (isNaN(_date.getTime())) {\n    throw new RangeError(\"Invalid time value\");\n  }\n  const format = (options == null ? void 0 : options.format) ?? \"extended\";\n  const representation = (options == null ? void 0 : options.representation) ?? \"complete\";\n  let result = \"\";\n  let tzOffset = \"\";\n  const dateDelimiter = format === \"extended\" ? \"-\" : \"\";\n  const timeDelimiter = format === \"extended\" ? \":\" : \"\";\n  if (representation !== \"time\") {\n    const day = addLeadingZeros(_date.getDate(), 2);\n    const month = addLeadingZeros(_date.getMonth() + 1, 2);\n    const year = addLeadingZeros(_date.getFullYear(), 4);\n    result = `${year}${dateDelimiter}${month}${dateDelimiter}${day}`;\n  }\n  if (representation !== \"date\") {\n    const offset = _date.getTimezoneOffset();\n    if (offset !== 0) {\n      const absoluteOffset = Math.abs(offset);\n      const hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2);\n      const minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);\n      const sign = offset < 0 ? \"+\" : \"-\";\n      tzOffset = `${sign}${hourOffset}:${minuteOffset}`;\n    } else {\n      tzOffset = \"Z\";\n    }\n    const hour = addLeadingZeros(_date.getHours(), 2);\n    const minute = addLeadingZeros(_date.getMinutes(), 2);\n    const second = addLeadingZeros(_date.getSeconds(), 2);\n    const separator = result === \"\" ? \"\" : \"T\";\n    const time = [hour, minute, second].join(timeDelimiter);\n    result = `${result}${separator}${time}${tzOffset}`;\n  }\n  return result;\n}\nexport {\n  formatISO as default,\n  formatISO\n};\n", "import { createKRTimeZoneDate } from \"../../../../../utils/createUTCDate.js\";\nimport { compareAsc } from \"../../../../../node_modules/date-fns/compareAsc.js\";\nimport { parseISO } from \"../../../../../node_modules/date-fns/parseISO.js\";\nimport { formatDate as format } from \"../../../../../node_modules/date-fns/format.js\";\nimport { ko } from \"../../../../../node_modules/date-fns/locale/ko.js\";\nimport { isWithinInterval } from \"../../../../../node_modules/date-fns/isWithinInterval.js\";\nimport { isBefore } from \"../../../../../node_modules/date-fns/isBefore.js\";\nconst orderByDateAsc = (list) => list.sort((groupA, groupB) => compareAsc(groupA.startAt, groupB.startAt));\nconst formatSchedule = (str) => {\n  const schedule = parseISO(str);\n  return format(schedule, \"M.d. EEEEE\", {\n    locale: ko\n  });\n};\nconst getCurrentScheduleIndex = (list) => {\n  const now = createKRTimeZoneDate();\n  const currentIndex = list.findIndex((group, index) => {\n    const nextGroup = list[index + 1];\n    const start = parseISO(group.startAt);\n    const end = parseISO(group.endAt);\n    const isWithin = end ? isWithinInterval(now, {\n      start,\n      end\n    }) : false;\n    const isUpcoming = isBefore(now, start);\n    const isLast = nextGroup === void 0;\n    return isWithin || isUpcoming || isLast;\n  });\n  return currentIndex === -1 ? void 0 : currentIndex;\n};\nexport {\n  formatSchedule,\n  getCurrentScheduleIndex,\n  orderByDateAsc\n};\n", "import { createKRTimeZoneDate } from \"../../../../utils/createUTCDate.js\";\nimport { sub } from \"../../../../node_modules/date-fns/sub.js\";\nimport { formatISO } from \"../../../../node_modules/date-fns/formatISO.js\";\nimport { formatSchedule } from \"./TimeSaleCollectionTags/TimeSaleCollectionTags.utils.js\";\nconst DATE_PREFIX = \"DATE@\";\nconst removeDatePrefix = (str) => str.replace(DATE_PREFIX, \"\").trim();\nconst reshapeProductGroups = (list, displayEndAt) => list.map((item, index) => {\n  const nextGroup = list[index + 1];\n  const startAt = formatISO(createKRTimeZoneDate(removeDatePrefix(item.title)));\n  const endAt = nextGroup ? (\n    // NOTE: (\uD55C\uC9C0\uC6D0) \uC0C1\uD488 \uADF8\uB8F9 \uC751\uB2F5\uC5D0\uC11C \uC885\uB8CC\uC77C\uC744 \uBA85\uD655\uD788 \uC54C \uC218 \uC5C6\uC73C\uBBC0\uB85C, \uB2E4\uC74C \uC2A4\uCF00\uC904\uC758 1\uCD08 \uC804 \uC2DC\uAC04\uC744 \uC885\uB8CC\uC77C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.\n    formatISO(sub(createKRTimeZoneDate(removeDatePrefix(nextGroup.title)), {\n      seconds: 1\n    }))\n  ) : displayEndAt;\n  return {\n    ...item,\n    title: formatSchedule(startAt),\n    startAt,\n    endAt\n  };\n});\nexport {\n  removeDatePrefix,\n  reshapeProductGroups\n};\n", "import useSWR from \"../../../node_modules/swr/core/dist/index.js\";\nimport { QueryType } from \"../types.js\";\nimport { HeadlinePresetType, HeadlineActionType } from \"./HeadlineModule.types.js\";\nimport { brandSaleApi } from \"../../../apis/brand-sale/BrandSaleApiService.js\";\nimport { keywordCollectionApi } from \"../../../apis/keyword-collections/KeywordCollectionApiService.js\";\nimport { getProductGroupType } from \"../../systems/KeywordCollection/KeywordCollectionTags/KeywordCollectionTags.utils.js\";\nimport { reshapeProductGroups } from \"../../systems/curations/KeywordCollectionV2/TimeSaleCollection.utils.js\";\nimport { orderByDateAsc, getCurrentScheduleIndex } from \"../../../utils/date.js\";\nimport { getScheduleHeadline } from \"./HeadlineModule.utils.js\";\nconst HEADLINE_FETCHER_KEY = \"headline-module/headline\";\nconst useHeadlineQuery = (options) => {\n  const {\n    enabled: _enabled = true,\n    query,\n    preset\n  } = options;\n  const enabled = _enabled && query !== void 0;\n  const {\n    data,\n    isLoading,\n    ...rest\n  } = useSWR(enabled ? [HEADLINE_FETCHER_KEY, query, preset] : null, () => queryHeadline(query, preset));\n  const hasHeadline = data !== void 0 && data.title !== \"\";\n  return {\n    isLoading: isLoading || !enabled || !hasHeadline,\n    headline: data ?? {\n      title: \"\"\n    },\n    ...rest\n  };\n};\nconst fetchKeywordCollectionHeadline = async (query, preset) => {\n  if (!query.keywordCollectionId) {\n    return {\n      title: \"\"\n    };\n  }\n  const {\n    data\n  } = await keywordCollectionApi.getKeywordCollection(Number(query.keywordCollectionId));\n  const {\n    title,\n    description,\n    displayEndAt,\n    productGroups\n  } = data;\n  const [firstProductGroup] = productGroups;\n  if (preset === HeadlinePresetType.Link && firstProductGroup) {\n    return {\n      // TODO(\uC784\uADDC\uBBFC): title format \uC744 \uC678\uBD80\uC5D0\uC11C \uC785\uB825\uBC1B\uC744 \uC218 \uC788\uB3C4\uB85D \uCC98\uB9AC\n      title,\n      action: {\n        type: HeadlineActionType.Link,\n        // TODO(\uC784\uADDC\uBBFC): label \uC744 \uC678\uBD80\uC5D0\uC11C \uC785\uB825\uBC1B\uC744 \uC218 \uC788\uB3C4\uB85D \uCC98\uB9AC\n        label: \"\uC0C1\uD488 \uC804\uCCB4\uBCF4\uAE30\",\n        query\n      },\n      query: {\n        ...query,\n        displayEndAt: displayEndAt ?? void 0,\n        couponId: data.couponId ?? void 0,\n        productGroups,\n        selectedProductGroup: {\n          id: firstProductGroup.productGroupId,\n          sort: firstProductGroup.sort,\n          index: 0\n        }\n      }\n    };\n  }\n  if (preset === HeadlinePresetType.Schedule) {\n    const type = getProductGroupType(productGroups);\n    if (type === \"DATE\") {\n      const groups = orderByDateAsc(reshapeProductGroups(productGroups, displayEndAt ?? \"\"), (x) => x.startAt);\n      const currentIndex = getCurrentScheduleIndex(groups, (x) => x.startAt, (x) => x.endAt) ?? 0;\n      const {\n        productGroupId,\n        sort,\n        startAt,\n        endAt\n      } = groups[currentIndex];\n      return getScheduleHeadline({\n        ...query,\n        displayEndAt: displayEndAt ?? void 0,\n        couponId: data.couponId ?? void 0,\n        productGroups,\n        selectedProductGroup: {\n          id: productGroupId,\n          sort,\n          index: currentIndex,\n          startAt,\n          endAt\n        }\n      }, startAt, endAt);\n    }\n  }\n  return {\n    title,\n    description: description ?? void 0,\n    action: {\n      type: HeadlineActionType.External\n    },\n    query: {\n      ...query,\n      displayEndAt: displayEndAt ?? void 0,\n      couponId: data.couponId ?? void 0,\n      productGroups,\n      selectedProductGroup: {\n        id: firstProductGroup.productGroupId,\n        sort: firstProductGroup.sort,\n        index: 0\n      }\n    }\n  };\n};\nconst fetchCouponCollectionHeadline = async (query) => {\n  if (!query.brandSaleGroupId) {\n    return {\n      title: \"\"\n    };\n  }\n  const {\n    data\n  } = await brandSaleApi.getBrandSaleGroup(Number(query.brandSaleGroupId));\n  const {\n    title,\n    description,\n    brandSaleList\n  } = data;\n  return {\n    title,\n    description,\n    action: {\n      type: HeadlineActionType.External\n    },\n    query: {\n      ...query,\n      brandSales: brandSaleList\n    }\n  };\n};\nconst queryHeadline = (query, preset) => {\n  if (!query) {\n    return {\n      title: \"\"\n    };\n  }\n  switch (query.type) {\n    case QueryType.KeywordCollection:\n      return fetchKeywordCollectionHeadline(query, preset);\n    case QueryType.CouponCollection:\n      return fetchCouponCollectionHeadline(query);\n    default:\n      return {\n        title: \"\"\n      };\n  }\n};\nexport {\n  useHeadlineQuery\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { HeadlineElement } from \"../HeadlineElement/HeadlineElement.js\";\nimport \"../../../systems/curations/IntersectionProvider/IntersectionProvider.js\";\nimport { useIntersectionContext } from \"../../../systems/curations/IntersectionProvider/IntersectionProvider.hooks.js\";\nimport { useHeadlineQuery } from \"../HeadlineModule.hooks.js\";\nimport { getHeadlinePreset } from \"../HeadlineModule.utils.js\";\nconst AutoHeadlineModule = ({\n  query,\n  input,\n  output,\n  layout,\n  actionElement\n}) => {\n  const {\n    isInView\n  } = useIntersectionContext();\n  const {\n    isLoading,\n    headline\n  } = useHeadlineQuery({\n    query,\n    preset: getHeadlinePreset(layout),\n    enabled: isInView\n  });\n  return /* @__PURE__ */ jsx(HeadlineElement, { loading: isLoading, input: {\n    ...headline,\n    title: input.title || headline.title,\n    description: input.description || headline.description\n  }, output, layout, actionElement });\n};\nexport {\n  AutoHeadlineModule\n};\n", "import { jsx } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType } from \"framer\";\nimport { BREAKPOINT_CONTROLS } from \"../../../libs/property-controls/breakpoint.js\";\nimport { THEME_CONTROLS } from \"../../../libs/property-controls/theme.js\";\nimport { COMPONENT_ID_PROPS } from \"../../../libs/property-controls/component-id.js\";\nimport { HeadlineModuleInputType, HeadlineActionType, HeadlinePresetType } from \"./HeadlineModule.types.js\";\nimport { SectionLayout } from \"../../systems/curations/SectionLayout/SectionLayout.js\";\nimport { HeadlineElement } from \"./HeadlineElement/HeadlineElement.js\";\nimport { LinkedHeadlineModule } from \"./LinkedHeadlineModule/LinkedHeadlineModule.js\";\nimport { ProfilesModuleInputType } from \"../ProfilesModule/ProfilesModule.types.js\";\nimport { AUTO_HEADLINE_MODULE_QUERY } from \"./HeadlineModule.controls.js\";\nimport { AutoHeadlineModule } from \"./AutoHeadlineModule/AutoHeadlineModule.js\";\nconst HeadlineModuleInner = ({\n  input,\n  output,\n  layout,\n  actionElement\n}) => {\n  switch (input.type) {\n    case HeadlineModuleInputType.Linked:\n      return /* @__PURE__ */ jsx(LinkedHeadlineModule, { ...input, output, layout, actionElement });\n    case HeadlineModuleInputType.Auto:\n      return /* @__PURE__ */ jsx(AutoHeadlineModule, { ...input, output, layout, actionElement });\n    case HeadlineModuleInputType.Manual:\n      return /* @__PURE__ */ jsx(HeadlineElement, { ...input, output, layout, actionElement });\n  }\n};\nconst HeadlineModule = ({\n  componentId,\n  breakpoint,\n  theme,\n  ...rest\n}) => {\n  return /* @__PURE__ */ jsx(SectionLayout, { theme, breakpoint, componentId, children: /* @__PURE__ */ jsx(HeadlineModuleInner, { ...rest }) });\n};\naddPropertyControls(HeadlineModule, {\n  ...BREAKPOINT_CONTROLS,\n  ...THEME_CONTROLS,\n  ...COMPONENT_ID_PROPS,\n  input: {\n    type: ControlType.Object,\n    title: \"\uC785\uB825 \uAC12\",\n    controls: {\n      type: {\n        type: ControlType.Enum,\n        title: \"\uC720\uD615\",\n        options: [HeadlineModuleInputType.Linked, HeadlineModuleInputType.Manual, HeadlineModuleInputType.Auto],\n        optionTitles: [\"\uC5F0\uACB0\", \"\uC218\uB3D9\", \"\uC790\uB3D9\"]\n      },\n      value: {\n        hidden: ({\n          type\n        }) => type !== HeadlineModuleInputType.Linked,\n        type: ControlType.String,\n        title: \"\uCD9C\uB825 \uAC12\",\n        defaultValue: \"\"\n      },\n      input: {\n        type: ControlType.Object,\n        title: \"\uD5E4\uB4DC\uB77C\uC778 \uC635\uC158\",\n        description: \"\uC790\uB3D9 \uB610\uB294 \uC5F0\uACB0 \uC720\uD615\uC77C \uB54C\uC5D0\uB294 \uB370\uC774\uD130\uB97C \uD1B5\uD574 \uAC00\uC838\uC628 \uC635\uC158\uC744 \uB300\uCCB4\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\",\n        controls: {\n          title: {\n            type: ControlType.String,\n            title: \"\uC81C\uBAA9\",\n            placeholder: \"\uC81C\uBAA9 \uD14D\uC2A4\uD2B8 \uC785\uB825\",\n            defaultValue: \"\"\n          },\n          description: {\n            type: ControlType.String,\n            title: \"\uC124\uBA85\",\n            placeholder: \"\uC124\uBA85 \uD14D\uC2A4\uD2B8 \uC785\uB825\",\n            defaultValue: \"\",\n            displayTextArea: true\n          },\n          action: {\n            hidden: ({\n              type\n            }) => type !== HeadlineModuleInputType.Manual,\n            type: ControlType.Object,\n            title: \"\uC561\uC158\",\n            controls: {\n              type: {\n                type: ControlType.Enum,\n                title: \"\uC720\uD615\",\n                options: [HeadlineActionType.External],\n                optionTitles: [\"\uC678\uBD80 \uC5F0\uACB0\"]\n              }\n            }\n          }\n        }\n      },\n      query: {\n        hidden: ({\n          type\n        }) => type !== ProfilesModuleInputType.Auto,\n        ...AUTO_HEADLINE_MODULE_QUERY\n      }\n    }\n  },\n  output: {\n    type: ControlType.String,\n    title: \"\uCD9C\uB825 \uAC12\",\n    defaultValue: \"\"\n  },\n  // NOTE:(\uAE40\uD64D\uB3D9) \uCC38\uACE0) ControlType.ComponentInstance\uC740 \uAC1D\uCCB4 \uB0B4\uC5D0\uC11C \uC815\uC758\uD560 \uC218 \uC5C6\uACE0 \uBC30\uC5F4 \uB0B4\uC5D0\uC11C \uC815\uC758\uD55C \uACBD\uC6B0 \uC635\uC158\uC5D0 \uBBF8\uB178\uCD9C \uB418\uBBC0\uB85C \uCD5C\uC0C1\uB2E8\uC5D0 \uC704\uCE58\uC2DC\uD0B5\uB2C8\uB2E4.\n  actionElement: {\n    type: ControlType.ComponentInstance,\n    title: \"\uC561\uC158 \uCEF4\uD3EC\uB10C\uD2B8\",\n    description: \"\uD5E4\uB4DC\uB77C\uC778 \uC6B0\uCE21\uC5D0 \uBCC4\uB3C4\uC758 \uCEF4\uD3EC\uB10C\uD2B8\uAC00 \uC0BD\uC785\uB418\uC5B4\uC57C \uD558\uB294 \uACBD\uC6B0 \uC5F0\uACB0\"\n  },\n  layout: {\n    title: \"\uB808\uC774\uC544\uC6C3\",\n    type: ControlType.Object,\n    controls: {\n      priority: {\n        type: ControlType.Enum,\n        title: \"\uC6B0\uC120 \uC21C\uC704\",\n        description: \"\uBBF8\uB514\uC5B4 \uAD00\uB828 \uC635\uC158\uC740 primary \uC77C \uB54C\uC5D0\uB9CC \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4.\",\n        options: [\"primary\", \"secondary\", \"tertiary\"]\n      },\n      preset: {\n        hidden: ({\n          priority\n        }, {\n          input\n        }) => priority === \"primary\" || input.type === HeadlineModuleInputType.Manual,\n        type: ControlType.Enum,\n        title: \"\uD504\uB9AC\uC14B\",\n        options: [HeadlinePresetType.Default, HeadlinePresetType.Schedule, HeadlinePresetType.Link],\n        optionTitles: [\"\uAE30\uBCF8\", \"\uC77C\uC790\uBCC4\", \"\uB9C1\uD06C\"]\n      },\n      mediaType: {\n        hidden: ({\n          priority\n        }) => priority !== \"primary\",\n        type: ControlType.Enum,\n        title: \"\uBBF8\uB514\uC5B4 \uC720\uD615\",\n        description: \"\uC0BD\uC785\uD560 \uD0A4\uBE44\uC8FC\uC5BC\uC758 \uBBF8\uB514\uC5B4 \uC720\uD615 \uC120\uD0DD\",\n        options: [\"none\", \"image\", \"video\"],\n        optionTitles: [\"\uC120\uD0DD \uC548 \uD568\", \"\uC774\uBBF8\uC9C0\", \"\uC601\uC0C1\"]\n      },\n      imageSrc: {\n        hidden: ({\n          priority,\n          mediaType\n        }) => priority !== \"primary\" || mediaType !== \"image\",\n        type: ControlType.String,\n        title: \"\uC774\uBBF8\uC9C0 URL\",\n        placeholder: \"\uC774\uBBF8\uC9C0 URL \uC785\uB825\"\n      },\n      videoSrc: {\n        hidden: ({\n          priority,\n          mediaType\n        }) => priority !== \"primary\" || mediaType !== \"video\",\n        type: ControlType.String,\n        title: \"\uC601\uC0C1 URL\",\n        placeholder: \"\uC601\uC0C1 URL \uC785\uB825\"\n      },\n      videoSrcWebm: {\n        hidden: ({\n          priority,\n          mediaType\n        }) => priority !== \"primary\" || mediaType !== \"video\",\n        type: ControlType.String,\n        title: \"WEBM \uC601\uC0C1 URL\",\n        placeholder: \"WEBM \uD3EC\uB9F7\uC758 \uC601\uC0C1 URL \uC785\uB825\"\n      },\n      poster: {\n        hidden: ({\n          priority,\n          mediaType\n        }) => priority !== \"primary\" || mediaType !== \"video\",\n        type: ControlType.String,\n        title: \"\uD3EC\uC2A4\uD130 \uC774\uBBF8\uC9C0 URL\",\n        description: \"\uC601\uC0C1\uC774 \uC790\uB3D9\uC7AC\uC0DD\uB418\uC9C0 \uC54A\uB294 \uD658\uACBD(ex. \uC800\uC804\uB825 \uBAA8\uB4DC)\uC5D0\uC11C \uC784\uC2DC\uB85C \uB178\uCD9C\uD560 \uC774\uBBF8\uC9C0 URL\uC744 \uC785\uB825\uD569\uB2C8\uB2E4.\",\n        placeholder: \"\uD3EC\uC2A4\uD130 \uC774\uBBF8\uC9C0 URL \uC785\uB825\"\n      },\n      lazy: {\n        hidden: ({\n          priority,\n          mediaType\n        }) => priority !== \"primary\" || mediaType === \"none\",\n        type: ControlType.Boolean,\n        title: \"\uBBF8\uB514\uC5B4 \uC9C0\uC5F0 \uC694\uCCAD\",\n        description: \"\uCEF4\uD3EC\uB10C\uD2B8\uAC00 \uD654\uBA74\uC5D0 \uBCF4\uC77C \uB54C\uC5D0\uB9CC \uBBF8\uB514\uC5B4\uB97C \uB85C\uB4DC\uD569\uB2C8\uB2E4.\\n(\uC131\uB2A5 \uCD5C\uC801\uD654\uB97C \uC704\uD574 \uD65C\uC131\uD654\uD558\uB294 \uAC83\uC744 \uAD8C\uC7A5\uD569\uB2C8\uB2E4.)\",\n        defaultValue: true\n      },\n      padding: {\n        type: ControlType.FusedNumber,\n        title: \"\uD328\uB529\",\n        defaultValue: 0,\n        toggleKey: \"isMixed\",\n        toggleTitles: [\"All\", \"Individual\"],\n        valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n        valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n        min: 0\n      }\n    }\n  }\n});\nexport {\n  HeadlineModule\n};\n", "import{HeadlineModule}from\"https://asset.29cm.co.kr/contents/framer/components/modules/HeadlineModule/HeadlineModule.js\";HeadlineModule.displayName=\"HeadlineModule\";export default HeadlineModule;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HeadlineModule\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HeadlineModule.map"],
  "mappings": "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",
  "names": ["Breakpoint", "Breakpoint2", "BREAKPOINT_CONTROLS", "ControlType", "Breakpoint", "Theme", "Theme2", "THEME_CONTROLS", "ControlType", "Theme", "COMPONENT_ID_PROPS", "ControlType", "HeadlineActionType", "HeadlineActionType2", "HeadlinePresetType", "HeadlinePresetType2", "HeadlineModuleInputType", "HeadlineModuleInputType2", "IntersectionContext", "z", "IntersectionProvider", "children", "rest", "ref", "pe", "isInView", "useInView", "p", "SectionLayout", "children", "theme", "breakpoint", "componentId", "intersectionOptions", "p", "ThemeProvider", "BreakpointProvider", "IntersectionProvider", "EventTrackingProvider", "SWRConfig", "HeadlineContext", "z", "Root", "Y", "children", "style", "priority", "loading", "rest", "ref", "p", "containerStyle", "containerStyleByPriority", "__defProp", "__defNormalProp", "obj", "key", "value", "__publicField", "MediaBuilder", "src", "name", "quality", "format", "width", "widths", "url", "mediaBuilder", "useBreakpointContext", "re", "BreakpointContext", "useBreakpoint", "breakpoint", "useBreakpointContext", "SRC_SET_WIDTHS", "Image", "Y", "source", "lazy", "ref", "breakpoint", "useBreakpoint", "result", "mediaBuilder", "p", "containerStyle", "containerStyleByBreakpoint", "Video", "Y", "poster", "source", "sourceWebm", "lazy", "ref", "breakpoint", "useBreakpoint", "fallbackRef", "pe", "isInView", "useInView", "query", "se", "querify", "posterWidthByBreakpoint", "p", "containerStyle", "containerStyleByBreakpoint", "media", "mediaByBreakpoint", "u", "useHeadlineContext", "context", "re", "HeadlineContext", "classNames", "withStyle", "createWithStyle", "ComponentName", "css", "Content", "Y", "children", "style", "rest", "ref", "breakpoint", "useBreakpoint", "priority", "useHeadlineContext", "p", "wrapperStyle", "wrapperStyleByBreakpoint", "wrapperStyleByPriority", "contentStyle", "contentStyleByPriority", "useThemeContext", "re", "ThemeContext", "useTheme", "theme", "useThemeContext", "Title", "Y", "children", "style", "rest", "ref", "priority", "loading", "useHeadlineContext", "breakpoint", "useBreakpoint", "theme", "useTheme", "p", "Skeleton", "skeletonStyle", "skeletonStyleByPriority", "skeletonStyleByTheme", "containerStyle", "textStyle", "textColor", "typography", "Description", "Y", "children", "style", "rest", "ref", "priority", "loading", "useHeadlineContext", "theme", "useTheme", "p", "Skeleton", "skeletonStyle", "skeletonStyleByPriority", "skeletonStyleByTheme", "containerStyle", "containerStyleByPriority", "textColor", "typography", "Action", "Y", "children", "style", "rest", "ref", "p", "containerStyle", "Gradient", "Y", "style", "rest", "ref", "theme", "useTheme", "p", "containerStyle", "containerStyleByTheme", "Body", "Y", "children", "style", "rest", "ref", "priority", "useHeadlineContext", "p", "containerStyle", "containerStyleByPriority", "Headline", "Root", "Image", "Video", "Content", "Body", "Title", "Description", "Action", "Gradient", "HeadlineMediaElement", "mediaType", "imageSrc", "videoSrc", "videoSrcWebm", "poster", "lazy", "p", "Headline", "TextButton", "children", "style", "as", "theme", "size", "prefixIcon", "postfixIcon", "variant", "backgroundColor", "color", "isUnderlined", "rest", "ref", "Component", "variantStyle", "textButtonStyleByVariant", "textButtonStyle", "baseTextButtonStyle", "textButtonStyleBySize", "reshapedProps", "u", "p", "Icon", "getIconType", "getIconFill", "iconSizeByButtonSize", "contentStyle", "icon", "typography", "Default", "Y", "CONTENT_DOMAIN_HOSTNAME", "useCreateAppSchemeLink", "href", "options", "fullPath", "params", "getOnOffValue", "queryString", "value", "getAnchorTarget", "url", "isServer", "normalizeURL", "window", "hasOrigin", "origin", "pathname", "useNavigatePage", "url", "createAppSchemeLink", "useCreateAppSchemeLink", "isWebview", "window", "getAnchorTarget", "QueryType", "QueryType2", "RankingType", "RankingType2", "PopularityPeriodType", "PopularityPeriodType2", "TrendingPeriodType", "TrendingPeriodType2", "CategoryType", "CategoryType2", "getCouponCollectionHref", "query", "componentId", "env", "querify", "getKeywordCollectionHref", "_a", "getHref", "QueryType", "useTrackClickButtonEvent", "trackSnowplowEvent", "useTrackSnowplowEvent", "componentId", "useComponentId", "type", "layoutPosition", "name", "HeadlineLinkActionElement", "action", "theme", "useTheme", "componentId", "useComponentId", "trackClickButtonEvent", "useTrackClickButtonEvent", "navigate", "useNavigatePage", "getHref", "p", "Default", "defaultOptions", "getDefaultOptions", "constructFrom", "date", "value", "startOfYear", "date", "cleanDate", "toDate", "_date", "constructFrom", "getDayOfYear", "date", "_date", "toDate", "differenceInCalendarDays", "startOfYear", "startOfWeek", "date", "options", "_a", "_b", "_c", "_d", "defaultOptions", "getDefaultOptions", "weekStartsOn", "_date", "toDate", "day", "diff", "startOfISOWeek", "date", "startOfWeek", "getISOWeekYear", "date", "_date", "toDate", "year", "fourthOfJanuaryOfNextYear", "constructFrom", "startOfNextYear", "startOfISOWeek", "fourthOfJanuaryOfThisYear", "startOfThisYear", "startOfISOWeekYear", "date", "year", "getISOWeekYear", "fourthOfJanuary", "constructFrom", "startOfISOWeek", "getISOWeek", "date", "_date", "toDate", "diff", "startOfISOWeek", "startOfISOWeekYear", "getWeekYear", "date", "options", "_a", "_b", "_c", "_d", "_date", "toDate", "year", "defaultOptions", "getDefaultOptions", "firstWeekContainsDate", "firstWeekOfNextYear", "constructFrom", "startOfNextYear", "startOfWeek", "firstWeekOfThisYear", "startOfThisYear", "startOfWeekYear", "date", "options", "_a", "_b", "_c", "_d", "defaultOptions", "getDefaultOptions", "firstWeekContainsDate", "year", "getWeekYear", "firstWeek", "constructFrom", "startOfWeek", "getWeek", "date", "options", "_date", "toDate", "diff", "startOfWeek", "startOfWeekYear", "addLeadingZeros", "number", "targetLength", "sign", "output", "lightFormatters", "date", "token", "signedYear", "year", "addLeadingZeros", "month", "dayPeriodEnumValue", "numberOfDigits", "milliseconds", "fractionalSeconds", "dayPeriodEnum", "formatters", "date", "token", "localize", "era", "signedYear", "year", "lightFormatters", "options", "signedWeekYear", "getWeekYear", "weekYear", "twoDigitYear", "addLeadingZeros", "isoWeekYear", "getISOWeekYear", "quarter", "month", "week", "getWeek", "isoWeek", "getISOWeek", "dayOfYear", "getDayOfYear", "dayOfWeek", "localDayOfWeek", "isoDayOfWeek", "dayPeriodEnumValue", "hours", "_localize", "timezoneOffset", "formatTimezoneWithOptionalMinutes", "formatTimezone", "formatTimezoneShort", "timestamp", "offset", "delimiter", "sign", "absOffset", "minutes", "dateLongFormatter", "pattern", "formatLong", "timeLongFormatter", "dateTimeLongFormatter", "matchResult", "datePattern", "timePattern", "dateTimeFormat", "longFormatters", "dayOfYearTokenRE", "weekYearTokenRE", "throwTokens", "isProtectedDayOfYearToken", "token", "isProtectedWeekYearToken", "warnOrThrowProtectedError", "format", "input", "_message", "message", "subject", "isDate", "value", "isValid", "date", "isDate", "_date", "toDate", "formatDistanceLocale", "formatDistance", "token", "count", "options", "result", "tokenValue", "buildFormatLongFn", "args", "options", "width", "dateFormats", "timeFormats", "dateTimeFormats", "formatLong", "buildFormatLongFn", "formatRelativeLocale", "formatRelative", "token", "_date", "_baseDate", "_options", "buildLocalizeFn", "args", "value", "options", "context", "valuesArray", "defaultWidth", "width", "index", "eraValues", "quarterValues", "monthValues", "dayValues", "dayPeriodValues", "formattingDayPeriodValues", "ordinalNumber", "dirtyNumber", "_options", "number", "rem100", "localize", "buildLocalizeFn", "quarter", "buildMatchFn", "args", "string", "options", "width", "matchPattern", "matchResult", "matchedString", "parsePatterns", "key", "findIndex", "pattern", "findKey", "value", "rest", "object", "predicate", "array", "buildMatchPatternFn", "args", "string", "options", "matchResult", "matchedString", "parseResult", "value", "rest", "matchOrdinalNumberPattern", "parseOrdinalNumberPattern", "matchEraPatterns", "parseEraPatterns", "matchQuarterPatterns", "parseQuarterPatterns", "matchMonthPatterns", "parseMonthPatterns", "matchDayPatterns", "parseDayPatterns", "matchDayPeriodPatterns", "parseDayPeriodPatterns", "match", "buildMatchPatternFn", "value", "buildMatchFn", "index", "enUS", "formatDistance", "formatLong", "formatRelative", "localize", "match", "formattingTokensRegExp", "longFormattingTokensRegExp", "escapedStringRegExp", "doubleQuoteRegExp", "unescapedLatinCharacterRegExp", "format", "date", "formatStr", "options", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "defaultOptions", "getDefaultOptions", "locale", "enUS", "firstWeekContainsDate", "weekStartsOn", "originalDate", "toDate", "isValid", "parts", "substring", "firstCharacter", "longFormatter", "longFormatters", "cleanEscapedString", "formatters", "formatterOptions", "part", "token", "isProtectedWeekYearToken", "isProtectedDayOfYearToken", "warnOrThrowProtectedError", "formatter", "input", "matched", "HeadlineCountdownActionElement", "action", "endAt", "theme", "useTheme", "p", "Countdown", "format", "countdownColorByTheme", "typography", "HeadlineActionElement", "actionElement", "action", "HeadlineActionType", "p", "HeadlineLinkActionElement", "HeadlineCountdownActionElement", "initialState", "useQueryStore", "create", "set", "key", "query", "prev", "getPaddingStyle", "value", "getPadding", "HeadlineElement", "loading", "input", "output", "layout", "actionElement", "dispatchSetQuery", "useQueryStore", "state", "title", "description", "action", "priority", "mediaType", "rest", "hasMediaType", "isPrimary", "canRenderMedia", "ue", "padding", "getPadding", "u", "Headline", "p", "HeadlineMediaElement", "HeadlineActionElement", "UTCDateMini", "re", "method", "utcMethod", "UTCDate", "UTCDateMini", "date", "time", "weekday", "weekdayFormat", "dateFormat", "year", "timeFormat", "locales", "options", "tzTokenizeDate", "date", "timeZone", "dtf", "getDateTimeFormat", "partsOffset", "hackyOffset", "typeToPos", "formatted", "filled", "i", "pos", "error", "parsed", "dtfCache", "testDateFormatted", "hourCycleSupported", "newDateUTC", "fullYear", "month", "day", "hour", "minute", "second", "millisecond", "utcDate", "MILLISECONDS_IN_HOUR", "MILLISECONDS_IN_MINUTE", "patterns", "tzParseTimezone", "timezoneString", "date", "isUtcDate", "token", "hours", "absoluteOffset", "validateTimezone", "minutes", "isValidTimezoneIANAString", "utcDate", "toUtcDate", "offset", "calcOffset", "fixOffset", "newDateUTC", "tokens", "tzTokenizeDate", "asUTC", "asTS", "over", "utcGuess", "o2", "o3", "validIANATimezoneCache", "timeZoneString", "getTimezoneOffsetInMilliseconds", "date", "utcDate", "tzPattern", "MILLISECONDS_IN_HOUR", "MILLISECONDS_IN_MINUTE", "DEFAULT_ADDITIONAL_DIGITS", "patterns", "tzPattern", "toDate", "argument", "options", "additionalDigits", "dateStrings", "splitDateString", "year", "restDateString", "parseYear", "date", "parseDate", "timestamp", "time", "offset", "parseTime", "tzParseTimezone", "getTimezoneOffsetInMilliseconds", "dateString", "parts", "timeString", "token", "patternYYY", "patternYYYYY", "yearString", "centuryString", "month", "week", "validateDate", "dayOfYear", "validateDayOfYearDate", "day", "validateWeekDate", "dayOfISOWeekYear", "dayOfWeek", "hours", "minutes", "validateTime", "seconds", "isoWeekYear", "fourthOfJanuaryDay", "diff", "DAYS_IN_MONTH", "DAYS_IN_MONTH_LEAP_YEAR", "isLeapYearIndex", "isLeapYear", "toZonedTime", "date", "timeZone", "options", "toDate", "offsetMilliseconds", "tzParseTimezone", "d", "resultDate", "createKRTimeZoneDate", "date", "utcDate", "UTCDate", "toZonedTime", "isEqual", "leftDate", "rightDate", "_dateLeft", "toDate", "_dateRight", "isAfter", "date", "dateToCompare", "_date", "toDate", "_dateToCompare", "compareAsc", "dateLeft", "dateRight", "_dateLeft", "toDate", "_dateRight", "diff", "isWithinInterval", "date", "interval", "time", "toDate", "startTime", "endTime", "a", "b", "isBefore", "date", "dateToCompare", "_date", "toDate", "_dateToCompare", "isAbove", "date", "dateToCompare", "isEqual", "isAfter", "orderByDateAsc", "items", "selector", "x", "y", "compareAsc", "getCurrentScheduleIndex", "list", "startDateSelector", "endDateSelector", "now", "createKRTimeZoneDate", "currentIndex", "item", "index", "nextItem", "startDate", "endDate", "start", "parseISO", "end", "isWithin", "isWithinInterval", "isUpcoming", "isBefore", "getScheduleStatus", "startAt", "endAt", "formatDistanceLocale", "formatDistance", "token", "count", "options", "result", "tokenValue", "dateFormats", "timeFormats", "dateTimeFormats", "formatLong", "buildFormatLongFn", "formatRelativeLocale", "formatRelative", "token", "_date", "_baseDate", "_options", "eraValues", "quarterValues", "monthValues", "dayValues", "dayPeriodValues", "formattingDayPeriodValues", "ordinalNumber", "dirtyNumber", "options", "number", "localize", "buildLocalizeFn", "quarter", "matchOrdinalNumberPattern", "parseOrdinalNumberPattern", "matchEraPatterns", "parseEraPatterns", "matchQuarterPatterns", "parseQuarterPatterns", "matchMonthPatterns", "parseMonthPatterns", "matchDayPatterns", "parseDayPatterns", "matchDayPeriodPatterns", "parseDayPeriodPatterns", "match", "buildMatchPatternFn", "value", "buildMatchFn", "index", "ko", "formatDistance", "formatLong", "formatRelative", "localize", "match", "getScheduleHeadline", "query", "startAt", "endAt", "start", "parseISO", "end", "status", "getScheduleStatus", "getScheduleHeadlineTitle", "getScheduleHeadlineAction", "HeadlineActionType", "format", "ko", "getHeadlinePreset", "layout", "HeadlinePresetType", "getCouponCollectionHeadline", "query", "preset", "displayStartAt", "displayEndAt", "frontBrand", "title", "description", "hasFrontBrand", "HeadlinePresetType", "HeadlineActionType", "hasSchedule", "getScheduleHeadline", "getKeywordCollectionHeadline", "selectedProductGroup", "startAt", "endAt", "getHeadline", "QueryType", "createKey", "query", "_a", "LinkedHeadlineModule", "value", "input", "output", "layout", "actionElement", "query", "useQueryStore", "state", "headline", "se", "getHeadline", "getHeadlinePreset", "p", "HeadlineElement", "createKey", "ProfilesModuleInputType", "ProfilesModuleInputType2", "combineObjectPropertyControls", "controls", "entries", "prev", "curr", "key", "incoming", "copied", "existing", "ControlType", "mergeEnumControlDescription", "CouponType", "CouponType2", "DiscountType", "DiscountType2", "AvailableDayType", "AvailableDayType2", "CouponModuleInputType", "CouponModuleInputType2", "CouponUpdateType", "CouponUpdateType2", "PRODUCT_CONTROLS", "ControlType", "QueryType", "type", "KEYWORD_COLLECTION_CONTROLS", "KEYWORD_COLLECTIONS_CONTROLS", "BRAND_CURATION_CONTROLS", "RECOMMENDATION_CONTROLS", "RANKING_CONTROLS", "RankingType", "rankingType", "PopularityPeriodType", "TrendingPeriodType", "CategoryType", "COUPON_COLLECTION_CONTROLS", "RAFFLE_GROUP_CONTROLS", "COUPON_CONTROLS", "CouponType", "props", "CouponUpdateType", "QUERY_CONTROL", "AUTO_HEADLINE_MODULE_QUERY", "QUERY_CONTROL", "combineObjectPropertyControls", "KEYWORD_COLLECTION_CONTROLS", "COUPON_COLLECTION_CONTROLS", "useIntersectionContext", "re", "IntersectionContext", "GENERAL_ERROR", "__defProp", "__defNormalProp", "obj", "key", "value", "__publicField", "APIService", "method", "url", "data", "config", "_a", "response", "configure", "GENERAL_ERROR", "json", "middleware", "baseUrl", "path", "headers", "createHeaders", "options", "isGetMethod", "appendQuery", "query", "separator", "querify", "throwFailError", "response", "GENERAL_ERROR", "BrandSaleApiService", "APIService", "env", "throwFailError", "brandSaleGroupId", "brandSaleId", "brandSaleCouponId", "size", "couponCollectionId", "params", "res", "formatProducts", "brandSaleApi", "products", "product", "_a", "category", "KeywordCollectionApiService", "APIService", "throwFailError", "collectionId", "env", "productGroupId", "sort", "page", "size", "data", "product", "_a", "category", "keywordCollectionApi", "SEPARATOR", "reservedWords", "getProductGroupType", "productGroupList", "includedReservedWordProductGroup", "group", "firstReservedWord", "addDays", "date", "amount", "_date", "toDate", "constructFrom", "subDays", "date", "amount", "addDays", "addMonths", "date", "amount", "_date", "toDate", "constructFrom", "dayOfMonth", "endOfDesiredMonth", "daysInMonth", "subMonths", "date", "amount", "addMonths", "sub", "date", "duration", "years", "months", "weeks", "days", "hours", "minutes", "seconds", "dateWithoutMonths", "subMonths", "dateWithoutDays", "subDays", "minutestoSub", "mstoSub", "constructFrom", "formatISO", "date", "options", "_date", "toDate", "format", "representation", "result", "tzOffset", "dateDelimiter", "timeDelimiter", "day", "addLeadingZeros", "month", "offset", "absoluteOffset", "hourOffset", "minuteOffset", "hour", "minute", "second", "separator", "time", "formatSchedule", "str", "schedule", "parseISO", "format", "ko", "DATE_PREFIX", "removeDatePrefix", "str", "reshapeProductGroups", "list", "displayEndAt", "item", "index", "nextGroup", "startAt", "formatISO", "createKRTimeZoneDate", "endAt", "sub", "formatSchedule", "HEADLINE_FETCHER_KEY", "useHeadlineQuery", "options", "_enabled", "query", "preset", "enabled", "data", "isLoading", "rest", "useSWR", "queryHeadline", "hasHeadline", "fetchKeywordCollectionHeadline", "keywordCollectionApi", "title", "description", "displayEndAt", "productGroups", "firstProductGroup", "HeadlinePresetType", "HeadlineActionType", "getProductGroupType", "groups", "orderByDateAsc", "reshapeProductGroups", "x", "currentIndex", "getCurrentScheduleIndex", "productGroupId", "sort", "startAt", "endAt", "getScheduleHeadline", "fetchCouponCollectionHeadline", "brandSaleApi", "brandSaleList", "QueryType", "AutoHeadlineModule", "query", "input", "output", "layout", "actionElement", "isInView", "useIntersectionContext", "isLoading", "headline", "useHeadlineQuery", "getHeadlinePreset", "p", "HeadlineElement", "HeadlineModuleInner", "input", "output", "layout", "actionElement", "HeadlineModuleInputType", "p", "LinkedHeadlineModule", "AutoHeadlineModule", "HeadlineElement", "HeadlineModule", "componentId", "breakpoint", "theme", "rest", "SectionLayout", "addPropertyControls", "BREAKPOINT_CONTROLS", "THEME_CONTROLS", "COMPONENT_ID_PROPS", "ControlType", "type", "HeadlineActionType", "ProfilesModuleInputType", "AUTO_HEADLINE_MODULE_QUERY", "priority", "HeadlinePresetType", "mediaType", "HeadlineModule", "HeadlineModule_default"]
}
