{"version":3,"file":"EventScheduleProvider.BYLZx-Rb.mjs","names":["useMemo","useState","useContext","createContext","useMemo"],"sources":["https:/asset.29cm.co.kr/contents/framer/components/systems/curations/EventScheduleProvider/EventScheduleProvider.hooks.js","https:/asset.29cm.co.kr/contents/framer/components/systems/curations/EventScheduleProvider/EventScheduleProvider.js"],"sourcesContent":["import { createKRTimeZoneDate } from \"../../../../utils/createUTCDate.js\";\nimport { useMemo, useState, useEffect, useContext } from \"react\";\nimport { EventScheduleContext } from \"./EventScheduleProvider.js\";\nimport { isValid } from \"../../../../node_modules/date-fns/isValid.js\";\nimport { isBefore } from \"../../../../node_modules/date-fns/isBefore.js\";\nimport { isWithinInterval } from \"../../../../node_modules/date-fns/isWithinInterval.js\";\nconst getEventStatus = (startAt, endAt) => {\n  const now = createKRTimeZoneDate();\n  if (startAt === void 0 || endAt === void 0) {\n    return;\n  }\n  if (isBefore(now, startAt)) {\n    return \"upcoming\";\n  }\n  if (isWithinInterval(now, {\n    start: startAt,\n    end: endAt\n  })) {\n    return \"ongoing\";\n  }\n  return \"ended\";\n};\nconst useEventStatus = (startAt, endAt) => {\n  const start = useMemo(() => isValid(new Date(startAt)) ? createKRTimeZoneDate(startAt) : void 0, [startAt]);\n  const end = useMemo(() => isValid(new Date(endAt)) ? createKRTimeZoneDate(endAt) : void 0, [endAt]);\n  const [eventStatus, setEventStatus] = useState(getEventStatus(start, end));\n  useEffect(() => {\n    setEventStatus(getEventStatus(start, end));\n  }, [start, end]);\n  return eventStatus;\n};\nconst useEventSchedule = () => {\n  return useContext(EventScheduleContext);\n};\nexport {\n  useEventSchedule,\n  useEventStatus\n};\n","import { jsx } from \"react/jsx-runtime\";\nimport { createContext, useMemo } from \"react\";\nimport { useEventStatus } from \"./EventScheduleProvider.hooks.js\";\nconst EventScheduleContext = createContext({});\nconst EventScheduleProvider = ({\n  children,\n  startAt,\n  endAt\n}) => {\n  const status = useEventStatus(startAt, endAt);\n  const value = useMemo(() => ({\n    status,\n    startAt,\n    endAt\n  }), [startAt, endAt, status]);\n  return /* @__PURE__ */ jsx(EventScheduleContext.Provider, { value, children });\n};\nexport {\n  EventScheduleContext,\n  EventScheduleProvider\n};\n"],"mappings":"wQAA0E,IACT,IACC,IACK,IACE,IACgB,CACnF,GAAkB,EAAS,IAAU,CACzC,IAAM,EAAM,GAAsB,CAC9B,SAAY,IAAK,IAAK,IAAU,IAAK,IAYzC,OATI,EAAS,EAAK,EAAQ,CACjB,WAEL,EAAiB,EAAK,CACxB,MAAO,EACP,IAAK,EACN,CAAC,CACO,UAEF,SAEH,GAAkB,EAAS,IAAU,CACzC,IAAM,EAAQA,MAAc,EAAQ,IAAI,KAAK,EAAQ,CAAC,CAAG,EAAqB,EAAQ,CAAG,IAAK,GAAG,CAAC,EAAQ,CAAC,CACrG,EAAMA,MAAc,EAAQ,IAAI,KAAK,EAAM,CAAC,CAAG,EAAqB,EAAM,CAAG,IAAK,GAAG,CAAC,EAAM,CAAC,CAC7F,CAAC,EAAa,GAAkBC,EAAS,EAAe,EAAO,EAAI,CAAC,CAI1E,OAHA,MAAgB,CACd,EAAe,EAAe,EAAO,EAAI,CAAC,EACzC,CAAC,EAAO,EAAI,CAAC,CACT,GAEH,MACGC,EAAW,EAAqB,qBChCD,IACO,IACmB,CAC5D,EAAuBC,EAAc,EAAE,CAAC,CACxC,GAAyB,CAC7B,WACA,UACA,WACI,CACJ,IAAM,EAAS,EAAe,EAAS,EAAM,CACvC,EAAQC,OAAe,CAC3B,SACA,UACA,QACD,EAAG,CAAC,EAAS,EAAO,EAAO,CAAC,CAC7B,OAAuB,EAAI,EAAqB,SAAU,CAAE,QAAO,WAAU,CAAC"}