1const xs = () => Promise.resolve().then(() => vs), En = globalThis.__GLOBALS__.ReactJSXRuntime, { Fragment: Dn, jsx: d, jsxs: x } = En; 2"use" in globalThis.__GLOBALS__.React || (globalThis.__GLOBALS__.React.use = () => { 3 throw new Error("`use` is not available in this version of React. Make currently only supports React 18, but `use` is only available in React 19+."); 4}); 5function Na(e) { 6 const t = e?.props?._fgT, r = typeof t == "function" || typeof t == "string" || typeof t == "object" && t !== null && "$$typeof" in t; 7 return globalThis.__GLOBALS__.React.isValidElement(e) && r; 8} 9function yt(e) { 10 return globalThis.__GLOBALS__.React.isValidElement(e) && e.type === "fg-txt"; 11} 12function Ba(e) { 13 const { _fgT: t, _fgS: r, _fgB: a, _fgD: n, ...o } = e.props; 14 return globalThis.__GLOBALS__.React.createElement(t, { 15 ...o, 16 key: e.key 17 }, o.children); 18} 19function Ht(e) { 20 return Na(e) ? Ba(e) : yt(e) ? e.props.children : e; 21} 22const gt = globalThis.__GLOBALS__.React.Children, Ra = { 23 map(e, t, r) { 24 return gt.map(e, (a, n) => { 25 const o = Ht(a); 26 return yt(a) ? null : t.call(r, o, n); 27 }); 28 }, 29 forEach(e, t, r) { 30 gt.forEach(e, (a, n) => { 31 if (yt(a)) 32 return; 33 const o = Ht(a); 34 t.call(r, o, n); 35 }); 36 }, 37 count(e) { 38 let t = 0; 39 return gt.forEach(e, (r) => { 40 yt(r) || t++; 41 }), t; 42 }, 43 toArray(e) { 44 const t = []; 45 return gt.forEach(e, (r) => { 46 yt(r) || t.push(Ht(r)); 47 }), t; 48 }, 49 only(e) { 50 const t = gt.only(e); 51 return Ht(t); 52 } 53}, cr = [ 54 "_fgT", 55 "_fgS", 56 "_fgB", 57 "_fgD" 58]; 59function Ln(e) { 60 if (e == null || typeof e != "object") return e; 61 const t = Object.keys(e); 62 let r = !1; 63 for (let n = 0; n < cr.length; n++) 64 if (cr[n] in e) { 65 r = !0; 66 break; 67 } 68 if (!r) return e; 69 const a = {}; 70 for (let n = 0; n < t.length; n++) { 71 const o = t[n]; 72 cr.indexOf(o) === -1 && (a[o] = e[o]); 73 } 74 return a; 75} 76const Xr = globalThis.__GLOBALS__.React.cloneElement, Ca = (e, ...t) => { 77 if (Na(e)) { 78 const r = Ba(e), a = t[0]; 79 return a != null && typeof a == "object" && (t = [ 80 Ln(a), 81 ...t.slice(1) 82 ]), Xr(r, ...t); 83 } 84 return Xr(e, ...t); 85}, Vt = { 86 ...globalThis.__GLOBALS__.React, 87 Children: Ra, 88 cloneElement: Ca 89}, { Component: Ea, createContext: _e, createElement: M, createFactory: jn, createRef: Pn, forwardRef: it, Fragment: ot, isValidElement: In, lazy: zn, memo: Da, Profiler: Mn, PureComponent: On, startTransition: At, StrictMode: Hn, Suspense: Fn, use: Un, useCallback: lt, useContext: U, useDebugValue: Wn, useDeferredValue: $n, useEffect: ce, useId: qn, useImperativeHandle: Vn, useInsertionEffect: Gn, useLayoutEffect: Tr, useMemo: ke, useReducer: Kn, useRef: Qe, useState: H, useSyncExternalStore: Yn, useTransition: Xn, version: Jn, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Qn } = globalThis.__GLOBALS__.React, Zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ 90 __proto__: null, 91 Children: Ra, 92 Component: Ea, 93 Fragment: ot, 94 Profiler: Mn, 95 PureComponent: On, 96 StrictMode: Hn, 97 Suspense: Fn, 98 __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Qn, 99 cloneElement: Ca, 100 createContext: _e, 101 createElement: M, 102 createFactory: jn, 103 createRef: Pn, 104 default: Vt, 105 forwardRef: it, 106 isValidElement: In, 107 lazy: zn, 108 memo: Da, 109 startTransition: At, 110 use: Un, 111 useCallback: lt, 112 useContext: U, 113 useDebugValue: Wn, 114 useDeferredValue: $n, 115 useEffect: ce, 116 useId: qn, 117 useImperativeHandle: Vn, 118 useInsertionEffect: Gn, 119 useLayoutEffect: Tr, 120 useMemo: ke, 121 useReducer: Kn, 122 useRef: Qe, 123 useState: H, 124 useSyncExternalStore: Yn, 125 useTransition: Xn, 126 version: Jn 127}, Symbol.toStringTag, { value: "Module" })), i = Vt.forwardRef(function({ _fgT: t, _fgS: r, _fgB: a, ...n }, o) { 128 const l = o ? { ...n, ref: o } : n; 129 return typeof window < "u" && window.__FGInspectorCmp ? Vt.createElement(window.__FGInspectorCmp, { _fgT: t, _fgS: r, _fgB: a, ...l }) : Vt.createElement(t, l); 130}), eo = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Horizontal_BLACK-2.f5ef046c.png", to = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Horizontal_BLACK.f5ef046c.png", ro = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Horizontal-3.5320f031.png"; 131/** 132 * react-router v7.13.0 133 * 134 * Copyright (c) Remix Software Inc. 135 * 136 * This source code is licensed under the MIT license found in the 137 * LICENSE.md file in the root directory of this source tree. 138 * 139 * @license MIT 140 */ 141var La = (e) => { 142 throw TypeError(e); 143}, ao = (e, t, r) => t.has(e) || La("Cannot " + r), fr = (e, t, r) => (ao(e, t, "read from private field"), r ? r.call(e) : t.get(e)), no = (e, t, r) => t.has(e) ? La("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Jr = "popstate"; 144function oo(e = {}) { 145 function t(a, n) { 146 let { pathname: o, search: l, hash: s } = a.location; 147 return kt( 148 "", 149 { pathname: o, search: l, hash: s }, 150 // state defaults to `null` because `window.history.state` does 151 n.state && n.state.usr || null, 152 n.state && n.state.key || "default" 153 ); 154 } 155 function r(a, n) { 156 return typeof n == "string" ? n : De(n); 157 } 158 return lo( 159 t, 160 r, 161 null, 162 e 163 ); 164} 165function F(e, t) { 166 if (e === !1 || e === null || typeof e > "u") 167 throw new Error(t); 168} 169function ie(e, t) { 170 if (!e) { 171 typeof console < "u" && console.warn(t); 172 try { 173 throw new Error(t); 174 } catch { 175 } 176 } 177} 178function io() { 179 return Math.random().toString(36).substring(2, 10); 180} 181function Qr(e, t) { 182 return { 183 usr: e.state, 184 key: e.key, 185 idx: t 186 }; 187} 188function kt(e, t, r = null, a) { 189 return { 190 pathname: typeof e == "string" ? e : e.pathname, 191 search: "", 192 hash: "", 193 ...typeof t == "string" ? Ue(t) : t, 194 state: r, 195 // TODO: This could be cleaned up. push/replace should probably just take 196 // full Locations now and avoid the need to run through this flow at all 197 // But that's a pretty big refactor to the current test suite so going to 198 // keep as is for the time being and just let any incoming keys take precedence 199 key: t && t.key || a || io() 200 }; 201} 202function De({ 203 pathname: e = "/", 204 search: t = "", 205 hash: r = "" 206}) { 207 return t && t !== "?" && (e += t.charAt(0) === "?" ? t : "?" + t), r && r !== "#" && (e += r.charAt(0) === "#" ? r : "#" + r), e; 208} 209function Ue(e) { 210 let t = {}; 211 if (e) { 212 let r = e.indexOf("#"); 213 r >= 0 && (t.hash = e.substring(r), e = e.substring(0, r)); 214 let a = e.indexOf("?"); 215 a >= 0 && (t.search = e.substring(a), e = e.substring(0, a)), e && (t.pathname = e); 216 } 217 return t; 218} 219function lo(e, t, r, a = {}) { 220 let { window: n = document.defaultView, v5Compat: o = !1 } = a, l = n.history, s = "POP", c = null, f = g(); 221 f == null && (f = 0, l.replaceState({ ...l.state, idx: f }, "")); 222 function g() { 223 return (l.state || { idx: null }).idx; 224 } 225 function h() { 226 s = "POP"; 227 let N = g(), C = N == null ? null : N - f; 228 f = N, c && c({ action: s, location: k.location, delta: C }); 229 } 230 function v(N, C) { 231 s = "PUSH";
232 let A = kt(k.location, N, C); 233 f = g() + 1; 234 let P = Qr(A, f), ee = k.createHref(A); 235 try { 236 l.pushState(P, "", ee); 237 } catch (q) { 238 if (q instanceof DOMException && q.name === "DataCloneError") 239 throw q; 240 n.location.assign(ee); 241 } 242 o && c && c({ action: s, location: k.location, delta: 1 }); 243 } 244 function y(N, C) { 245 s = "REPLACE"; 246 let A = kt(k.location, N, C); 247 f = g(); 248 let P = Qr(A, f), ee = k.createHref(A); 249 l.replaceState(P, "", ee), o && c && c({ action: s, location: k.location, delta: 0 }); 250 } 251 function T(N) { 252 return ja(N); 253 } 254 let k = { 255 get action() { 256 return s; 257 }, 258 get location() { 259 return e(n, l); 260 }, 261 listen(N) { 262 if (c) 263 throw new Error("A history only accepts one active listener"); 264 return n.addEventListener(Jr, h), c = N, () => { 265 n.removeEventListener(Jr, h), c = null; 266 }; 267 }, 268 createHref(N) { 269 return t(n, N); 270 }, 271 createURL: T, 272 encodeLocation(N) { 273 let C = T(N); 274 return { 275 pathname: C.pathname, 276 search: C.search, 277 hash: C.hash 278 }; 279 }, 280 push: v, 281 replace: y, 282 go(N) { 283 return l.go(N); 284 } 285 }; 286 return k; 287} 288function ja(e, t = !1) { 289 let r = "http://localhost"; 290 typeof window < "u" && (r = window.location.origin !== "null" ? window.location.origin : window.location.href), F(r, "No window.location.(origin|href) available to create URL"); 291 let a = typeof e == "string" ? e : De(e); 292 return a = a.replace(/ $/, "%20"), !t && a.startsWith("//") && (a = r + a), new URL(a, r); 293} 294var vt, Zr = class { 295 /** 296 * Create a new `RouterContextProvider` instance 297 * @param init An optional initial context map to populate the provider with 298 */ 299 constructor(e) { 300 if (no(this, vt, /* @__PURE__ */ new Map()), e) 301 for (let [t, r] of e) 302 this.set(t, r); 303 } 304 /** 305 * Access a value from the context. If no value has been set for the context, 306 * it will return the context's `defaultValue` if provided, or throw an error 307 * if no `defaultValue` was set. 308 * @param context The context to get the value for 309 * @returns The value for the context, or the context's `defaultValue` if no 310 * value was set 311 */ 312 get(e) { 313 if (fr(this, vt).has(e)) 314 return fr(this, vt).get(e); 315 if (e.defaultValue !== void 0) 316 return e.defaultValue; 317 throw new Error("No value found for context"); 318 } 319 /** 320 * Set a value for the context. If the context already has a value set, this 321 * will overwrite it. 322 * 323 * @param context The context to set the value for 324 * @param value The value to set for the context 325 * @returns {void} 326 */ 327 set(e, t) { 328 fr(this, vt).set(e, t); 329 } 330}; 331vt = /* @__PURE__ */ new WeakMap(); 332var so = /* @__PURE__ */ new Set([ 333 "lazy", 334 "caseSensitive", 335 "path", 336 "id", 337 "index", 338 "children" 339]); 340function co(e) { 341 return so.has( 342 e 343 ); 344} 345var fo = /* @__PURE__ */ new Set([ 346 "lazy", 347 "caseSensitive", 348 "path", 349 "id", 350 "index", 351 "middleware", 352 "children" 353]); 354function po(e) { 355 return fo.has( 356 e 357 ); 358} 359function uo(e) { 360 return e.index === !0; 361} 362function Nt(e, t, r = [], a = {}, n = !1) { 363 return e.map((o, l) => { 364 let s = [...r, String(l)], c = typeof o.id == "string" ? o.id : s.join("-"); 365 if (F( 366 o.index !== !0 || !o.children, 367 "Cannot specify children on an index route" 368 ), F( 369 n || !a[c],
370 `Found a route id collision on id "${c}". Route id's must be globally unique within Data Router usages` 371 ), uo(o)) { 372 let f = { 373 ...o, 374 id: c 375 }; 376 return a[c] = ea( 377 f, 378 t(f) 379 ), f; 380 } else { 381 let f = { 382 ...o, 383 id: c, 384 children: void 0 385 }; 386 return a[c] = ea( 387 f, 388 t(f) 389 ), o.children && (f.children = Nt( 390 o.children, 391 t, 392 s, 393 a, 394 n 395 )), f; 396 } 397 }); 398} 399function ea(e, t) { 400 return Object.assign(e, { 401 ...t, 402 ...typeof t.lazy == "object" && t.lazy != null ? { 403 lazy: { 404 ...e.lazy, 405 ...t.lazy 406 } 407 } : {} 408 }); 409} 410function Oe(e, t, r = "/") { 411 return xt(e, t, r, !1); 412} 413function xt(e, t, r, a) { 414 let n = typeof t == "string" ? Ue(t) : t, o = Ae(n.pathname || "/", r); 415 if (o == null) 416 return null; 417 let l = Pa(e); 418 ho(l); 419 let s = null; 420 for (let c = 0; s == null && c < l.length; ++c) { 421 let f = ko(o); 422 s = To( 423 l[c], 424 f, 425 a 426 ); 427 } 428 return s; 429} 430function go(e, t) { 431 let { route: r, pathname: a, params: n } = e; 432 return { 433 id: r.id, 434 pathname: a, 435 params: n, 436 data: t[r.id], 437 loaderData: t[r.id], 438 handle: r.handle 439 }; 440} 441function Pa(e, t = [], r = [], a = "", n = !1) { 442 let o = (l, s, c = n, f) => { 443 let g = { 444 relativePath: f === void 0 ? l.path || "" : f, 445 caseSensitive: l.caseSensitive === !0, 446 childrenIndex: s, 447 route: l 448 }; 449 if (g.relativePath.startsWith("/")) { 450 if (!g.relativePath.startsWith(a) && c) 451 return; 452 F( 453 g.relativePath.startsWith(a), 454 `Absolute route path "${g.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.` 455 ), g.relativePath = g.relativePath.slice(a.length); 456 } 457 let h = Ee([a, g.relativePath]), v = r.concat(g); 458 l.children && l.children.length > 0 && (F( 459 // Our types know better, but runtime JS may not! 460 // @ts-expect-error 461 l.index !== !0, 462 `Index routes must not have child routes. Please remove all child routes from route path "${h}".` 463 ), Pa( 464 l.children, 465 t, 466 v, 467 h, 468 c 469 )), !(l.path == null && !l.index) && t.push({ 470 path: h, 471 score: wo(h, l.index), 472 routesMeta: v 473 }); 474 }; 475 return e.forEach((l, s) => { 476 if (l.path === "" || !l.path?.includes("?")) 477 o(l, s); 478 else 479 for (let c of Ia(l.path)) 480 o(l, s, !0, c); 481 }), t; 482} 483function Ia(e) { 484 let t = e.split("/"); 485 if (t.length === 0) return []; 486 let [r, ...a] = t, n = r.endsWith("?"), o = r.replace(/\?$/, ""); 487 if (a.length === 0) 488 return n ? [o, ""] : [o]; 489 let l = Ia(a.join("/")), s = []; 490 return s.push( 491 ...l.map( 492 (c) => c === "" ? o : [o, c].join("/") 493 ) 494 ), n && s.push(...l), s.map( 495 (c) => e.startsWith("/") && c === "" ? "/" : c 496 ); 497} 498function ho(e) { 499 e.sort( 500 (t, r) => t.score !== r.score ? r.score - t.score : So( 501 t.routesMeta.map((a) => a.childrenIndex), 502 r.routesMeta.map((a) => a.childrenIndex) 503 ) 504 ); 505} 506var mo = /^:[\w-]+$/, bo = 3, yo = 2, vo = 1, xo = 10, _o = -2, ta = (e) => e === "*"; 507function wo(e, t) { 508 let r = e.split("/"), a = r.length; 509 return r.some(ta) && (a += _o), t && (a += yo), r.filter((n) => !ta(n)).reduce( 510 (n, o) => n + (mo.test(o) ? bo : o === "" ? vo : xo), 511 a 512 ); 513} 514function So(e, t) { 515 return e.length === t.length && e.slice(0, -1).every((a, n) => a === t[n]) ? ( 516 // If two routes are siblings, we should try to match the earlier sibling 517 // first. This allows people to have fine-grained control over the matching 518 // behavior by simply putting routes with identical paths in the order they 519 // want them tried. 520 e[e.length - 1] - t[t.length - 1] 521 ) : ( 522 // Otherwise, it doesn't really make sense to rank non-siblings by index, 523 // so they sort equally. 524 0 525 ); 526} 527function To(e, t, r = !1) { 528 let { routesMeta: a } = e, n = {}, o = "/", l = []; 529 for (let s = 0; s < a.length; ++s) {
530 let c = a[s], f = s === a.length - 1, g = o === "/" ? t : t.slice(o.length) || "/", h = Zt( 531 { path: c.relativePath, caseSensitive: c.caseSensitive, end: f }, 532 g 533 ), v = c.route; 534 if (!h && f && r && !a[a.length - 1].route.index && (h = Zt( 535 { 536 path: c.relativePath, 537 caseSensitive: c.caseSensitive, 538 end: !1 539 }, 540 g 541 )), !h) 542 return null; 543 Object.assign(n, h.params), l.push({ 544 // TODO: Can this as be avoided? 545 params: n, 546 pathname: Ee([o, h.pathname]), 547 pathnameBase: Ro( 548 Ee([o, h.pathnameBase]) 549 ), 550 route: v 551 }), h.pathnameBase !== "/" && (o = Ee([o, h.pathnameBase])); 552 } 553 return l; 554} 555function Zt(e, t) { 556 typeof e == "string" && (e = { path: e, caseSensitive: !1, end: !0 }); 557 let [r, a] = Ao( 558 e.path, 559 e.caseSensitive, 560 e.end 561 ), n = t.match(r); 562 if (!n) return null; 563 let o = n[0], l = o.replace(/(.)\/+$/, "$1"), s = n.slice(1); 564 return { 565 params: a.reduce( 566 (f, { paramName: g, isOptional: h }, v) => { 567 if (g === "*") { 568 let T = s[v] || ""; 569 l = o.slice(0, o.length - T.length).replace(/(.)\/+$/, "$1"); 570 } 571 const y = s[v]; 572 return h && !y ? f[g] = void 0 : f[g] = (y || "").replace(/%2F/g, "/"), f; 573 }, 574 {} 575 ), 576 pathname: o, 577 pathnameBase: l, 578 pattern: e 579 }; 580} 581function Ao(e, t = !1, r = !0) { 582 ie( 583 e === "*" || !e.endsWith("*") || e.endsWith("/*"), 584 `Route path "${e}" will be treated as if it were "${e.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/, "/*")}".` 585 ); 586 let a = [], n = "^" + e.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace( 587 /\/:([\w-]+)(\?)?/g, 588 (l, s, c) => (a.push({ paramName: s, isOptional: c != null }), c ? "/?([^\\/]+)?" : "/([^\\/]+)") 589 ).replace(/\/([\w-]+)\?(\/|$)/g, "(/$1)?$2"); 590 return e.endsWith("*") ? (a.push({ paramName: "*" }), n += e === "*" || e === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$") : r ? n += "\\/*$" : e !== "" && e !== "/" && (n += "(?:(?=\\/|$))"), [new RegExp(n, t ? void 0 : "i"), a]; 591} 592function ko(e) { 593 try { 594 return e.split("/").map((t) => decodeURIComponent(t).replace(/\//g, "%2F")).join("/"); 595 } catch (t) { 596 return ie( 597 !1, 598 `The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).` 599 ), e; 600 } 601} 602function Ae(e, t) { 603 if (t === "/") return e; 604 if (!e.toLowerCase().startsWith(t.toLowerCase())) 605 return null; 606 let r = t.endsWith("/") ? t.length - 1 : t.length, a = e.charAt(r); 607 return a && a !== "/" ? null : e.slice(r) || "/"; 608} 609function No({ 610 basename: e, 611 pathname: t 612}) { 613 return t === "/" ? e : Ee([e, t]); 614} 615var za = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, Ar = (e) => za.test(e); 616function Bo(e, t = "/") { 617 let { 618 pathname: r, 619 search: a = "", 620 hash: n = "" 621 } = typeof e == "string" ? Ue(e) : e, o; 622 return r ? (r = r.replace(/\/\/+/g, "/"), r.startsWith("/") ? o = ra(r.substring(1), "/") : o = ra(r, t)) : o = t, { 623 pathname: o, 624 search: Co(a), 625 hash: Eo(n) 626 }; 627} 628function ra(e, t) { 629 let r = t.replace(/\/+$/, "").split("/"); 630 return e.split("/").forEach((n) => { 631 n === ".." ? r.length > 1 && r.pop() : n !== "." && r.push(n); 632 }), r.length > 1 ? r.join("/") : "/"; 633} 634function pr(e, t, r, a) { 635 return `Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify( 636 a 637 )}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`; 638} 639function Ma(e) { 640 return e.filter( 641 (t, r) => r === 0 || t.route.path && t.route.path.length > 0 642 ); 643} 644function rr(e) { 645 let t = Ma(e); 646 return t.map( 647 (r, a) => a === t.length - 1 ? r.pathname : r.pathnameBase 648 ); 649} 650function ar(e, t, r, a = !1) { 651 let n; 652 typeof e == "string" ? n = Ue(e) : (n = { ...e }, F( 653 !n.pathname || !n.pathname.includes("?"), 654 pr("?", "pathname", "search", n) 655 ), F( 656 !n.pathname || !n.pathname.includes("#"), 657 pr("#", "pathname", "hash", n) 658 ), F( 659 !n.search || !n.search.includes("#"), 660 pr("#", "search", "hash", n) 661 )); 662 let o = e === "" || n.pathname === "", l = o ? "/" : n.pathname, s; 663 if (l == null) 664 s = r; 665 else { 666 let h = t.length - 1; 667 if (!a && l.startsWith("..")) { 668 let v = l.split("/"); 669 for (; v[0] === ".."; ) 670 v.shift(), h -= 1; 671 n.pathname = v.join("/"); 672 } 673 s = h >= 0 ? t[h] : "/"; 674 } 675 let c = Bo(n, s), f = l && l !== "/" && l.endsWith("/"), g = (o || l === ".") && r.endsWith("/"); 676 return !c.pathname.endsWith("/") && (f || g) && (c.pathname += "/"), c; 677} 678var Ee = (e) => e.join("/").replace(/\/\/+/g, "/"), Ro = (e) => e.replace(/\/+$/, "").replace(/^\/*/, "/"), Co = (e) => !e || e === "?" ? "" : e.startsWith("?") ? e : "?" + e, Eo = (e) => !e || e === "#" ? "" : e.startsWith("#") ? e : "#" + e, Rt = class { 679 constructor(e, t, r, a = !1) { 680 this.status = e, this.statusText = t || "", this.internal = a, r instanceof Error ? (this.data = r.toString(), this.error = r) : this.data = r; 681 } 682}; 683function Bt(e) { 684 return e != null && typeof e.status == "number" && typeof e.statusText == "string" && typeof e.internal == "boolean" && "data" in e; 685} 686function Ct(e) { 687 return e.map((t) =>
687 t.route.path).filter(Boolean).join("/").replace(/\/\/*/g, "/") || "/"; 688} 689var Oa = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u"; 690function Ha(e, t) { 691 let r = e; 692 if (typeof r != "string" || !za.test(r)) 693 return { 694 absoluteURL: void 0, 695 isExternal: !1, 696 to: r 697 }; 698 let a = r, n = !1; 699 if (Oa) 700 try { 701 let o = new URL(window.location.href), l = r.startsWith("//") ? new URL(o.protocol + r) : new URL(r), s = Ae(l.pathname, t); 702 l.origin === o.origin && s != null ? r = s + l.search + l.hash : n = !0; 703 } catch { 704 ie( 705 !1, 706 `<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.` 707 ); 708 } 709 return { 710 absoluteURL: a, 711 isExternal: n, 712 to: r 713 }; 714} 715var Fe = Symbol("Uninstrumented"); 716function Do(e, t) { 717 let r = { 718 lazy: [], 719 "lazy.loader": [], 720 "lazy.action": [], 721 "lazy.middleware": [], 722 middleware: [], 723 loader: [], 724 action: [] 725 }; 726 e.forEach( 727 (n) => n({ 728 id: t.id, 729 index: t.index, 730 path: t.path, 731 instrument(o) { 732 let l = Object.keys(r); 733 for (let s of l) 734 o[s] && r[s].push(o[s]); 735 } 736 }) 737 ); 738 let a = {}; 739 if (typeof t.lazy == "function" && r.lazy.length > 0) { 740 let n = at(r.lazy, t.lazy, () => { 741 }); 742 n && (a.lazy = n); 743 } 744 if (typeof t.lazy == "object") { 745 let n = t.lazy; 746 ["middleware", "loader", "action"].forEach((o) => { 747 let l = n[o], s = r[`lazy.${o}`]; 748 if (typeof l == "function" && s.length > 0) { 749 let c = at(s, l, () => { 750 }); 751 c && (a.lazy = Object.assign(a.lazy || {}, { 752 [o]: c 753 })); 754 } 755 }); 756 } 757 return ["loader", "action"].forEach((n) => { 758 let o = t[n]; 759 if (typeof o == "function" && r[n].length > 0) { 760 let l = o[Fe] ?? o, s = at( 761 r[n], 762 l, 763 (...c) => aa(c[0]) 764 ); 765 s && (n === "loader" && l.hydrate === !0 && (s.hydrate = !0), s[Fe] = l, a[n] = s); 766 } 767 }), t.middleware && t.middleware.length > 0 && r.middleware.length > 0 && (a.middleware = t.middleware.map((n) => { 768 let o = n[Fe] ?? n, l = at( 769 r.middleware, 770 o, 771 (...s) => aa(s[0]) 772 ); 773 return l ? (l[Fe] = o, l) : n; 774 })), a; 775} 776function Lo(e, t) { 777 let r = { 778 navigate: [], 779 fetch: [] 780 }; 781 if (t.forEach( 782 (a) => a({ 783 instrument(n) { 784 let o = Object.keys(n); 785 for (let l of o) 786 n[l] && r[l].push(n[l]); 787 } 788 }) 789 ), r.navigate.length > 0) { 790 let a = e.navigate[Fe] ?? e.navigate, n = at( 791 r.navigate, 792 a, 793 (...o) => { 794 let [l, s] = o; 795 return { 796 to: typeof l == "number" || typeof l == "string" ? l : l ? De(l) : ".", 797 ...na(e, s ?? {}) 798 }; 799 } 800 ); 801 n && (n[Fe] = a, e.navigate = n); 802 } 803 if (r.fetch.length > 0) { 804 let a = e.fetch[Fe] ?? e.fetch, n = at(r.fetch, a, (...o) => { 805 let [l, , s, c] = o; 806 return { 807 href: s ?? ".", 808 fetcherKey: l, 809 ...na(e, c ?? {}) 810 }; 811 }); 812 n && (n[Fe] = a, e.fetch = n); 813 } 814 return e; 815} 816function at(e, t, r) { 817 return e.length === 0 ? null : async (...a) => { 818 let n = await Fa( 819 e, 820 r(...a), 821 () => t(...a), 822 e.length - 1 823 ); 824 if (n.type === "error") 825 throw n.value; 826 return n.value; 827 }; 828} 829async function Fa(e, t, r, a) { 830 let n = e[a], o; 831 if (n) { 832 let l, s = async () => (l ? console.error("You cannot call instrumented handlers more than once") : l = Fa(e, t, r, a - 1), o = await l, F(o, "Expected a result"), o.type === "error" && o.value instanceof Error ? { status: "error", error: o.value } : { status: "success", error: void 0 }); 833 try { 834 await n(s, t); 835 } catch (c) { 836 console.error("An instrumentation function threw an error:", c); 837 } 838 l || await s(), await l; 839 } else 840 try { 841 o = { type: "success", value: await r() }; 842 } catch (l) { 843 o = { type: "error", value: l }; 844 } 845 return o || { 846 type: "error", 847 value: new Error("No result assigned in instrumentation chain.") 848 }; 849} 850function aa(e) { 851 let { request: t, context: r, params: a, unstable_pattern: n } = e; 852 return { 853 request: jo(t), 854 params: { ...a }, 855 unstable_pattern: n, 856 context: Po(r) 857 }; 858} 859function na(e, t) { 860 return { 861 currentUrl: De(e.state.location), 862 ..."formMethod" in t ? { formMethod: t.formMethod } : {}, 863 ..."formEncType" in t ? { formEncType: t.formEncType } : {}, 864 ..."formData" in t ? { formData: t.formData } : {}, 865 ..."body" in t ? { body: t.body } : {} 866 }; 867} 868function jo(e) { 869 return { 870 method: e.method, 871 url: e.url, 872 headers: { 873 get: (...t) => e.headers.get(...t) 874 } 875 }; 876} 877function Po(e) { 878 if (zo(e)) { 879 let t = { ...e }; 880 return Object.freeze(t), t; 881 } else 882 return { 883 get: (t) => e.get(t) 884 }; 885} 886var Io = Object.getOwnPropertyNames(Object.prototype).sort().join("\0"); 887function zo(e) { 888 if (e === null || typeof e != "object") 889 return !1; 890 const t = Object.getPrototypeOf(e);
891 return t === Object.prototype || t === null || Object.getOwnPropertyNames(t).sort().join("\0") === Io; 892} 893var Ua = [ 894 "POST", 895 "PUT", 896 "PATCH", 897 "DELETE" 898], Mo = new Set( 899 Ua 900), Oo = [ 901 "GET", 902 ...Ua 903], Ho = new Set(Oo), Wa = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]), Fo = /* @__PURE__ */ new Set([307, 308]), ur = { 904 state: "idle", 905 location: void 0, 906 formMethod: void 0, 907 formAction: void 0, 908 formEncType: void 0, 909 formData: void 0, 910 json: void 0, 911 text: void 0 912}, Uo = { 913 state: "idle", 914 data: void 0, 915 formMethod: void 0, 916 formAction: void 0, 917 formEncType: void 0, 918 formData: void 0, 919 json: void 0, 920 text: void 0 921}, ht = { 922 state: "unblocked", 923 proceed: void 0, 924 reset: void 0, 925 location: void 0 926}, Wo = (e) => ({ 927 hasErrorBoundary: !!e.hasErrorBoundary 928}), $a = "remix-router-transitions", qa = Symbol("ResetLoaderData"); 929function $o(e) { 930 const t = e.window ? e.window : typeof window < "u" ? window : void 0, r = typeof t < "u" && typeof t.document < "u" && typeof t.document.createElement < "u"; 931 F( 932 e.routes.length > 0, 933 "You must provide a non-empty routes array to createRouter" 934 ); 935 let a = e.hydrationRouteProperties || [], n = e.mapRouteProperties || Wo, o = n; 936 if (e.unstable_instrumentations) { 937 let p = e.unstable_instrumentations; 938 o = (u) => ({ 939 ...n(u), 940 ...Do( 941 p.map((m) => m.route).filter(Boolean), 942 u 943 ) 944 }); 945 } 946 let l = {}, s = Nt( 947 e.routes, 948 o, 949 void 0, 950 l 951 ), c, f = e.basename || "/"; 952 f.startsWith("/") || (f = `/${f}`); 953 let g = e.dataStrategy || Yo, h = { 954 ...e.future 955 }, v = null, y = /* @__PURE__ */ new Set(), T = null, k = null, N = null, C = e.hydrationData != null, A = Oe(s, e.history.location, f), P = !1, ee = null, q; 956 if (A == null && !e.patchRoutesOnNavigation) { 957 let p = Te(404, { 958 pathname: e.history.location.pathname 959 }), { matches: u, route: m } = Ft(s); 960 q = !0, A = u, ee = { [m.id]: p }; 961 } else if (A && !e.hydrationData && Pt( 962 A, 963 s, 964 e.history.location.pathname 965 ).active && (A = null), A) 966 if (A.some((p) => p.route.lazy)) 967 q = !1; 968 else if (!A.some((p) => kr(p.route))) 969 q = !0; 970 else { 971 let p = e.hydrationData ? e.hydrationData.loaderData : null, u = e.hydrationData ? e.hydrationData.errors : null; 972 if (u) { 973 let m = A.findIndex( 974 (_) => u[_.route.id] !== void 0 975 ); 976 q = A.slice(0, m + 1).every( 977 (_) => !xr(_.route, p, u) 978 ); 979 } else 980 q = A.every( 981 (m) => !xr(m.route, p, u) 982 ); 983 } 984 else { 985 q = !1, A = []; 986 let p = Pt( 987 null, 988 s, 989 e.history.location.pathname 990 ); 991 p.active && p.matches && (P = !0, A = p.matches); 992 } 993 let X, b = { 994 historyAction: e.history.action, 995 location: e.history.location, 996 matches: A, 997 initialized: q, 998 navigation: ur, 999 // Don't restore on initial updateState() if we were SSR'd 1000 restoreScrollPosition: e.hydrationData != null ? !1 : null, 1001 preventScrollReset: !1, 1002 revalidation: "idle", 1003 loaderData: e.hydrationData && e.hydrationData.loaderData || {}, 1004 actionData: e.hydrationData && e.hydrationData.actionData || null, 1005 errors: e.hydrationData && e.hydrationData.errors || ee, 1006 fetchers: /* @__PURE__ */ new Map(), 1007 blockers: /* @__PURE__ */ new Map() 1008 }, z = "POP", W = null, te = !1, J, ae = !1, ye = /* @__PURE__ */ new Map(), ne = null, Y = !1, Q = !1, ve = /* @__PURE__ */ new Set(), V = /* @__PURE__ */ new Map(), le = 0, re = -1, he = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Set(), O = /* @__PURE__ */ new Map(), se = /* @__PURE__ */ new Map(), me = /* @__PURE__ */ new Set(), We = /* @__PURE__ */ new Map(), Lt, ct = null; 1009 function un() { 1010 if (v = e.history.listen( 1011 ({ action: p, location: u, delta: m }) => { 1012 if (Lt) { 1013 Lt(), Lt = void 0; 1014 return; 1015 } 1016 ie( 1017 We.size === 0 || m != null, 1018 "You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL." 1019 ); 1020 let _ = qr({ 1021 currentLocation: b.location, 1022 nextLocation: u, 1023 historyAction: p 1024 }); 1025 if (_ && m != null) { 1026 let S = new Promise((E) => { 1027 Lt = E; 1028 }); 1029 e.history.go(m * -1), jt(_, { 1030 state: "blocked", 1031 location: u, 1032 proceed() { 1033 jt(_, { 1034 state: "proceeding", 1035 proceed: void 0, 1036 reset: void 0, 1037 location: u 1038 }), S.then(() => e.history.go(m)); 1039 }, 1040 reset() { 1041 let E = new Map(b.blockers); 1042 E.set(_, ht), pe({ blockers: E }); 1043 } 1044 }), W?.resolve(), W = null; 1045 return; 1046 } 1047 return $e(p, u); 1048 } 1049 ), r) { 1050 ui(t, ye); 1051 let p = () => gi(t, ye); 1052 t.addEventListener("pagehide", p), ne = () => t.removeEventListener("pagehide", p); 1053 } 1054 return b.initialized || $e("POP", b.location, { 1055 initialHydration: !0 1056 }), X; 1057 } 1058 function gn() { 1059 v && v(), ne && ne(), y.clear(), J && J.abort(), b.fetchers.forEac
1059h((p, u) => lr(u)), b.blockers.forEach((p, u) => $r(u)); 1060 } 1061 function hn(p) { 1062 return y.add(p), () => y.delete(p); 1063 } 1064 function pe(p, u = {}) { 1065 p.matches && (p.matches = p.matches.map((S) => { 1066 let E = l[S.route.id], B = S.route; 1067 return B.element !== E.element || B.errorElement !== E.errorElement || B.hydrateFallbackElement !== E.hydrateFallbackElement ? { 1068 ...S, 1069 route: E 1070 } : S; 1071 })), b = { 1072 ...b, 1073 ...p 1074 }; 1075 let m = [], _ = []; 1076 b.fetchers.forEach((S, E) => { 1077 S.state === "idle" && (me.has(E) ? m.push(E) : _.push(E)); 1078 }), me.forEach((S) => { 1079 !b.fetchers.has(S) && !V.has(S) && m.push(S); 1080 }), [...y].forEach( 1081 (S) => S(b, { 1082 deletedFetchers: m, 1083 newErrors: p.errors ?? null, 1084 viewTransitionOpts: u.viewTransitionOpts, 1085 flushSync: u.flushSync === !0 1086 }) 1087 ), m.forEach((S) => lr(S)), _.forEach((S) => b.fetchers.delete(S)); 1088 } 1089 function et(p, u, { flushSync: m } = {}) { 1090 let _ = b.actionData != null && b.navigation.formMethod != null && ge(b.navigation.formMethod) && b.navigation.state === "loading" && p.state?._isRedirect !== !0, S; 1091 u.actionData ? Object.keys(u.actionData).length > 0 ? S = u.actionData : S = null : _ ? S = b.actionData : S = null; 1092 let E = u.loaderData ? ga( 1093 b.loaderData, 1094 u.loaderData, 1095 u.matches || [], 1096 u.errors 1097 ) : b.loaderData, B = b.blockers; 1098 B.size > 0 && (B = new Map(B), B.forEach((I, L) => B.set(L, ht))); 1099 let R = Y ? !1 : Gr(p, u.matches || b.matches), D = te === !0 || b.navigation.formMethod != null && ge(b.navigation.formMethod) && p.state?._isRedirect !== !0; 1100 c && (s = c, c = void 0), Y || z === "POP" || (z === "PUSH" ? e.history.push(p, p.state) : z === "REPLACE" && e.history.replace(p, p.state)); 1101 let j; 1102 if (z === "POP") { 1103 let I = ye.get(b.location.pathname); 1104 I && I.has(p.pathname) ? j = { 1105 currentLocation: b.location, 1106 nextLocation: p 1107 } : ye.has(p.pathname) && (j = { 1108 currentLocation: p, 1109 nextLocation: b.location 1110 }); 1111 } else if (ae) { 1112 let I = ye.get(b.location.pathname); 1113 I ? I.add(p.pathname) : (I = /* @__PURE__ */ new Set([p.pathname]), ye.set(b.location.pathname, I)), j = { 1114 currentLocation: b.location, 1115 nextLocation: p 1116 }; 1117 } 1118 pe( 1119 { 1120 ...u, 1121 // matches, errors, fetchers go through as-is 1122 actionData: S, 1123 loaderData: E, 1124 historyAction: z, 1125 location: p, 1126 initialized: !0, 1127 navigation: ur, 1128 revalidation: "idle", 1129 restoreScrollPosition: R, 1130 preventScrollReset: D, 1131 blockers: B 1132 }, 1133 { 1134 viewTransitionOpts: j, 1135 flushSync: m === !0 1136 } 1137 ), z = "POP", te = !1, ae = !1, Y = !1, Q = !1, W?.resolve(), W = null, ct?.resolve(), ct = null; 1138 } 1139 async function zr(p, u) { 1140 if (W?.resolve(), W = null, typeof p == "number") { 1141 W || (W = ya()); 1142 let K = W.promise; 1143 return e.history.go(p), K; 1144 } 1145 let m = vr( 1146 b.location, 1147 b.matches, 1148 f, 1149 p, 1150 u?.fromRouteId, 1151 u?.relative 1152 ), { path: _, submission: S, error: E } = oa( 1153 !1, 1154 m, 1155 u 1156 ), B = b.location, R = kt(b.location, _, u && u.state); 1157 R = { 1158 ...R, 1159 ...e.history.encodeLocation(R) 1160 }; 1161 let D = u && u.replace != null ? u.replace : void 0, j = "PUSH"; 1162 D === !0 ? j = "REPLACE" : D === !1 || S != null && ge(S.formMethod) && S.formAction === b.location.pathname + b.location.search && (j = "REPLACE"); 1163 let I = u && "preventScrollReset" in u ? u.preventScrollReset === !0 : void 0, L = (u && u.flushSync) === !0, G = qr({ 1164 currentLocation: B, 1165 nextLocation: R, 1166 historyAction: j 1167 }); 1168 if (G) { 1169 jt(G, { 1170 state: "blocked", 1171 location: R, 1172 proceed() { 1173 jt(G, { 1174 state: "proceeding", 1175 proceed: void 0, 1176 reset: void 0, 1177 location: R 1178 }), zr(p, u); 1179 }, 1180 reset() { 1181 let K = new Map(b.blockers); 1182 K.set(G, ht), pe({ blockers: K }); 1183 } 1184 }); 1185 return; 1186 } 1187 await $e(j, R, { 1188 submission: S, 1189 // Send through the formData serialization error if we have one so we can 1190 // render at the right error boundary after we match routes 1191 pendingError: E, 1192 preventScrollReset: I, 1193 replace: u && u.replace, 1194 enableViewTransition: u && u.viewTransition, 1195 flushSync: L, 1196 callSiteDefaultShouldRevalidate: u && u.unstable_defaultShouldRevalidate 1197 }); 1198 } 1199 function mn() { 1200 ct || (ct = ya()), ir(), pe({ revalidation: "loading" }); 1201 let p = ct.promise; 1202 return b.navigation.state === "submitting" ? p : b.navigation.state === "i
1202dle" ? ($e(b.historyAction, b.location, { 1203 startUninterruptedRevalidation: !0 1204 }), p) : ($e( 1205 z || b.historyAction, 1206 b.navigation.location, 1207 { 1208 overrideNavigation: b.navigation, 1209 // Proxy through any rending view transition 1210 enableViewTransition: ae === !0 1211 } 1212 ), p); 1213 } 1214 async function $e(p, u, m) { 1215 J && J.abort(), J = null, z = p, Y = (m && m.startUninterruptedRevalidation) === !0, Nn(b.location, b.matches), te = (m && m.preventScrollReset) === !0, ae = (m && m.enableViewTransition) === !0; 1216 let _ = c || s, S = m && m.overrideNavigation, E = m?.initialHydration && b.matches && b.matches.length > 0 && !P ? ( 1217 // `matchRoutes()` has already been called if we're in here via `router.initialize()` 1218 b.matches 1219 ) : Oe(_, u, f), B = (m && m.flushSync) === !0; 1220 if (E && b.initialized && !Q && ai(b.location, u) && !(m && m.submission && ge(m.submission.formMethod))) { 1221 et(u, { matches: E }, { flushSync: B }); 1222 return; 1223 } 1224 let R = Pt(E, _, u.pathname); 1225 if (R.active && R.matches && (E = R.matches), !E) { 1226 let { error: de, notFoundMatches: be, route: Z } = sr( 1227 u.pathname 1228 ); 1229 et( 1230 u, 1231 { 1232 matches: be, 1233 loaderData: {}, 1234 errors: { 1235 [Z.id]: de 1236 } 1237 }, 1238 { flushSync: B } 1239 ); 1240 return; 1241 } 1242 J = new AbortController(); 1243 let D = rt( 1244 e.history, 1245 u, 1246 J.signal, 1247 m && m.submission 1248 ), j = e.getContext ? await e.getContext() : new Zr(), I; 1249 if (m && m.pendingError) 1250 I = [ 1251 He(E).route.id, 1252 { type: "error", error: m.pendingError } 1253 ]; 1254 else if (m && m.submission && ge(m.submission.formMethod)) { 1255 let de = await bn( 1256 D, 1257 u, 1258 m.submission, 1259 E, 1260 j, 1261 R.active, 1262 m && m.initialHydration === !0, 1263 { replace: m.replace, flushSync: B } 1264 ); 1265 if (de.shortCircuited) 1266 return; 1267 if (de.pendingActionResult) { 1268 let [be, Z] = de.pendingActionResult; 1269 if (xe(Z) && Bt(Z.error) && Z.error.status === 404) { 1270 J = null, et(u, { 1271 matches: de.matches, 1272 loaderData: {}, 1273 errors: { 1274 [be]: Z.error 1275 } 1276 }); 1277 return; 1278 } 1279 } 1280 E = de.matches || E, I = de.pendingActionResult, S = gr(u, m.submission), B = !1, R.active = !1, D = rt( 1281 e.history, 1282 D.url, 1283 D.signal 1284 ); 1285 } 1286 let { 1287 shortCircuited: L, 1288 matches: G, 1289 loaderData: K, 1290 errors: fe 1291 } = await yn( 1292 D, 1293 u, 1294 E, 1295 j, 1296 R.active, 1297 S, 1298 m && m.submission, 1299 m && m.fetcherSubmission, 1300 m && m.replace, 1301 m && m.initialHydration === !0, 1302 B, 1303 I, 1304 m && m.callSiteDefaultShouldRevalidate 1305 ); 1306 L || (J = null, et(u, { 1307 matches: G || E, 1308 ...ha(I), 1309 loaderData: K, 1310 errors: fe 1311 })); 1312 } 1313 async function bn(p, u, m, _, S, E, B, R = {}) { 1314 ir(); 1315 let D = fi(u, m); 1316 if (pe({ navigation: D }, { flushSync: R.flushSync === !0 }), E) { 1317 let L = await It( 1318 _, 1319 u.pathname, 1320 p.signal 1321 ); 1322 if (L.type === "aborted") 1323 return { shortCircuited: !0 }; 1324 if (L.type === "error") { 1325 if (L.partialMatches.length === 0) { 1326 let { matches: K, route: fe } = Ft(s); 1327 return { 1328 matches: K, 1329 pendingActionResult: [ 1330 fe.id, 1331 { 1332 type: "error", 1333 error: L.error 1334 } 1335 ] 1336 }; 1337 } 1338 let G = He(L.partialMatches).route.id; 1339 return { 1340 matches: L.partialMatches, 1341 pendingActionResult: [ 1342 G, 1343 { 1344 type: "error", 1345 error: L.error 1346 } 1347 ] 1348 }; 1349 } else if (L.matches) 1350 _ = L.matches; 1351 else { 1352 let { notFoundMatches: G, error: K, route: fe } = sr( 1353 u.pathname 1354 ); 1355 return { 1356 matches: G, 1357 pendingActionResult: [ 1358 fe.id, 1359 { 1360 type: "error", 1361 error: K 1362 } 1363 ] 1364 }; 1365 } 1366 } 1367 let j, I = Gt(_, u); 1368 if (!I.route.action && !I.route.lazy) 1369 j = { 1370 type: "error", 1371 error: Te(405, { 1372 method: p.method, 1373 pathname: u.pathname, 1374 routeId: I.route.id 1375 }) 1376 }; 1377 else { 1378 let L = nt( 1379 o, 1380 l, 1381 p, 1382 _, 1383 I, 1384 B ? [] : a, 1385 S 1386 ), G = await ft( 1387 p, 1388 L, 1389 S, 1390 null 1391 ); 1392 if (j = G[I.route.id], !j) { 1393 for (let K of _) 1394 if (G[K.route.id]) { 1395 j = G[K.route.id]; 1396 break; 1397 } 1398 } 1399 if (p.signal.aborted) 1400 return { shortCircuited: !0 }; 1401 } 1402 if (Xe(j)) { 1403 let L; 1404 return R && R.replace != null ? L = R.replace : L = fa( 1405 j.response.headers.get("Location"), 1406 new URL(p.url), 1407 f, 1408 e.history 1409 ) === b.location.pathname + b.location.search, await qe(p, j, !0, { 1410 submission: m, 1411 replace: L 1412 }), { shortCircuited: !0 }; 1413 } 1414 if (xe(j)) { 1415 let L = He(_, I.route.id); 1416 return (R && R.replace) !== !0 && (z = "PUSH"), { 1417 matches: _, 1418 pendingActionResult: [ 1419 L.route.id, 1420 j, 1421 I.route.id 1422 ] 1423 }; 1424 } 1425 return { 1426 matches: _, 1427 pendingActionResult: [I.route.id, j] 1428 }; 1429 } 1430 async function yn(p, u, m, _, S, E, B, R, D, j, I, L, G) { 1431 let K = E || gr(u, B), fe = B || R || ba(K), de = !Y && !j; 1432 if (S) { 1433 if (de) { 1434 let ue = Mr(L); 1435 pe( 1436 { 1437 navigation: K, 1438 ...ue !== void 0 ? { actionData: ue } : {} 1439 }, 1440 { 1441 flushSync: I 1442 } 1443 ); 1444 } 1445 let $ = await It( 1446 m, 1447 u.pathname, 1448 p.signal 1449 ); 1450 if ($.type === "aborted") 1451 return { shortCircuited: !0 }; 1452 if ($.type === "error") { 1453 if ($.partialMatches.length === 0) { 1454 let { matches: tt, route: Ke } = Ft(s); 1455 return { 1456 matches: tt, 1457 loaderData: {}, 1458 errors: { 1459 [Ke.id]: $.error 1460 } 1461 }; 1462 } 1463 let ue = He($.partialMatches).route.id; 1464 return { 1465 matches: $.partialMatches, 1466 loaderData: {}, 1467 errors: { 1468 [ue]: $.error 1469 } 1470 }; 1471 } else if ($.matches) 1472 m = $.matches; 1473 else { 1474 let { error: ue, notFoundMatches: tt, route: Ke } = sr( 1475 u.pathname 1476 ); 1477 return { 1478 matches: tt, 1479 loaderData: {}, 1480 errors: { 1481 [Ke.id]: ue 1482 } 1483 }; 1484 } 1485 } 1486 let be = c || s, { dsMatches: Z, revalidatingFetchers: Se } = ia( 1487 p, 1488 _, 1489 o, 1490 l, 1491 e.history, 1492 b, 1493 m, 1494 fe, 1495 u, 1496 j ? [] : a, 1497 j === !0, 1498 Q, 1499 ve, 1500 me, 1501 O, 1502 w, 1503 be, 1504 f, 1505 e.patchRoutesOnNavigation != null, 1506 L, 1507 G 1508 ); 1509 if (re = ++le, !e.dataStrategy && !Z.some(($) => $.shouldLoad) && !Z.some( 1510 ($) => $.route.middleware && $.route.middleware.length > 0 1511 ) && Se.length === 0) { 1512 let $ = Ur(); 1513 return et( 1514 u, 1515 { 1516 matches: m, 1517 loaderData: {}, 1518 // Commit pending error if we're short circuiting 1519 errors: L && xe(L[1]) ? { [L[0]]: L[1].error } : null, 1520 ...ha(L), 1521 ...$ ? { fetchers: new Map(b.fetchers) } : {} 1522 }, 1523 { flushSync: I } 1524 ), { shortCircuited: !0 }; 1525 } 1526 if (de) { 1527 let $ = {}; 1528 if (!S) { 1529 $.navigation = K; 1530 let ue = Mr(L); 1531 ue !== void 0 && ($.actionData = ue); 1532 } 1533 Se.length > 0 && ($.fetchers = vn(Se)), pe($, { flushSync: I }); 1534 } 1535 Se.forEach(($) => { 1536 Pe($.key), $.controller && V.set($.key, $.controller); 1537 }); 1538 let Ve = () => Se.forEach(($) => Pe($.key)); 1539 J && J.signal.addEventListener( 1540 "abort", 1541 Ve 1542 ); 1543 let { loaderResults: pt, fetcherResults: Me } = await Or( 1544 Z, 1545 Se, 1546 p, 1547 _ 1548 ); 1549 if (p.signal.aborted) 1550 return { shortCircuited: !0 }; 1551 J && J.signal.removeEventListener( 1552 "abort", 1553 Ve 1554 ), Se.forEach(($) => V.delete($.key)); 1555 let Re = Ut(pt); 1556 if (Re) 1557 return await qe(p, Re.result, !0, { 1558 replace: D 1559 }), { shortCircuited: !0 }; 1560 if (Re = Ut(Me), Re) 1561 return w.add(Re.key), await qe(p, Re.result, !0, { 1562 replace: D 1563 }), { shortCircuited: !0 }; 1564 let { loaderData: dr, errors: ut } = ua( 1565 b, 1566 m, 1567 pt, 1568 L, 1569 Se, 1570 Me 1571 ); 1572 j && b.errors && (ut = { ...b.errors, ...ut }); 1573 let Ge = Ur(), zt = Wr(re), Mt = Ge || zt || Se.length > 0; 1574 return { 1575 matches: m, 1576 loaderData: dr, 1577 errors: ut, 1578 ...Mt ? { fetchers: new Map(b.fetchers) } : {} 1579 }; 1580 } 1581 function Mr(p) { 1582 if (p && !xe(p[1])) 1583 return { 1584 [p[0]]: p[1].data 1585 }; 1586 if (b.actionData) 1587 return Object.keys(b.actionData).length === 0 ? null : b.actionData; 1588 } 1589 function vn(p) { 1590 return p.forEach((u) => { 1591 let m = b.fetchers.get(u.key), _ = mt( 1592 void 0, 1593 m ? m.data : void 0 1594 ); 1595 b.fetchers.set(u.key, _); 1596 }), new Map(b.fetchers); 1597 } 1598 async function xn(p, u, m, _) { 1599 Pe(p); 1600 let S = (_ && _.flushSync) === !0, E = c || s, B = vr( 1601 b.location, 1602 b.matches, 1603 f, 1604 m, 1605 u, 1606 _?.relative 1607 ), R = Oe(E, B, f), D = Pt(R, E, B); 1608 if (D.active && D.matches && (R = D.matches), !R) { 1609 je( 1610 p, 1611 u, 1612 Te(404, { pathname: B }), 1613 { flushSync: S } 1614 ); 1615 return; 1616 } 1617 let { path: j, submission: I, error: L } = oa( 1618 !0, 1619 B, 1620 _ 1621 ); 1622 if (L) { 1623 je(p, u, L, { flushSync: S }); 1624 return; 1625 } 1626 let G = e.getContext ? await e.getContext() : new Zr(), K = (_ && _.preventScrollReset) === !0; 1627 if (I && ge(I.formMethod)) { 1628 await _n( 1629 p, 1630 u, 1631 j, 1632 R, 1633 G, 1634 D.active, 1635 S, 1636 K, 1637 I, 1638 _ && _.unstable_defaultShouldRevalidate 1639 ); 1640 return; 1641 } 1642 O.set(p, { routeId: u, path: j }), await wn( 1643 p, 1644 u, 1645 j, 1646 R, 1647 G, 1648 D.active, 1649 S, 1650 K, 1651 I 1652 ); 1653 } 1654 async function _n(p, u, m, _, S, E, B, R, D, j) { 1655 ir(), O.delete(p); 1656 let I = b.fetchers.get(p); 1657 Le(p, pi(D, I), { 1658 flushSync: B 1659 }); 1660 let L = new AbortController(), G = rt( 1661 e.history, 1662 m, 1663 L.signal, 1664 D 1665 ); 1666 if (E) { 1667 let oe = await It( 1668 _, 1669 new URL(G.url).pathname, 1670 G.signal, 1671 p 1672 ); 1673 if (oe.type === "aborted") 1674 return; 1675 if (oe.type === "error") { 1676 je(p, u, oe.error, { flushSync: B }); 1677 return; 1678 } else if (oe.matches) 1679 _ = oe.matches; 1680 else { 1681 je( 1682 p, 1683 u, 1684 Te(404, { pathname: m }), 1685 { flushSync: B } 1686 ); 1687 return; 1688 } 1689 } 1690 let K = Gt(_, m); 1691 if (!K.route.action && !K.route.lazy) { 1692 let oe = Te(405, { 1693 method: D.formMethod, 1694 pathname: m, 1695 routeId: u 1696 }); 1697 je(p, u, oe, { flushSync: B }); 1698 return; 1699 } 1700 V.set(p, L); 1701 let fe = le, de = nt( 1702 o, 1703 l, 1704 G, 1705 _, 1706 K, 1707 a, 1708 S 1709 ), be = await ft( 1710 G, 1711 de, 1712 S, 1713 p 1714 ), Z = be[K.route.id]; 1715 if (!Z) { 1716 for (let oe of de) 1717 if (be[oe.route.id]) { 1718 Z = be[oe.route.id]; 1719 break; 1720 } 1721 } 1722 if (G.signal.aborted) { 1723 V.get(p) === L && V.delete(p); 1724 return; 1725 } 1726 if (me.has(p)) { 1727 if (Xe(Z) || xe(Z)) { 1728 Le(p, Ie(void 0)); 1729 return; 1730 } 1731 } else { 1732 if (Xe(Z)) 1733 if (V.delete(p), re > fe) { 1734 Le(p, Ie(void 0)); 1735 return; 1736 } else 1737 return w.add(p), Le(p, mt(D)), qe(G, Z, !1, { 1738 fetcherSubmission: D, 1739 preventScrollReset: R 1740 }); 1741 if (xe(Z)) { 1742 je(p, u, Z.error); 1743 return; 1744 } 1745 } 1746 let Se = b.navigation.location || b.location, Ve = rt( 1747 e.history, 1748 Se, 1749 L.signal 1750 ), pt = c || s, Me = b.navigation.state !== "idle" ? Oe(pt, b.navigation.location, f) : b.matches; 1751 F(Me, "Didn't find any matches after fetcher action"); 1752 let Re = ++le; 1753 he.set(p, Re);
1754 let dr = mt(D, Z.data); 1755 b.fetchers.set(p, dr); 1756 let { dsMatches: ut, revalidatingFetchers: Ge } = ia( 1757 Ve, 1758 S, 1759 o, 1760 l, 1761 e.history, 1762 b, 1763 Me, 1764 D, 1765 Se, 1766 a, 1767 !1, 1768 Q, 1769 ve, 1770 me, 1771 O, 1772 w, 1773 pt, 1774 f, 1775 e.patchRoutesOnNavigation != null, 1776 [K.route.id, Z], 1777 j 1778 ); 1779 Ge.filter((oe) => oe.key !== p).forEach((oe) => { 1780 let Ot = oe.key, Yr = b.fetchers.get(Ot), Cn = mt( 1781 void 0, 1782 Yr ? Yr.data : void 0 1783 ); 1784 b.fetchers.set(Ot, Cn), Pe(Ot), oe.controller && V.set(Ot, oe.controller); 1785 }), pe({ fetchers: new Map(b.fetchers) }); 1786 let zt = () => Ge.forEach((oe) => Pe(oe.key)); 1787 L.signal.addEventListener( 1788 "abort", 1789 zt 1790 ); 1791 let { loaderResults: Mt, fetcherResults: $ } = await Or( 1792 ut, 1793 Ge, 1794 Ve, 1795 S 1796 ); 1797 if (L.signal.aborted) 1798 return; 1799 if (L.signal.removeEventListener( 1800 "abort", 1801 zt 1802 ), he.delete(p), V.delete(p), Ge.forEach((oe) => V.delete(oe.key)), b.fetchers.has(p)) { 1803 let oe = Ie(Z.data); 1804 b.fetchers.set(p, oe); 1805 } 1806 let ue = Ut(Mt); 1807 if (ue) 1808 return qe( 1809 Ve, 1810 ue.result, 1811 !1, 1812 { preventScrollReset: R } 1813 ); 1814 if (ue = Ut($), ue) 1815 return w.add(ue.key), qe( 1816 Ve, 1817 ue.result, 1818 !1, 1819 { preventScrollReset: R } 1820 ); 1821 let { loaderData: tt, errors: Ke } = ua( 1822 b, 1823 Me, 1824 Mt, 1825 void 0, 1826 Ge, 1827 $ 1828 ); 1829 Wr(Re), b.navigation.state === "loading" && Re > re ? (F(z, "Expected pending action"), J && J.abort(), et(b.navigation.location, { 1830 matches: Me, 1831 loaderData: tt, 1832 errors: Ke, 1833 fetchers: new Map(b.fetchers) 1834 })) : (pe({ 1835 errors: Ke, 1836 loaderData: ga( 1837 b.loaderData, 1838 tt, 1839 Me, 1840 Ke 1841 ), 1842 fetchers: new Map(b.fetchers) 1843 }), Q = !1); 1844 } 1845 async function wn(p, u, m, _, S, E, B, R, D) { 1846 let j = b.fetchers.get(p); 1847 Le( 1848 p, 1849 mt( 1850 D, 1851 j ? j.data : void 0 1852 ), 1853 { flushSync: B } 1854 ); 1855 let I = new AbortController(), L = rt( 1856 e.history, 1857 m, 1858 I.signal 1859 ); 1860 if (E) { 1861 let Z = await It( 1862 _, 1863 new URL(L.url).pathname, 1864 L.signal, 1865 p 1866 ); 1867 if (Z.type === "aborted") 1868 return; 1869 if (Z.type === "error") { 1870 je(p, u, Z.error, { flushSync: B }); 1871 return; 1872 } else if (Z.matches) 1873 _ = Z.matches; 1874 else { 1875 je( 1876 p, 1877 u, 1878 Te(404, { pathname: m }), 1879 { flushSync: B } 1880 ); 1881 return; 1882 } 1883 } 1884 let G = Gt(_, m); 1885 V.set(p, I); 1886 let K = le, fe = nt( 1887 o, 1888 l, 1889 L, 1890 _, 1891 G, 1892 a, 1893 S 1894 ), be = (await ft( 1895 L, 1896 fe, 1897 S, 1898 p 1899 ))[G.route.id]; 1900 if (V.get(p) === I && V.delete(p), !L.signal.aborted) { 1901 if (me.has(p)) { 1902 Le(p, Ie(void 0)); 1903 return; 1904 } 1905 if (Xe(be)) 1906 if (re > K) { 1907 Le(p, Ie(void 0)); 1908 return; 1909 } else { 1910 w.add(p), await qe(L, be, !1, { 1911 preventScrollReset: R 1912 }); 1913 return; 1914 } 1915 if (xe(be)) { 1916 je(p, u, be.error); 1917 return; 1918 } 1919 Le(p, Ie(be.data)); 1920 } 1921 } 1922 async function qe(p, u, m, { 1923 submission: _, 1924 fetcherSubmission: S, 1925 preventScrollReset: E, 1926 replace: B 1927 } = {}) { 1928 m || (W?.resolve(), W = null), u.response.headers.has("X-Remix-Revalidate") && (Q = !0); 1929 let R = u.response.headers.get("Location"); 1930 F(R, "Expected a Location header on the redirect Response"), R = fa( 1931 R, 1932 new URL(p.url), 1933 f, 1934 e.history 1935 ); 1936 let D = kt(b.location, R, { 1937 _isRedirect: !0 1938 }); 1939 if (r) { 1940 let fe = !1; 1941 if (u.response.headers.has("X-Remix-Reload-Document")) 1942 fe = !0; 1943 else if (Ar(R)) { 1944 const de = ja(R, !0); 1945 fe = // Hard reload if it's an absolute URL to a new origin 1946 de.origin !== t.location.origin || // Hard reload if it's an absolute URL that does not match our basename 1947 Ae(de.pathname, f) == null; 1948 } 1949 if (fe) { 1950 B ? t.location.replace(R) : t.location.assign(R); 1951 return; 1952 } 1953 } 1954 J = null; 1955 let j = B === !0 || u.response.headers.has("X-Remix-Replace") ? "REPLACE" : "PUSH", { formMethod: I, formAction: L, formEncType: G } = b.navigation; 1956 !_ && !S && I && L && G && (_ = ba(b.navigation)); 1957 let K = _ || S; 1958 if (Fo.has(u.response.status) && K && ge(K.formMethod)) 1959 await $e(j, D, { 1960 submission: { 1961 ...K, 1962 formAction: R 1963 }, 1964 // Preserve these flags across redirects 1965 preventScrollReset: E || te, 1966 enableViewTransition: m ? ae : void 0 1967 }); 1968 else { 1969 let fe = gr( 1970 D, 1971 _ 1972 ); 1973 await $e(j, D, { 1974 overrideNavigation: fe, 1975 // Send fetcher submissions through for shouldRevalidate 1976 fetcherSubmission: S, 1977 // Preserve these flags across redirects 1978 preventScrollReset: E || te, 1979 enableViewTransition: m ? ae : void 0 1980 }); 1981 } 1982 } 1983 async function ft(p, u, m, _) { 1984 let S, E = {}; 1985 try { 1986 S = await Jo( 1987 g, 1988 p, 1989 u, 1990 _, 1991 m, 1992 !1 1993 ); 1994 } catch (B) { 1995 return u.filter((R) =>
1995 R.shouldLoad).forEach((R) => { 1996 E[R.route.id] = { 1997 type: "error", 1998 error: B 1999 }; 2000 }), E; 2001 } 2002 if (p.signal.aborted) 2003 return E; 2004 if (!ge(p.method)) 2005 for (let B of u) { 2006 if (S[B.route.id]?.type === "error") 2007 break; 2008 !S.hasOwnProperty(B.route.id) && !b.loaderData.hasOwnProperty(B.route.id) && (!b.errors || !b.errors.hasOwnProperty(B.route.id)) && B.shouldCallHandler() && (S[B.route.id] = { 2009 type: "error", 2010 result: new Error( 2011 `No result returned from dataStrategy for route ${B.route.id}` 2012 ) 2013 }); 2014 } 2015 for (let [B, R] of Object.entries(S)) 2016 if (li(R)) { 2017 let D = R.result; 2018 E[B] = { 2019 type: "redirect", 2020 response: ti( 2021 D, 2022 p, 2023 B, 2024 u, 2025 f 2026 ) 2027 }; 2028 } else 2029 E[B] = await ei(R); 2030 return E; 2031 } 2032 async function Or(p, u, m, _) { 2033 let S = ft( 2034 m, 2035 p, 2036 _, 2037 null 2038 ), E = Promise.all( 2039 u.map(async (D) => { 2040 if (D.matches && D.match && D.request && D.controller) { 2041 let I = (await ft( 2042 D.request, 2043 D.matches, 2044 _, 2045 D.key 2046 ))[D.match.route.id]; 2047 return { [D.key]: I }; 2048 } else 2049 return Promise.resolve({ 2050 [D.key]: { 2051 type: "error", 2052 error: Te(404, { 2053 pathname: D.path 2054 }) 2055 } 2056 }); 2057 }) 2058 ), B = await S, R = (await E).reduce( 2059 (D, j) => Object.assign(D, j), 2060 {} 2061 ); 2062 return { 2063 loaderResults: B, 2064 fetcherResults: R 2065 }; 2066 } 2067 function ir() { 2068 Q = !0, O.forEach((p, u) => { 2069 V.has(u) && ve.add(u), Pe(u); 2070 }); 2071 } 2072 function Le(p, u, m = {}) { 2073 b.fetchers.set(p, u), pe( 2074 { fetchers: new Map(b.fetchers) }, 2075 { flushSync: (m && m.flushSync) === !0 } 2076 ); 2077 } 2078 function je(p, u, m, _ = {}) { 2079 let S = He(b.matches, u); 2080 lr(p), pe( 2081 { 2082 errors: { 2083 [S.route.id]: m 2084 }, 2085 fetchers: new Map(b.fetchers) 2086 }, 2087 { flushSync: (_ && _.flushSync) === !0 } 2088 ); 2089 } 2090 function Hr(p) { 2091 return se.set(p, (se.get(p) || 0) + 1), me.has(p) && me.delete(p), b.fetchers.get(p) || Uo; 2092 } 2093 function Sn(p, u) { 2094 Pe(p, u?.reason), Le(p, Ie(null)); 2095 } 2096 function lr(p) { 2097 let u = b.fetchers.get(p); 2098 V.has(p) && !(u && u.state === "loading" && he.has(p)) && Pe(p), O.delete(p), he.delete(p), w.delete(p), me.delete(p), ve.delete(p), b.fetchers.delete(p); 2099 } 2100 function Tn(p) { 2101 let u = (se.get(p) || 0) - 1; 2102 u <= 0 ? (se.delete(p), me.add(p)) : se.set(p, u), pe({ fetchers: new Map(b.fetchers) }); 2103 } 2104 function Pe(p, u) { 2105 let m = V.get(p); 2106 m && (m.abort(u), V.delete(p)); 2107 } 2108 function Fr(p) { 2109 for (let u of p) { 2110 let m = Hr(u), _ = Ie(m.data); 2111 b.fetchers.set(u, _); 2112 } 2113 } 2114 function Ur() { 2115 let p = [], u = !1; 2116 for (let m of w) { 2117 let _ = b.fetchers.get(m); 2118 F(_, `Expected fetcher: ${m}`), _.state === "loading" && (w.delete(m), p.push(m), u = !0); 2119 } 2120 return Fr(p), u; 2121 } 2122 function Wr(p) { 2123 let u = []; 2124 for (let [m, _] of he) 2125 if (_ < p) { 2126 let S = b.fetchers.get(m); 2127 F(S, `Expected fetcher: ${m}`), S.state === "loading" && (Pe(m), he.delete(m), u.push(m)); 2128 } 2129 return Fr(u), u.length > 0; 2130 } 2131 function An(p, u) { 2132 let m = b.blockers.get(p) || ht; 2133 return We.get(p) !== u && We.set(p, u), m; 2134 } 2135 function $r(p) { 2136 b.blockers.delete(p), We.delete(p); 2137 } 2138 function jt(p, u) { 2139 let m = b.blockers.get(p) || ht; 2140 F( 2141 m.state === "unblocked" && u.state === "blocked" || m.state === "blocked" && u.state === "blocked" || m.state === "blocked" && u.state === "proceeding" || m.state === "blocked" && u.state === "unblocked" || m.state === "proceeding" && u.state === "unblocked", 2142 `Invalid blocker state transition: ${m.state} -> ${u.state}` 2143 ); 2144 let _ = new Map(b.blockers); 2145 _.set(p, u), pe({ blockers: _ }); 2146 } 2147 function qr({ 2148 currentLocation: p, 2149 nextLocation: u, 2150 historyAction: m 2151 }) { 2152 if (We.size === 0) 2153 return; 2154 We.size > 1 && ie(!1, "A router only supports one blocker at a time"); 2155 let _ = Array.from(We.entries()), [S, E] = _[_.length - 1], B = b.blockers.get(S); 2156 if (!(B && B.state === "proceeding") && E({ currentLocation: p, nextLocation: u, historyAction: m })) 2157 return S; 2158 } 2159 function sr(p) { 2160 let u = Te(404, { pathname: p }), m = c || s, { matches: _, route: S } = Ft(m); 2161 return { notFoundMatches: _, route: S, error: u }; 2162 } 2163 function kn(p, u, m) { 2164 if (T = p, N = u, k = m || null, !C && b.navigation === ur) { 2165 C = !0; 2166 let _ = Gr(b.location, b.matches); 2167 _ != null && pe({ restoreScrollPosition: _ }); 2168 } 2169 return () => { 2170 T = null, N = null, k = null; 2171 }; 2172 } 2173 function Vr(p, u) { 2174 return k && k( 2175 p, 2176 u.map((_) => go(_, b.loaderData)) 2177 ) || p.key; 2178 } 2179 function Nn(p, u) { 2180 if (T && N) { 2181 let m = Vr(p, u); 2182 T[m] = N(); 2183 } 2184 } 2185 function Gr(p, u) { 2186 if (T) { 2187 let m = Vr(p, u), _ = T[m]; 2188 if (typeof _ == "number") 2189 return _; 2190 } 2191 return null; 2192 } 2193 function Pt(p, u, m) { 2194 if (e.patchRoutesOnNavigation) 2195 if (p) { 2196 if (Object.keys(p[0].params).length > 0) 2197 return { active: !0, matches: xt( 2198 u, 2199 m, 2200 f, 2201 !0 2202 ) }; 2203 } else 2204 return { active: !0, matches: xt( 2205 u, 2206 m, 2207 f, 2208 !0 2209 ) || [] }; 2210 return { active: !1, matches: null }; 2211 } 2212 async function It(p, u, m, _) { 2213 if (!e.patchRoutesOnNavigation) 2214 return { type: "success", matches: p }; 2215 let S = p; 2216 for (; ; ) { 2217 let E = c == null, B = c || s, R = l;
2218 try { 2219 await e.patchRoutesOnNavigation({ 2220 signal: m, 2221 path: u, 2222 matches: S, 2223 fetcherKey: _, 2224 patch: (I, L) => { 2225 m.aborted || la( 2226 I, 2227 L, 2228 B, 2229 R, 2230 o, 2231 !1 2232 ); 2233 } 2234 }); 2235 } catch (I) { 2236 return { type: "error", error: I, partialMatches: S }; 2237 } finally { 2238 E && !m.aborted && (s = [...s]); 2239 } 2240 if (m.aborted) 2241 return { type: "aborted" }; 2242 let D = Oe(B, u, f), j = null; 2243 if (D) { 2244 if (Object.keys(D[0].params).length === 0) 2245 return { type: "success", matches: D }; 2246 if (j = xt( 2247 B, 2248 u, 2249 f, 2250 !0 2251 ), !(j && S.length < j.length && Kr( 2252 S, 2253 j.slice(0, S.length) 2254 ))) 2255 return { type: "success", matches: D }; 2256 } 2257 if (j || (j = xt( 2258 B, 2259 u, 2260 f, 2261 !0 2262 )), !j || Kr(S, j)) 2263 return { type: "success", matches: null }; 2264 S = j; 2265 } 2266 } 2267 function Kr(p, u) { 2268 return p.length === u.length && p.every((m, _) => m.route.id === u[_].route.id); 2269 } 2270 function Bn(p) { 2271 l = {}, c = Nt( 2272 p, 2273 o, 2274 void 0, 2275 l 2276 ); 2277 } 2278 function Rn(p, u, m = !1) { 2279 let _ = c == null; 2280 la( 2281 p, 2282 u, 2283 c || s, 2284 l, 2285 o, 2286 m 2287 ), _ && (s = [...s], pe({})); 2288 } 2289 return X = { 2290 get basename() { 2291 return f; 2292 }, 2293 get future() { 2294 return h; 2295 }, 2296 get state() { 2297 return b; 2298 }, 2299 get routes() { 2300 return s; 2301 }, 2302 get window() { 2303 return t; 2304 }, 2305 initialize: un, 2306 subscribe: hn, 2307 enableScrollRestoration: kn, 2308 navigate: zr, 2309 fetch: xn, 2310 revalidate: mn, 2311 // Passthrough to history-aware createHref used by useHref so we get proper 2312 // hash-aware URLs in DOM paths 2313 createHref: (p) => e.history.createHref(p), 2314 encodeLocation: (p) => e.history.encodeLocation(p), 2315 getFetcher: Hr, 2316 resetFetcher: Sn, 2317 deleteFetcher: Tn, 2318 dispose: gn, 2319 getBlocker: An, 2320 deleteBlocker: $r, 2321 patchRoutes: Rn, 2322 _internalFetchControllers: V, 2323 // TODO: Remove setRoutes, it's temporary to avoid dealing with 2324 // updating the tree while validating the update algorithm. 2325 _internalSetRoutes: Bn, 2326 _internalSetStateDoNotUseOrYouWillBreakYourApp(p) { 2327 pe(p); 2328 } 2329 }, e.unstable_instrumentations && (X = Lo( 2330 X, 2331 e.unstable_instrumentations.map((p) => p.router).filter(Boolean) 2332 )), X; 2333} 2334function qo(e) { 2335 return e != null && ("formData" in e && e.formData != null || "body" in e && e.body !== void 0); 2336} 2337function vr(e, t, r, a, n, o) { 2338 let l, s; 2339 if (n) { 2340 l = []; 2341 for (let f of t) 2342 if (l.push(f), f.route.id === n) { 2343 s = f; 2344 break; 2345 } 2346 } else 2347 l = t, s = t[t.length - 1]; 2348 let c = ar( 2349 a || ".", 2350 rr(l), 2351 Ae(e.pathname, r) || e.pathname, 2352 o === "path" 2353 ); 2354 if (a == null && (c.search = e.search, c.hash = e.hash), (a == null || a === "" || a === ".") && s) { 2355 let f = Br(c.search); 2356 if (s.route.index && !f) 2357 c.search = c.search ? c.search.replace(/^\?/, "?index&") : "?index"; 2358 else if (!s.route.index && f) { 2359 let g = new URLSearchParams(c.search), h = g.getAll("index"); 2360 g.delete("index"), h.filter((y) => y).forEach((y) => g.append("index", y)); 2361 let v = g.toString(); 2362 c.search = v ? `?${v}` : ""; 2363 } 2364 } 2365 return r !== "/" && (c.pathname = No({ basename: r, pathname: c.pathname })), De(c); 2366} 2367function oa(e, t, r) { 2368 if (!r || !qo(r)) 2369 return { path: t }; 2370 if (r.formMethod && !ci(r.formMethod)) 2371 return { 2372 path: t, 2373 error: Te(405, { method: r.formMethod }) 2374 }; 2375 let a = () => ({ 2376 path: t, 2377 error: Te(400, { type: "invalid-body" }) 2378 }), o = (r.formMethod || "get").toUpperCase(), l = Ja(t); 2379 if (r.body !== void 0) { 2380 if (r.formEncType === "text/plain") { 2381 if (!ge(o)) 2382 return a(); 2383 let h = typeof r.body == "string" ? r.body : r.body instanceof FormData || r.body instanceof URLSearchParams ? ( 2384 // https://html.spec.whatwg.org/multipage/form-control-infrastru
2384cture.html#plain-text-form-data 2385 Array.from(r.body.entries()).reduce( 2386 (v, [y, T]) => `${v}${y}=${T} 2387`, 2388 "" 2389 ) 2390 ) : String(r.body); 2391 return { 2392 path: t, 2393 submission: { 2394 formMethod: o, 2395 formAction: l, 2396 formEncType: r.formEncType, 2397 formData: void 0, 2398 json: void 0, 2399 text: h 2400 } 2401 }; 2402 } else if (r.formEncType === "application/json") { 2403 if (!ge(o)) 2404 return a(); 2405 try { 2406 let h = typeof r.body == "string" ? JSON.parse(r.body) : r.body; 2407 return { 2408 path: t, 2409 submission: { 2410 formMethod: o, 2411 formAction: l, 2412 formEncType: r.formEncType, 2413 formData: void 0, 2414 json: h, 2415 text: void 0 2416 } 2417 }; 2418 } catch { 2419 return a(); 2420 } 2421 } 2422 } 2423 F( 2424 typeof FormData == "function", 2425 "FormData is not available in this environment" 2426 ); 2427 let s, c; 2428 if (r.formData) 2429 s = wr(r.formData), c = r.formData; 2430 else if (r.body instanceof FormData) 2431 s = wr(r.body), c = r.body; 2432 else if (r.body instanceof URLSearchParams) 2433 s = r.body, c = pa(s); 2434 else if (r.body == null) 2435 s = new URLSearchParams(), c = new FormData(); 2436 else 2437 try { 2438 s = new URLSearchParams(r.body), c = pa(s); 2439 } catch { 2440 return a(); 2441 } 2442 let f = { 2443 formMethod: o, 2444 formAction: l, 2445 formEncType: r && r.formEncType || "application/x-www-form-urlencoded", 2446 formData: c, 2447 json: void 0, 2448 text: void 0 2449 }; 2450 if (ge(f.formMethod)) 2451 return { path: t, submission: f }; 2452 let g = Ue(t); 2453 return e && g.search && Br(g.search) && s.append("index", ""), g.search = `?${s}`, { path: De(g), submission: f }; 2454} 2455function ia(e, t, r, a, n, o, l, s, c, f, g, h, v, y, T, k, N, C, A, P, ee) { 2456 let q = P ? xe(P[1]) ? P[1].error : P[1].data : void 0, X = n.createURL(o.location), b = n.createURL(c), z; 2457 if (g && o.errors) { 2458 let Y = Object.keys(o.errors)[0]; 2459 z = l.findIndex((Q) => Q.route.id === Y); 2460 } else if (P && xe(P[1])) { 2461 let Y = P[0]; 2462 z = l.findIndex((Q) => Q.route.id === Y) - 1; 2463 } 2464 let W = P ? P[1].statusCode : void 0, te = W && W >= 400, J = { 2465 currentUrl: X, 2466 currentParams: o.matches[0]?.params || {}, 2467 nextUrl: b, 2468 nextParams: l[0].params, 2469 ...s, 2470 actionResult: q, 2471 actionStatus: W 2472 }, ae = Ct(l), ye = l.map((Y, Q) => { 2473 let { route: ve } = Y, V = null; 2474 if (z != null && Q > z ? V = !1 : ve.lazy ? V = !0 : kr(ve) ? g ? V = xr( 2475 ve, 2476 o.loaderData, 2477 o.errors
2478 ) : Vo(o.loaderData, o.matches[Q], Y) && (V = !0) : V = !1, V !== null) 2479 return _r( 2480 r, 2481 a, 2482 e, 2483 ae, 2484 Y, 2485 f, 2486 t, 2487 V 2488 ); 2489 let le = !1; 2490 typeof ee == "boolean" ? le = ee : te ? le = !1 : (h || X.pathname + X.search === b.pathname + b.search || X.search !== b.search || Go(o.matches[Q], Y)) && (le = !0); 2491 let re = { 2492 ...J, 2493 defaultShouldRevalidate: le 2494 }, he = _t(Y, re); 2495 return _r( 2496 r, 2497 a, 2498 e, 2499 ae, 2500 Y, 2501 f, 2502 t, 2503 he, 2504 re, 2505 ee 2506 ); 2507 }), ne = []; 2508 return T.forEach((Y, Q) => { 2509 if (g || !l.some((se) => se.route.id === Y.routeId) || y.has(Q)) 2510 return; 2511 let ve = o.fetchers.get(Q), V = ve && ve.state !== "idle" && ve.data === void 0, le = Oe(N, Y.path, C); 2512 if (!le) { 2513 if (A && V) 2514 return; 2515 ne.push({ 2516 key: Q, 2517 routeId: Y.routeId, 2518 path: Y.path, 2519 matches: null, 2520 match: null, 2521 request: null, 2522 controller: null 2523 }); 2524 return; 2525 } 2526 if (k.has(Q)) 2527 return; 2528 let re = Gt(le, Y.path), he = new AbortController(), w = rt( 2529 n, 2530 Y.path, 2531 he.signal 2532 ), O = null; 2533 if (v.has(Q)) 2534 v.delete(Q), O = nt( 2535 r, 2536 a, 2537 w, 2538 le, 2539 re, 2540 f, 2541 t 2542 ); 2543 else if (V) 2544 h && (O = nt( 2545 r, 2546 a, 2547 w, 2548 le, 2549 re, 2550 f, 2551 t 2552 )); 2553 else { 2554 let se; 2555 typeof ee == "boolean" ? se = ee : te ? se = !1 : se = h; 2556 let me = { 2557 ...J, 2558 defaultShouldRevalidate: se 2559 }; 2560 _t(re, me) && (O = nt( 2561 r, 2562 a, 2563 w, 2564 le, 2565 re, 2566 f, 2567 t, 2568 me 2569 )); 2570 } 2571 O && ne.push({ 2572 key: Q, 2573 routeId: Y.routeId, 2574 path: Y.path, 2575 matches: O, 2576 match: re, 2577 request: w, 2578 controller: he 2579 }); 2580 }), { dsMatches: ye, revalidatingFetchers: ne }; 2581} 2582function kr(e) { 2583 return e.loader != null || e.middleware != null && e.middleware.length > 0; 2584} 2585function xr(e, t, r) { 2586 if (e.lazy) 2587 return !0; 2588 if (!kr(e)) 2589 return !1; 2590 let a = t != null && e.id in t, n = r != null && r[e.id] !== void 0; 2591 return !a && n ? !1 : typeof e.loader == "function" && e.loader.hydrate === !0 ? !0 : !a && !n; 2592} 2593function Vo(e, t, r) { 2594 let a = ( 2595 // [a] -> [a, b] 2596 !t || // [a, b] -> [a, c] 2597 r.route.id !== t.route.id 2598 ), n = !e.hasOwnProperty(r.route.id); 2599 return a || n; 2600} 2601function Go(e, t) { 2602 let r = e.route.path; 2603 return ( 2604 // param change for this match, /users/123 -> /users/456 2605 e.pathname !== t.pathname || // splat param changed, which is not present in match.path 2606 // e.g. /files/images/avatar.jpg -> files/finances.xls 2607 r != null && r.endsWith("*") && e.params["*"] !== t.params["*"] 2608 ); 2609} 2610function _t(e, t) { 2611 if (e.route.shouldRevalidate) { 2612 let r = e.route.shouldRevalidate(t); 2613 if (typeof r == "boolean") 2614 return r; 2615 } 2616 return t.defaultShouldRevalidate; 2617} 2618function la(e, t, r, a, n, o) { 2619 let l; 2620 if (e) { 2621 let f = a[e]; 2622 F( 2623 f, 2624 `No route found to patch children into: routeId = ${e}` 2625 ), f.children || (f.children = []), l = f.children; 2626 } else 2627 l = r; 2628 let s = [], c = []; 2629 if (t.forEach((f) => { 2630 let g = l.find( 2631 (h) => Va(f, h) 2632 ); 2633 g ? c.push({ existingRoute: g, newRoute: f }) : s.push(f); 2634 }), s.length > 0) { 2635 let f = Nt( 2636 s, 2637 n, 2638 [e || "_", "patch", String(l?.length || "0")], 2639 a 2640 ); 2641 l.push(...f); 2642 } 2643 if (o && c.length > 0) 2644 for (let f = 0; f < c.length; f++) { 2645 let { existingRoute: g, newRoute: h } = c[f], v = g, [y] = Nt( 2646 [h], 2647 n, 2648 [], 2649 // Doesn't matter for mutated routes since they already have an id 2650 {}, 2651 // Don't touch the manifest here since we're updating in place 2652 !0 2653 ); 2654 Object.assign(v, { 2655 element: y.element ? y.element : v.element, 2656 errorElement: y.errorElement ? y.errorElement : v.errorElement, 2657 hydrateFallbackElement: y.hydrateFallbackElement ? y.hydrateFallbackElement : v.hydrateFallbackElement 2658 }); 2659 } 2660} 2661function Va(e, t) { 2662 return "id" in e && "id" in t && e.id === t.id ? !0 : e.index === t.index && e.path === t.path && e.caseSensitive === t.caseSensitive ? (!e.children || e.children.length === 0) && (!t.children || t.children.length === 0) ? !0 : e.children.every( 2663 (r, a) => t.children?.some((n) => Va(r, n)) 2664 ) : !1; 2665} 2666var sa = /* @__PURE__ */ new WeakMap(), Ga = ({ 2667 key: e, 2668 route: t, 2669 manifest: r, 2670 mapRouteProperties: a 2671}) => { 2672 let n = r[t.id]; 2673 if (F(n, "No route found in manifest"), !n.lazy || typeof n.lazy != "object") 2674 return; 2675 let o = n.lazy[e]; 2676 if (!o) 2677 return; 2678 let l = sa.get(n); 2679 l || (l = {}, sa.set(n, l)); 2680 let s = l[e]; 2681 if (s) 2682 return s; 2683 let c = (async () => { 2684 let f = co(e), h = n[e] !== void 0 && e !== "hasErrorBoundary"; 2685 if (f) 2686 ie( 2687 !f, 2688 "Route property " + e + " is not a supported lazy route property. This property will be ignored." 2689 ), l[e] = Promise.resolve(); 2690 else if (h) 2691 ie( 2692 !1, 2693 `Route "${n.id}" has a static property "${e}" defined. The lazy property will be ignored.` 2694 ); 2695 else { 2696 let v = await o(); 2697 v != null && (Object.assign(n, { [e]: v }), Object.assign(n, a(n))); 2698 } 2699 typeof n.lazy == "object" && (n.lazy[e] = void 0, Object.values(n.lazy).every((v) => v === void 0) && (n.lazy = void 0)); 2700 })(); 2701 return l[e] = c, c; 2702}, da = /* @__PURE__ */ new WeakMap(); 2703function Ko(e, t, r, a, n) { 2704 let o = r[e.id]; 2705 if (F(o, "No route found in manifest"), !e.lazy) 2706 return { 2707 lazyRoutePromise: void 0, 2708 lazyHandlerPromise: void 0 2709 }; 2710 if (typeof e.lazy == "function") { 2711 let g = da.get(o); 2712 if (g) 2713 return { 2714 lazyRoutePromise: g, 2715 lazyHandlerPromise: g 2716 }; 2717 let h = (async () => { 2718 F( 2719 typeof e.lazy == "function", 2720 "No lazy route function found" 2721 ); 2722 let v = await e.lazy(), y = {}; 2723 for (let T in v) { 2724 let k = v[T]; 2725 if (k === void 0) 2726 continue; 2727 let N = po(T), A = o[T] !== void 0 && // This property isn't static since it should always be updated based 2728 // on the route updates 2729 T !== "hasErrorBoundary"; 2730 N ? ie( 2731 !N, 2732 "Route property " + T + " is not a supported property to be returned from a lazy route function. This property will be ignored." 2733 ) : A ? ie( 2734 !A, 2735 `Route "${o.id}" has a static property "${T}" defined but its lazy function is also returning a value for this property. The lazy route property "${T}" will be ignored.` 2736 ) : y[T] = k; 2737 } 2738 Object.assign(o, y), Object.assign(o, { 2739 // To keep things framework agnostic, we use the provided `mapRouteProperties` 2740 // function to set the framework-aware properties (`element`/`hasErrorBoundary`) 2741 // since the logic will differ between frameworks. 2742 ...a(o), 2743 lazy: void 0 2744 }); 2745 })(); 2746 return da.set(o, h), h.catch(() => { 2747 }), { 2748 lazyRoutePromise: h, 2749 lazyHandlerPromise: h 2750 }; 2751 } 2752 let l = Object.keys(e.lazy), s = [], c; 2753 for (let g of l) { 2754 if (n && n.includes(g)) 2755 continue; 2756 let h = Ga({ 2757 key: g, 2758 route: e, 2759 manifest: r, 2760 mapRouteProperties: a 2761 }); 2762 h && (s.push(h), g === t && (c = h)); 2763 } 2764 let f = s.length > 0 ? Promise.all(s).then(() => { 2765 }) : void 0; 2766 return f?.catch(() => { 2767 }), c?.catch(() => { 2768 }), { 2769 lazyRoutePromise: f, 2770 lazyHandlerPromise: c 2771 }; 2772} 2773async function ca(e) { 2774 let t = e.matches.filter((n) => n.shouldLoad), r = {}; 2775 return (await Promise.all(t.map((n) =>
2775 n.resolve()))).forEach((n, o) => { 2776 r[t[o].route.id] = n; 2777 }), r; 2778} 2779async function Yo(e) { 2780 return e.matches.some((t) => t.route.middleware) ? Ka(e, () => ca(e)) : ca(e); 2781} 2782function Ka(e, t) { 2783 return Xo( 2784 e, 2785 t, 2786 (a) => { 2787 if (di(a)) 2788 throw a; 2789 return a; 2790 }, 2791 oi, 2792 r 2793 ); 2794 function r(a, n, o) { 2795 if (o) 2796 return Promise.resolve( 2797 Object.assign(o.value, { 2798 [n]: { type: "error", result: a } 2799 }) 2800 ); 2801 { 2802 let { matches: l } = e, s = Math.min( 2803 // Throwing route 2804 Math.max( 2805 l.findIndex((f) => f.route.id === n), 2806 0 2807 ), 2808 // or the shallowest route that needs to load data 2809 Math.max( 2810 l.findIndex((f) => f.shouldCallHandler()), 2811 0 2812 ) 2813 ), c = He( 2814 l, 2815 l[s].route.id 2816 ).route.id; 2817 return Promise.resolve({ 2818 [c]: { type: "error", result: a } 2819 }); 2820 } 2821 } 2822} 2823async function Xo(e, t, r, a, n) { 2824 let { matches: o, request: l, params: s, context: c, unstable_pattern: f } = e, g = o.flatMap( 2825 (v) => v.route.middleware ? v.route.middleware.map((y) => [v.route.id, y]) : [] 2826 ); 2827 return await Ya( 2828 { 2829 request: l, 2830 params: s, 2831 context: c, 2832 unstable_pattern: f 2833 }, 2834 g, 2835 t, 2836 r, 2837 a, 2838 n 2839 ); 2840} 2841async function Ya(e, t, r, a, n, o, l = 0) { 2842 let { request: s } = e; 2843 if (s.signal.aborted) 2844 throw s.signal.reason ?? new Error(`Request aborted: ${s.method} ${s.url}`); 2845 let c = t[l]; 2846 if (!c) 2847 return await r(); 2848 let [f, g] = c, h, v = async () => { 2849 if (h) 2850 throw new Error("You may only call `next()` once per middleware"); 2851 try { 2852 return h = { value: await Ya( 2853 e, 2854 t, 2855 r, 2856 a, 2857 n, 2858 o, 2859 l + 1 2860 ) }, h.value; 2861 } catch (y) { 2862 return h = { value: await o(y, f, h) }, h.value; 2863 } 2864 }; 2865 try { 2866 let y = await g(e, v), T = y != null ? a(y) : void 0; 2867 return n(T) ? T : h ? T ?? h.value : (h = { value: await v() }, h.value); 2868 } catch (y) { 2869 return await o(y, f, h); 2870 } 2871} 2872function Xa(e, t, r, a, n) { 2873 let o = Ga({ 2874 key: "middleware", 2875 route: a.route, 2876 manifest: t, 2877 mapRouteProperties: e 2878 }), l = Ko( 2879 a.route, 2880 ge(r.method) ? "action" : "loader", 2881 t, 2882 e, 2883 n 2884 ); 2885 return { 2886 middleware: o, 2887 route: l.lazyRoutePromise, 2888 handler: l.lazyHandlerPromise 2889 }; 2890} 2891function _r(e, t, r, a, n, o, l, s, c = null, f) { 2892 let g = !1, h = Xa( 2893 e, 2894 t, 2895 r, 2896 n, 2897 o 2898 ); 2899 return { 2900 ...n, 2901 _lazyPromises: h, 2902 shouldLoad: s, 2903 shouldRevalidateArgs: c, 2904 shouldCallHandler(v) { 2905 return g = !0, c ? typeof f == "boolean" ? _t(n, { 2906 ...c, 2907 defaultShouldRevalidate: f 2908 }) : typeof v == "boolean" ? _t(n, { 2909 ...c, 2910 defaultShouldRevalidate: v 2911 }) : _t(n, c) : s; 2912 }, 2913 resolve(v) { 2914 let { lazy: y, loader: T, middleware: k } = n.route, N = g || s || v && !ge(r.method) && (y || T), C = k && k.length > 0 && !T && !y; 2915 return N && (ge(r.method) || !C) ? Qo({ 2916 request: r, 2917 unstable_pattern: a, 2918 match: n, 2919 lazyHandlerPromise: h?.handler, 2920 lazyRoutePromise: h?.route, 2921 handlerOverride: v, 2922 scopedContext: l 2923 }) : Promise.resolve({ type: "data", result: void 0 }); 2924 } 2925 }; 2926} 2927function nt(e, t, r, a, n, o, l, s = null) { 2928 return a.map((c) => c.route.id !== n.route.id ? { 2929 ...c, 2930 shouldLoad: !1, 2931 shouldRevalidateArgs: s, 2932 shouldCallHandler: () => !1, 2933 _lazyPromises: Xa( 2934 e, 2935 t, 2936 r, 2937 c, 2938 o 2939 ), 2940 resolve: () => Promise.resolve({ type: "data", result: void 0 }) 2941 } : _r( 2942 e, 2943 t, 2944 r, 2945 Ct(a), 2946 c, 2947 o, 2948 l, 2949 !0, 2950 s 2951 )); 2952} 2953async function Jo(e, t, r, a, n, o) { 2954 r.some((f) => f._lazyPromises?.middleware) && await Promise.all(r.map((f) => f._lazyPromises?.middleware)); 2955 let l = { 2956 request: t, 2957 unstable_pattern: Ct(r), 2958 params: r[0].params, 2959 context: n, 2960 matches: r 2961 }, c = await e({ 2962 ...l, 2963 fetcherKey: a, 2964 runClientMiddleware: (f) => { 2965 let g = l; 2966 return Ka(g, () => f({ 2967 ...g, 2968 fetcherKey: a, 2969 runClientMiddleware: () => { 2970 throw new Error( 2971 "Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler" 2972 ); 2973 } 2974 })); 2975 } 2976 }); 2977 try { 2978 await Promise.all( 2979 r.flatMap((f) => [ 2980 f._lazyPromises?.handler, 2981 f._lazyPromises?.route 2982 ]) 2983 ); 2984 } catch { 2985 } 2986 return c; 2987} 2988async function Qo({ 2989 request: e, 2990 unstable_pattern: t, 2991 match: r, 2992 lazyHandlerPromise: a, 2993 lazyRoutePromise: n, 2994 handlerOverride: o, 2995 scopedContext: l 2996}) { 2997 let s, c, f = ge(e.method), g = f ? "action" : "loader", h = (v) => { 2998 let y, T = new Promise((C, A) => y = A); 2999 c = () => y(), e.signal.addEventListener("abort", c); 3000 let k = (C) => typeof v != "function" ? Promise.reject( 3001 new Error( 3002 `You cannot call the handler for a route which defines a boolean "${g}" [routeId: ${r.route.id}]` 3003 ) 3004 ) : v( 3005 { 3006 request: e, 3007 unstable_pattern: t, 3008 params: r.params, 3009 context: l 3010 }, 3011 ...C !== void 0 ? [C] : [] 3012 ), N = (async () => {
3013 try { 3014 return { type: "data", result: await (o ? o((A) => k(A)) : k()) }; 3015 } catch (C) { 3016 return { type: "error", result: C }; 3017 } 3018 })(); 3019 return Promise.race([N, T]); 3020 }; 3021 try { 3022 let v = f ? r.route.action : r.route.loader; 3023 if (a || n) 3024 if (v) { 3025 let y, [T] = await Promise.all([ 3026 // If the handler throws, don't let it immediately bubble out, 3027 // since we need to let the lazy() execution finish so we know if this 3028 // route has a boundary that can handle the error 3029 h(v).catch((k) => { 3030 y = k; 3031 }), 3032 // Ensure all lazy route promises are resolved before continuing 3033 a, 3034 n 3035 ]); 3036 if (y !== void 0) 3037 throw y; 3038 s = T; 3039 } else { 3040 await a; 3041 let y = f ? r.route.action : r.route.loader; 3042 if (y) 3043 [s] = await Promise.all([h(y), n]); 3044 else if (g === "action") { 3045 let T = new URL(e.url), k = T.pathname + T.search; 3046 throw Te(405, { 3047 method: e.method, 3048 pathname: k, 3049 routeId: r.route.id 3050 }); 3051 } else 3052 return { type: "data", result: void 0 }; 3053 } 3054 else if (v) 3055 s = await h(v); 3056 else { 3057 let y = new URL(e.url), T = y.pathname + y.search; 3058 throw Te(404, { 3059 pathname: T 3060 }); 3061 } 3062 } catch (v) { 3063 return { type: "error", result: v }; 3064 } finally { 3065 c && e.signal.removeEventListener("abort", c); 3066 } 3067 return s; 3068} 3069async function Zo(e) { 3070 let t = e.headers.get("Content-Type"); 3071 return t && /\bapplication\/json\b/.test(t) ? e.body == null ? null : e.json() : e.text(); 3072} 3073async function ei(e) { 3074 let { result: t, type: r } = e; 3075 if (Nr(t)) { 3076 let a; 3077 try { 3078 a = await Zo(t); 3079 } catch (n) { 3080 return { type: "error", error: n }; 3081 } 3082 return r === "error" ? { 3083 type: "error", 3084 error: new Rt(t.status, t.statusText, a), 3085 statusCode: t.status, 3086 headers: t.headers 3087 } : { 3088 type: "data", 3089 data: a, 3090 statusCode: t.status, 3091 headers: t.headers 3092 }; 3093 } 3094 return r === "error" ? ma(t) ? t.data instanceof Error ? { 3095 type: "error", 3096 error: t.data, 3097 statusCode: t.init?.status, 3098 headers: t.init?.headers ? new Headers(t.init.headers) : void 0 3099 } : { 3100 type: "error", 3101 error: ni(t), 3102 statusCode: Bt(t) ? t.status : void 0, 3103 headers: t.init?.headers ? new Headers(t.init.headers) : void 0 3104 } : { 3105 type: "error", 3106 error: t, 3107 statusCode: Bt(t) ? t.status : void 0 3108 } : ma(t) ? { 3109 type: "data", 3110 data: t.data, 3111 statusCode: t.init?.status, 3112 headers: t.init?.headers ? new Headers(t.init.headers) : void 0 3113 } : { type: "data", data: t }; 3114} 3115function ti(e, t, r, a, n) { 3116 let o = e.headers.get("Location"); 3117 if (F( 3118 o, 3119 "Redirects returned/thrown from loaders/actions must have a Location header" 3120 ), !Ar(o)) { 3121 let l = a.slice( 3122 0, 3123 a.findIndex((s) => s.route.id === r) + 1 3124 ); 3125 o = vr( 3126 new URL(t.url), 3127 l, 3128 n, 3129 o 3130 ), e.headers.set("Location", o); 3131 } 3132 return e; 3133} 3134function fa(e, t, r, a) { 3135 let n = [ 3136 "about:", 3137 "blob:", 3138 "chrome:", 3139 "chrome-untrusted:", 3140 "content:", 3141 "data:", 3142 "devtools:", 3143 "file:", 3144 "filesystem:", 3145 // eslint-disable-next-line no-script-url 3146 "javascript:" 3147 ]; 3148 if (Ar(e)) { 3149 let o = e, l = o.startsWith("//") ? new URL(t.protocol + o) : new URL(o); 3150 if (n.includes(l.protocol)) 3151 throw new Error("Invalid redirect location"); 3152 let s = Ae(l.pathname, r) != null; 3153 if (l.origin === t.origin && s) 3154 return l.pathname + l.search + l.hash; 3155 } 3156 try { 3157 let o = a.createURL(e); 3158 if (n.includes(o.protocol)) 3159 throw new Error("Invalid redirect location"); 3160 } catch { 3161 } 3162 return e; 3163} 3164function rt(e, t, r, a) { 3165 let n = e.createURL(Ja(t)).toString(), o = { signal: r }; 3166 if (a && ge(a.formMethod)) { 3167 let { formMethod: l, formEncType: s } = a; 3168 o.method = l.toUpperCase(), s === "application/json" ? (o.headers = new Headers({ "Content-Type": s }), o.body = JSON.stringify(a.json)) : s === "text/plain" ? o.body = a.text : s === "application/x-www-form-urlencoded" && a.formData ? o.body = wr(a.formData) : o.body = a.formData; 3169 }
3170 return new Request(n, o); 3171} 3172function wr(e) { 3173 let t = new URLSearchParams(); 3174 for (let [r, a] of e.entries()) 3175 t.append(r, typeof a == "string" ? a : a.name); 3176 return t; 3177} 3178function pa(e) { 3179 let t = new FormData(); 3180 for (let [r, a] of e.entries()) 3181 t.append(r, a); 3182 return t; 3183} 3184function ri(e, t, r, a = !1, n = !1) { 3185 let o = {}, l = null, s, c = !1, f = {}, g = r && xe(r[1]) ? r[1].error : void 0; 3186 return e.forEach((h) => { 3187 if (!(h.route.id in t)) 3188 return; 3189 let v = h.route.id, y = t[v]; 3190 if (F( 3191 !Xe(y), 3192 "Cannot handle redirect results in processLoaderData" 3193 ), xe(y)) { 3194 let T = y.error; 3195 if (g !== void 0 && (T = g, g = void 0), l = l || {}, n) 3196 l[v] = T; 3197 else { 3198 let k = He(e, v); 3199 l[k.route.id] == null && (l[k.route.id] = T); 3200 } 3201 a || (o[v] = qa), c || (c = !0, s = Bt(y.error) ? y.error.status : 500), y.headers && (f[v] = y.headers); 3202 } else 3203 o[v] = y.data, y.statusCode && y.statusCode !== 200 && !c && (s = y.statusCode), y.headers && (f[v] = y.headers); 3204 }), g !== void 0 && r && (l = { [r[0]]: g }, r[2] && (o[r[2]] = void 0)), { 3205 loaderData: o, 3206 errors: l, 3207 statusCode: s || 200, 3208 loaderHeaders: f 3209 }; 3210} 3211function ua(e, t, r, a, n, o) { 3212 let { loaderData: l, errors: s } = ri( 3213 t, 3214 r, 3215 a 3216 ); 3217 return n.filter((c) => !c.matches || c.matches.some((f) => f.shouldLoad)).forEach((c) => { 3218 let { key: f, match: g, controller: h } = c; 3219 if (h && h.signal.aborted) 3220 return; 3221 let v = o[f]; 3222 if (F(v, "Did not find corresponding fetcher result"), xe(v)) { 3223 let y = He(e.matches, g?.route.id); 3224 s && s[y.route.id] || (s = { 3225 ...s, 3226 [y.route.id]: v.error 3227 }), e.fetchers.delete(f); 3228 } else if (Xe(v)) 3229 F(!1, "Unhandled fetcher revalidation redirect"); 3230 else { 3231 let y = Ie(v.data); 3232 e.fetchers.set(f, y); 3233 } 3234 }), { loaderData: l, errors: s }; 3235} 3236function ga(e, t, r, a) { 3237 let n = Object.entries(t).filter(([, o]) => o !== qa).reduce((o, [l, s]) => (o[l] = s, o), {}); 3238 for (let o of r) { 3239 let l = o.route.id; 3240 if (!t.hasOwnProperty(l) && e.hasOwnProperty(l) && o.route.loader && (n[l] = e[l]), a && a.hasOwnProperty(l)) 3241 break; 3242 } 3243 return n; 3244} 3245function ha(e) { 3246 return e ? xe(e[1]) ? { 3247 // Clear out prior actionData on errors 3248 actionData: {} 3249 } : { 3250 actionData: { 3251 [e[0]]: e[1].data 3252 } 3253 } : {}; 3254} 3255function He(e, t) { 3256 return (t ? e.slice(0, e.findIndex((a) => a.route.id === t) + 1) : [...e]).reverse().find((a) => a.route.hasErrorBoundary === !0) || e[0]; 3257} 3258function Ft(e) { 3259 let t = e.length === 1 ? e[0] : e.find((r) => r.index || !r.path || r.path === "/") || { 3260 id: "__shim-error-route__" 3261 }; 3262 return { 3263 matches: [ 3264 { 3265 params: {}, 3266 pathname: "", 3267 pathnameBase: "", 3268 route: t 3269 } 3270 ], 3271 route: t 3272 }; 3273} 3274function Te(e, { 3275 pathname: t, 3276 routeId: r, 3277 method: a, 3278 type: n, 3279 message: o 3280} = {}) { 3281 let l = "Unknown Server Error", s = "Unknown @remix-run/router error"; 3282 return e === 400 ? (l = "Bad Request", a && t && r ? s = `You made a ${a} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.` : n === "invalid-body" && (s = "Unable to encode submission body")) : e === 403 ? (l = "Forbidden", s = `Route "${r}" does not match URL "${t}"`) : e === 404 ? (l = "Not Found", s = `No route matches URL "${t}"`) : e === 405 && (l = "Method Not Allowed", a && t && r ? s = `You made a ${a.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.` : a && (s = `Invalid request method "${a.toUpperCase()}"`)), new Rt( 3283 e || 500, 3284 l, 3285 new Error(s), 3286 !0 3287 ); 3288} 3289function Ut(e) { 3290 let t = Object.entries(e); 3291 for (let r = t.length - 1; r >= 0; r--) { 3292 let [a, n] = t[r]; 3293 if (Xe(n)) 3294 return { key: a, result: n }; 3295 } 3296} 3297function Ja(e) { 3298 let t = typeof e == "string" ? Ue(e) : e; 3299 return De({ ...t, hash: "" }); 3300} 3301function ai(e, t) { 3302 return e.pathname !== t.pathname || e.search !== t.search ? !1 : e.hash === "" ? t.hash !== "" : e.hash === t.hash ? !0 : t.hash !== ""; 3303} 3304function ni(e) { 3305 return new Rt( 3306 e.init?.status ?? 500, 3307 e.init?.statusText ?? "Internal Server Error", 3308 e.data 3309 ); 3310} 3311function oi(e) { 3312 return e != null && typeof e == "object" && Object.entries(e).every( 3313 ([t, r]) => typeof t == "string" && ii(r) 3314 ); 3315} 3316function ii(e) { 3317 return e != null && typeof e == "object" && "type" in e && "result" in e && (e.type === "data" || e.type === "error"); 3318} 3319function li(e) { 3320 return Nr(e.result) && Wa.has(e.result.status); 3321} 3322function xe(e) { 3323 return e.type === "error"; 3324} 3325function Xe(e) { 3326 return (e && e.type) === "redirect"; 3327} 3328function ma(e) { 3329 return typeof e == "object" && e != null && "type" in e && "data" in e && "init" in e && e.type === "DataWithResponseInit"; 3330} 3331function Nr(e) { 3332 return e != null && typeof e.status == "number" && typeof e.statusText == "string" && typeof e.headers == "object" && typeof e.body < "u"; 3333} 3334function si(e) { 3335 return Wa.has(e); 3336} 3337function di(e) { 3338 return Nr(e) && si(e.status) && e.headers.has("Location"); 3339} 3340function ci(e) { 3341 return Ho.has(e.toUpperCase()); 3342} 3343function ge(e) { 3344 return Mo.has(e.toUpperCase()); 3345} 3346function Br(e) { 3347 return new URLSearchParams(e).getAll("index").some((t) => t === ""); 3348} 3349function Gt(e, t) { 3350 let r = typeof t == "string" ? Ue(t).search : t.search; 3351 if (e[e.length - 1].route.index && Br(r || "")) 3352 return e[e.length - 1]; 3353 let a = Ma(e); 3354 return a[a.length - 1]; 3355} 3356function ba(e) { 3357 let { formMethod: t, formAction: r, formEncType: a, text: n, formData: o, json: l } = e; 3358 if (!(!t || !r || !a)) { 3359 if (n != null) 3360 return { 3361 formMethod: t, 3362 formAction: r, 3363 formEncType: a, 3364 formData: void 0, 3365 json: void 0, 3366 text: n 3367 }; 3368 if (o != null) 3369 return { 3370 formMethod: t, 3371 formAction: r, 3372 formEncType: a, 3373 formData: o, 3374 json: void 0, 3375 text: void 0 3376 }; 3377 if (l !== void 0) 3378 return { 3379 formMethod: t, 3380 formAction: r, 3381 formEncType: a, 3382 formData: void 0, 3383 json: l, 3384 text: void 0 3385 }; 3386 } 3387} 3388function gr(e, t) { 3389 return t ? { 3390 state: "loading", 3391 location: e, 3392 formMethod: t.formMethod, 3393 formAction: t.formAction, 3394 formEncType: t.formEncType, 3395 formData: t.formData, 3396 json: t.json, 3397 text: t.text 3398 }
3398 : { 3399 state: "loading", 3400 location: e, 3401 formMethod: void 0, 3402 formAction: void 0, 3403 formEncType: void 0, 3404 formData: void 0, 3405 json: void 0, 3406 text: void 0 3407 }; 3408} 3409function fi(e, t) { 3410 return { 3411 state: "submitting", 3412 location: e, 3413 formMethod: t.formMethod, 3414 formAction: t.formAction, 3415 formEncType: t.formEncType, 3416 formData: t.formData, 3417 json: t.json, 3418 text: t.text 3419 }; 3420} 3421function mt(e, t) { 3422 return e ? { 3423 state: "loading", 3424 formMethod: e.formMethod, 3425 formAction: e.formAction, 3426 formEncType: e.formEncType, 3427 formData: e.formData, 3428 json: e.json, 3429 text: e.text, 3430 data: t 3431 } : { 3432 state: "loading", 3433 formMethod: void 0, 3434 formAction: void 0, 3435 formEncType: void 0, 3436 formData: void 0, 3437 json: void 0, 3438 text: void 0, 3439 data: t 3440 }; 3441} 3442function pi(e, t) { 3443 return { 3444 state: "submitting", 3445 formMethod: e.formMethod, 3446 formAction: e.formAction, 3447 formEncType: e.formEncType, 3448 formData: e.formData, 3449 json: e.json, 3450 text: e.text, 3451 data: t ? t.data : void 0 3452 }; 3453} 3454function Ie(e) { 3455 return { 3456 state: "idle", 3457 formMethod: void 0, 3458 formAction: void 0, 3459 formEncType: void 0, 3460 formData: void 0, 3461 json: void 0, 3462 text: void 0, 3463 data: e 3464 }; 3465} 3466function ui(e, t) { 3467 try { 3468 let r = e.sessionStorage.getItem( 3469 $a 3470 ); 3471 if (r) { 3472 let a = JSON.parse(r); 3473 for (let [n, o] of Object.entries(a || {})) 3474 o && Array.isArray(o) && t.set(n, new Set(o || [])); 3475 } 3476 } catch { 3477 } 3478} 3479function gi(e, t) { 3480 if (t.size > 0) { 3481 let r = {}; 3482 for (let [a, n] of t) 3483 r[a] = [...n]; 3484 try { 3485 e.sessionStorage.setItem( 3486 $a, 3487 JSON.stringify(r) 3488 ); 3489 } catch (a) { 3490 ie( 3491 !1, 3492 `Failed to save applied view transitions in sessionStorage (${a}).` 3493 ); 3494 } 3495 } 3496} 3497function ya() { 3498 let e, t, r = new Promise((a, n) => { 3499 e = async (o) => { 3500 a(o); 3501 try { 3502 await r; 3503 } catch { 3504 } 3505 }, t = async (o) => { 3506 n(o); 3507 try { 3508 await r; 3509 } catch { 3510 } 3511 }; 3512 }); 3513 return { 3514 promise: r, 3515 //@ts-ignore 3516 resolve: e, 3517 //@ts-ignore 3518 reject: t 3519 }; 3520} 3521var Ze = _e(null); 3522Ze.displayName = "DataRouter"; 3523var Et = _e(null); 3524Et.displayName = "DataRouterState"; 3525var Qa = _e(!1); 3526function hi() { 3527 return U(Qa); 3528} 3529var Rr = _e({ 3530 isTransitioning: !1 3531}); 3532Rr.displayName = "ViewTransition"; 3533var Za = _e( 3534 /* @__PURE__ */ new Map() 3535); 3536Za.displayName = "Fetchers"; 3537var mi = _e(null); 3538mi.displayName = "Await"; 3539var we = _e( 3540 null 3541); 3542we.displayName = "Navigation"; 3543var nr = _e( 3544 null 3545); 3546nr.displayName = "Location"; 3547var Ne = _e({ 3548 outlet: null, 3549 matches: [], 3550 isDataRoute: !1 3551}); 3552Ne.displayName = "Route"; 3553var Cr = _e(null); 3554Cr.displayName = "RouteError"; 3555var en = "REACT_ROUTER_ERROR", bi = "REDIRECT", yi = "ROUTE_ERROR_RESPONSE"; 3556function vi(e) { 3557 if (e.startsWith(`${en}:${bi}:{`)) 3558 try { 3559 let t = JSON.parse(e.slice(28)); 3560 if (typeof t == "object" && t && typeof t.status == "number" && typeof t.statusText == "string" && typeof t.location == "string" && typeof t.reloadDocument == "boolean" && typeof t.replace == "boolean") 3561 return t; 3562 } catch { 3563 } 3564} 3565function xi(e) { 3566 if (e.startsWith( 3567 `${en}:${yi}:{` 3568 )) 3569 try { 3570 let t = JSON.parse(e.slice(40)); 3571 if (typeof t == "object" && t && typeof t.status == "number" && typeof t.statusText == "string") 3572 return new Rt( 3573 t.status, 3574 t.statusText, 3575 t.data 3576 ); 3577 } catch { 3578 } 3579} 3580function _i(e, { relative: t } = {}) { 3581 F( 3582 st(), 3583 // TODO: This error is probably because they somehow have 2 versions of the 3584 // router loaded. We can help them understand how to avoid that. 3585 "useHref() may be used only in the context of a <Router> component." 3586 ); 3587 let { basename: r, navigator: a } = U(we), { hash: n, pathname: o, search: l } = Dt(e, { relative: t }), s = o; 3588 return r !== "/" && (s = o === "/" ? r : Ee([r, o])), a.createHref({ pathname: s, search: l, hash: n }); 3589} 3590function st() { 3591 return U(nr) != null; 3592} 3593function ze() { 3594 return F( 3595 st(), 3596 // TODO: This error is probably because they somehow have 2 versions of the 3597 // router loaded. We can help them understand how to avoid that. 3598 "useLocation() may be used only in the context of a <Router> component." 3599 ), U(nr).location; 3600} 3601var tn = "You should call navigate() in a React.useEffect(), not when your component is first rendered.";
3602function rn(e) { 3603 U(we).static || Tr(e); 3604} 3605function dt() { 3606 let { isDataRoute: e } = U(Ne); 3607 return e ? Pi() : wi(); 3608} 3609function wi() { 3610 F( 3611 st(), 3612 // TODO: This error is probably because they somehow have 2 versions of the 3613 // router loaded. We can help them understand how to avoid that. 3614 "useNavigate() may be used only in the context of a <Router> component." 3615 ); 3616 let e = U(Ze), { basename: t, navigator: r } = U(we), { matches: a } = U(Ne), { pathname: n } = ze(), o = JSON.stringify(rr(a)), l = Qe(!1); 3617 return rn(() => { 3618 l.current = !0; 3619 }), lt( 3620 (c, f = {}) => { 3621 if (ie(l.current, tn), !l.current) return; 3622 if (typeof c == "number") { 3623 r.go(c); 3624 return; 3625 } 3626 let g = ar( 3627 c, 3628 JSON.parse(o), 3629 n, 3630 f.relative === "path" 3631 ); 3632 e == null && t !== "/" && (g.pathname = g.pathname === "/" ? t : Ee([t, g.pathname])), (f.replace ? r.replace : r.push)( 3633 g, 3634 f.state, 3635 f 3636 ); 3637 }, 3638 [ 3639 t, 3640 r, 3641 o, 3642 n, 3643 e 3644 ] 3645 ); 3646} 3647_e(null); 3648function Si() { 3649 let { matches: e } = U(Ne), t = e[e.length - 1]; 3650 return t ? t.params : {}; 3651} 3652function Dt(e, { relative: t } = {}) { 3653 let { matches: r } = U(Ne), { pathname: a } = ze(), n = JSON.stringify(rr(r)); 3654 return ke( 3655 () => ar( 3656 e, 3657 JSON.parse(n), 3658 a, 3659 t === "path" 3660 ), 3661 [e, n, a, t] 3662 ); 3663} 3664function Ti(e, t, r, a, n) { 3665 F( 3666 st(), 3667 // TODO: This error is probably because they somehow have 2 versions of the 3668 // router loaded. We can help them understand how to avoid that. 3669 "useRoutes() may be used only in the context of a <Router> component." 3670 ); 3671 let { navigator: o } = U(we), { matches: l } = U(Ne), s = l[l.length - 1], c = s ? s.params : {}, f = s ? s.pathname : "/", g = s ? s.pathnameBase : "/", h = s && s.route; 3672 { 3673 let A = h && h.path || ""; 3674 nn( 3675 f, 3676 !h || A.endsWith("*") || A.endsWith("*?"), 3677 `You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${A}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. 3678 3679Please change the parent <Route path="${A}"> to <Route path="${A === "/" ? "*" : `${A}/*`}">.` 3680 ); 3681 } 3682 let v = ze(), y; 3683 y = v; 3684 let T = y.pathname || "/", k = T; 3685 if (g !== "/") { 3686 let A = g.replace(/^\//, "").split("/"); 3687 k = "/" + T.replace(/^\//, "").split("/").slice(A.length).join("/"); 3688 } 3689 let N = Oe(e, { pathname: k }); 3690 return ie( 3691 h || N != null, 3692 `No routes matched location "${y.pathname}${y.search}${y.hash}" ` 3693 ), ie( 3694 N == null || N[N.length - 1].route.element !== void 0 || N[N.length - 1].route.Component !== void 0 || N[N.length - 1].route.lazy !== void 0, 3695 `Matched leaf route at location "${y.pathname}${y.search}${y.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.` 3696 ), Ri( 3697 N && N.map( 3698 (A) => Object.assign({}, A, { 3699 params: Object.assign({}, c, A.params), 3700 pathname: Ee([ 3701 g, 3702 // Re-encode pathnames that were decoded inside matchRoutes. 3703 // Pre-encode `?` and `#` ahead of `encodeLocation` because it uses 3704 // `new URL()` internally and we need to prevent it from treating 3705 // them as separators 3706 o.encodeLocation ? o.encodeLocation( 3707 A.pathname.replace(/\?/g, "%3F").replace(/#/g, "%23") 3708 ).pathname : A.pathname 3709 ]), 3710 pathnameBase: A.pathnameBase === "/" ? g : Ee([ 3711 g, 3712 // Re-encode pathnames that were decoded inside matchRoutes 3713 // Pre-encode `?` and `#` ahead of `encodeLocation` because it uses 3714 // `new URL()` internally and we need to prevent it from treating 3715 // them as separators 3716 o.encodeLocation ? o.encodeLocation( 3717 A.pathnameBase.replace(/\?/g, "%3F").replace(/#/g, "%23") 3718 ).pathname : A.pathnameBase 3719 ]) 3720 }) 3721 ), 3722 l, 3723 r, 3724 a, 3725 n 3726 ); 3727} 3728function Ai() { 3729 let e = ji(), t = Bt(e) ? `${e.status} ${e.statusText}` : e instanceof Error ? e.message : JSON.stringify(e), r = e instanceof Error ? e.stack : null, a = "rgba(200,200,200, 0.5)", n = { padding: "0.5rem", backgroundColor: a }, o = { padding: "2px 4px", backgroundColor: a }, l = null; 3730 return console.error( 3731 "Error handled by React Router default ErrorBoundary:", 3732 e
3733 ), l = /* @__PURE__ */ M(ot, null, /* @__PURE__ */ M("p", null, "ð¿ Hey developer ð"), /* @__PURE__ */ M("p", null, "You can provide a way better UX than this when your app throws errors by providing your own ", /* @__PURE__ */ M("code", { style: o }, "ErrorBoundary"), " or", " ", /* @__PURE__ */ M("code", { style: o }, "errorElement"), " prop on your route.")), /* @__PURE__ */ M(ot, null, /* @__PURE__ */ M("h2", null, "Unexpected Application Error!"), /* @__PURE__ */ M("h3", { style: { fontStyle: "italic" } }, t), r ? /* @__PURE__ */ M("pre", { style: n }, r) : null, l); 3734} 3735var ki = /* @__PURE__ */ M(Ai, null), an = class extends Ea { 3736 constructor(e) { 3737 super(e), this.state = { 3738 location: e.location, 3739 revalidation: e.revalidation, 3740 error: e.error 3741 }; 3742 } 3743 static getDerivedStateFromError(e) { 3744 return { error: e }; 3745 } 3746 static getDerivedStateFromProps(e, t) { 3747 return t.location !== e.location || t.revalidation !== "idle" && e.revalidation === "idle" ? { 3748 error: e.error, 3749 location: e.location, 3750 revalidation: e.revalidation 3751 } : { 3752 error: e.error !== void 0 ? e.error : t.error, 3753 location: t.location, 3754 revalidation: e.revalidation || t.revalidation 3755 }; 3756 } 3757 componentDidCatch(e, t) { 3758 this.props.onError ? this.props.onError(e, t) : console.error( 3759 "React Router caught the following error during render", 3760 e 3761 ); 3762 } 3763 render() { 3764 let e = this.state.error; 3765 if (this.context && typeof e == "object" && e && "digest" in e && typeof e.digest == "string") { 3766 const r = xi(e.digest); 3767 r && (e = r); 3768 } 3769 let t = e !== void 0 ? /* @__PURE__ */ M(Ne.Provider, { value: this.props.routeContext }, /* @__PURE__ */ M( 3770 Cr.Provider, 3771 { 3772 value: e, 3773 children: this.props.component 3774 } 3775 )) : this.props.children;
3776 return this.context ? /* @__PURE__ */ M(Ni, { error: e }, t) : t; 3777 } 3778}; 3779an.contextType = Qa; 3780var hr = /* @__PURE__ */ new WeakMap(); 3781function Ni({ 3782 children: e, 3783 error: t 3784}) { 3785 let { basename: r } = U(we); 3786 if (typeof t == "object" && t && "digest" in t && typeof t.digest == "string") { 3787 let a = vi(t.digest); 3788 if (a) { 3789 let n = hr.get(t); 3790 if (n) throw n; 3791 let o = Ha(a.location, r); 3792 if (Oa && !hr.get(t)) 3793 if (o.isExternal || a.reloadDocument) 3794 window.location.href = o.absoluteURL || o.to; 3795 else { 3796 const l = Promise.resolve().then( 3797 () => window.__reactRouterDataRouter.navigate(o.to, { 3798 replace: a.replace 3799 }) 3800 ); 3801 throw hr.set(t, l), l; 3802 } 3803 return /* @__PURE__ */ M( 3804 "meta", 3805 { 3806 httpEquiv: "refresh", 3807 content: `0;url=${o.absoluteURL || o.to}` 3808 } 3809 ); 3810 } 3811 } 3812 return e; 3813} 3814function Bi({ routeContext: e, match: t, children: r }) { 3815 let a = U(Ze); 3816 return a && a.static && a.staticContext && (t.route.errorElement || t.route.ErrorBoundary) && (a.staticContext._deepestRenderedBoundaryId = t.route.id), /* @__PURE__ */ M(Ne.Provider, { value: e }, r); 3817} 3818function Ri(e, t = [], r = null, a = null, n = null) { 3819 if (e == null) { 3820 if (!r) 3821 return null; 3822 if (r.errors) 3823 e = r.matches; 3824 else if (t.length === 0 && !r.initialized && r.matches.length > 0) 3825 e = r.matches; 3826 else 3827 return null; 3828 } 3829 let o = e, l = r?.errors; 3830 if (l != null) { 3831 let g = o.findIndex( 3832 (h) => h.route.id && l?.[h.route.id] !== void 0 3833 ); 3834 F( 3835 g >= 0, 3836 `Could not find a matching route for errors on route IDs: ${Object.keys( 3837 l 3838 ).join(",")}` 3839 ), o = o.slice( 3840 0, 3841 Math.min(o.length, g + 1) 3842 ); 3843 } 3844 let s = !1, c = -1; 3845 if (r) 3846 for (let g = 0; g < o.length; g++) { 3847 let h = o[g]; 3848 if ((h.route.HydrateFallback || h.route.hydrateFallbackElement) && (c = g), h.route.id) { 3849 let { loaderData: v, errors: y } = r, T = h.route.loader && !v.hasOwnProperty(h.route.id) && (!y || y[h.route.id] === void 0); 3850 if (h.route.lazy || T) { 3851 s = !0, c >= 0 ? o = o.slice(0, c + 1) : o = [o[0]]; 3852 break; 3853 } 3854 } 3855 } 3856 let f = r && a ? (g, h) => { 3857 a(g, { 3858 location: r.location, 3859 params: r.matches?.[0]?.params ?? {}, 3860 unstable_pattern: Ct(r.matches), 3861 errorInfo: h 3862 }); 3863 } : void 0; 3864 return o.reduceRight( 3865 (g, h, v) => { 3866 let y, T = !1, k = null, N = null; 3867 r && (y = l && h.route.id ? l[h.route.id] : void 0, k = h.route.errorElement || ki, s && (c < 0 && v === 0 ? (nn( 3868 "route-fallback", 3869 !1, 3870 "No `HydrateFallback` element provided to render during initial hydration" 3871 ), T = !0, N = null) : c === v && (T = !0, N = h.route.hydrateFallbackElement || null))); 3872 let C = t.concat(o.slice(0, v + 1)), A = () => { 3873 let P; 3874 return y ? P = k : T ? P = N : h.route.Component ? P = /* @__PURE__ */ M(h.route.Component, null) : h.route.element ? P = h.route.element : P = g, /* @__PURE__ */ M( 3875 Bi, 3876 { 3877 match: h, 3878 routeContext: { 3879 outlet: g, 3880 matches: C, 3881 isDataRoute: r != null 3882 }, 3883 children: P 3884 } 3885 ); 3886 }; 3887 return r && (h.route.ErrorBoundary || h.route.errorElement || v === 0) ? /* @__PURE__ */ M( 3888 an, 3889 { 3890 location: r.location, 3891 revalidation: r.revalidation, 3892 component: k, 3893 error: y, 3894 children: A(), 3895 routeContext: { outlet: null, matches: C, isDataRoute: !0 }, 3896 onError: f 3897 } 3898 ) : A(); 3899 }, 3900 null 3901 ); 3902} 3903function Er(e) { 3904 return `${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`; 3905} 3906function Ci(e) { 3907 let t = U(Ze); 3908 return F(t, Er(e)), t; 3909} 3910function Ei(e) { 3911 let t = U(Et); 3912 return F(t, Er(e)), t; 3913} 3914function Di(e) { 3915 let t = U(Ne); 3916 return F(t, Er(e)), t; 3917} 3918function Dr(e) { 3919 let t = Di(e), r = t.matches[t.matches.length - 1]; 3920 return F( 3921 r.route.id, 3922 `${e} can only be used on routes that contain a unique "id"` 3923 ), r.route.id; 3924} 3925function Li() { 3926 return Dr( 3927 "useRouteId" 3928 /* UseRouteId */ 3929 ); 3930} 3931function ji() { 3932 let e = U(Cr), t = Ei( 3933 "useRouteError" 3934 /* UseRouteError */ 3935 ), r = Dr( 3936 "useRouteError" 3937 /* UseRouteError */ 3938 ); 3939 return e !== void 0 ? e : t.errors?.[r]; 3940} 3941function Pi() { 3942 let { router: e } = Ci( 3943 "useNavigate" 3944 /* UseNavigateStable */ 3945 ), t = Dr( 3946 "useNavigate" 3947 /* UseNavigateStable */ 3948 ), r = Qe(!1); 3949 return rn(() => { 3950 r.current = !0; 3951 }), lt( 3952 async (n, o = {}) => { 3953 ie(r.current, tn), r.current && (typeof n == "number" ? await e.navigate(n) : await e.navigate(n, { fromRouteId: t, ...o })); 3954 }, 3955 [e, t] 3956 ); 3957} 3958var va = {}; 3959function nn(e, t, r) {
3960 !t && !va[e] && (va[e] = !0, ie(!1, r)); 3961} 3962var xa = {}; 3963function _a(e, t) { 3964 !e && !xa[t] && (xa[t] = !0, console.warn(t)); 3965} 3966var Ii = "useOptimistic", wa = Zn[Ii], zi = () => { 3967}; 3968function Mi(e) { 3969 return wa ? wa(e) : [e, zi]; 3970} 3971function Oi(e) { 3972 let t = { 3973 // Note: this check also occurs in createRoutesFromChildren so update 3974 // there if you change this -- please and thank you! 3975 hasErrorBoundary: e.hasErrorBoundary || e.ErrorBoundary != null || e.errorElement != null 3976 }; 3977 return e.Component && (e.element && ie( 3978 !1, 3979 "You should not include both `Component` and `element` on your route - `Component` will be used." 3980 ), Object.assign(t, { 3981 element: M(e.Component), 3982 Component: void 0 3983 })), e.HydrateFallback && (e.hydrateFallbackElement && ie( 3984 !1, 3985 "You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used." 3986 ), Object.assign(t, { 3987 hydrateFallbackElement: M(e.HydrateFallback), 3988 HydrateFallback: void 0 3989 })), e.ErrorBoundary && (e.errorElement && ie( 3990 !1, 3991 "You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used." 3992 ), Object.assign(t, { 3993 errorElement: M(e.ErrorBoundary), 3994 ErrorBoundary: void 0 3995 })), t; 3996} 3997var Hi = [ 3998 "HydrateFallback", 3999 "hydrateFallbackElement" 4000], Fi = class { 4001 constructor() { 4002 this.status = "pending", this.promise = new Promise((e, t) => { 4003 this.resolve = (r) => { 4004 this.status === "pending" && (this.status = "resolved", e(r)); 4005 }, this.reject = (r) => { 4006 this.status === "pending" && (this.status = "rejected", t(r)); 4007 }; 4008 }); 4009 } 4010}; 4011function Ui({ 4012 router: e, 4013 flushSync: t, 4014 onError: r, 4015 unstable_useTransitions: a 4016}) { 4017 a = hi() || a; 4018 let [o, l] = H(e.state), [s, c] = Mi(o), [f, g] = H(), [h, v] = H({ 4019 isTransitioning: !1 4020 }), [y, T] = H(), [k, N] = H(), [C, A] = H(), P = Qe(/* @__PURE__ */ new Map()), ee = lt( 4021 (z, { deletedFetchers: W, newErrors: te, flushSync: J, viewTransitionOpts: ae }) => { 4022 te && r && Object.values(te).forEach( 4023 (ne) => r(ne, { 4024 location: z.location, 4025 params: z.matches[0]?.params ?? {}, 4026 unstable_pattern: Ct(z.matches) 4027 }) 4028 ), z.fetchers.forEach((ne, Y) => { 4029 ne.data !== void 0 && P.current.set(Y, ne.data); 4030 }), W.forEach((ne) => P.current.delete(ne)), _a( 4031 J === !1 || t != null, 4032 'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.' 4033 ); 4034 let ye = e.window != null && e.window.document != null && typeof e.window.document.startViewTransition == "function"; 4035 if (_a( 4036 ae == null || ye, 4037 "You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available." 4038 ), !ae || !ye) { 4039 t && J ? t(() => l(z)) : a === !1 ? l(z) : At(() => { 4040 a === !0 && c((ne) => Sa(ne, z)), l(z); 4041 }); 4042 return; 4043 } 4044 if (t && J) { 4045 t(() => { 4046 k && (y?.resolve(), k.skipTransition()), v({ 4047 isTransitioning: !0, 4048 flushSync: !0, 4049 currentLocation: ae.currentLocation, 4050 nextLocation: ae.nextLocation 4051 }); 4052 }); 4053 let ne = e.window.document.startViewTransition(() => { 4054 t(() => l(z)); 4055 }); 4056 ne.finished.finally(() => { 4057 t(() => { 4058 T(void 0), N(void 0), g(void 0), v({ isTransitioning: !1 }); 4059 }); 4060 }), t(() => N(ne)); 4061 return; 4062 } 4063 k ? (y?.resolve(), k.skipTransition(), A({ 4064 state: z, 4065 currentLocation: ae.currentLocation, 4066 nextLocation: ae.nextLocation 4067 })) : (g(z), v({ 4068 isTransitioning: !0, 4069 flushSync: !1, 4070 currentLocation: ae.currentLocation, 4071 nextLocation: ae.nextLocation 4072 })); 4073 }, 4074 [ 4075 e.window, 4076 t, 4077 k, 4078 y, 4079 a, 4080 c, 4081 r 4082 ] 4083 ); 4084 Tr(() => e.subscribe(ee), [e, ee]), ce(() => { 4085 h.isTransitioning && !h.flushSync && T(new Fi()); 4086 }, [h]), ce(() => { 4087 if (y && f && e.window) { 4088 let z = f, W = y.promise, te = e.window.document.startViewTransition(async () => { 4089 a === !1 ? l(z) : At(() => { 4090 a === !0 && c((J) => Sa(J, z)), l(z); 4091 }), await W; 4092 }); 4093 te.finished.finally(() => { 4094 T(void 0), N(void 0), g(void 0), v({ isTransitioning: !1 }); 4095 }), N(te); 4096 } 4097 }, [ 4098 f, 4099 y, 4100 e.window, 4101 a, 4102 c 4103 ]), ce(() => { 4104 y && f && s.location.key === f.location.key && y.resolve(); 4105 }, [y, k, s.location, f]), ce(() => { 4106 !h.isTransitioning && C && (g(C.state), v({ 4107 isTransitioning: !0, 4108 flushSync: !1, 4109 currentLocation: C.currentLocation, 4110 nextLocation: C.nextLocation 4111 }), A(void 0)); 4112 }, [h.isTransitioning, C]); 4113 let q = ke(() => ({ 4114 createHref: e.createHref, 4115 encodeLocation: e.encodeLocation, 4116 go: (z) => e.navigate(z), 4117 push: (z, W, te) => e.navigate(z, { 4118 state: W, 4119 preventScrollReset: te?.preventScrollReset 4120 }), 4121 replace: (z, W, te) => e.navigate(z, { 4122 replace: !0, 4123 state: W, 4124 preventScrollReset: te?.preventScrollReset 4125 }) 4126 }), [e]), X = e.basename || "/", b = ke( 4127 () => ({ 4128 router: e, 4129 navigator: q, 4130 static: !1, 4131 basename: X, 4132 onError: r 4133 }), 4134 [e, q, X, r] 4135 );
4136 return /* @__PURE__ */ M(ot, null, /* @__PURE__ */ M(Ze.Provider, { value: b }, /* @__PURE__ */ M(Et.Provider, { value: s }, /* @__PURE__ */ M(Za.Provider, { value: P.current }, /* @__PURE__ */ M(Rr.Provider, { value: h }, /* @__PURE__ */ M( 4137 Vi, 4138 { 4139 basename: X, 4140 location: s.location, 4141 navigationType: s.historyAction, 4142 navigator: q, 4143 unstable_useTransitions: a 4144 }, 4145 /* @__PURE__ */ M( 4146 Wi, 4147 { 4148 routes: e.routes, 4149 future: e.future, 4150 state: s, 4151 onError: r 4152 } 4153 ) 4154 ))))), null); 4155} 4156function Sa(e, t) { 4157 return { 4158 // Don't surface "current location specific" stuff mid-navigation 4159 // (historyAction, location, matches, loaderData, errors, initialized, 4160 // restoreScroll, preventScrollReset, blockers, etc.) 4161 ...e, 4162 // Only surface "pending/in-flight stuff" 4163 // (navigation, revalidation, actionData, fetchers, ) 4164 navigation: t.navigation.state !== "idle" ? t.navigation : e.navigation, 4165 revalidation: t.revalidation !== "idle" ? t.revalidation : e.revalidation, 4166 actionData: t.navigation.state !== "submitting" ? t.actionData : e.actionData, 4167 fetchers: t.fetchers 4168 }; 4169} 4170var Wi = Da($i); 4171function $i({ 4172 routes: e, 4173 future: t, 4174 state: r, 4175 onError: a 4176}) { 4177 return Ti(e, void 0, r, a, t); 4178} 4179function qi({ 4180 to: e, 4181 replace: t, 4182 state: r, 4183 relative: a 4184}) { 4185 F( 4186 st(), 4187 // TODO: This error is probably because they somehow have 2 versions of 4188 // the router loaded. We can help them understand how to avoid that. 4189 "<Navigate> may be used only in the context of a <Router> component." 4190 ); 4191 let { static: n } = U(we); 4192 ie( 4193 !n, 4194 "<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change." 4195 ); 4196 let { matches: o } = U(Ne), { pathname: l } = ze(), s = dt(), c = ar( 4197 e, 4198 rr(o), 4199 l, 4200 a === "path" 4201 ), f = JSON.stringify(c); 4202 return ce(() => { 4203 s(JSON.parse(f), { replace: t, state: r, relative: a }); 4204 }, [s, f, a, t, r]), null; 4205} 4206function Vi({ 4207 basename: e = "/", 4208 children: t = null, 4209 location: r, 4210 navigationType: a = "POP", 4211 navigator: n, 4212 static: o = !1, 4213 unstable_useTransitions: l 4214}) { 4215 F( 4216 !st(), 4217 "You cannot render a <Router> inside another <Router>. You should never have more than one in your app." 4218 ); 4219 let s = e.replace(/^\/*/, "/"), c = ke( 4220 () => ({ 4221 basename: s, 4222 navigator: n, 4223 static: o, 4224 unstable_useTransitions: l, 4225 future: {} 4226 }), 4227 [s, n, o, l] 4228 ); 4229 typeof r == "string" && (r = Ue(r)); 4230 let { 4231 pathname: f = "/", 4232 search: g = "", 4233 hash: h = "", 4234 state: v = null, 4235 key: y = "default" 4236 } = r, T = ke(() => { 4237 let k = Ae(f, s); 4238 return k == null ? null : { 4239 location: { 4240 pathname: k, 4241 search: g, 4242 hash: h, 4243 state: v, 4244 key: y 4245 }, 4246 navigationType: a 4247 }; 4248 }, [s, f, g, h, v, y, a]); 4249 return ie( 4250 T != null, 4251 `<Router basename="${s}"> is not able to match the URL "${f}${g}${h}" because it does not start with the basename, so the <Router> won't render anything.` 4252 ), T == null ? null : /* @__PURE__ */ M(we.Provider, { value: c }, /* @__PURE__ */ M(nr.Provider, { children: t, value: T })); 4253} 4254var Kt = "get", Yt = "application/x-www-form-urlencoded"; 4255function or(e) { 4256 return typeof HTMLElement < "u" && e instanceof HTMLElement; 4257} 4258function Gi(e) { 4259 return or(e) && e.tagName.toLowerCase() === "button"; 4260} 4261function Ki(e) { 4262 return or(e) && e.tagName.toLowerCase() === "form"; 4263} 4264function Yi(e) { 4265 return or(e) && e.tagName.toLowerCase() === "input"; 4266} 4267function Xi(e) { 4268 return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey); 4269} 4270function Ji(e, t) { 4271 return e.button === 0 && // Ignore everything but left clicks 4272 (!t || t === "_self") && // Let browser handle "target=_blank" etc. 4273 !Xi(e); 4274} 4275var Wt = null; 4276function Qi() { 4277 if (Wt === null) 4278 try { 4279 new FormData( 4280 document.createElement("form"), 4281 // @ts-expect-error if FormData supports the submitter parameter, this will throw 4282 0 4283 ), Wt = !1; 4284 } catch { 4285 Wt = !0; 4286 } 4287 return Wt; 4288}
4289var Zi = /* @__PURE__ */ new Set([ 4290 "application/x-www-form-urlencoded", 4291 "multipart/form-data", 4292 "text/plain" 4293]); 4294function mr(e) { 4295 return e != null && !Zi.has(e) ? (ie( 4296 !1, 4297 `"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Yt}"` 4298 ), null) : e; 4299} 4300function el(e, t) { 4301 let r, a, n, o, l; 4302 if (Ki(e)) { 4303 let s = e.getAttribute("action"); 4304 a = s ? Ae(s, t) : null, r = e.getAttribute("method") || Kt, n = mr(e.getAttribute("enctype")) || Yt, o = new FormData(e); 4305 } else if (Gi(e) || Yi(e) && (e.type === "submit" || e.type === "image")) { 4306 let s = e.form; 4307 if (s == null) 4308 throw new Error( 4309 'Cannot submit a <button> or <input type="submit"> without a <form>' 4310 ); 4311 let c = e.getAttribute("formaction") || s.getAttribute("action"); 4312 if (a = c ? Ae(c, t) : null, r = e.getAttribute("formmethod") || s.getAttribute("method") || Kt, n = mr(e.getAttribute("formenctype")) || mr(s.getAttribute("enctype")) || Yt, o = new FormData(s, e), !Qi()) { 4313 let { name: f, type: g, value: h } = e; 4314 if (g === "image") { 4315 let v = f ? `${f}.` : ""; 4316 o.append(`${v}x`, "0"), o.append(`${v}y`, "0"); 4317 } else f && o.append(f, h); 4318 } 4319 } else { 4320 if (or(e)) 4321 throw new Error( 4322 'Cannot submit element that is not <form>, <button>, or <input type="submit|image">' 4323 ); 4324 r = Kt, a = null, n = Yt, l = e; 4325 } 4326 return o && n === "text/plain" && (l = o, o = void 0), { action: a, method: r.toLowerCase(), encType: n, formData: o, body: l }; 4327} 4328Object.getOwnPropertyNames(Object.prototype).sort().join("\0"); 4329function Lr(e, t) { 4330 if (e === !1 || e === null || typeof e > "u") 4331 throw new Error(t); 4332} 4333function tl(e, t, r, a) { 4334 let n = typeof e == "string" ? new URL( 4335 e, 4336 // This can be called during the SSR flow via PrefetchPageLinksImpl so 4337 // don't assume window is available 4338 typeof window > "u" ? "server://singlefetch/" : window.location.origin 4339 ) : e; 4340 return r ? n.pathname.endsWith("/") ? n.pathname = `${n.pathname}_.${a}` : n.pathname = `${n.pathname}.${a}` : n.pathname === "/" ? n.pathname = `_root.${a}` : t && Ae(n.pathname, t) === "/" ? n.pathname = `${t.replace(/\/$/, "")}/_root.${a}` : n.pathname = `${n.pathname.replace(/\/$/, "")}.${a}`, n; 4341} 4342async function rl(e, t) { 4343 if (e.id in t) 4344 return t[e.id]; 4345 try { 4346 let r = await import( 4347 /* @vite-ignore */ 4348 /* webpackIgnore: true */ 4349 e.module 4350 ); 4351 return t[e.id] = r, r; 4352 } catch (r) { 4353 return console.error( 4354 `Error loading route module \`${e.module}\`, reloading page...` 4355 ), console.error(r), window.__reactRouterContext && window.__reactRouterContext.isSpaMode, window.location.reload(), new Promise(() => { 4356 }); 4357 } 4358} 4359function al(e) { 4360 return e == null ? !1 : e.href == null ? e.rel === "preload" && typeof e.imageSrcSet == "string" && typeof e.imageSizes == "string" : typeof e.rel == "string" && typeof e.href == "string"; 4361} 4362async function nl(e, t, r) { 4363 let a = await Promise.all( 4364 e.map(async (n) => { 4365 let o = t.routes[n.route.id]; 4366 if (o) { 4367 let l = await rl(o, r); 4368 return l.links ? l.links() : []; 4369 } 4370 return []; 4371 }) 4372 ); 4373 return sl( 4374 a.flat(1).filter(al).filter((n) => n.rel === "stylesheet" || n.rel === "preload").map( 4375 (n) => n.rel === "stylesheet" ? { ...n, rel: "prefetch", as: "style" }
4375 : { ...n, rel: "prefetch" } 4376 ) 4377 ); 4378} 4379function Ta(e, t, r, a, n, o) { 4380 let l = (c, f) => r[f] ? c.route.id !== r[f].route.id : !0, s = (c, f) => ( 4381 // param change, /users/123 -> /users/456 4382 r[f].pathname !== c.pathname || // splat param changed, which is not present in match.path 4383 // e.g. /files/images/avatar.jpg -> files/finances.xls 4384 r[f].route.path?.endsWith("*") && r[f].params["*"] !== c.params["*"] 4385 ); 4386 return o === "assets" ? t.filter( 4387 (c, f) => l(c, f) || s(c, f) 4388 ) : o === "data" ? t.filter((c, f) => { 4389 let g = a.routes[c.route.id]; 4390 if (!g || !g.hasLoader) 4391 return !1; 4392 if (l(c, f) || s(c, f)) 4393 return !0; 4394 if (c.route.shouldRevalidate) { 4395 let h = c.route.shouldRevalidate({ 4396 currentUrl: new URL( 4397 n.pathname + n.search + n.hash, 4398 window.origin 4399 ), 4400 currentParams: r[0]?.params || {}, 4401 nextUrl: new URL(e, window.origin), 4402 nextParams: c.params, 4403 defaultShouldRevalidate: !0 4404 }); 4405 if (typeof h == "boolean") 4406 return h; 4407 } 4408 return !0; 4409 }) : []; 4410} 4411function ol(e, t, { includeHydrateFallback: r } = {}) { 4412 return il( 4413 e.map((a) => { 4414 let n = t.routes[a.route.id]; 4415 if (!n) return []; 4416 let o = [n.module]; 4417 return n.clientActionModule && (o = o.concat(n.clientActionModule)), n.clientLoaderModule && (o = o.concat(n.clientLoaderModule)), r && n.hydrateFallbackModule && (o = o.concat(n.hydrateFallbackModule)), n.imports && (o = o.concat(n.imports)), o; 4418 }).flat(1) 4419 ); 4420} 4421function il(e) { 4422 return [...new Set(e)]; 4423} 4424function ll(e) { 4425 let t = {}, r = Object.keys(e).sort(); 4426 for (let a of r) 4427 t[a] = e[a]; 4428 return t; 4429} 4430function sl(e, t) { 4431 let r = /* @__PURE__ */ new Set(); 4432 return new Set(t), e.reduce((a, n) => { 4433 let o = JSON.stringify(ll(n)); 4434 return r.has(o) || (r.add(o), a.push({ key: o, link: n })), a; 4435 }, []); 4436} 4437function on() { 4438 let e = U(Ze); 4439 return Lr( 4440 e, 4441 "You must render this element inside a <DataRouterContext.Provider> element" 4442 ), e; 4443} 4444function dl() { 4445 let e = U(Et); 4446 return Lr( 4447 e, 4448 "You must render this element inside a <DataRouterStateContext.Provider> element" 4449 ), e; 4450} 4451var jr = _e(void 0); 4452jr.displayName = "FrameworkContext"; 4453function ln() { 4454 let e = U(jr); 4455 return Lr( 4456 e, 4457 "You must render this element inside a <HydratedRouter> element" 4458 ), e; 4459} 4460function cl(e, t) { 4461 let r = U(jr), [a, n] = H(!1), [o, l] = H(!1), { onFocus: s, onBlur: c, onMouseEnter: f, onMouseLeave: g, onTouchStart: h } = t, v = Qe(null); 4462 ce(() => { 4463 if (e === "render" && l(!0), e === "viewport") { 4464 let k = (C) => { 4465 C.forEach((A) => { 4466 l(A.isIntersecting); 4467 }); 4468 }, N = new IntersectionObserver(k, { threshold: 0.5 }); 4469 return v.current && N.observe(v.current), () => { 4470 N.disconnect(); 4471 }; 4472 } 4473 }, [e]), ce(() => { 4474 if (a) { 4475 let k = setTimeout(() => { 4476 l(!0); 4477 }, 100); 4478 return () => { 4479 clearTimeout(k); 4480 }; 4481 } 4482 }, [a]); 4483 let y = () => { 4484 n(!0); 4485 }, T = () => { 4486 n(!1), l(!1); 4487 }; 4488 return r ? e !== "intent" ? [o, v, {}] : [ 4489 o, 4490 v, 4491 { 4492 onFocus: bt(s, y), 4493 onBlur: bt(c, T), 4494 onMouseEnter: bt(f, y), 4495 onMouseLeave: bt(g, T), 4496 onTouchStart: bt(h, y) 4497 } 4498 ] : [!1, v, {}]; 4499} 4500function bt(e, t) { 4501 return (r) => { 4502 e && e(r), r.defaultPrevented || t(r); 4503 }; 4504} 4505function fl({ page: e, ...t }) { 4506 let { router: r } = on(), a = ke( 4507 () => Oe(r.routes, e, r.basename), 4508 [r.routes, e, r.basename] 4509 ); 4510 return a ? /* @__PURE__ */ M(ul, { page: e, matches: a, ...t }) : null; 4511} 4512function pl(e) { 4513 let { manifest: t, routeModules: r } = ln(), [a, n] = H([]); 4514 return ce(() => { 4515 let o = !1; 4516 return nl(e, t, r).then( 4517 (l) => { 4518 o || n(l); 4519 } 4520 ), () => { 4521 o = !0; 4522 }; 4523 }, [e, t, r]), a; 4524} 4525function ul({ 4526 page: e, 4527 matches: t, 4528 ...r 4529}) { 4530 let a = ze(), { future: n, manifest: o, routeModules: l } = ln(), { basename: s } = on(), { loaderData: c, matches: f } = dl(), g = ke( 4531 () => Ta( 4532 e, 4533 t, 4534 f, 4535 o, 4536 a, 4537 "data" 4538 ), 4539 [e, t, f, o, a] 4540 ), h = ke( 4541 () => Ta( 4542 e, 4543 t, 4544 f, 4545 o, 4546 a, 4547 "assets" 4548 ), 4549 [e, t, f, o, a] 4550 ), v = ke(() => { 4551 if (e === a.pathname + a.search + a.hash) 4552 return []; 4553 let k = /* @__PURE__ */ new Set(), N = !1; 4554 if (t.forEach((A) => { 4555 let P = o.routes[A.route.id]; 4556 !P || !P.hasLoader || (!g.some((ee) => ee.route.id === A.route.id) && A.route.id in c && l[A.route.id]?.shouldRevalidate || P.hasClientLoader ? N = !0 : k.add(A.route.id)); 4557 }), k.size === 0) 4558 return []; 4559 let C = tl( 4560 e, 4561 s, 4562 n.unstable_trailingSlashAwareDataRequests, 4563 "data" 4564 ); 4565 return N && k.size > 0 && C.searchParams.set( 4566 "_routes", 4567 t.filter((A) => k.has(A.route.id)).map((A) => A.route.id).join(",") 4568 ), [C.pathname + C.search]; 4569 }, [ 4570 s, 4571 n.unstable_trailingSlashAwareDataRequests, 4572 c, 4573 a, 4574 o, 4575 g, 4576 t, 4577 e, 4578 l 4579 ]), y = ke( 4580 () => ol(h, o), 4581 [h, o] 4582 ), T = pl(h); 4583 return /* @__PURE__ */ M(ot, null, v.map((k) => /* @__PURE__ */ M("link", { key: k, rel: "prefetch", as: "fetch", href: k, ...r })), y.map((k) => /* @__PURE__ */ M("link", { key: k, rel: "modulepreload", href: k, ...r })), T.map(({ key: k, link: N }) => ( 4584 // these don't spread `linkProps` because they are full link descriptors 4585 // already with their own props
4586 /* @__PURE__ */ M( 4587 "link", 4588 { 4589 key: k, 4590 nonce: r.nonce, 4591 ...N, 4592 crossOrigin: N.crossOrigin ?? r.crossOrigin 4593 } 4594 ) 4595 ))); 4596} 4597function gl(...e) { 4598 return (t) => { 4599 e.forEach((r) => { 4600 typeof r == "function" ? r(t) : r != null && (r.current = t); 4601 }); 4602 }; 4603} 4604var hl = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u"; 4605try { 4606 hl && (window.__reactRouterVersion = // @ts-expect-error 4607 "7.13.0"); 4608} catch { 4609} 4610function ml(e, t) { 4611 return $o({ 4612 basename: t?.basename, 4613 getContext: t?.getContext, 4614 future: t?.future, 4615 history: oo({ window: t?.window }), 4616 hydrationData: bl(), 4617 routes: e, 4618 mapRouteProperties: Oi, 4619 hydrationRouteProperties: Hi, 4620 dataStrategy: t?.dataStrategy, 4621 patchRoutesOnNavigation: t?.patchRoutesOnNavigation, 4622 window: t?.window, 4623 unstable_instrumentations: t?.unstable_instrumentations 4624 }).initialize(); 4625} 4626function bl() { 4627 let e = window?.__staticRouterHydrationData; 4628 return e && e.errors && (e = { 4629 ...e, 4630 errors: yl(e.errors) 4631 }), e; 4632} 4633function yl(e) { 4634 if (!e) return null; 4635 let t = Object.entries(e), r = {}; 4636 for (let [a, n] of t) 4637 if (n && n.__type === "RouteErrorResponse") 4638 r[a] = new Rt( 4639 n.status, 4640 n.statusText, 4641 n.data, 4642 n.internal === !0 4643 ); 4644 else if (n && n.__type === "Error") { 4645 if (n.__subType) { 4646 let o = window[n.__subType]; 4647 if (typeof o == "function") 4648 try { 4649 let l = new o(n.message); 4650 l.stack = "", r[a] = l; 4651 } catch { 4652 } 4653 } 4654 if (r[a] == null) { 4655 let o = new Error(n.message); 4656 o.stack = "", r[a] = o; 4657 } 4658 } else 4659 r[a] = n; 4660 return r; 4661} 4662var sn = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, dn = it( 4663 function({ 4664 onClick: t, 4665 discover: r = "render", 4666 prefetch: a = "none", 4667 relative: n, 4668 reloadDocument: o, 4669 replace: l, 4670 state: s, 4671 target: c, 4672 to: f, 4673 preventScrollReset: g, 4674 viewTransition: h, 4675 unstable_defaultShouldRevalidate: v, 4676 ...y 4677 }, T) { 4678 let { basename: k, unstable_useTransitions: N } = U(we), C = typeof f == "string" && sn.test(f), A = Ha(f, k); 4679 f = A.to; 4680 let P = _i(f, { relative: n }), [ee, q, X] = cl( 4681 a, 4682 y 4683 ), b = wl(f, { 4684 replace: l, 4685 state: s, 4686 target: c, 4687 preventScrollReset: g, 4688 relative: n, 4689 viewTransition: h, 4690 unstable_defaultShouldRevalidate: v, 4691 unstable_useTransitions: N 4692 }); 4693 function z(te) { 4694 t && t(te), te.defaultPrevented || b(te); 4695 } 4696 let W = ( 4697 // eslint-disable-next-line jsx-a11y/anchor-has-content
4698 /* @__PURE__ */ M( 4699 "a", 4700 { 4701 ...y, 4702 ...X, 4703 href: A.absoluteURL || P, 4704 onClick: A.isExternal || o ? t : z, 4705 ref: gl(T, q), 4706 target: c, 4707 "data-discover": !C && r === "render" ? "true" : void 0 4708 } 4709 ) 4710 ); 4711 return ee && !C ? /* @__PURE__ */ M(ot, null, W, /* @__PURE__ */ M(fl, { page: P })) : W; 4712 } 4713); 4714dn.displayName = "Link"; 4715var vl = it( 4716 function({ 4717 "aria-current": t = "page", 4718 caseSensitive: r = !1, 4719 className: a = "", 4720 end: n = !1, 4721 style: o, 4722 to: l, 4723 viewTransition: s, 4724 children: c, 4725 ...f 4726 }, g) { 4727 let h = Dt(l, { relative: f.relative }), v = ze(), y = U(Et), { navigator: T, basename: k } = U(we), N = y != null && // Conditional usage is OK here because the usage of a data router is static 4728 // eslint-disable-next-line react-hooks/rules-of-hooks 4729 Nl(h) && s === !0, C = T.encodeLocation ? T.encodeLocation(h).pathname : h.pathname, A = v.pathname, P = y && y.navigation && y.navigation.location ? y.navigation.location.pathname : null; 4730 r || (A = A.toLowerCase(), P = P ? P.toLowerCase() : null, C = C.toLowerCase()), P && k && (P = Ae(P, k) || P); 4731 const ee = C !== "/" && C.endsWith("/") ? C.length - 1 : C.length; 4732 let q = A === C || !n && A.startsWith(C) && A.charAt(ee) === "/", X = P != null && (P === C || !n && P.startsWith(C) && P.charAt(C.length) === "/"), b = { 4733 isActive: q, 4734 isPending: X, 4735 isTransitioning: N 4736 }, z = q ? t : void 0, W; 4737 typeof a == "function" ? W = a(b) : W = [ 4738 a, 4739 q ? "active" : null, 4740 X ? "pending" : null, 4741 N ? "transitioning" : null 4742 ].filter(Boolean).join(" "); 4743 let te = typeof o == "function" ? o(b) : o; 4744 return /* @__PURE__ */ M( 4745 dn, 4746 { 4747 ...f, 4748 "aria-current": z, 4749 className: W, 4750 ref: g, 4751 style: te, 4752 to: l, 4753 viewTransition: s 4754 }, 4755 typeof c == "function" ? c(b) : c 4756 ); 4757 } 4758); 4759vl.displayName = "NavLink"; 4760var xl = it( 4761 ({ 4762 discover: e = "render", 4763 fetcherKey: t, 4764 navigate: r, 4765 reloadDocument: a, 4766 replace: n, 4767 state: o, 4768 method: l = Kt, 4769 action: s, 4770 onSubmit: c, 4771 relative: f, 4772 preventScrollReset: g, 4773 viewTransition: h, 4774 unstable_defaultShouldRevalidate: v, 4775 ...y 4776 }, T) => { 4777 let { unstable_useTransitions: k } = U(we), N = Al(), C = kl(s, { relative: f }), A = l.toLowerCase() === "get" ? "get" : "post", P = typeof s == "string" && sn.test(s); 4778 return /* @__PURE__ */ M( 4779 "form", 4780 { 4781 ref: T, 4782 method: A, 4783 action: C, 4784 onSubmit: a ? c : (q) => { 4785 if (c && c(q), q.defaultPrevented) return; 4786 q.preventDefault(); 4787 let X = q.nativeEvent.submitter, b = X?.getAttribute("formmethod") || l, z = () => N(X || q.currentTarget, { 4788 fetcherKey: t, 4789 method: b, 4790 navigate: r, 4791 replace: n, 4792 state: o, 4793 relative: f, 4794 preventScrollReset: g, 4795 viewTransition: h, 4796 unstable_defaultShouldRevalidate: v 4797 }); 4798 k && r !== !1 ? At(() => z()) : z(); 4799 }, 4800 ...y, 4801 "data-discover": !P && e === "render" ? "true" : void 0 4802 } 4803 ); 4804 } 4805); 4806xl.displayName = "Form"; 4807function _l(e) { 4808 return `${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`; 4809} 4810function cn(e) { 4811 let t = U(Ze); 4812 return F(t, _l(e)), t; 4813} 4814function wl(e, { 4815 target: t, 4816 replace: r, 4817 state: a, 4818 preventScrollReset: n, 4819 relative: o, 4820 viewTransition: l, 4821 unstable_defaultShouldRevalidate: s, 4822 unstable_useTransitions: c 4823} = {}) { 4824 let f = dt(), g = ze(), h = Dt(e, { relative: o }); 4825 return lt( 4826 (v) => { 4827 if (Ji(v, t)) { 4828 v.preventDefault(); 4829 let y = r !== void 0 ? r : De(g) === De(h), T = () => f(e, { 4830 replace: y, 4831 state: a, 4832 preventScrollReset: n, 4833 relative: o, 4834 viewTransition: l, 4835 unstable_defaultShouldRevalidate: s 4836 }); 4837 c ? At(() => T()) : T(); 4838 } 4839 }, 4840 [ 4841 g, 4842 f, 4843 h, 4844 r, 4845 a, 4846 t, 4847 e, 4848 n, 4849 o, 4850 l, 4851 s, 4852 c 4853 ] 4854 ); 4855} 4856var Sl = 0, Tl = () => `__${String(++Sl)}__`; 4857function Al() { 4858 let { router: e } = cn( 4859 "useSubmit" 4860 /* UseSubmit */ 4861 ), { basename: t } = U(we), r = Li(), a = e.fetch, n = e.navigate; 4862 return lt( 4863 async (o, l = {}) => { 4864 let { action: s, method: c, encType: f, formData: g, body: h } = el( 4865 o, 4866 t 4867 ); 4868 if (l.navigate === !1) { 4869 let v = l.fetcherKey || Tl(); 4870 await a(v, r, l.action || s, { 4871 unstable_defaultShouldRevalidate: l.unstable_defaultShouldRevalidate, 4872 preventScrollReset: l.preventScrollReset, 4873 formData: g, 4874 body: h, 4875 formMethod: l.method || c, 4876 formEncType: l.encType || f, 4877 flushSync: l.flushSync 4878 }); 4879 } else 4880 await n(l.action || s, { 4881 unstable_defaultShouldRevalidate: l.unstable_defaultShouldRevalidate, 4882 preventScrollReset: l.preventScrollReset, 4883 formData: g, 4884 body: h, 4885 formMethod: l.method || c, 4886 formEncType: l.encType || f, 4887 replace: l.replace, 4888 state: l.state, 4889 fromRouteId: r, 4890 flushSync: l.flushSync, 4891 viewTransition: l.viewTransition 4892 }); 4893 }, 4894 [a, n, t, r] 4895 ); 4896} 4897function kl(e, { relative: t } = {}) { 4898 let { basename: r }
4898 = U(we), a = U(Ne); 4899 F(a, "useFormAction must be used inside a RouteContext"); 4900 let [n] = a.matches.slice(-1), o = { ...Dt(e || ".", { relative: t }) }, l = ze(); 4901 if (e == null) { 4902 o.search = l.search; 4903 let s = new URLSearchParams(o.search), c = s.getAll("index"); 4904 if (c.some((g) => g === "")) { 4905 s.delete("index"), c.filter((h) => h).forEach((h) => s.append("index", h)); 4906 let g = s.toString(); 4907 o.search = g ? `?${g}` : ""; 4908 } 4909 } 4910 return (!e || e === ".") && n.route.index && (o.search = o.search ? o.search.replace(/^\?/, "?index&") : "?index"), r !== "/" && (o.pathname = o.pathname === "/" ? r : Ee([r, o.pathname])), De(o); 4911} 4912function Nl(e, { relative: t } = {}) { 4913 let r = U(Rr); 4914 F( 4915 r != null, 4916 "`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?" 4917 ); 4918 let { basename: a } = cn( 4919 "useViewTransitionState" 4920 /* useViewTransitionState */ 4921 ), n = Dt(e, { relative: t }); 4922 if (!r.isTransitioning) 4923 return !1; 4924 let o = Ae(r.currentLocation.pathname, a) || r.currentLocation.pathname, l = Ae(r.nextLocation.pathname, a) || r.nextLocation.pathname; 4925 return Zt(n.pathname, l) != null || Zt(n.pathname, o) != null; 4926} 4927/** 4928 * @license lucide-react v0.487.0 - ISC 4929 * 4930 * This source code is licensed under the ISC license. 4931 * See the LICENSE file in the root directory of this source tree. 4932 */ 4933const Bl = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Rl = (e) => e.replace( 4934 /^([A-Z])|[\s-_]+(\w)/g, 4935 (t, r, a) => a ? a.toUpperCase() : r.toLowerCase() 4936), Aa = (e) => { 4937 const t = Rl(e); 4938 return t.charAt(0).toUpperCase() + t.slice(1); 4939}, fn = (...e) => e.filter((t, r, a) => !!t && t.trim() !== "" && a.indexOf(t) === r).join(" ").trim(); 4940/** 4941 * @license lucide-react v0.487.0 - ISC 4942 * 4943 * This source code is licensed under the ISC license. 4944 * See the LICENSE file in the root directory of this source tree. 4945 */ 4946var Cl = { 4947 xmlns: "http://www.w3.org/2000/svg", 4948 width: 24, 4949 height: 24, 4950 viewBox: "0 0 24 24", 4951 fill: "none", 4952 stroke: "currentColor", 4953 strokeWidth: 2, 4954 strokeLinecap: "round", 4955 strokeLinejoin: "round" 4956}; 4957/** 4958 * @license lucide-react v0.487.0 - ISC 4959 * 4960 * This source code is licensed under the ISC license. 4961 * See the LICENSE file in the root directory of this source tree. 4962 */ 4963const El = it( 4964 ({ 4965 color: e = "currentColor", 4966 size: t = 24, 4967 strokeWidth: r = 2, 4968 absoluteStrokeWidth: a, 4969 className: n = "", 4970 children: o, 4971 iconNode: l, 4972 ...s 4973 }, c) => M( 4974 "svg", 4975 { 4976 ref: c, 4977 ...Cl, 4978 width: t, 4979 height: t, 4980 stroke: e, 4981 strokeWidth: a ? Number(r) * 24 / Number(t) : r, 4982 className: fn("lucide", n), 4983 ...s 4984 }, 4985 [ 4986 ...l.map(([f, g]) => M(f, g)), 4987 ...Array.isArray(o) ? o : [o] 4988 ] 4989 ) 4990); 4991/** 4992 * @license lucide-react v0.487.0 - ISC 4993 * 4994 * This source code is licensed under the ISC license. 4995 * See the LICENSE file in the root directory of this source tree. 4996 */ 4997const Be = (e, t) => { 4998 const r = it( 4999 ({ className: a, ...n }, o) => M(El, { 5000 ref: o, 5001 iconNode: t, 5002 className: fn( 5003 `lucide-${Bl(Aa(e))}`, 5004 `lucide-${e}`, 5005 a 5006 ), 5007 ...n 5008 }) 5009 ); 5010 return r.displayName = Aa(e), r; 5011}; 5012/** 5013 * @license lucide-react v0.487.0 - ISC 5014 * 5015 * This source code is licensed under the ISC license. 5016 * See the LICENSE file in the root directory of this source tree. 5017 */ 5018const Dl = [ 5019 ["path", { d: "M5 12h14", key: "1ays0h" }], 5020 ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }] 5021], Ll = Be("arrow-right", Dl); 5022/** 5023 * @license lucide-react v0.487.0 - ISC 5024 * 5025 * This source code is licensed under the ISC license. 5026 * See the LICENSE file in the root directory of this source tree. 5027 */ 5028const jl = [ 5029 ["path", { d: "M7 7h10v10", key: "1tivn9" }], 5030 ["path", { d: "M7 17 17 7", key: "1vkiza" }] 5031], Xt = Be("arrow-up-right", jl); 5032/** 5033 * @license lucide-react v0.487.0 - ISC 5034 * 5035 * This source code is licensed under the ISC license. 5036 * See the LICENSE file in the root directory of this source tree. 5037 */ 5038const Pl = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], Pr = Be("chevron-down", Pl); 5039/** 5040 * @license lucide-react v0.487.0 - ISC 5041 * 5042 * This source code is licensed under the ISC license. 5043 * See the LICENSE file in the root directory of this source tree. 5044 */ 5045const Il = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]], zl = Be("chevron-left", Il); 5046/** 5047 * @license lucide-react v0.487.0 - ISC 5048 * 5049 * This source code is licensed under the ISC license. 5050 * See the LICENSE file in the root directory of this source tree. 5051 */ 5052const Ml = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], Ol = Be("chevron-right", Ml); 5053/** 5054 * @license lucide-react v0.487.0 - ISC 5055 * 5056 * This source code is licensed under the ISC license. 5057 * See the LICENSE file in the root directory of this source tree. 5058 */ 5059const Hl = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], Fl = Be("chevron-up", Hl); 5060/** 5061 * @license lucide-react v0.487.0 - ISC 5062 * 5063 * This source code is licensed under the ISC license. 5064 * See the LICENSE file in the root directory of this source tree. 5065 */ 5066const Ul = [ 5067 ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }], 5068 ["line", { x1: "4", x2: "20", y1: "6", y2: "6", key: "1owob3" }], 5069 ["line", { x1: "4", x2: "20", y1: "18", y2: "18", key: "yk5zj1" }
5069] 5070], Wl = Be("menu", Ul); 5071/** 5072 * @license lucide-react v0.487.0 - ISC 5073 * 5074 * This source code is licensed under the ISC license. 5075 * See the LICENSE file in the root directory of this source tree. 5076 */ 5077const $l = [ 5078 [ 5079 "path", 5080 { 5081 d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", 5082 key: "foiqr5" 5083 } 5084 ] 5085], ql = Be("phone", $l); 5086/** 5087 * @license lucide-react v0.487.0 - ISC 5088 * 5089 * This source code is licensed under the ISC license. 5090 * See the LICENSE file in the root directory of this source tree. 5091 */ 5092const Vl = [["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]], Gl = Be("play", Vl); 5093/** 5094 * @license lucide-react v0.487.0 - ISC 5095 * 5096 * This source code is licensed under the ISC license. 5097 * See the LICENSE file in the root directory of this source tree. 5098 */ 5099const Kl = [ 5100 ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], 5101 ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }] 5102], br = Be("search", Kl); 5103/** 5104 * @license lucide-react v0.487.0 - ISC 5105 * 5106 * This source code is licensed under the ISC license. 5107 * See the LICENSE file in the root directory of this source tree. 5108 */ 5109const Yl = [ 5110 ["path", { d: "M18 6 6 18", key: "1bl5f8" }], 5111 ["path", { d: "m6 6 12 12", key: "d8bk6v" }] 5112], yr = Be("x", Yl), Xl = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Distribution_Privacy_Policy.be947990.pdf", Jl = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Distribution_Terms_of_Use.441687c0.pdf", er = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/bgnograin.17e8bd05.jpg", Ql = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/aboutus_web.75382799.mp4", Zl = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/aboutus_mobile.63d2c98e.mp4", es = "/_components/v2/3d9025cc1e50447b837f68344b32709c3292ad66/KCGM_Vertical_Black.147f2c05.png"; 5113function pn({ 5114 lines: e = 3, 5115 widths: t = ["100%", "100%", "65%"], 5116 className: r = "" 5117}) { 5118 return /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl0", _fgB: 1790736563691, _fgD: !0, className: `flex flex-col gap-1.5 ${r}`, "data-fg-d3bl0": ":0:/src/app/App.tsx:49:5:1989:141:e:div:x:1", children: Array.from({ length: e }).map((a, n) => null) }); 5119} 5120function ts({ text: e, icon: t }) { 5121 return /* @__PURE__ */ x(i, { _fgT: "span", _fgS: "d3bl2", _fgB: 1790736563691, _fgD: !0, className: "inline-flex items-center gap-1.5 font-Helvetica Neue text-[9px] tracking-[0.1em] bg-gray-800 text-white px-2 py-1 rounded-none whitespace-nowrap", "data-fg-d3bl2": ":0:/src/app/App.tsx:60:5:2267:224:e:span:xtx:1", children: [ 5122 t && /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl4", _fgB: 1790736563691, "data-fg-d3bl4": ":0:/src/app/App.tsx:61:16:2446:19:e:span:x", children: t }), 5123 e 5124 ] }); 5125} 5126function Ir({ mobileOnly: e = !1 }) { 5127 const [t, r] = H(!1), [a, n] = H(!1); 5128 return ce(() => { 5129 const l = () => r(window.scrollY > 400); 5130 return window.addEventListener("scroll", l, { passive: !0 }), l(), () => window.removeEventListener("scroll", l); 5131 }, []), ce(() => { 5132 const l = () => n(window.innerWidth >= 768); 5133 return l(), window.addEventListener("resize", l, { passive: !0 }), () => window.removeEventListener("resize", l); 5134 }, []), e && a ? null : /* @__PURE__ */ d( 5135 i, 5136 { 5137 _fgT: "button", 5138 _fgS: "d3bl7", 5139 _fgB: 1790736563691, 5140 _fgD: !0, 5141 onClick: () => window.scrollTo({ top: 0, behavior: "smooth" }), 5142 "aria-label": "Back to top", 5143 className: `fixed bottom-6 right-6 z-[90] w-11 h-11 flex items-center justify-center bg-gray-900 text-white shadow-lg transition-all duration-300 cursor-pointer hover:bg-gray-700 ${t ? "opacity-100 translate-y-0 pointer-events-auto" : "opacity-0 translate-y-3 pointer-events-none"}`, 5144 "data-fg-d3bl7": ":0:/src/app/App.tsx:90:5:3310:428:e:button:e:1", 5145 children: /* @__PURE__ */ d(i, { _fgT: Fl, _fgS: "d3bl8", _fgB: 1790736563691, size: 18, "data-fg-
5145d3bl8": ":0:node_modules/lucide-react:97:7:3701:23:e:ChevronUp::::::17g" }) 5146 } 5147 ); 5148} 5149function $t({ items: e }) { 5150 return /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl9", _fgB: 1790736563691, _fgD: !0, className: "flex flex-wrap gap-2 mt-2", "data-fg-d3bl9": ":0:/src/app/App.tsx:112:5:4077:150:e:div:x:1", children: e.map((t) => /* @__PURE__ */ d(i, { _fgT: ts, _fgS: "d3bl11", _fgB: 1790736563691, text: t.label, icon: t.icon, "data-fg-d3bl11": ":0:/src/app/App.tsx:114:9:4155:51:e:Chip::::::DSc1" }, t.label)) }); 5151} 5152function qt(e = 0.12) { 5153 const t = Qe(null), [r, a] = H(!1); 5154 return ce(() => { 5155 const n = t.current; 5156 if (!n) return; 5157 const o = new IntersectionObserver( 5158 ([l]) => { 5159 l.isIntersecting && (a(!0), o.unobserve(n)); 5160 }, 5161 { threshold: e } 5162 ); 5163 return o.observe(n), () => o.disconnect(); 5164 }, [e]), { ref: t, inView: r }; 5165} 5166const rs = [ 5167 { 5168 id: 1, 5169 label: "SHOW CARD", 5170 tag: "SCRIPTED", 5171 title: "SCRIPTED", 5172 sub: "Stories that stay", 5173 image: "https://www.dropbox.com/scl/fi/x9q0m5w257meeuueejaf3/decv3.jpg?rlkey=9hb6s10igasarbxiuc26zfj9o&st=2j756jv6&raw=1", 5174 focalX: 42 5175 }, 5176 { 5177 id: 2, 5178 label: "SHOW CARD", 5179 tag: "UNSCRIPTED", 5180 title: "UNSCRIPTED", 5181 sub: "Real people. Real places. Real stories.", 5182 image: "https://www.dropbox.com/scl/fi/4tm036hcnhqn0o9kx4wzb/exw_v2.jpg?rlkey=axxyfl1leojbwiner6jxboggg&st=fipsn0vq&raw=1", 5183 focalX: 48 5184 }, 5185 { 5186 id: 3, 5187 label: "SHOW CARD", 5188 tag: "FORMAT", 5189 title: "FORMAT", 5190 sub: "Built to be remade. Ready to be reimagined.", 5191 image: "https://www.dropbox.com/scl/fi/ggg9tjz71vjtdc5f8yayr/ace_v2.jpg?rlkey=p5ecdoxc5stg4mjxrytye7nxl&st=l2x15859&raw=1", 5192 focalX: 48 5193 }, 5194 { 5195 id: 4, 5196 label: "SHOW CARD", 5197 tag: "SPORTS", 5198 title: "SPORTS", 5199 sub: "Where passion meets performance", 5200 image: "https://www.dropbox.com/scl/fi/tlhdhww73loqo70w1i0fm/tpbl_v2.jpg?rlkey=kidd79aa8wohz6wznotigs8w3&st=ayiua6zj&raw=1", 5201 focalX: 50 5202 }, 5203 { 5204 id: 5, 5205 label: "SHOW CARD", 5206 tag: "COMING SOON", 5207 title: "COMING SOON", 5208 sub: "Home to the next generation of stories", 5209 image: "https://www.dropbox.com/scl/fi/qfujbmssxkre4pik75g4c/mh_v2.jpg?rlkey=dxctwzwn0yj825s832den2bpg&st=jbtuiqjn&raw=1", 5210 focalX: 50 5211 } 5212], ka = [ 5213 { 5214 cat: "DISTRIBUTION", 5215 date: "SEP 2026", 5216 title: "âVIII: Awakeningâ Wraps Production in Beijing, Marking KC Global Media Asiaâs First China Original (Exclusive)''", 5217 url: "https://variety.com/2026/tv/news/viii-awakening-wraps-production-kc-global-media-asia-1236848061", 5218 image: "https://www.dropbox.com/scl/fi/3f4sdty74ozrkev70bw0g/modernheroes1.png?rlkey=zja3ywkxga6w38v6mxl2naqqx&st=7053ewqj&raw=1" 5219 }, 5220 { 5221 cat: "CONTENT", 5222 date: "APR 2026", 5223 title: "Netflix Picks Up Taiwanese Male Escort Dramedy âA Controversial Entertainerâ (Exclusive)", 5224 url: "https://www.hollywoodreporter.com/tv/tv-news/netflix-taiwanese-dramedy-controversial-entertainer-1236580341", 5225 image: "https://www.dropbox.com/scl/fi/nmm0v9yzinax1jh9mmblq/ACE06.webp?rlkey=aze9hqahqol5dc3teep846rmw&st=ovv5ionc&raw=1", 5226 focalX: 70 5227 }, 5228 { 5229 cat: "DISTRIBUTION", 5230 date: "MAR 2026", 5231 title: "Filmart: KC Global Media Distribution Acquires Worldwide Rights to Culinary Travel Series âEat With Xiamiâ", 5232 url: "https://www.hollywoodreporter.com/tv/tv-news/filmart-kc-global-media-distribution-eat-with-xiami-1236534290", 5233 image: "https://www.dropbox.com/scl/fi/jv3i3vfi0nqmiu39tp2xw/EWX-Pic_7.png?rlkey=xgne0jn1hww5mgwmwpgyjsem9&st=nfayrrhl&raw=1" 5234 } 5235], as = [ 5236 { 5237 overline: "SCRIPTED · DRAMA · 2026", 5238 title: "A CONTROVERSIAL ENTERTAINER", 5239 synopsis: "From first-love encounters to master-servant rivalries, a small-time gangster and a group of misfits navigate the extravagant world of elite hosts and uncover life's true meaning.", 5240 trailerUrl: "https://youtu.be/WwUc7mqSUn8?si=BPpL4KSiwS0gdhK0", 5241 categoryId: "scripted", 5242 showId: "ss1", 5243 videoUrl: "https://www.dropbox.com/scl/fi/sreonr0bvx0g11vxrsd3p/ACE.mp4?rlkey=ulvz95v5wxdrr4v5nfka348l9&st=mobail3k&raw=1", 5244 mobileVideoUrl: "https://www.dropbox.com/scl/fi/4tqfwjn2cv2poubs3c18z/acontroversialentertainer.mp4?rlkey=qlhdu950stno1lp3cm1xh2p71&st=pb5f52x8&raw=1", 5245 mobileFocalX: 50, 5246 mobileFocalY: 30 5247 }, 5248 {
5249 overline: "SCRIPTED · DRAMA · 2025", 5250 title: "DECALCOMANIA", 5251 synopsis: "After a mysterious accident swaps their souls, a Bangkok nightclub owner and a Singapore socialite must survive each other's dangerous worlds.", 5252 trailerUrl: "https://youtu.be/uXrVXWzKR3A?si=QXQVUNC7MxNMXj9P", 5253 categoryId: "scripted", 5254 showId: "ss2", 5255 videoUrl: "https://www.dropbox.com/scl/fi/kpk8u0g3rm023vdhh8x3t/Decalcomania.mp4?rlkey=82k2qy59hkgzuxybthhq6qhbc&st=9o0j5025&raw=1", 5256 mobileVideoUrl: "https://www.dropbox.com/scl/fi/51vr3p6t7787i5v6p3nqd/Clip-2.mp4?rlkey=lgz4zsapf7fy6f0qqgznwgqvn&st=mj0p5rnz&raw=1" 5257 }, 5258 { 5259 overline: "SCRIPTED · CRIME · 2025", 5260 title: "DRUG WAR: A CONSPIRACY OF SILENCE", 5261 synopsis: "A fallen priest and a guilt-ridden cop uncover a deadly conspiracy while seeking justice for a life lost too soon.", 5262 trailerUrl: "https://youtu.be/NBUuU5l8D5I", 5263 categoryId: "scripted", 5264 showId: "ss4", 5265 videoUrl: "https://www.dropbox.com/scl/fi/clqwz7a0188kammpksql4/DRUGWAR-EXCERPT1-16.9-_resize.mp4?rlkey=67u1qo01jtovisv5wh15xo7gu&st=yxsp42ul&raw=1", 5266 mobileVideoUrl: "https://www.dropbox.com/scl/fi/e108slv3wkzzf9r2yp1k4/drugwar_9x16edit.mp4?rlkey=9t5imyk89w3xmc6rg0cgmmdjj&st=hu7czrkd&raw=1" 5267 }, 5268 { 5269 overline: "SCRIPTED · THRILLER · 2026", 5270 title: "LOST & FOUND", 5271 synopsis: "A journey across Japan in search of love turns into an unexpected quest for truth, friendship, and purpose.", 5272 trailerUrl: "https://youtu.be/oI5JXmAdJK8?si=8Z_9TkTV5LluZf3s", 5273 categoryId: "scripted", 5274 showId: "ss3", 5275 videoUrl: "https://www.dropbox.com/scl/fi/1c585ystc0jkgqgcfmmj8/lost-found_hero.mp4?rlkey=j7t8pl3flyg7fvuh74md1epsc&st=jhknceh5&raw=1", 5276 mobileVideoUrl: "https://www.dropbox.com/scl/fi/i1xk7u5dcoap524xza3kg/lost-found_heromobile.mp4?rlkey=nq7sjtjt5gjcimaj42xkk5aks&st=r6o5smam&raw=1" 5277 }, 5278 { 5279 overline: "UNSCRIPTED · FOOD & TRAVEL · 2026", 5280 title: "EAT WITH XIAMI", 5281 synopsis: "Join Chef Mi and Foodie Xia as they explore Asia's boldest flavours, vibrant cultures, and unforgettable food stories.", 5282 trailerUrl: "https://youtu.be/dIl9CDT8kz4", 5283 categoryId: "unscripted", 5284 showId: "u1", 5285 videoUrl: "https://www.dropbox.com/scl/fi/b29ebv34v3sgozwo8k5tb/EWX-EP4_16x9.mov?rlkey=bk7raf2vx8ppe25w6l3k8x0nf&st=mzy8jvkb&raw=1", 5286 mobileVideoUrl: "https://www.dropbox.com/scl/fi/75qzdnqsz6scglx3chopu/EWX-EP4_9x16.mov?rlkey=m2yldi80gxfkn19d0tjmhx522&st=ozxmnbqx&raw=1" 5287 } 5288]; 5289function Ye(e) { 5290 return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, ""); 5291} 5292const Je = { 5293 scripted: "scripted", 5294 unscripted: "unscripted", 5295 format: "formats", 5296 sports: "sports", 5297 "coming-soon": "coming-soon" 5298}, ns = { 5299 scripted: "scripted", 5300 unscripted: "unscripted", 5301 formats: "format", 5302 sports: "sports", 5303 "coming-soon": "coming-soon" 5304}; 5305function os() { 5306 const e = dt(), [t, r] = H(!1), [a, n] = H(0), [o, l] = H(""), [s, c] = H(!1), [f, g] = H(!1), [h, v] = H(""), [y, T] = H(!1), [k, N] = H(!1); 5307 ce(() => { 5308 const w = () => N(window.innerWidth < 768); 5309 return w(), window.addEventListener("resize", w, { passive: !0 }), () => window.removeEventListener("resize", w); 5310 }, []); 5311 const [C, A] = H(!1); 5312 ce(() => { 5313 const w = () => A(window.innerWidth >= 1024); 5314 return w(), window.addEventListener("resize", w, { passive: !0 }), () => window.removeEventListener("resize", w); 5315 }, []), ce(() => { 5316 if (document.getElementById("ga-script")) return; 5317 const w = document.createElement("script"); 5318 w.id = "ga-script", w.async = !0, w.src = "https://www.googletagmanager.com/gtag/js?id=G-S3WFTVY83N", document.head.appendChild(w); 5319 const O = document.createElement("script"); 5320 O.textContent = ` 5321
vendor: 139 bytes, lines 5321-5324
5321window.dataLayer = window.dataLayer || []; 5322 function gtag(){dataLayer.push(arguments);} 5323 gtag('js', new Date()); 5324 gtag('config', '
5324G-S3WFTVY83N
vendor: 6 bytes, lines 5324-5325
5324'); 5325
5325`, document.head.appendChild(O); 5326 }, []); 5327 const [P, ee] = H(!0), q = Qe(0), X = 5, b = () => n((w) => (w - 1 + X) % X), z = () => n((w) => (w + 1) % X), W = qt(0.05), te = qt(); 5328 qt(); 5329 const J = qt(), [ae, ye] = H("intro"), [ne, Y] = H(!1), [Q, ve] = H(!1); 5330 ce(() => { 5331 const w = setTimeout(() => ye("sliding"), 600), O = setTimeout(() => ye("done"), 1300), se = setTimeout(() => Y(!0), 1480), me = setTimeout(() => ve(!0), 1600); 5332 return () => [w, O, se, me].forEach(clearTimeout); 5333 }, []), ce(() => (document.body.style.overflow = ae !== "done" ? "hidden" : "", () => { 5334 document.body.style.overflow = ""; 5335 }), [ae]), ce(() => { 5336 if (ae !== "done") return; 5337 const w = () => { 5338 const O = window.scrollY; 5339 O < 80 || O < q.current ? ee(!0) : ee(!1), q.current = O; 5340 }; 5341 return window.addEventListener("scroll", w, { passive: !0 }), () => window.removeEventListener("scroll", w); 5342 }, [ae]); 5343 const V = ae === "sliding", le = ae === "done", re = as[a], he = (w) => { 5344 document.getElementById(w)?.scrollIntoView({ behavior: "smooth" }), r(!1); 5345 }; 5346 return /* @__PURE__ */ x( 5347 i, 5348 { 5349 _fgT: "div", 5350 _fgS: "d3bl12", 5351 _fgB: 1790736563691, 5352 _fgD: !0, 5353 className: "font-sans overflow-x-hidden", 5354 style: { 5355 backgroundImage: `url(${er})`, 5356 backgroundSize: "cover", 5357 backgroundPosition: "center", 5358 backgroundAttachment: "fixed", 5359 color: "#111111" 5360 }, 5361 "data-fg-d3bl12": ":0:/src/app/App.tsx:415:5:16398:30794:e:div:xtxtxtetxtetxtetxtxtxtxtxtetetxtetxtetetxtetetxtetxtetete:1", 5362 children: [ 5363 !le && /* @__PURE__ */ d( 5364 i, 5365 { 5366 _fgT: "div", 5367 _fgS: "d3bl15", 5368 _fgB: 1790736563691, 5369 className: "fixed inset-0 z-[70] bg-white flex items-center justify-center pointer-events-none", 5370 style: { 5371 transform: V ? "translateY(-100%)" : "translateY(0%)", 5372 transition: V ? "transform 700ms cubic-bezier(0.76,0,0.24,1)" : "none" 5373 }, 5374 "data-fg-d3bl15": ":0:/src/app/App.tsx:430:9:16943:537:e:div:e", 5375 children: /* @__PURE__ */ d( 5376 i, 5377 { 5378 _fgT: "img", 5379 _fgS: "d3bl16", 5380 _fgB: 1790736563691, 5381 src: es, 5382 alt: "KCGM Distribution", 5383 draggable: !1, 5384 className: "w-[min(45vw,45vh)] h-auto object-contain", 5385 "data-fg-d3bl16": ":0:/src/app/App.tsx:437:11:17273:192:e:img" 5386 } 5387 ) 5388 } 5389 ),
5390 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl18", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl18": ":0:/src/app/App.tsx:449:7:17664:918:e:div:ete", children: [ 5391 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl19", _fgB: 1790736563691, className: "font-Helvetica Neue text-[9px] tracking-[0.2em] text-gray-500 mb-3 uppercase", "data-fg-d3bl19": ":0:/src/app/App.tsx:450:9:17697:110:e:p:t", children: "Annotation Key" }), 5392 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl21", _fgB: 1790736563691, className: "flex flex-col gap-2", "data-fg-d3bl21": ":0:/src/app/App.tsx:451:9:17816:753:e:div:x", children: [ 5393 { icon: "â", label: "Scroll trigger / reveal" }, 5394 { icon: "â", label: "Hover state" }, 5395 { icon: "â³", label: "Filter / state change" }, 5396 { icon: "â", label: "Navigation / routing" }, 5397 { icon: "â", label: "Link / CTA action" }, 5398 { icon: "â¡", label: "Parallax movement" } 5399 ].map((w) => /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl23", _fgB: 1790736563691, className: "flex items-center gap-2", "data-fg-d3bl23": ":0:/src/app/App.tsx:460:13:18274:266:e:div:ete", children: [
5400 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl24", _fgB: 1790736563691, className: "font-Helvetica Neue text-[10px] w-4 text-gray-700", "data-fg-d3bl24": ":0:/src/app/App.tsx:461:15:18344:83:e:span:x", children: w.icon }), 5401 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl26", _fgB: 1790736563691, className: "font-Helvetica Neue text-[9px] text-gray-500", "data-fg-d3bl26": ":0:/src/app/App.tsx:462:15:18442:79:e:span:x", children: w.label }) 5402 ] }, w.label)) }) 5403 ] }), 5404 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl29", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl29": ":0:/src/app/App.tsx:471:7:18747:583:e:div:ete", children: [ 5405 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl30", _fgB: 1790736563691, className: "flex items-center gap-3", "data-fg-d3bl30": ":0:/src/app/App.tsx:472:9:18780:446:e:div:etetete", children: [ 5406 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl31", _fgB: 1790736563691, className: "w-2 h-2 rounded-full bg-gray-500", "data-fg-d3bl31": ":0:/src/app/App.tsx:473:11:18832:52:e:div" }),
5407 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl32", _fgB: 1790736563691, className: "font-Helvetica Neue text-[10px] tracking-[0.2em] text-gray-400", "data-fg-d3bl32": ":0:/src/app/App.tsx:474:11:18895:107:e:span:t", children: "WIREFRAME PROTOTYPE" }), 5408 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl34", _fgB: 1790736563691, className: "font-Helvetica Neue text-[10px] text-gray-600", "data-fg-d3bl34": ":0:/src/app/App.tsx:475:11:19013:72:e:span:t", children: "â" }), 5409 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl36", _fgB: 1790736563691, className: "font-Helvetica Neue text-[10px] tracking-[0.12em] text-gray-400", "data-fg-d3bl36": ":0:/src/app/App.tsx:476:11:19096:115:e:span:t", children: "LOW FIDELITY · LAYOUT + IA" }) 5410 ] }), 5411 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl38", _fgB: 1790736563691, className: "font-Helvetica Neue text-[10px] text-gray-600", "data-fg-d3bl38": ":0:/src/app/App.tsx:478:9:19235:82:e:span:t", children: "v0.1 · 2026" }) 5412 ] }),
5413 /* @__PURE__ */ x( 5414 i, 5415 { 5416 _fgT: "nav", 5417 _fgS: "d3bl41", 5418 _fgB: 1790736563691, 5419 className: "fixed top-0 left-0 right-0 z-[100] grid grid-cols-3 items-center px-8 md:px-12 py-4 transition-transform duration-300", 5420 style: { 5421 transform: P ? "translateY(0)" : "translateY(-100%)" 5422 }, 5423 "data-fg-d3bl41": ":0:/src/app/App.tsx:486:7:19636:3976:e:nav:xtetxtetxtetxtetxte", 5424 children: [ 5425 /* @__PURE__ */ d( 5426 i, 5427 { 5428 _fgT: "div", 5429 _fgS: "d3bl43", 5430 _fgB: 1790736563691, 5431 className: "flex items-center justify-self-start transition-all duration-500 ease-out", 5432 style: { opacity: ne ? 1 : 0, transform: ne ? "translateY(0)" : "translateY(-4px)" }, 5433 "data-fg-d3bl43": ":0:/src/app/App.tsx:494:9:19967:469:e:div:e", 5434 children: /* @__PURE__ */ d( 5435 i, 5436 { 5437 _fgT: "img", 5438 _fgS: "d3bl44", 5439 _fgB: 1790736563691, 5440 src: t ? to : ro, 5441 alt: "KCGM Distribution", 5442 className: "h-[90px] w-auto object-contain", 5443 draggable: !1, 5444 "data-fg-d3bl44": ":0:/src/app/App.tsx:498:11:20200:221:e:img" 5445 } 5446 ) 5447 } 5448 ),
5449 /* @__PURE__ */ d( 5450 i, 5451 { 5452 _fgT: "div", 5453 _fgS: "d3bl46", 5454 _fgB: 1790736563691, 5455 className: "hidden lg:flex items-center justify-center justify-self-center gap-8 transition-all duration-500", 5456 style: { opacity: Q ? 1 : 0, transform: Q ? "translateY(0)" : "translateY(-6px)" }, 5457 "data-fg-d3bl46": ":0:/src/app/App.tsx:507:9:20505:706:e:div:x", 5458 children: [["ABOUT US", "about"], ["CONTENT", "titles"], ["NEWS", "news"]].map(([w, O]) => /* @__PURE__ */ d( 5459 i, 5460 { 5461 _fgT: "button", 5462 _fgS: "d3bl48", 5463 _fgB: 1790736563691, 5464 onClick: () => O === "titles" ? e("/scripted") : he(O), 5465 className: "text-[12px] tracking-[0.2em] text-white/80 hover:text-white transition-colors cursor-pointer font-[Helvetica_Neue]", 5466 "data-fg-d3bl48": ":0:/src/app/App.tsx:513:13:20853:329:e:button:x", 5467 children: w 5468 }, 5469 O 5470 )) 5471 } 5472 ),
5473 /* @__PURE__ */ x( 5474 i, 5475 { 5476 _fgT: "div", 5477 _fgS: "d3bl51", 5478 _fgB: 1790736563691, 5479 className: "hidden lg:flex items-center justify-self-end gap-1 ml-auto transition-all duration-500 delay-75", 5480 style: { opacity: Q ? 1 : 0, transform: Q ? "translateY(0)" : "translateY(-6px)" }, 5481 "data-fg-d3bl51": ":0:/src/app/App.tsx:525:9:21259:989:e:div:ete", 5482 children: [ 5483 /* @__PURE__ */ d( 5484 i, 5485 { 5486 _fgT: "button", 5487 _fgS: "d3bl52", 5488 _fgB: 1790736563691, 5489 className: "w-9 h-9 flex items-center justify-center text-white/80 hover:text-white transition-colors cursor-pointer", 5490 title: "Search", 5491 onClick: () => g(!0), 5492 "data-fg-d3bl52": ":0:/src/app/App.tsx:529:11:21514:276:e:button:e", 5493 children: /* @__PURE__ */ d(i, { _fgT: br, _fgS: "d3bl53", _fgB: 1790736563691, size: 16, "data-fg-d3bl53": ":0:node_modules/lucide-react:534:13:21750:20:e:Search::::::B9rK" }) 5494 } 5495 ),
5496 /* @__PURE__ */ d( 5497 i, 5498 { 5499 _fgT: "button", 5500 _fgS: "d3bl54", 5501 _fgB: 1790736563691, 5502 onClick: () => window.open("https://mail.google.com/mail/?view=cm&[email protected]", "_blank"), 5503 className: "flex items-center gap-1.5 text-[9px] tracking-[0.15em] text-white/80 border border-white/40 px-3 py-1.5 hover:bg-white hover:text-gray-900 hover:border-white transition-colors cursor-pointer font-[Helvetica_Neue] ml-1", 5504 "data-fg-d3bl54": ":0:/src/app/App.tsx:536:11:21801:432:e:button:t", 5505 children: "CONTACT US" 5506 } 5507 ) 5508 ] 5509 } 5510 ), 5511 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl57", _fgB: 1790736563691, className: "lg:hidden flex items-center justify-self-end gap-3 col-start-3", "data-fg-d3bl57": ":0:/src/app/App.tsx:545:1:22280:734:e:div:etete", children: [
5512 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl58", _fgB: 1790736563691, onClick: () => g(!0), className: "text-white/80 hover:text-white transition-colors cursor-pointer", "data-fg-d3bl58": ":0:/src/app/App.tsx:546:3:22363:157:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: br, _fgS: "d3bl59", _fgB: 1790736563691, size: 18, "data-fg-d3bl59": ":0:node_modules/lucide-react:547:5:22488:20:e:Search::::::B9rK" }) }), 5513 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl60", _fgB: 1790736563691, onClick: () => window.open("https://mail.google.com/mail/?view=cm&[email protected]", "_blank"), className: "text-white/80 hover:text-white transition-colors cursor-pointer", "data-fg-d3bl60": ":0:/src/app/App.tsx:549:3:22523:236:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: ql, _fgS: "d3bl61", _fgB: 1790736563691, size: 18, "data-fg-d3bl61": ":0:node_modules/lucide-react:550:5:22728:19:e:Phone::::::DmpI" }) }), 5514 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl62", _fgB: 1790736563691, onClick: () => r(!t), className: `cursor-pointer transition-colors ${t ? "text-gray-900 hover:text-gray-600" : "text-white/80 hover:text-white"}`, "data-fg-d3bl62": ":0:/src/app/App.tsx:552:3:22762:245:e:button:x", children: t ? /* @__PURE__ */ d(i, { _fgT: yr, _fgS: "d3bl64", _fgB: 1790736563691, size: 20, "data-fg-d3bl64": ":0:node_modules/lucide-react:553:17:22958:15:e:X::::::TvS" }) : /* @__PURE__ */ d(i, { _fgT: Wl, _fgS: "d3bl65", _fgB: 1790736563691, size: 20, "data-fg-d3bl65": ":0:node_modules/lucide-react:553:35:22976:18:e:Menu::::::D5X5" }) }) 5515 ] }),
5516 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl67", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl67": ":0:/src/app/App.tsx:558:7:23057:541:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: $t, _fgS: "d3bl68", _fgB: 1790736563691, items: [ 5517 { icon: "â³", label: "Scene 1: vertical-stack logo on white page (0 ms)" }, 5518 { icon: "â³", label: "Scene 2: white curtain slides up at 600 ms, globe flies to nav" }, 5519 { icon: "â", label: "Scene 3: hero revealed, scroll unlocked (1 600 ms)" }, 5520 { icon: "â", label: "Scene 4: horizontal lockup + nav links fade in (1 780â1 900 ms)" }, 5521 { icon: "â", label: "Nav: always-visible translucent bg-white/70 + backdrop-blur" } 5522 ], "data-fg-d3bl68": ":0:/src/app/App.tsx:559:9:23090:495:e:AnnotRow::::::DFsx" }) }) 5523 ] 5524 } 5525 ), 5526 f && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl71", _fgB: 1790736563691, className: "fixed inset-0 z-[200] flex items-start justify-end", onClick: () => g(!1), "data-fg-d3bl71": ":0:/src/app/App.tsx:572:3:23666:4859:e:div:ete", children: [
5527 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl72", _fgB: 1790736563691, className: "absolute inset-0 bg-black/60 backdrop-blur-sm", "data-fg-d3bl72": ":0:/src/app/App.tsx:573:5:23776:65:e:div" }), 5528 /* @__PURE__ */ x( 5529 i, 5530 { 5531 _fgT: "div", 5532 _fgS: "d3bl73", 5533 _fgB: 1790736563691, 5534 className: "relative z-10 h-full w-full max-w-md bg-white flex flex-col shadow-2xl", 5535 onClick: (w) => w.stopPropagation(), 5536 style: { animation: "slideInRight 0.3s ease-out" }, 5537 "data-fg-d3bl73": ":0:/src/app/App.tsx:574:5:23846:4670:e:div:xtetxtetxte", 5538 children: [ 5539 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl75", _fgB: 1790736563691, className: "flex items-center justify-between px-6 py-5 border-b border-gray-200", "data-fg-d3bl75": ":0:/src/app/App.tsx:580:7:24072:392:e:div:ete", children: [ 5540 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl76", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[10px] tracking-[0.25em] text-gray-400 uppercase", "data-fg-d3bl76": ":0:/src/app/App.tsx:581:9:24167:107:e:span:t", children: "Search" }),
5541 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl78", _fgB: 1790736563691, onClick: () => g(!1), className: "text-gray-400 hover:text-gray-900 transition-colors cursor-pointer", "data-fg-d3bl78": ":0:/src/app/App.tsx:582:9:24283:168:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: yr, _fgS: "d3bl79", _fgB: 1790736563691, size: 18, "data-fg-d3bl79": ":0:node_modules/lucide-react:583:11:24418:15:e:X::::::TvS" }) }) 5542 ] }), 5543 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl81", _fgB: 1790736563691, className: "px-6 py-5 border-b border-gray-200", "data-fg-d3bl81": ":0:/src/app/App.tsx:588:7:24492:697:e:div:e", children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl82", _fgB: 1790736563691, className: "flex items-center gap-3", "data-fg-d3bl82": ":0:/src/app/App.tsx:589:9:24553:623:e:div:etetx", children: [ 5544 /* @__PURE__ */ d(i, { _fgT: br, _fgS: "d3bl83", _fgB: 1790736563691, size: 16, className: "text-gray-400 shrink-0", "data-fg-d3bl83": ":0:node_modules/lucide-react:590:11:24605:55:e:Search::::::B9rK" }),
5545 /* @__PURE__ */ d( 5546 i, 5547 { 5548 _fgT: "input", 5549 _fgS: "d3bl84", 5550 _fgB: 1790736563691, 5551 autoFocus: !0, 5552 type: "text", 5553 value: h, 5554 onChange: (w) => v(w.target.value), 5555 className: "flex-1 font-[Helvetica_Neue] text-sm text-gray-900 placeholder-gray-400 outline-none bg-transparent", 5556 "data-fg-d3bl84": ":0:/src/app/App.tsx:591:11:24671:280:e:input" 5557 } 5558 ), 5559 h && /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl86", _fgB: 1790736563691, onClick: () => v(""), className: "text-gray-400 hover:text-gray-600 cursor-pointer", "data-fg-d3bl86": ":0:/src/app/App.tsx:599:13:24992:156:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: yr, _fgS: "d3bl87", _fgB: 1790736563691, size: 14, "data-fg-d3bl87": ":0:node_modules/lucide-react:600:15:25111:15:e:X::::::TvS" }) }) 5560 ] }) }),
5561 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl89", _fgB: 1790736563691, className: "flex-1 overflow-y-auto px-6 py-4", "data-fg-d3bl89": ":0:/src/app/App.tsx:607:7:25220:3285:e:div:x", children: h.length === 0 ? /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl91", _fgB: 1790736563691, className: "pt-8 text-center", "data-fg-d3bl91": ":0:/src/app/App.tsx:609:11:25319:159:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl92", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[11px] tracking-[0.15em] text-gray-400 uppercase", "data-fg-d3bl92": ":0:/src/app/App.tsx:610:13:25366:95:e:p:_" }) }) : /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl93", _fgB: 1790736563691, className: "flex flex-col gap-1", "data-fg-d3bl93": ":0:/src/app/App.tsx:613:11:25503:2978:e:div:xtxtx", children: [ 5562 [...wt, ...St, ...Tt, ...Jt, ...Qt, ...tr].filter( 5563 (w) => w.title.toLowerCase().includes(h.toLowerCase()) || w.genre.toLowerCase().includes(h.toLowerCase()) 5564 ).map((w) => /* @__PURE__ */ x( 5565 i, 5566 { 5567 _fgT: "button", 5568 _fgS: "d3bl95", 5569 _fgB: 1790736563691, 5570 onClick: () => { 5571 g(!1), v(""); 5572 }, 5573 className: "flex items-center gap-4 p-3 hover:bg-gray-50 transition-colors cursor-pointer text-left border-b border-gray-100", 5574 "data-fg-d3bl95": ":0:/src/app/App.tsx:620:17:25919:894:e:button:xte", 5575 children: [
5576 w.posterImage ? /* @__PURE__ */ d(i, { _fgT: "img", _fgS: "d3bl97", _fgB: 1790736563691, src: w.posterImage, alt: w.title, className: "w-10 h-14 object-cover shrink-0", draggable: !1, "data-fg-d3bl97": ":0:/src/app/App.tsx:626:21:26260:109:e:img" }) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl98", _fgB: 1790736563691, className: "w-10 h-14 bg-gray-200 shrink-0", "data-fg-d3bl98": ":0:/src/app/App.tsx:628:21:26414:50:e:div" }), 5577 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl99", _fgB: 1790736563691, "data-fg-d3bl99": ":0:/src/app/App.tsx:630:19:26504:283:e:div:ete", children: [ 5578 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl100", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-sm font-semibold text-gray-900", "data-fg-d3bl100": ":0:/src/app/App.tsx:631:21:26530:89:e:p:x", children: w.title }), 5579 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl102", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[10px] text-gray-400 mt-0.5", "data-fg-d3bl102": ":0:/src/app/App.tsx:632:21:26640:122:e:p:xtx", children: [ 5580 w.genre, 5581 " · ", 5582 w.year ?? w.releaseWindow 5583 ] }) 5584 ] }) 5585 ] 5586 }, 5587 w.id 5588 )), 5589 Sr.filter((w) => w.title.toLowerCase().includes(h.toLowerCase())).map((w) => /* @__PURE__ */ x( 5590 i, 5591 { 5592 _fgT: "button", 5593 _fgS: "d3bl107", 5594 _fgB: 1790736563691, 5595 onClick: () => { 5596 w.url && window.open(w.url, "_blank"), g(!1), v(""); 5597 }, 5598 className: "flex items-center gap-4 p-3 hover:bg-gray-50 transition-colors cursor-pointer text-left border-b border-gray-100", 5599 "data-fg-d3bl107": ":0:/src/app/App.tsx:640:17:26998:864:e:button:ete", 5600 children: [
5601 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl108", _fgB: 1790736563691, className: "w-10 h-14 bg-gray-200 shrink-0 flex items-center justify-center", "data-fg-d3bl108": ":0:/src/app/App.tsx:645:19:27342:203:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl109", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[7px] text-gray-500", "data-fg-d3bl109": ":0:/src/app/App.tsx:646:21:27444:76:e:span:t", children: "NEWS" }) }), 5602 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl111", _fgB: 1790736563691, "data-fg-d3bl111": ":0:/src/app/App.tsx:648:19:27564:272:e:div:ete", children: [ 5603 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl112", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-sm font-semibold text-gray-900 line-clamp-2", "data-fg-d3bl112": ":0:/src/app/App.tsx:649:21:27590:102:e:p:x", children: w.title }), 5604 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl114", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[10px] text-gray-400 mt-0.5", "data-fg-d3bl114": ":0:/src/app/App.tsx:650:21:27713:98:e:p:xtx", children: [ 5605 w.cat, 5606 " · ", 5607 w.date 5608 ] }) 5609 ] }) 5610 ] 5611 }, 5612 w.id 5613 )), 5614 [...wt, ...St, ...Tt, ...Jt, ...Qt, ...tr].filter((w) => w.title.toLowerCase().includes(h.toLowerCase())).length === 0 && Sr.filter((w) => w.title.toLowerCase().includes(h.toLowerCase())).length === 0 && /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl119", _fgB: 1790736563691, className: "pt-8 text-center", "data-fg-d3bl119": ":0:/src/app/App.tsx:658:15:28252:197:e:div:e", children: /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl120", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[11px] tracking-[0.15em] text-gray-400 uppercase", "data-fg-d3bl120": ":0:/src/app/App.tsx:659:17:28303:125:e:p:txt", children: [ 5615 'No results for "', 5616 h, 5617 '"' 5618 ] }) }) 5619 ] }) }) 5620 ] 5621 } 5622 ) 5623 ] }), 5624 t && /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl126", _fgB: 1790736563691, className: "fixed inset-0 z-[90] bg-white flex flex-col w-screen h-screen pt-[72px]", "data-fg-d3bl126": ":0:/src/app/App.tsx:671:3:28590:801:e:div:xte", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl128", _fgB: 1790736563691, className: "flex flex-col px-8 pt-8", "data-fg-d3bl128": ":0:/src/app/App.tsx:674:5:28707:675:e:div:x", children: [ 5625 { label: "ABOUT US", action: () => { 5626 he("about"), r(!1); 5627 } }, 5628 { label: "CONTENT", action: () => { 5629 e("/scripted"), r(!1); 5630 } }, 5631 { label: "NEWS", action: () => { 5632 he("news"), r(!1); 5633 } } 5634 ].map((w, O) => /* @__PURE__ */ d( 5635 i, 5636 { 5637 _fgT: "button", 5638 _fgS: "d3bl130", 5639 _fgB: 1790736563691, 5640 onClick: w.action, 5641 className: "text-left border-b border-dashed border-gray-200 py-5 cursor-pointer hover:text-gray-500 transition-colors font-[Helvetica_Neue] text-[12px] tracking-[0.2em] text-gray-800", 5642 "data-fg-d3bl130": ":0:/src/app/App.tsx:680:9:29058:302:e:button:x", 5643 children: w.label 5644 }, 5645 O 5646 )) }) }),
5647 /* @__PURE__ */ x(i, { _fgT: "section", _fgS: "d3bl133", _fgB: 1790736563691, className: "relative overflow-hidden", "data-fg-d3bl133": ":0:/src/app/App.tsx:696:7:29593:4838:e:section:ete", children: [ 5648 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl134", _fgB: 1790736563691, className: "absolute inset-0 w-full h-full overflow-hidden", "data-fg-d3bl134": ":0:/src/app/App.tsx:697:3:29642:458:e:div:e", children: /* @__PURE__ */ d( 5649 i, 5650 { 5651 _fgT: "video", 5652 _fgS: "d3bl135", 5653 _fgB: 1790736563691, 5654 autoPlay: !0, 5655 muted: !0, 5656 loop: !0, 5657 playsInline: !0, 5658 className: "absolute inset-0 w-full h-full object-cover", 5659 style: k ? { objectPosition: `${re.mobileFocalX ?? 50}% ${re.mobileFocalY ?? 50}%` } : void 0, 5660 "data-fg-d3bl135": ":0:/src/app/App.tsx:698:5:29727:364:e:video:e", 5661 children: /* @__PURE__ */ d( 5662 i, 5663 { 5664 _fgT: "source", 5665 _fgS: "d3bl136", 5666 _fgB: 1790736563691, 5667 src: k ? re.mobileVideoUrl : re.videoUrl, 5668 type: "video/mp4", 5669 "data-fg-d3bl136": ":0:/src/app/App.tsx:707:3:29977:105:e:source" 5670 } 5671 ) 5672 }, 5673 a 5674 ) }, a),
5675 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl137", _fgB: 1790736563691, className: "relative h-[1094px] flex flex-col", "data-fg-d3bl137": ":0:/src/app/App.tsx:713:9:30109:4305:e:div:xtetxtetxtete", children: [ 5676 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl139", _fgB: 1790736563691, className: "absolute inset-0 bg-gradient-to-t from-black/75 via-black/10 to-transparent pointer-events-none", "data-fg-d3bl139": ":0:/src/app/App.tsx:715:11:30219:115:e:div" }), 5677 /* @__PURE__ */ d( 5678 i, 5679 { 5680 _fgT: "div", 5681 _fgS: "d3bl141", 5682 _fgB: 1790736563691, 5683 ref: W.ref, 5684 className: `absolute bottom-0 left-0 right-0 px-8 md:px-12 transition-all duration-700 ${W.inView ? "opacity-100 translate-y-0" : "opacity-0 translate-y-6"}`, 5685 "data-fg-d3bl141": ":0:/src/app/App.tsx:718:11:30376:3530:e:div:e", 5686 children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl142", _fgB: 1790736563691, className: "pb-8 flex flex-col", style: { animation: "fadeSlideIn 0.5s ease-out" }, "data-fg-d3bl142": ":0:/src/app/App.tsx:722:13:30614:3275:e:div:xtetxtetxtetxtetxte", children: [
5687 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl144", _fgB: 1790736563691, className: "flex items-center gap-3 mb-3", "data-fg-d3bl144": ":0:/src/app/App.tsx:724:15:30763:263:e:div:ete", children: [ 5688 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl145", _fgB: 1790736563691, className: "h-1.5 w-5 bg-white/70", "data-fg-d3bl145": ":0:/src/app/App.tsx:725:17:30826:41:e:div" }), 5689 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl146", _fgB: 1790736563691, className: "text-[9px] tracking-[0.25em] text-white/70 uppercase font-[Helvetica_Neue]", "data-fg-d3bl146": ":0:/src/app/App.tsx:726:17:30884:121:e:span:x", children: re.overline }) 5690 ] }), 5691 /* @__PURE__ */ d(i, { _fgT: "h1", _fgS: "d3bl149", _fgB: 1790736563691, className: "uppercase leading-tight tracking-tight text-white mb-2 font-[Helvetica_Neue] text-xl font-normal", "data-fg-d3bl149": ":0:/src/app/App.tsx:729:15:31069:136:e:h1:x", children: re.title }), 5692 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl152", _fgB: 1790736563691, className: "text-sm text-white/65 leading-snug max-w-lg mb-5 font-[Helvetica_Neue]", "data-fg-d3bl152": ":0:/src/app/App.tsx:731:15:31251:111:e:p:x", children: re.synopsis }),
5693 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl155", _fgB: 1790736563691, className: "flex items-center gap-3 mb-5", "data-fg-d3bl155": ":0:/src/app/App.tsx:733:1:31390:1122:e:div:ete", children: [ 5694 /* @__PURE__ */ x( 5695 i, 5696 { 5697 _fgT: "button", 5698 _fgS: "d3bl156", 5699 _fgB: 1790736563691, 5700 onClick: () => window.open(re.trailerUrl, "_blank"), 5701 className: "flex items-center gap-2 bg-white text-gray-900 font-[Helvetica_Neue] text-[10px] tracking-[0.18em] px-5 py-2.5 hover:bg-gray-100 transition-colors cursor-pointer whitespace-nowrap", 5702 "data-fg-d3bl156": ":0:/src/app/App.tsx:734:3:31439:341:e:button:et", 5703 children: [ 5704 /* @__PURE__ */ d(i, { _fgT: Gl, _fgS: "d3bl157", _fgB: 1790736563691, size: 12, fill: "currentColor", "data-fg-d3bl157": ":0:node_modules/lucide-react:738:5:31716:38:e:Play::::::IIc" }), 5705 " WATCH TRAILER" 5706 ] 5707 } 5708 ),
5709 /* @__PURE__ */ x( 5710 i, 5711 { 5712 _fgT: "button", 5713 _fgS: "d3bl159", 5714 _fgB: 1790736563691, 5715 onClick: () => { 5716 const O = [...wt, ...St, ...Tt, ...Jt, ...Qt].find((se) => se.id === re.showId); 5717 e(O ? `/${Je[re.categoryId]}/${Ye(O.title)}` : `/${Je[re.categoryId]}`); 5718 }, 5719 className: "flex items-center gap-1.5 md:gap-2 border border-white/50 text-white font-[Helvetica_Neue] text-[10px] tracking-[0.18em] px-5 py-2.5 hover:border-white hover:bg-white/10 transition-colors cursor-pointer", 5720 "data-fg-d3bl159": ":0:/src/app/App.tsx:740:1:31781:724:e:button:tete", 5721 children: [ 5722 "MORE INFO", 5723 /* @__PURE__ */ d(i, { _fgT: Xt, _fgS: "d3bl161", _fgB: 1790736563691, size: 11, className: "md:hidden", "data-fg-d3bl161": ":0:node_modules/lucide-react:751:5:32386:48:e:ArrowUpRight::::::CDfy" }),
5724 /* @__PURE__ */ d(i, { _fgT: Xt, _fgS: "d3bl162", _fgB: 1790736563691, size: 12, className: "hidden md:block", "data-fg-d3bl162": ":0:node_modules/lucide-react:752:5:32439:54:e:ArrowUpRight::::::CDfy" }) 5725 ] 5726 } 5727 ) 5728 ] }), 5729 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl164", _fgB: 1790736563691, className: "flex items-center justify-between border-t border-dashed border-white/25 pt-3", "data-fg-d3bl164": ":0:/src/app/App.tsx:756:15:32567:1303:e:div:ete", children: [ 5730 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl165", _fgB: 1790736563691, className: "flex items-center gap-2", "data-fg-d3bl165": ":0:/src/app/App.tsx:757:17:32679:608:e:div:xte", children: [ 5731 Array.from({ length: X }).map((w, O) => /* @__PURE__ */ d( 5732 i, 5733 { 5734 _fgT: "button", 5735 _fgS: "d3bl167", 5736 _fgB: 1790736563691, 5737 onClick: () => n(O), 5738 className: `transition-all duration-300 cursor-pointer ${O === a ? "w-6 h-1.5 bg-white" : "w-1.5 h-1.5 bg-white/40 hover:bg-white/70"}`, 5739 "data-fg-d3bl167": ":0:/src/app/App.tsx:759:21:32812:217:e:button" 5740 }, 5741 O 5742 )),
5743 /* @__PURE__ */ x(i, { _fgT: "span", _fgS: "d3bl168", _fgB: 1790736563691, className: "font-Helvetica Neue text-[9px] text-white/50 ml-2", "data-fg-d3bl168": ":0:/src/app/App.tsx:762:19:33070:194:e:span:xtx", children: [ 5744 String(a + 1).padStart(2, "0"), 5745 " / ", 5746 String(X).padStart(2, "0") 5747 ] }) 5748 ] }), 5749 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl172", _fgB: 1790736563691, className: "flex items-center gap-1", "data-fg-d3bl172": ":0:/src/app/App.tsx:766:17:33304:545:e:div:ete", children: [ 5750 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl173", _fgB: 1790736563691, onClick: b, className: "w-9 h-9 border border-white/40 flex items-center justify-center text-white/60 hover:border-white hover:text-white transition-colors cursor-pointer", "data-fg-d3bl173": ":0:/src/app/App.tsx:767:19:33364:221:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: zl, _fgS: "d3bl174", _fgB: 1790736563691, size: 16, "data-fg-d3bl174": ":0:node_modules/lucide-react:767:206:33551:25:e:ChevronLeft::::::O1c" }) }),
5751 /* @__PURE__ */ d(i, { _fgT: "button", _fgS: "d3bl175", _fgB: 1790736563691, onClick: z, className: "w-9 h-9 border border-white/40 flex items-center justify-center text-white/60 hover:border-white hover:text-white transition-colors cursor-pointer", "data-fg-d3bl175": ":0:/src/app/App.tsx:768:19:33604:222:e:button:e", children: /* @__PURE__ */ d(i, { _fgT: Ol, _fgS: "d3bl176", _fgB: 1790736563691, size: 16, "data-fg-d3bl176": ":0:node_modules/lucide-react:768:206:33791:26:e:ChevronRight::::::ByYJ" }) }) 5752 ] }) 5753 ] }) 5754 ] }, a) 5755 } 5756 ), 5757 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl178", _fgB: 1790736563691, className: "absolute bottom-4 left-1/2 -translate-x-1/2 flex flex-col items-center gap-1 text-white/40 pointer-events-none", "data-fg-d3bl178": ":0:/src/app/App.tsx:775:11:33947:302:e:div:ete", children: [ 5758 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl179", _fgB: 1790736563691, className: "font-Helvetica Neue text-[8px] tracking-[0.2em]", "data-fg-d3bl179": ":0:/src/app/App.tsx:776:13:34088:79:e:span:t", children: "SCROLL" }),
5759 /* @__PURE__ */ d(i, { _fgT: Pr, _fgS: "d3bl181", _fgB: 1790736563691, size: 12, className: "animate-bounce", "data-fg-d3bl181": ":0:node_modules/lucide-react:777:13:34180:52:e:ChevronDown::::::Ddn3" }) 5760 ] }), 5761 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl182", _fgB: 1790736563691, className: "hidden absolute top-3 right-3 font-Helvetica Neue text-[8px] text-gray-400 bg-white/70 px-2 py-1", "data-fg-d3bl182": ":0:/src/app/App.tsx:780:11:34261:138:e:div:t", children: "02 · HERO CAROUSEL" }) 5762 ] }) 5763 ] }), 5764 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl184", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl184": ":0:/src/app/App.tsx:784:7:34439:300:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: $t, _fgS: "d3bl185", _fgB: 1790736563691, items: [ 5765 { icon: "â³", label: "Auto-advance: next slide every 5 s" }, 5766 { icon: "â", label: "Dot indicators + arrows: manual nav" }, 5767 { icon: "â", label: "Lower third: fade + slide up per slide change" } 5768 ], "data-fg-d3bl185": ":0:/src/app/App.tsx:785:9:34472:254:e:AnnotRow::::::DFsx" }) }),
5769 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl187", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl187": ":0:/src/app/App.tsx:795:7:34913:145:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: $t, _fgS: "d3bl188", _fgB: 1790736563691, items: [{ icon: "â³", label: "Marquee: translateX at constant speed (CSS keyframe)" }], "data-fg-d3bl188": ":0:/src/app/App.tsx:796:9:34946:99:e:AnnotRow::::::DFsx" }) }), 5770 /* @__PURE__ */ d( 5771 i, 5772 { 5773 _fgT: "section", 5774 _fgS: "d3bl190", 5775 _fgB: 1790736563691, 5776 id: "about", 5777 className: "relative overflow-hidden", 5778 style: { backgroundImage: `url(${er})`, backgroundSize: "cover", backgroundPosition: "center" }, 5779 "data-fg-d3bl190": ":0:/src/app/App.tsx:802:1:35193:2140:e:section:xte", 5780 children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl192", _fgB: 1790736563691, style: { display: "grid" }, "data-fg-d3bl192": ":0:/src/app/App.tsx:808:3:35455:1867:e:div:xtetxtetxte", children: [
5781 /* @__PURE__ */ d(i, { _fgT: "video", _fgS: "d3bl194", _fgB: 1790736563691, autoPlay: !0, muted: !0, loop: !0, playsInline: !0, className: "w-full h-auto block lg:hidden", style: { gridArea: "1/1" }, "data-fg-d3bl194": ":0:/src/app/App.tsx:810:5:35536:181:e:video:e", children: /* @__PURE__ */ d(i, { _fgT: "source", _fgS: "d3bl195", _fgB: 1790736563691, src: Zl, type: "video/mp4", "data-fg-d3bl195": ":0:/src/app/App.tsx:811:7:35652:52:e:source" }) }), 5782 /* @__PURE__ */ d(i, { _fgT: "video", _fgS: "d3bl197", _fgB: 1790736563691, autoPlay: !0, muted: !0, loop: !0, playsInline: !0, className: "w-full h-auto hidden lg:block", style: { gridArea: "1/1" }, "data-fg-d3bl197": ":0:/src/app/App.tsx:814:5:35759:178:e:video:e", children: /* @__PURE__ */ d(i, { _fgT: "source", _fgS: "d3bl198", _fgB: 1790736563691, src: Ql, type: "video/mp4", "data-fg-d3bl198": ":0:/src/app/App.tsx:815:7:35875:49:e:source" }) }), 5783 /* @__PURE__ */ d( 5784 i, 5785 { 5786 _fgT: "div", 5787 _fgS: "d3bl200", 5788 _fgB: 1790736563691, 5789 className: "flex flex-col justify-start lg:justify-center px-8 lg:px-16 pt-16 lg:pt-0 pointer-events-none", 5790 style: { gridArea: "1/1", zIndex: 1, color: "#10367d", alignSelf: "stretch" }, 5791 "data-fg-d3bl200": ":0:/src/app/App.tsx:818:5:35994:1319:e:div:e", 5792 children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl201", _fgB: 1790736563691, className: "max-w-xl pointer-events-auto about-text-inner", "data-fg-d3bl201": ":0:/src/app/App.tsx:822:7:36208:1094:e:div:etetete", children: [
5793 /* @__PURE__ */ d( 5794 i, 5795 { 5796 _fgT: "h2", 5797 _fgS: "d3bl202", 5798 _fgB: 1790736563691, 5799 className: "uppercase leading-tight mb-1", 5800 style: { fontFamily: "Angelle, serif", fontSize: "22px", fontWeight: 400 }, 5801 "data-fg-d3bl202": ":0:/src/app/App.tsx:823:1:36272:186:e:h2:t", 5802 children: "Your Gateway to World-Class Content" 5803 } 5804 ), 5805 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl204", _fgB: 1790736563691, className: "mb-4", style: { fontFamily: "Helvetica Neue, Helvetica, Arial, sans-serif", fontSize: "16px" }, "data-fg-d3bl204": ":0:/src/app/App.tsx:829:9:36467:188:e:p:s", children: "Where Asia's most compelling stories meet the world" }), 5806 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl206", _fgB: 1790736563691, className: "mb-4 leading-relaxed", style: { fontFamily: "Helvetica Neue, Helvetica, Arial, sans-serif", fontSize: "16px" }, "data-fg-d3bl206": ":0:/src/app/App.tsx:832:9:36664:329:e:p:te", children: [ 5807 "Through curation, distribution and licensing, we partner with leading platforms and broadcasters to bring entertainment to audiences everywhere.",
5808 /* @__PURE__ */ d(i, { _fgT: "br", _fgS: "d3bl208", _fgB: 1790736563691, "data-fg-d3bl208": ":0:/src/app/App.tsx:835:9:36964:6:e:br" }) 5809 ] }), 5810 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl209", _fgB: 1790736563691, style: { fontFamily: "Helvetica Neue, Helvetica, Arial, sans-serif", fontSize: "16px" }, "data-fg-d3bl209": ":0:/src/app/App.tsx:838:9:37002:287:e:p:set", children: [ 5811 "Learn more about us at ", 5812 /* @__PURE__ */ d(i, { _fgT: "a", _fgS: "d3bl211", _fgB: 1790736563691, href: "https://kcglobalmedia.com/", target: "_blank", rel: "noopener noreferrer", style: { textDecoration: "underline" }, "data-fg-d3bl211": ":0:/src/app/App.tsx:839:38:37132:143:e:a:t", children: "KC Global Media Asia" }), 5813 "." 5814 ] }) 5815 ] }) 5816 } 5817 ) 5818 ] }) 5819 } 5820 ), 5821 /* @__PURE__ */ d("style", { "data-fg-d3bl214": ":0:/src/app/App.tsx:846:1:37335:486:e:style:s", children: ` 5822 @media (min-width: 768px) and (max-width: 1024px) { 5823 #about video:first-of-type { 5824 display: none !important; 5825 } 5826 #about video:last-of-type { 5827 display: block !important; 5828 width: 100% !important; 5829 height: auto !important; 5830 } 5831 #about h2 { 5832 white-space: normal !important; 5833 font-size: 18px !important; 5834 } 5835 #about .about-text-inner { 5836 max-width: 38% !important; 5837 word-break: break-word !important; 5838 } 5839 } 5840` }),
5841 /* @__PURE__ */ d(i, { _fgT: "section", _fgS: "d3bl217", _fgB: 1790736563691, id: "titles", "data-fg-d3bl217": ":0:/src/app/App.tsx:870:7:37990:278:e:section:e", children: /* @__PURE__ */ d( 5842 i, 5843 { 5844 _fgT: "div", 5845 _fgS: "d3bl218", 5846 _fgB: 1790736563691, 5847 ref: te.ref, 5848 className: `transition-all duration-700 ${te.inView ? "opacity-100 translate-y-0" : "opacity-0 translate-y-6"}`, 5849 "data-fg-d3bl218": ":0:/src/app/App.tsx:871:9:38020:231:e:div:e", 5850 children: /* @__PURE__ */ d(i, { _fgT: is, _fgS: "d3bl219", _fgB: 1790736563691, cards: rs, "data-fg-d3bl219": ":0:/src/app/App.tsx:875:11:38207:29:e:PosterStrip::::::BJRQ" }) 5851 } 5852 ) }), 5853 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl220", _fgB: 1790736563691, className: "hidden", "data-fg-d3bl220": ":0:/src/app/App.tsx:879:7:38276:231:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: $t, _fgS: "d3bl221", _fgB: 1790736563691, items: [ 5854 { icon: "â", label: "Grid: staggered fade-in on scroll enter" }, 5855 { icon: "â", label: "Card hover: image zoom + overlay slides up" } 5856 ], "data-fg-d3bl221": ":0:/src/app/App.tsx:880:9:38309:185:e:AnnotRow::::::DFsx" }) }),
5857 /* @__PURE__ */ d(i, { _fgT: "section", _fgS: "d3bl223", _fgB: 1790736563691, id: "news", className: "py-10", "data-fg-d3bl223": ":0:/src/app/App.tsx:889:7:38665:1110:e:section:e", children: /* @__PURE__ */ x( 5858 i, 5859 { 5860 _fgT: "div", 5861 _fgS: "d3bl224", 5862 _fgB: 1790736563691, 5863 ref: J.ref, 5864 className: `transition-all duration-700 ${J.inView ? "opacity-100 translate-y-0" : "opacity-0 translate-y-6"}`, 5865 "data-fg-d3bl224": ":0:/src/app/App.tsx:890:9:38711:1047:e:div:ete", 5866 children: [ 5867 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl225", _fgB: 1790736563691, className: "flex items-end justify-between mb-10 border-b border-gray-200 pb-5 px-5 md:px-9", "data-fg-d3bl225": ":0:/src/app/App.tsx:894:11:38894:679:e:div:ete", children: [ 5868 /* @__PURE__ */ x(i, { _fgT: "h2", _fgS: "d3bl226", _fgB: 1790736563691, className: "text-2xl md:text-3xl uppercase tracking-tight leading-none text-[#10367d]", style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, "data-fg-d3bl226": ":0:/src/app/App.tsx:895:1:38992:175:e:h2:tet", children: [ 5869 "Featured",
5870 /* @__PURE__ */ d(i, { _fgT: "br", _fgS: "d3bl228", _fgB: 1790736563691, "data-fg-d3bl228": ":0:/src/app/App.tsx:896:11:39151:6:e:br" }), 5871 "News" 5872 ] }), 5873 /* @__PURE__ */ x( 5874 i, 5875 { 5876 _fgT: "button", 5877 _fgS: "d3bl230", 5878 _fgB: 1790736563691, 5879 onClick: () => e("/news"), 5880 className: "flex items-center gap-1.5 text-[9px] tracking-[0.15em] text-gray-700 border border-gray-300 px-4 py-2.5 hover:border-gray-600 hover:text-gray-900 transition-colors cursor-pointer font-[Helvetica_Neue] ml-auto", 5881 "data-fg-d3bl230": ":0:/src/app/App.tsx:898:13:39180:376:e:button:et", 5882 children: [ 5883 /* @__PURE__ */ d(i, { _fgT: Xt, _fgS: "d3bl231", _fgB: 1790736563691, size: 12, "data-fg-d3bl231": ":0:node_modules/lucide-react:902:15:39499:26:e:ArrowUpRight::::::CDfy" }), 5884 " VIEW ALL" 5885 ] 5886 } 5887 ) 5888 ] }),
5889 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl233", _fgB: 1790736563691, className: "grid md:grid-cols-3", "data-fg-d3bl233": ":0:/src/app/App.tsx:905:11:39584:159:e:div:x", children: ka.map((w, O) => /* @__PURE__ */ d(i, { _fgT: ls, _fgS: "d3bl235", _fgB: 1790736563691, item: w, isLast: O === ka.length - 1, "data-fg-d3bl235": ":0:/src/app/App.tsx:906:36:39657:67:e:NewsCardWire::::::ECTH" }, O)) }) 5890 ] 5891 } 5892 ) }), 5893 /* @__PURE__ */ x(i, { _fgT: "footer", _fgS: "d3bl237", _fgB: 1790736563691, className: "px-8 md:px-12 py-12 border-t border-gray-200", "data-fg-d3bl237": ":0:/src/app/App.tsx:914:7:39935:6603:e:footer:ete", children: [ 5894 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl238", _fgB: 1790736563691, className: "grid md:grid-cols-3 gap-12 mb-10", "data-fg-d3bl238": ":0:/src/app/App.tsx:915:9:40009:5700:e:div:etete", children: [ 5895 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl239", _fgB: 1790736563691, "data-fg-d3bl239": ":0:/src/app/App.tsx:916:11:40070:235:e:div:ete", children: [
5896 /* @__PURE__ */ d(i, { _fgT: "img", _fgS: "d3bl240", _fgB: 1790736563691, src: eo, alt: "KCGM Distribution", className: "h-25 w-auto object-contain mb-4", draggable: !1, "data-fg-d3bl240": ":0:/src/app/App.tsx:917:13:40088:129:e:img" }), 5897 /* @__PURE__ */ d(i, { _fgT: pn, _fgS: "d3bl241", _fgB: 1790736563691, lines: 3, widths: ["180px", "160px", "120px"], "data-fg-d3bl241": ":0:/src/app/App.tsx:918:13:40230:58:e:TextLines::::::EAwR" }) 5898 ] }), 5899 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl242", _fgB: 1790736563691, "data-fg-d3bl242": ":0:/src/app/App.tsx:920:11:40316:1591:e:div:etx", children: [ 5900 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl243", _fgB: 1790736563691, className: "text-[9px] tracking-[0.2em] text-gray-400 mb-4 font-[Helvetica_Neue]", "data-fg-d3bl243": ":0:/src/app/App.tsx:921:13:40334:114:e:p:t", children: "SIGN UP FOR OUR NEWSLETTER" }), 5901 s ? /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl246", _fgB: 1790736563691, className: "py-3", "data-fg-d3bl246": ":0:/src/app/App.tsx:923:3:40478:169:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl247", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[11px] text-gray-700", "data-fg-d3bl247": ":0:/src/app/App.tsx:924:5:40505:133:e:p:t", children: "â Thank you! You've been added to our newsletter list." }) }) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl249", _fgB: 1790736563691, "data-fg-d3bl249": ":0:/src/app/App.tsx:929:3:40656:1231:e:div:e", children: /* @__PURE__ */ x( 5902 i, 5903 { 5904 _fgT: "form", 5905 _fgS: "d3bl250", 5906 _fgB: 1790736563691, 5907 onSubmit: async (w) => {
5908 if (w.preventDefault(), !o) return; 5909 window.gtag?.("event", "newsletter_signup", { email_domain: o.split("@")[1] ?? "unknown" }); 5910 const O = encodeURIComponent("Newsletter Subscription Request"), se = encodeURIComponent(`Hi KCGM Distribution, 5911 5912I would like to subscribe to your newsletter. 5913 5914Email: ${o} 5915 5916Thank you.`); 5917 window.open(`https://mail.google.com/mail/?view=cm&[email protected]&su=${O}&body=${se}`, "_blank"), c(!0), l(""), setTimeout(() => c(!1), 4e3); 5918 }, 5919 className: "flex border border-gray-400", 5920 "data-fg-d3bl250": ":0:/src/app/App.tsx:930:5:40666:1212:e:form:ete", 5921 children: [ 5922 /* @__PURE__ */ d( 5923 i, 5924 { 5925 _fgT: "input", 5926 _fgS: "d3bl251", 5927 _fgB: 1790736563691, 5928 type: "email", 5929 placeholder: "[email protected]", 5930 value: o, 5931 onChange: (w) => l(w.target.value), 5932 required: !0, 5933 className: "flex-1 px-4 py-3 font-[Helvetica_Neue] text-xs text-gray-700 placeholder-gray-400 outline-none bg-white", 5934 "data-fg-d3bl251": ":0:/src/app/App.tsx:944:7:41346:292:e:input" 5935 } 5936 ),
5937 /* @__PURE__ */ d( 5938 i, 5939 { 5940 _fgT: "button", 5941 _fgS: "d3bl252", 5942 _fgB: 1790736563691, 5943 type: "submit", 5944 className: "px-4 border-l border-gray-400 text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors cursor-pointer", 5945 "data-fg-d3bl252": ":0:/src/app/App.tsx:952:7:41645:221:e:button:e", 5946 children: /* @__PURE__ */ d(i, { _fgT: Ll, _fgS: "d3bl253", _fgB: 1790736563691, size: 14, "data-fg-d3bl253": ":0:node_modules/lucide-react:956:9:41826:24:e:ArrowRight::::::s5N" }) 5947 } 5948 ) 5949 ] 5950 } 5951 ) }) 5952 ] }), 5953 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl254", _fgB: 1790736563691, "data-fg-d3bl254": ":0:/src/app/App.tsx:962:11:41918:3776:e:div:ete", children: [ 5954 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl255", _fgB: 1790736563691, className: "text-[9px] tracking-[0.2em] text-gray-400 mb-4 font-[Helvetica_Neue]", "data-fg-d3bl255": ":0:/src/app/App.tsx:963:13:41936:97:e:p:t", children: "FOLLOW US" }),
5955 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl257", _fgB: 1790736563691, className: "flex gap-3", "data-fg-d3bl257": ":0:/src/app/App.tsx:964:13:42046:3618:e:div:xtetxtetxtetxte", children: [ 5956 /* @__PURE__ */ d( 5957 i, 5958 { 5959 _fgT: "a", 5960 _fgS: "d3bl259", 5961 _fgB: 1790736563691, 5962 href: "https://www.facebook.com/profile.php?id=61590809332891&__tn__=-UC*F", 5963 target: "_blank", 5964 rel: "noopener noreferrer", 5965 className: "w-9 h-9 flex items-center justify-center text-gray-500 cursor-pointer hover:border-blue-600 hover:text-blue-600 transition-all", 5966 "data-fg-d3bl259": ":0:/src/app/App.tsx:966:3:42100:674:e:a:e", 5967 children: /* @__PURE__ */ d(i, { _fgT: "svg", _fgS: "d3bl260", _fgB: 1790736563691, width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "data-fg-d3bl260": ":0:/src/app/App.tsx:972:5:42383:384:e:svg:e", children: /* @__PURE__ */ d("path", { d: "M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z", "data-fg-d3bl261": ":0:/src/app/App.tsx:973:7:42458:298:e:path" }) }) 5968 } 5969 ),
5970 /* @__PURE__ */ d( 5971 i, 5972 { 5973 _fgT: "a", 5974 _fgS: "d3bl263", 5975 _fgB: 1790736563691, 5976 href: "https://www.instagram.com/kcgm_distribution", 5977 target: "_blank", 5978 rel: "noopener noreferrer", 5979 className: "w-9 h-9 flex items-center justify-center text-gray-500 cursor-pointer hover:border-pink-500 hover:text-pink-500 transition-all", 5980 "data-fg-d3bl263": ":0:/src/app/App.tsx:978:3:42798:1241:e:a:e", 5981 children: /* @__PURE__ */ d(i, { _fgT: "svg", _fgS: "d3bl264", _fgB: 1790736563691, width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "data-fg-d3bl264": ":0:/src/app/App.tsx:984:5:43057:975:e:svg:e", children: /* @__PURE__ */ d("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z", "data-fg-d3bl265": ":0:/src/app/App.tsx:985:7:43132:889:e:path" }) }) 5982 } 5983 ),
5984 /* @__PURE__ */ d( 5985 i, 5986 { 5987 _fgT: "a", 5988 _fgS: "d3bl267", 5989 _fgB: 1790736563691, 5990 href: "https://www.youtube.com/@KCGMDistribution", 5991 target: "_blank", 5992 rel: "noopener noreferrer", 5993 className: "w-9 h-9 flex items-center justify-center text-gray-500 cursor-pointer hover:border-red-600 hover:text-red-600 transition-all", 5994 "data-fg-d3bl267": ":0:/src/app/App.tsx:990:3:44061:701:e:a:e", 5995 children: /* @__PURE__ */ d(i, { _fgT: "svg", _fgS: "d3bl268", _fgB: 1790736563691, width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "data-fg-d3bl268": ":0:/src/app/App.tsx:996:5:44316:439:e:svg:e", children: /* @__PURE__ */ d("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z", "data-fg-d3bl269": ":0:/src/app/App.tsx:997:7:44391:353:e:path" }) }) 5996 } 5997 ),
5998 /* @__PURE__ */ d( 5999 i, 6000 { 6001 _fgT: "a", 6002 _fgS: "d3bl271", 6003 _fgB: 1790736563691, 6004 href: "https://www.linkedin.com/company/kcglobalmedia-asia/", 6005 target: "_blank", 6006 rel: "noopener noreferrer", 6007 className: "w-9 h-9 flex items-center justify-center text-gray-500 cursor-pointer hover:border-blue-700 hover:text-blue-700 transition-all", 6008 "data-fg-d3bl271": ":0:/src/app/App.tsx:1002:3:44785:872:e:a:e", 6009 children: /* @__PURE__ */ d(i, { _fgT: "svg", _fgS: "d3bl272", _fgB: 1790736563691, width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "data-fg-d3bl272": ":0:/src/app/App.tsx:1008:5:45054:596:e:svg:e", children: /* @__PURE__ */ d("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z", "data-fg-d3bl273": ":0:/src/app/App.tsx:1009:7:45129:510:e:path" }) }) 6010 } 6011 ) 6012 ] }) 6013 ] }) 6014 ] }),
6015 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl274", _fgB: 1790736563691, className: "flex flex-col md:flex-row justify-between items-start md:items-center border-t border-gray-200 pt-6 gap-3", "data-fg-d3bl274": ":0:/src/app/App.tsx:1016:9:45718:804:e:div:ete", children: [ 6016 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl275", _fgB: 1790736563691, className: "font-Helvetica Neue text-[9px] text-gray-400 tracking-[0.12em] font-[Helvetica_Neue]", "data-fg-d3bl275": ":0:/src/app/App.tsx:1017:11:45852:153:e:p:t", children: "© 2026 KC GLOBAL MEDIA ASIA. ALL RIGHTS RESERVED." }), 6017 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl277", _fgB: 1790736563691, className: "flex gap-6 mr-14", "data-fg-d3bl277": ":0:/src/app/App.tsx:1018:11:46016:491:e:div:ete", children: [ 6018 /* @__PURE__ */ d(i, { _fgT: "a", _fgS: "d3bl278", _fgB: 1790736563691, href: Xl, target: "_blank", rel: "noopener noreferrer", className: "font-Helvetica Neue text-[9px] text-gray-400 hover:text-gray-700 transition-colors cursor-pointer tracking-[0.1em]", "data-fg-d3bl278": ":0:/src/app/App.tsx:1019:13:46063:209:e:a:t", children: "PRIVACY POLICY" }),
6019 /* @__PURE__ */ d(i, { _fgT: "a", _fgS: "d3bl280", _fgB: 1790736563691, href: Jl, target: "_blank", rel: "noopener noreferrer", className: "font-Helvetica Neue text-[9px] text-gray-400 hover:text-gray-700 transition-colors cursor-pointer tracking-[0.1em]", "data-fg-d3bl280": ":0:/src/app/App.tsx:1020:13:46285:205:e:a:t", children: "TERMS OF USE" }) 6020 ] }) 6021 ] }) 6022 ] }), 6023 /* @__PURE__ */ d("style", { "data-fg-d3bl282": ":0:/src/app/App.tsx:1025:7:46546:609:e:style:s", children: ` 6024 html { scroll-behavior: smooth; } 6025 ::-webkit-scrollbar { width: 6px; } 6026 ::-webkit-scrollbar-track { background: #f0f0f0; } 6027 ::-webkit-scrollbar-thumb { background: #c0c0c0; } 6028 ::selection { background: #d4d4d4; color: #111; } 6029 @keyframes fadeSlideIn { 6030 from { opacity: 0; transform: translateY(10px); } 6031 to { opacity: 1; transform: translateY(0); } 6032 } 6033 @keyframes slideInRight { 6034 from { transform: translateX(100%); opacity: 0; } 6035 to { transform: translateX(0); opacity: 1; } 6036 } 6037 ` }),
6038 /* @__PURE__ */ d(i, { _fgT: Ir, _fgS: "d3bl284", _fgB: 1790736563691, "data-fg-d3bl284": ":0:/src/app/App.tsx:1040:7:47162:19:e:BackToTopButton::::::mck" }) 6039 ] 6040 } 6041 ); 6042} 6043function is({ cards: e }) { 6044 const t = dt(), [r, a] = H(null), n = (o) => ({ 6045 SCRIPTED: "scripted", 6046 UNSCRIPTED: "unscripted", 6047 FORMAT: "format", 6048 SPORTS: "sports", 6049 "COMING SOON": "coming-soon" 6050 })[o] ?? "scripted"; 6051 return /* @__PURE__ */ d( 6052 i, 6053 { 6054 _fgT: "div", 6055 _fgS: "d3bl285", 6056 _fgB: 1790736563691, 6057 _fgD: !0, 6058 className: "flex h-[480px] overflow-hidden border border-white", 6059 onMouseLeave: () => a(null), 6060 "data-fg-d3bl285": ":0:/src/app/App.tsx:1075:5:47904:2881:e:div:x:1", 6061 children: e.map((o) => { 6062 const l = r === o.id; 6063 return /* @__PURE__ */ x( 6064 i, 6065 { 6066 _fgT: "div", 6067 _fgS: "d3bl287", 6068 _fgB: 1790736563691, 6069 className: `relative overflow-hidden cursor-pointer border-r border-white/20 last:border-r-0 transition-all duration-500 ease-in-out ${l ? "flex-[5]" : "flex-1"}`, 6070 onMouseEnter: () => a(o.id), 6071 "data-fg-d3bl287": ":0:/src/app/App.tsx:1082:11:48128:2625:e:div:xtxtxtetxte", 6072 children: [
6073 o.image ? /* @__PURE__ */ d( 6074 i, 6075 { 6076 _fgT: "img", 6077 _fgS: "d3bl290", 6078 _fgB: 1790736563691, 6079 src: o.image, 6080 alt: o.title, 6081 draggable: !1, 6082 className: "absolute inset-0 w-full h-full object-cover transition-all duration-500", 6083 style: { objectPosition: `${o.focalX ?? 50}% ${o.focalY ?? 30}%` }, 6084 "data-fg-d3bl290": ":0:/src/app/App.tsx:1089:3:48468:239:e:img" 6085 } 6086 ) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl291", _fgB: 1790736563691, className: "absolute inset-0 bg-gray-800", "data-fg-d3bl291": ":0:/src/app/App.tsx:1097:3:48716:48:e:div" }), 6087 /* @__PURE__ */ d( 6088 i, 6089 { 6090 _fgT: "div", 6091 _fgS: "d3bl293", 6092 _fgB: 1790736563691, 6093 className: `absolute inset-0 flex items-end justify-center pb-6 transition-opacity duration-300 ${l ? "opacity-0 pointer-events-none" : "opacity-100"}`, 6094 "data-fg-d3bl293": ":0:/src/app/App.tsx:1102:13:48853:492:e:div:e", 6095 children: /* @__PURE__ */ d( 6096 i, 6097 { 6098 _fgT: "span", 6099 _fgS: "d3bl294", 6100 _fgB: 1790736563691, 6101 className: "font-Helvetica Neue text-[14px] tracking-[0.22em] text-gray-600 bg-white/80 px-2 py-1.5 whitespace-nowrap", 6102 style: { writingMode: "vertical-rl", transform: "rotate(180deg)" }, 6103 "data-fg-d3bl294": ":0:/src/app/App.tsx:1105:15:49060:266:e:span:x", 6104 children: o.tag 6105 } 6106 ) 6107 } 6108 ),
6109 /* @__PURE__ */ x( 6110 i, 6111 { 6112 _fgT: "div", 6113 _fgS: "d3bl297", 6114 _fgB: 1790736563691, 6115 className: `absolute inset-0 flex flex-col justify-end p-6 transition-all duration-400 ${l ? "opacity-100 translate-y-0" : "opacity-0 translate-y-3 pointer-events-none"}`, 6116 style: { background: "linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.40) 55%, rgba(0,0,0,0.05) 100%)" }, 6117 "data-fg-d3bl297": ":0:/src/app/App.tsx:1114:13:49417:1319:e:div:etetete", 6118 children: [ 6119 /* @__PURE__ */ d( 6120 i, 6121 { 6122 _fgT: "div", 6123 _fgS: "d3bl298", 6124 _fgB: 1790736563691, 6125 className: "font-Helvetica Neue text-white text-base mb-0.5 line-clamp-2", 6126 style: { lineHeight: "22px" }, 6127 "data-fg-d3bl298": ":0:/src/app/App.tsx:1119:15:49788:206:e:div:x", 6128 children: o.title 6129 } 6130 ),
6131 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl300", _fgB: 1790736563691, className: "font-Helvetica Neue text-[15px] text-white/40 mb-2", "data-fg-d3bl300": ":0:/src/app/App.tsx:1125:15:50009:84:e:div:x", children: o.sub }), 6132 /* @__PURE__ */ d(i, { _fgT: pn, _fgS: "d3bl302", _fgB: 1790736563691, lines: 2, widths: ["100%", "70%"], className: "mb-2 opacity-20", "data-fg-d3bl302": ":0:/src/app/App.tsx:1127:15:50119:76:e:TextLines::::::EAwR" }), 6133 /* @__PURE__ */ x( 6134 i, 6135 { 6136 _fgT: "button", 6137 _fgS: "d3bl303", 6138 _fgB: 1790736563691, 6139 onClick: () => t("/" + Je[n(o.tag)]), 6140 className: "flex items-center gap-2 border-t border-white/20 pt-3 w-fit cursor-pointer group", 6141 "data-fg-d3bl303": ":0:/src/app/App.tsx:1128:15:50210:507:e:button:ete", 6142 children: [ 6143 /* @__P
6143URE__ */ d(i, { _fgT: "span", _fgS: "d3bl304", _fgB: 1790736563691, className: "font-Helvetica Neue text-[9px] text-white/70 tracking-[0.15em] group-hover:text-white transition-colors", "data-fg-d3bl304": ":0:/src/app/App.tsx:1132:17:50447:136:e:span:t", children: "EXPLORE" }), 6144 /* @__PURE__ */ d(i, { _fgT: Xt, _fgS: "d3bl306", _fgB: 1790736563691, size: 10, className: "text-white/70 group-hover:text-white transition-colors", "data-fg-d3bl306": ":0:node_modules/lucide-react:1133:17:50600:93:e:ArrowUpRight::::::CDfy" }) 6145 ] 6146 } 6147 ) 6148 ] 6149 } 6150 ) 6151 ] 6152 }, 6153 o.id 6154 ); 6155 }) 6156 } 6157 ); 6158} 6159function ls({ item: e }) { 6160 const [t, r] = H(!1); 6161 return /* @__PURE__ */ x( 6162 i, 6163 { 6164 _fgT: "div", 6165 _fgS: "d3bl307", 6166 _fgB: 1790736563691, 6167 _fgD: !0, 6168 className: "cursor-pointer", 6169 onMouseEnter: () => r(!0), 6170 onMouseLeave: () => r(!1), 6171 onClick: () => e.url && window.open(e.url, "_blank"), 6172 "data-fg-d3bl307": ":0:/src/app/App.tsx:1157:5:51057:1212:e:div:xtetxtetxte:1", 6173 children: [
6174 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl309", _fgB: 1790736563691, className: "relative overflow-hidden mb-4 aspect-[4/5] bg-gray-100 md:border-r md:border-gray-200 md:mr-0", "data-fg-d3bl309": ":0:/src/app/App.tsx:1164:7:51276:549:e:div:x", children: e.image ? /* @__PURE__ */ d( 6175 i, 6176 { 6177 _fgT: "img", 6178 _fgS: "d3bl311", 6179 _fgB: 1790736563691, 6180 src: e.image, 6181 alt: e.title, 6182 draggable: !1, 6183 className: `w-full h-full object-cover transition-transform duration-500 ${t ? "scale-105" : "scale-100"}`, 6184 style: { objectPosition: `${e.focalX ?? 50}% ${e.focalY ?? 50}%` }, 6185 "data-fg-d3bl311": ":0:/src/app/App.tsx:1166:11:51414:317:e:img" 6186 } 6187 ) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl312", _fgB: 1790736563691, className: "w-full h-full bg-gray-200", "data-fg-d3bl312": ":0:/src/app/App.tsx:1174:11:51756:45:e:div" }) }), 6188 /* @__PURE__ */ d( 6189 i, 6190 { 6191 _fgT: "p", 6192 _fgS: "d3bl314", 6193 _fgB: 1790736563691, 6194 className: `mb-2 px-3 transition-colors duration-200 text-sm ${t ? "underline text-gray-600" : "text-gray-900"}`, 6195 style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, 6196 "data-fg-d3bl314": ":0:/src/app/App.tsx:1179:1:51847:206:e:p:x", 6197 children: e.title 6198 } 6199 ),
6200 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl317", _fgB: 1790736563691, className: "uppercase text-[11px] tracking-[0.08em] text-gray-500 px-3 font-[Helvetica_Neue] leading-relaxed", "data-fg-d3bl317": ":0:/src/app/App.tsx:1187:7:52102:156:e:p:xtx", children: [ 6201 e.cat, 6202 " · ", 6203 e.date 6204 ] }) 6205 ] 6206 } 6207 ); 6208} 6209const wt = [ 6210 { 6211 id: "sf1", 6212 title: "Laya", 6213 vimeoUrl: "https://vimeo.com/showcase/12399093?share=copy&fl=sm&fe=fe", 6214 genre: "Drama", 6215 year: 2026, 6216 duration: "100mins", 6217 subcategory: "films", 6218 synopsis: "After 20 years in prison, a reclusive man with a rare skin condition seeks a fresh start in a quiet seaside town, where an unexpected connection forces him to confront his violent past.", 6219 posterImage: "https://www.dropbox.com/scl/fi/2h3h6d8scrb6wczx22ofi/layafinal.jpg?rlkey=elt46izbromlx3nt7j59faqzj&st=4varqdfk&raw=1", 6220 landscapeImage: "https://www.dropbox.com/scl/fi/e9b8e7rxuniuytvag1p61/laya_landscape.jpg?rlkey=7s3h3caeawnupghv1pc5hiasq&st=6raqygas&raw=1", 6221 director: "Sigrid Andrea P. Bernardo", 6222 starring: "Andrea Brillantes, JC Santos, Anthony Jennings", 6223 recognition: "Best Director and Screenwriter for Kita Kita (I See You) (2017)", 6224 territoriesAvailable: "Southeast Asia (Prime Video only)" 6225 }, 6226 { 6227 id: "sf2", 6228 title: "Shall We Die", 6229 vimeoUrl: "https://vimeo.com/showcase/12411620?share=copy&fl=sm&fe=fe", 6230 genre: "Comedy", 6231 year: 2023, 6232 duration: "90mins", 6233 subcategory: "films", 6234 synopsis: `A high-school girl ashamed of her family's traditional funeral business finds unexpected purpose after helping a secretly suicidal classmate stage a "living funeral".`, 6235 posterImage: "https://www.dropbox.com/scl/fi/k0hoghdwnlw4pkhlfvg9m/shallwedie_final2.jpg?rlkey=6rt1ic7btg99f0tafsixdf6xf&st=vk3eyylt&raw=1", 6236 trailerUrl: "https://www.dropbox.com/scl/fi/h3z2zeqr1j50232hrxvde/Shall-We-Die-Trailer.mp4?rlkey=oyca7lminiylo1nha8s98lnn7&st=b42dvdjt&raw=1", 6237 director: "Jim Wang", 6238 starring: "Chieh-Huei Hsu, Yi-Mei Shao", 6239 recognition: "Golden Bell Awards for Best Director, Screenplay, Best TV Movie for My Space Grandma (2009); Golden Horse Award Nomination for Best Director (Cha Cha Twins 2012)", 6240 territoriesAvailable: "Worldwide" 6241 } 6242], St = [ 6243 { 6244 id: "ss1", 6245 title: "A Controversial Entertainer", 6246 vimeoUrl: "https://vimeo.com/showcase/12364723?share=copy&fl=sm&fe=fe", 6247 genre: "Drama", 6248 year: 2026, 6249 duration: "10 Episodes x 60mins", 6250 subcategory: "series", 6251 synopsis: "From first-love encounters to master-servant rivalries, a small-time gangster and a group of misfits navigate the extravagant world of elite hosts and uncover life's true meaning.", 6252 posterImage: "https://www.dropbox.com/scl/fi/b4biigve9p7afejt5wtvl/ace_final.jpg?rlkey=69tt8gni8zlef82odab7x5yh1&st=6vnm3kn0&raw=1", 6253 trailerUrl: "https://www.dropbox.com/scl/fi/x5bdyqdrywwtln5b26lug/ACE-Trailer.mp4?rlkey=a3fu1qm23t4t83488rtbt3i73&st=3an1agzv&raw=1", 6254 director: "Eri Hao", 6255 starring: "Alex Chou, Andy Chen, Ben Wu, Marcus Chang, Shih Chih Tian, Wes Lo, Yorke Sun", 6256 territoriesAvailable: "Worldwide" 6257 }, 6258 { 6259 id: "ss2", 6260 title: "Decalcomania", 6261 vimeoUrl: "https://vimeo.com/showcase/12387485?share=copy&fl=sm&fe=fe", 6262 genre: "Drama", 6263 year: 2025, 6264 duration: "8 Episodes x 60mins", 6265 subcategory: "series", 6266 synopsis: "After a mysterious accident swaps their souls, a Bangkok nightclub owner and a Singapore socialite must survive each other's dangerous worlds.", 6267 posterImage: "https://www.dropbox.com/scl/fi/1058n0un2p4odim8d0rfy/decalcomania_final.jpg?rlkey=0h4m3apbaii3rxutq58x32xfv&st=vumhx3b5&raw=1", 6268 trailerUrl: "https://www.dropbox.com/scl/fi/0ez1nn96n0k08vvaobxcp/Decalcomania.mp4?rlkey=yu2gaku0oytua13ljzj9bbscp&st=g77bz957&raw=1", 6269 director: "Chai Yee Wei", 6270 starring: "Chai Chatayodom Hiranyatithi, Hussawee Pakrapongpisan, Mookda Narinrak, Pat Chayanit Chansangavej, Pierre Png, Thaneth Warakulnukroh", 6271 recognition: `2026 Nataraja Awards (Thailand's "Emmys") 9 Nominations across 8
6271Categories â Best Drama Series, Best Director, Best Leading Actress and Actor`, 6272 territoriesAvailable: "Worldwide (excluding Thailand & Singapore)" 6273 }, 6274 { 6275 id: "ss3", 6276 title: "Lost & Found", 6277 vimeoUrl: "https://vimeo.com/showcase/12387486?share=copy&fl=sm&fe=fe", 6278 genre: "Thriller", 6279 year: 2026, 6280 duration: "6 Episodes x 60mins", 6281 subcategory: "series", 6282 synopsis: "A journey across Japan in search of love turns into an unexpected quest for truth, friendship, and purpose.", 6283 posterImage: "https://www.dropbox.com/scl/fi/faouk3wrhgd4cci7h7ttv/lost-found_final.jpg?rlkey=4k8cczxdl4070yib75533yyap&st=a5n6xoxe&raw=1", 6284 trailerUrl: "https://www.dropbox.com/scl/fi/5d6pbwmcqvfby0lvz5epd/Lost-and-Found.mp4?rlkey=isgj0iv6hane9kjrnm586dqn1&st=5s4a7wi0&raw=1", 6285 director: "Mocha Chai Laboratories, Empire of Arkadia, TV Man Union", 6286 starring: "Anna Yamada, Chen Han Wei, Hio Miyazawa, Momoko Tanabe, Shunsuke Daito, Shawn Thia", 6287 territoriesAvailable: "Worldwide (excluding Japan)" 6288 }, 6289 { 6290 id: "ss4", 6291 title: "Drug War: A Conspiracy of Silence", 6292 vimeoUrl: "https://vimeo.com/showcase/12429911?share=copy&fl=sm&fe=fe", 6293 genre: "Crime", 6294 year: 2025, 6295 duration: "6 Episodes x 60mins", 6296 subcategory: "series", 6297 synopsis: "A fallen priest and a guilt-ridden cop uncover a deadly conspiracy while seeking justice for a life lost too soon.", 6298 posterImage: "https://www.dropbox.com/scl/fi/vtfer9ebf2ww0rttcgai8/drugwar_final3.jpg?rlkey=1hj3l60pc1p2yoxa8ncviup52&st=msplwhy1&raw=1", 6299 trailerUrl: "https://www.dropbox.com/scl/fi/xxxxx/laya_trailer.mp4?rlkey=xxxxx&raw=1", 6300 director: "Shugo Praico", 6301 starring: "Ian Veneracion, Jane Oineza, Harvey Bautista, John Arcilla, Lotlot De Leon, Romnick Sarmenta, Yayo Aguila, Joem Bascon, Ryan Eigenmann, Gabby Padilla", 6302 recognition: "John Arcilla (Won Best Actor Cannes Film Festival for the series On The Job 2021)", 6303 territoriesAvailable: "Worldwide" 6304 }, 6305 { 6306 id: "ss5", 6307 title: "Breeze By The Sea", 6308 vimeoUrl: "https://vimeo.com/showcase/12389760?share=copy&fl=sm&fe=fe", 6309 genre: "Romance", 6310 year: 2024, 6311 duration: "18 Episodes x 60mins", 6312 subcategory: "series", 6313 synopsis: "A fallen celebrity's exile to the tranquil island of Kinmen becomes a transformative journey of love, healing and rediscovering what truly matters.", 6314 posterImage: "https://www.dropbox.com/scl/fi/92kydb9wm6gnk3rtekqb3/breezebythesea_final3.jpg?rlkey=2dqisxz3ngngxswax69yyvbrt&st=t3w2fn71&raw=1", 6315 trailerUrl: "https://www.dropbox.com/scl/fi/j9e4ycaa3pa0exrgo67je/_-Breeze-By-The-Sea-Teaser-Trailer.mp4?rlkey=aisctyl4twwxus78nbcjl7yld&st=4w3yfsq5&raw=1", 6316 director: "Peter Ho", 6317 starring: "Chen Bo Lin, Puff Kuo, Hong Hui Fang, Fann Wong", 6318 recognition: 'Remake of CJ EnM series "Top Star U Baek"', 6319 territoriesAvailable: "Japan, Korea, China, Vietnam, Middle East, Africa, North Asia, South Asia" 6320 }, 6321 { 6322 id: "ss6", 6323 title: "M Mission", 6324 vimeoUrl: "https://vimeo.com/showcase/12399094?share=copy&fl=sm&fe=fe", 6325 genre: "Action Comedy", 6326 year: 2024, 6327 duration: "10 Episodes x 60mins", 6328 subcategory: "series", 6329 synopsis: "A retired legendary female spy reunites with her housewife friends to form an unlikely crime-fighting team when her husband falls into the hands of a dangerous criminal syndicate.", 6330 posterImage: "https://www.dropbox.com/scl/fi/t3ex54o2epfeo3sbtn7qs/mmission_final.jpg?rlkey=0hd0w5e1e7fafq3ulymqryi9y&st=vdf7hvnd&raw=1", 6331 landscapeImage: "https://www.dropbox.com/scl/fi/sbmxe1162v7en4yrd26s8/m-mission.jpg?rlkey=n8yfpht91x32pxj6yjvzdxc96&st=wxaofpbm&raw=1", 6332 director: "Wu Chien-hsin", 6333 starring: "Sonia Sui, Pets Tseng, Tracy Chou, Sunny Wang", 6334 recognition: "Sonia Sui â Best Actress for Golden Horse Award, HBO Asia Series The World Between Us", 6335 territoriesAvailable: "Worldwide (excluding Taiwan, Malaysia, Singapore, China)" 6336 }, 6337 { 6338 id: "ss7", 6339 title: "Little Dragon Ao Yu", 6340 vimeoUrl: "https://vimeo.com/showcase/12389755?share=copy&fl=sm&fe=fe", 6341 genre: "3D Animation", 6342 year: 2025, 6343 duration: "22 Episodes x 5mins", 6344 subcategory: "series", 6345 synopsis: "Ao Yu, an impulsive young dragon who loves shortcuts and showing off, learns valuable lessons through everyday childhood struggles, from jealousy and impatience to fear of failure and procrastination.", 6346 posterImage: "https://www.dropbox.com/scl/fi/dynhof2d4ameqrwk8a42w/littledragon_kv.jpg?rlkey=l2onplqz5rx8du60gy7zyatx8&st=e7eqe6uz&raw=1", 6347 landscapeImage: "https://www.dropbox.com/scl/fi/2dblzs3xya54ixy75o1wi/littledragonaoyu.jpg?rlkey=n1sfh7ui4gl3ejr9v29goxkdo&st=uebh1a81&raw=1", 6348 territoriesAvailable: "Worldwide (excluding China)" 6349 } 6350], Tt = [ 6351 { 6352 id: "u1", 6353 title: "Eat with Xiami", 6354 vimeoUrl: "https://vimeo.com/showcase/12365064?share=copy&fl=sm&fe=fe", 6355 genre: "Food & Travel", 6356 year: 2026, 6357 duration: "11 Episodes x 22mins", 6358 unscriptedGroup: "lifestyle-docu", 6359 synopsis: "Join Chef Mi and Foodie Xia as they explore Asia's boldest flavours, vibrant cultures, and unforgettable food stories across the continent.", 6360 posterImage: "https://www.dropbox.com/scl/fi/agdp3euo3ca688cciwnqb/EWX_final.jpg?rlkey=jq8lsps2m2e4ikma91xkpaz7g&st=fygzjwbk&raw=1", 6361 trailerUrl: "https://www.dropbox.com/scl/fi/33bvs8lq0up3i7jfbmjku/EWX-Chengdu-Teaser_Final_cn-en.mov?rlkey=vrj2ye97tjxg0cinc9z5opq6m&st=grvz6o7v&raw=1", 6362 starring: "Foodie Xia 大è¾å¥, Chef Mi å°è¾ç±³", 6363 territoriesAvailable: "Worldwide" 6364 }, 6365 { 6366 id: "u2", 6367 title: "The Interrogation", 6368 vimeoUrl: "https://vimeo.com/showcase/12429828?share=copy&fl=sm&fe=fe", 6369 genre: "A.I Crime", 6370 year: 2025, 6371 duration: "8 Episodes x 2mins", 6372 unscriptedGroup: "lifestyle-docu", 6373 synopsis: "Based on true crime cases from eight countries across Asia, this AI-powered series invites audiences into an immersive, interactive crime-solving experience.", 6374 posterImage: "https://www.dropbox.com/scl/fi/qzvg8o2buhesdclg3l5wh/theinterrogation.jpg?rlkey=2ftgepd0hm8mnki5x7crwvhuq&st=fp4dwyxd&raw=1", 6375 landscapeImage: "https://www.dropbox.com/scl/fi/4wac4y9t8wzet4mb3ri27/interrogation_landscape.jpg?rlkey=b4lltvmr7z9c8tdvt95ppbvl5&st=bn8sztgu&raw=1", 6376 territoriesAvailable: "Worldwide" 6377 }, 6378 { 6379 id: "u3", 6380 title: "Deepak Chandran: Technically Funny", 6381 vimeoUrl: "https://vimeo.com/showcase/12399097?share=copy&fl=sm&fe=fe", 6382 genre: "Stand-Up Comedy", 6383 year: 2025, 6384 duration: "60 mins", 6385 unscriptedGroup: "lifestyle-docu", 6386 synopsis: "Comedian Deepak Chandranâs 2025 Netflix special blends sharp observational humour, personal anecdotes and cross-cultural stories, offering a witty take on life between cultures.", 6387 posterImage: "https://www.dropbox.com/scl/fi/0gjkzpvng1j9ivqiwqfb6/deepak.jpg?rlkey=0e557z71zacce4r4tdowbo734&st=ymr3ul1y&raw=1", 6388 trailerUrl: "https://www.dropbox.com/scl/fi/rc1rkji93cign85uwsjp7/Technically-Funny_Trailer.mov?rlkey=7k656jnm06n5wva1epkppjd1e&st=hdqpxfoo&raw=1", 6389 starring: "Deepak Chandran", 6390 territoriesAvailable: "Worldwide" 6391 }, 6392 { 6393 id: "u4",
6394 title: "AXN Ultimate Challenge: Sarawak", 6395 vimeoUrl: "https://vimeo.com/showcase/12399100?share=copy&fl=sm&fe=fe", 6396 genre: "Reality", 6397 year: 2026, 6398 duration: "4 Episodes x 15mins", 6399 unscriptedGroup: "lifestyle-docu", 6400 synopsis: "Two content creator teams compete in a series of high-energy physical and mental challenges inspired by Sarawakâs lush landscapes and rich culture, while immersing themselves in local communities and uncovering hidden gems.", 6401 posterImage: "https://www.dropbox.com/scl/fi/qpqvbasc4r9j7azqroy14/AXNsarawak.jpg?rlkey=pexwf1goryyk0sghxvuydyj00&st=5glx5ra1&raw=1", 6402 trailerUrl: "https://www.dropbox.com/scl/fi/gacs37c4hpdnk7t7w0gi8/30s-UCS-Trailer_Clean.mp4?rlkey=jr375eflzgn2df6zexurzi134&st=7lqcrmkh&raw=1", 6403 starring: "Khenji Saito, Adam Samuel, Estelle Fly, Saffron Sharpe", 6404 territoriesAvailable: "Worldwide" 6405 }, 6406 { 6407 id: "u5", 6408 title: "Deepak's Time Traveller", 6409 vimeoUrl: "https://vimeo.com/showcase/12389763?share=copy&fl=sm&fe=fe", 6410 genre: "Stand-Up Comedy", 6411 year: 2026, 6412 duration: "60 mins", 6413 unscriptedGroup: "lifestyle-docu", 6414 synopsis: "Deepak Chandran returns in his 2026 stand-up special, Time Traveller, blending sharp social commentary, personal anecdotes and cross-cultural humour in a high-energy performance.", 6415 posterImage: "https://www.dropbox.com/scl/fi/gkffnno6iacw72ukbswlp/deepaktimetraveller.jpg?rlkey=8sf2lmwejtx8jrvd8upxpfmdb&st=nzwua6w7&raw=1", 6416 landscapeImage: "https://www.dropbox.com/scl/fi/t0ve8lbcke7ozund6u314/deepaktimetraveller_l.jpg?rlkey=x2tqzaomm3nk0fnlufsztu6nc&st=h6xmbo44&raw=1", 6417 starring: "Deepak Chandran", 6418 territoriesAvailable: "Worldwide" 6419 } 6420], Jt = [ 6421 { 6422 id: "fo1", 6423 title: "Beauty on a Budget", 6424 vimeoUrl: "https://vimeo.com/showcase/12399099?share=copy&fl=sm&fe=fe", 6425 genre: "Beauty", 6426 year: 2025, 6427 duration: "12 Episodes x 45mins", 6428 synopsis: "Five creator duos from Korea and around the world take on six immersive challenges over two weeks, discovering the best of Korean beauty, culture and lifestyle.", 6429 posterImage: "https://www.dropbox.com/scl/fi/skbldtt2yx5nz8kvdmbfw/beautyonabudget.jpg?rlkey=puk053wfw1x9sb3vwau5efejn&st=mxlfhnql&raw=1", 6430 landscapeImage: "https://www.dropbox.com/scl/fi/5gthdivetu376b5sbu6nz/beauty-on-a-budget-cover.png?rlkey=a4o8mxjpnjssp2reb6op1dg38&st=nlalgj29&raw=1", 6431 territoriesAvailable: "Worldwide" 6432 }, 6433 { 6434 id: "fo2", 6435 title: "World of Children", 6436 vimeoUrl: "https://vimeo.com/showcase/12399101?share=copy&fl=sm&fe=fe", 6437 genre: "Sci-Fi, Drama", 6438 year: 2025, 6439 duration: "10 Episodes x 60mins", 6440 synopsis: `After a mysterious affliction wipes out the world's adults, a 16-year-old boy leads a group of children across the dangerous "New America" in search of a cure to save humanity.`, 6441 posterImage: "https://www.dropbox.com/scl/fi/kaqzfuya3plstr3ofu38w/worldofchildren.jpg?rlkey=m22bor22lw2ykd7sw5i5dd17c&st=3ync52gp&raw=1", 6442 landscapeImage: "https://www.dropbox.com/scl/fi/vs1l65mcc5qkyl71qbcqh/woc_landscape.jpg?rlkey=zsm7wvpnprk46i271l4cibn4e&st=2irzoq0h&raw=1", 6443 territoriesAvailable: "Worldwide" 6444 } 6445], Qt = [ 6446 { 6447 id: "sp1", 6448 title: "Taiwan Professional Basketball League", 6449 vimeoUrl: "https://vimeo.com/showcase/12429832?share=copy&fl=sm&fe=fe", 6450 genre: "Sports", 6451 year: 2026, 6452 synopsis: "Home to seven professional teams, the Taiwan Professional Basketball League (TPBL) showcases the highest level of basketball in Taiwan, featuring the country's top players and rising stars.", 6453 posterImage: "https://www.dropbox.com/scl/fi/jnn3ol349xz3yxocbna2m/tpbl_final.jpg?rlkey=7hkxmecfwwoz8htjskko3m7si&st=a0lcp3g2&raw=1", 6454 trailerUrl: "https://www.dropbox.com/scl/fi/zbfg83s15osk4nsh9xp16/gaojinwei.mp4?rlkey=7o9gs9fxogc64vi46ehdc1y55&st=wchzk7he&raw=1" 6455 } 6456], tr = [ 6457 { 6458 id: "cs1", 6459 title: "VIII: Awakening", 6460 genre: "Fantasy, Comedy", 6461 releaseWindow: "Q4 2026", 6462 duration: "24 Episodes x 15mins", 6463 productionStatus: "Post-Production", 6464 distributionRights: "Asia Pacific, Middle East", 6465 releaseGroup: "post-production", 6466 synopsis: "After awakening the power of precognition while investigating a mysterious death, an insurance investigator discovers he is the successor to one of the legendary Eight Immortals and must unite the remaining heirs to stop an ancient evil.", 6467 posterImage: "https://www.dropbox.com/scl/fi/1u42sdyez7ki0fdtmo97p/modernheroes.jpg?rlkey=scitqd4ipqn1ttf6m4el9dho2&st=5jj0j00h&raw=1", 6468 landscapeImage: "https://www.dropbox.com/scl/fi/0lfeesp8vvqo5qzg6oql1/modernheroes_landscape.jpg?rlkey=2jrlds9sg09mntbzgtowcv40y&st=40oxd03u&raw=1", 6469 director: "Yu Ji 姬ä¿", 6470 starring: "Nick Shan 忬尧, Leo Zhou 卿æ, Zhang Wan Ying å¼ å©è¹" 6471 }, 6472 { 6473 id: "cs2", 6474 title: "Dose", 6475 genre: "Crime, Action", 6476 releaseWindow: "TBC", 6477 duration: "8 Episodes x 45mins", 6478 productionStatus: "In Development", 6479 distributionRights: "Worldwide", 6480 releaseGroup: "development", 6481 synopsis: "Two women from opposite sides of the law forge an unlikely alliance to wage war against corrupt cops, powerful crime syndicates and a deadly criminal underworld.", 6482 posterImage: "https://www.dropbox.com/scl/fi/dt2ek2ro6d5lip1pok5kn/dose_kv.jpg?rlkey=z020abw1xtpmn8ywwut2s61ms&st=kg148oka&raw=1", 6483 landscapeImage: "https://www.dropbox.com/scl/fi/f9ydtfa6ov4n433gznpad/dose_landscape.jpg?rlkey=xi0bv2arokzye58jxzb71dk7c&st=qmx3pnj0&raw=1", 6484 director: "TBC", 6485 starring: "TBC" 6486 }, 6487 { 6488 id: "cs3", 6489 title: "Dead Batt", 6490 genre: "Creature, Horror", 6491 releaseWindow: "TBC", 6492 duration: "TBC", 6493 productionStatus: "In Development", 6494 distributionRights: "Asia Pacific", 6495 releaseGroup: "development", 6496 synopsis: "When a superstorm traps a group of Gen Z strangers inside a deserted mall, they must fight zombie-like creatures in a blackout where the only lightâand hopeâcomes from their dying phones.", 6497 posterImage: "https://www.dropbox.com/scl/fi/bt6vc491ps2uoo9q711xa/deadbatt_final.jpg?rlkey=6lzy4ryrbqi15arearc82uuuy&st=qrb468s1&raw=1", 6498 landscapeImage: "https://www.dropbox.com/scl/fi/4sfm90z5q5f89odxsra1a/deadbatt_landscape.jpg?rlkey=3vf974ob35is88yslhn6n64hw&st=m73lfbpy&raw=1", 6499 director: "TBC", 6500 starring: "TBC" 6501 }, 6502 { 6503 id: "cs4", 6504 title: "Shooting Star", 6505 genre: "Music, Romance", 6506 releaseWindow: "TBC", 6507 duration: "TBC", 6508 productionStatus: "In Development", 6509 distributionRights: "Worldwide", 6510 releaseGroup: "development", 6511 synopsis: "A hopeful singer's life changes when a disgraced Korean music producer takes her under his wing, but their growing romance is tested by the price of success.", 6512 posterImage: "https://www.dropbox.com/scl/fi/5whji7w6wnalzsbhl6qhl/shootingstar.jpg?rlkey=gu9iijz8sgrx3xt26wbnydplp&st=dlq9bdcy&raw=1", 6513 landscapeImage: "https://www.dropbox.com/scl/fi/nvwndj2xs5q4whhatjykx/shootingstar_landscape.jpg?rlkey=76ctpwnw6jqn90vkior1bnnlx&st=72jezo3b&raw=1", 6514 director: "TBC", 6515 starring: "TBC" 6516 }, 6517 { 6518 id: "cs5", 6519 title: "Child of the Flowerpot", 6520 genre: "Horror", 6521 releaseWindow: "TBC", 6522 duration: "TBC", 6523 productionStatus: "In Development", 6524 distributionRights: "Worldwide", 6525 releaseGroup: "development", 6526 synopsis: "In a dilapidated apartment, a pregnant woman becomes increasingly unsettled by her mysterious neighbour, whose obsession with motherhood hides a disturbing secret. As their lives collide, a desperate act of maternal love blurs the line between grief, madness and rebirth.", 6527 posterImage: "https://www.dropbox.com/scl/fi/arjixb7gwfebbdaaz6t28/childinapot.jpg?rlkey=qfdb0bad0px3fovp3ibd1s4jx&st=al7lylqj&raw=1", 6528 landscapeImage: "https://www.dropbox.com/scl/fi/3hgt79w9w4req6j1weu29/childinapot_landscape.jpg?rlkey=31o66vddfjsmguyyoqph98s67&st=t8cf3xc2&raw=1", 6529 director: "Hyun Hae-Ri", 6530 starring: "Hitomi Kuroki" 6531 }, 6532 { 6533 id: "cs6", 6534 title: "The Wrong Visitor", 6535 genre: "Fantasy", 6536 releaseWindow: "TBC", 6537 duration: "TBC", 6538 productionStatus: "In Development", 6539 distributionRights: "Worldwide", 6540 releaseGroup: "development", 6541 synopsis: 'In a mysterious white space, an exhausted "Wolf" records beasts disappearing through a red door. When a human-bodied sheep arrives, he begins to question what or who it really is.', 6542 posterImage: "https://www.dropbox.com/scl/fi/nuh3vsjmc8jya79dc5w5s/wrongvisitor.jpg?rlkey=i2o2yfa9l9gum5a2nk6uq995w&st=hxo1wdzl&raw=1", 6543 landscapeImage: "https://www.dropbox.com/scl/fi/fbznylp2zovfk9vf2b616/wrongvisitor_landscape.jpg?rlkey=ctkmqeus2skrsmtrtrn63062o&st=xwyi09ee&raw=1", 6544 director: "Harry Hyun", 6545 starring: "TBC" 6546 }, 6547 { 6548 id: "cs7", 6549 title: "The Weird Things in Between", 6550 genre: "Drama", 6551 releaseWindow: "Q2 2027", 6552 duration: "TBC", 6553 productionStatus: "In Development", 6554 distributionRights: "Worldwide", 6555 releaseGroup: "development", 6556 synopsis: "Ten modern fables unfold through strange encounters with doppelgängers, demons, time rifts and otherworldly creaturesâultimately converging in the cyclical digital hell known as âB142857.â", 6557 posterImage: "https://www.dropbox.com/scl/fi/4nxruobi54rmptbgkjml6/WTIB_KV.jpg?rlkey=5tbyrgw9cr7mm3plps335xgi2&st=gc3elsza&raw=1", 6558 landscapeImage: "https://www.dropbox.com/scl/fi/1s1p454tgdpk25saqukf1/weirdthingsinbetw_land.jpg?rlkey=9csesuql7jb72csqzg5s2ec7i&st=36ni6yr6&raw=1", 6559 director: "TBC", 6560 starring: "TBC" 6561 }, 6562 { 6563 id: "cs8", 6564 title: "Memory Island", 6565 genre: "Thriller", 6566 releaseWindow: "TBC", 6567 duration: "TBC", 6568 productionStatus: "In Development", 6569 distributionRights: "Worldwide", 6570 releaseGroup: "development", 6571 synopsis: "When a murder exposes a web of repressed memories and buried trauma, a group of victims confronts the devastating truth behind false memories and the serial killer hiding behind the fractured identity of âLucy.â", 6572 posterImage: "https://www.dropbox.com/scl/fi/vmqkolzbddct70596zygz/memoryisland_KV.jpg?rlkey=lvkv6gv8nc347mg5lhobmc0as&st=u28v7kop&raw=1", 6573 landscapeImage: "https://www.dropbox.com/scl/fi/4jexaqpqfrzck58qdrt3e/memoryisland.jpg?rlkey=mqrtvntfik6e7cfswv37td6nb&st=oje8pjvr&raw=1", 6574 director: "TBC", 6575 starring: "TBC" 6576 }, 6577 { 6578 id: "cs9", 6579 title: "Ordinary Working Day", 6580 genre: "Drama", 6581 releaseWindow: "TBC", 6582 duration: "TBC", 6583 productionStatus: "In Development", 6584 distributionRights: "Worldwide", 6585 releaseGroup: "development", 6586 synopsis: "Over 10 real-time hours, a deadly chain of events plunges the city into chaos as unseen forces manipulate lives from the shadows. With time running out, a web of conspiracies, surveillance and hidden agendas threatens to push everything beyond control.", 6587 posterImage: "https://www.dropbox.com/scl/fi/m94ohrob78emkfrmqbeff/OWD_KV.jpg?rlkey=2o2aweooglhqlrroz27091fwl&st=jkuo0507&raw=1", 6588 landscapeImage: "https://www.dropbox.com/scl/fi/4jexaqpqfrzck58qdrt3e/memoryisland.jpg?rlkey=mqrtvntfik6e7cfswv37td6nb&st=oje8pjvr&raw=1", 6589 director: "TBC", 6590 starring: "TBC" 6591 }, 6592 { 6593 id: "cs10", 6594 title: "Legends of Luna Trilogy", 6595 genre: "Drama", 6596 releaseWindow: "TBC", 6597 duration: "TBC", 6598 productionStatus: "In Development", 6599 distributionRights: "Worldwide", 6600 releaseGroup: "development", 6601 synopsis: "A secret Apollo mission uncovers an alien civilisation on the far side of the Moon, revealing the truth behind ancient Chinese mythology. 4,500 years later, a mysterious force within human DNA threatens to reignite an extraterrestrial war.", 6602 posterImage: "https://www.dropbox.com/scl/fi/fzw72a5zi1b1igvd90k6m/legendKV.jpg?rlkey=socp5bq06teomeavq5q44q0cc&st=zhywt1p5&raw=1", 6603 landscapeImage: "https://www.dropbox.com/scl/fi/hm4fibstvoisdewohjo07/legends_landscape.jpg?rlkey=kofxdzab4808en5d49ycicqjd&st=5cy886xo&raw=1", 6604 director: "TBC", 6605 starring: "TBC" 6606 } 6607], ss = { 6608 scripted: "Scripted", 6609 unscripted: "Unscripted", 6610 format: "Format", 6611 sports: "Sports", 6612 "coming-soon": "Coming Soon" 6613}; 6614function ds({ show: e, isComingSoon: t }) { 6615 return /* @__PURE__ */ x( 6616 i, 6617 { 6618 _fgT: "div", 6619 _fgS: "d3bl333", 6620 _fgB: 1790736563691, 6621 _fgD: !0, 6622 className: "h-full overflow-y-auto", 6623 style: { animation: "fadeSlideIn 0.3s ease-out" },
6624 "data-fg-d3bl333": ":0:/src/app/App.tsx:1458:5:76877:5386:e:div:xtetxtetxtetxtetxte:1", 6625 children: [ 6626 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl335", _fgB: 1790736563691, className: "relative aspect-video bg-black mb-6 overflow-hidden", "data-fg-d3bl335": ":0:/src/app/App.tsx:1463:1:77013:1227:e:div:x", children: e.trailerUrl ? /* @__PURE__ */ d( 6627 i, 6628 { 6629 _fgT: "video", 6630 _fgS: "d3bl337", 6631 _fgB: 1790736563691, 6632 controls: !0, 6633 className: "absolute inset-0 w-full h-full object-cover", 6634 "data-fg-d3bl337": ":0:/src/app/App.tsx:1465:5:77110:186:e:video:e", 6635 children: /* @__PURE__ */ d(i, { _fgT: "source", _fgS: "d3bl338", _fgB: 1790736563691, src: e.trailerUrl, type: "video/mp4", "data-fg-d3bl338": ":0:/src/app/App.tsx:1470:7:77234:49:e:source" }) 6636 }, 6637 e.trailerUrl 6638 ) : e.landscapeImage ? /* @__PURE__ */ d( 6639 i, 6640 { 6641 _fgT: "img", 6642 _fgS: "d3bl339", 6643 _fgB: 1790736563691, 6644 src: e.landscapeImage, 6645 alt: e.title, 6646 className: "absolute inset-0 w-full h-full object-cover", 6647 "data-fg-d3bl339": ":0:/src/app/App.tsx:1473:5:77331:128:e:img" 6648 } 6649 ) : /* @__PURE__ */ x(Dn, { children: [
6650 /* @__PURE__ */ d( 6651 i, 6652 { 6653 _fgT: "div", 6654 _fgS: "d3bl341", 6655 _fgB: 1790736563691, 6656 style: { backgroundImage: "repeating-linear-gradient(45deg,#c8c8c8 0,#c8c8c8 1px,transparent 0,transparent 50%)", backgroundSize: "12px 12px", backgroundColor: "#d8d8d8" }, 6657 className: "absolute inset-0", 6658 "data-fg-d3bl341": ":0:/src/app/App.tsx:1480:7:77481:231:e:div" 6659 } 6660 ), 6661 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl342", _fgB: 1790736563691, className: "absolute inset-0 flex items-center justify-center", "data-fg-d3bl342": ":0:/src/app/App.tsx:1484:7:77719:363:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl343", _fgB: 1790736563691, className: "w-14 h-14 rounded-full border-2 border-gray-500 bg-white/80 flex items-center justify-center", "data-fg-d3bl343": ":0:/src/app/App.tsx:1485:9:77795:274:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl344", _fgB: 1790736563691, className: "w-0 h-0 border-t-[8px] border-t-transparent border-b-[8px] border-b-transparent border-l-[14px] border-l-gray-700 ml-1", "data-fg-d3bl344": ":0:/src/app/App.tsx:1486:11:77916:138:e:div" }) }) }),
6662 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl345", _fgB: 1790736563691, className: "absolute top-3 left-3 font-Helvetica Neue text-[8px] text-gray-500 bg-white/80 px-2 py-1", "data-fg-d3bl345": ":0:/src/app/App.tsx:1489:7:78089:131:e:div:t", children: "TRAILER PLACEHOLDER" }) 6663 ] }) }), 6664 /* @__PURE__ */ d(i, { _fgT: "h2", _fgS: "d3bl348", _fgB: 1790736563691, className: "font-Helvetica Neue text-2xl font-semibold text-gray-900 mb-1 leading-tight font-[Helvetica_Neue]", "data-fg-d3bl348": ":0:/src/app/App.tsx:1495:7:78268:131:e:h2:x", children: e.title }), 6665 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl351", _fgB: 1790736563691, className: "grid grid-cols-2 gap-x-8 gap-y-3 mb-6 pb-6 border-b border-dashed border-gray-200", "data-fg-d3bl351": ":0:/src/app/App.tsx:1498:1:78429:2475:e:div:etetetetxtxtxtxtx", children: [ 6666 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl352", _fgB: 1790736563691, "data-fg-d3bl352": ":0:/src/app/App.tsx:1499:3:78531:229:e:div:ete", children: [
6667 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl353", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl353": ":0:/src/app/App.tsx:1500:5:78541:117:e:span:t", children: "Genre" }), 6668 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl355", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl355": ":0:/src/app/App.tsx:1501:5:78663:88:e:span:x", children: e.genre ?? "â" }) 6669 ] }), 6670 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl357", _fgB: 1790736563691, "data-fg-d3bl357": ":0:/src/app/App.tsx:1503:3:78763:227:e:div:ete", children: [ 6671 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl358", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl358": ":0:/src/app/App.tsx:1504:5:78773:116:e:span:t", children: "Year" }), 6672 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl360", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl360": ":0:/src/app/App.tsx:1505:5:78894:87:e:span:x", children: e.year ?? "â" }) 6673 ] }),
6674 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl362", _fgB: 1790736563691, "data-fg-d3bl362": ":0:/src/app/App.tsx:1507:3:78993:238:e:div:ete", children: [ 6675 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl363", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl363": ":0:/src/app/App.tsx:1508:5:79003:123:e:span:t", children: "Directed By" }), 6676 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl365", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl365": ":0:/src/app/App.tsx:1509:5:79131:91:e:span:x", children: e.director ?? "â" }) 6677 ] }), 6678 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl367", _fgB: 1790736563691, "data-fg-d3bl367": ":0:/src/app/App.tsx:1511:3:79234:235:e:div:ete", children: [ 6679 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl368", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl368": ":0:/src/app/App.tsx:1512:5:79244:120:e:span:t", children: "Starring" }),
6680 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl370", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl370": ":0:/src/app/App.tsx:1513:5:79369:91:e:span:x", children: e.starring ?? "â" }) 6681 ] }), 6682 e.duration && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl373", _fgB: 1790736563691, "data-fg-d3bl373": ":0:/src/app/App.tsx:1516:5:79496:234:e:div:ete", children: [ 6683 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl374", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl374": ":0:/src/app/App.tsx:1517:7:79508:120:e:span:t", children: "Duration" }), 6684 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl376", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl376": ":0:/src/app/App.tsx:1518:7:79635:84:e:span:x", children: e.duration }) 6685 ] }), 6686 e.recognition && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl379", _fgB: 1790736563691, "data-fg-d3bl379": ":0:/src/app/App.tsx:1522:5:79765:240:e:div:ete", children: [
6687 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl380", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl380": ":0:/src/app/App.tsx:1523:7:79777:123:e:span:t", children: "Recognition" }), 6688 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl382", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl382": ":0:/src/app/App.tsx:1524:7:79907:87:e:span:x", children: e.recognition }) 6689 ] }), 6690 e.territoriesAvailable && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl385", _fgB: 1790736563691, className: "col-span-2", "data-fg-d3bl385": ":0:/src/app/App.tsx:1528:5:80049:282:e:div:ete", children: [ 6691 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl386", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl386": ":0:/src/app/App.tsx:1529:7:80084:133:e:span:t", children: "Territories Available" }),
6692 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl388", _fgB: 1790736563691, className: "text-sm text-gray-700 font-[Helvetica_Neue]", "data-fg-d3bl388": ":0:/src/app/App.tsx:1530:7:80224:96:e:span:x", children: e.territoriesAvailable }) 6693 ] }), 6694 t && e.releaseWindow && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl391", _fgB: 1790736563691, "data-fg-d3bl391": ":0:/src/app/App.tsx:1534:5:80384:223:e:div:ete", children: [ 6695 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl392", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl392": ":0:/src/app/App.tsx:1535:7:80396:126:e:span:t", children: "Release Window" }), 6696 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl394", _fgB: 1790736563691, className: "text-sm text-gray-700", "data-fg-d3bl394": ":0:/src/app/App.tsx:1536:7:80529:67:e:span:x", children: e.releaseWindow }) 6697 ] }), 6698 t && e.productionStatus && /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl397", _fgB: 1790736563691, "data-fg-d3bl397": ":0:/src/app/App.tsx:1540:5:80663:229:e:div:ete", children: [
6699 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl398", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-0.5", "data-fg-d3bl398": ":0:/src/app/App.tsx:1541:7:80675:129:e:span:t", children: "Production Status" }), 6700 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl400", _fgB: 1790736563691, className: "text-sm text-gray-700", "data-fg-d3bl400": ":0:/src/app/App.tsx:1542:7:80811:70:e:span:x", children: e.productionStatus }) 6701 ] }) 6702 ] }), 6703 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl403", _fgB: 1790736563691, "data-fg-d3bl403": ":0:/src/app/App.tsx:1548:7:80935:295:e:div:ete", children: [ 6704 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl404", _fgB: 1790736563691, className: "text-[8px] tracking-[0.2em] text-gray-400 uppercase block mb-3 font-[Helvetica_Neue]", "data-fg-d3bl404": ":0:/src/app/App.tsx:1549:9:80949:118:e:span:t", children: "Synopsis" }), 6705 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl406", _fgB: 1790736563691, className: "p-0", "data-fg-d3bl406": ":0:/src/app/App.tsx:1550:9:81076:141:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl407", _fgB: 1790736563691, className: "text-sm text-gray-700 leading-relaxed font-[Helvetica_Neue]", "data-fg-d3bl407": ":0:/src/app/App.tsx:1551:11:81108:94:e:p:x", children: e.synopsis }) }) 6706 ] }),
6707 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl410", _fgB: 1790736563691, className: "mt-6 flex gap-3", "data-fg-d3bl410": ":0:/src/app/App.tsx:1556:7:81256:996:e:div:ete", children: [ 6708 /* @__PURE__ */ d( 6709 i, 6710 { 6711 _fgT: "button", 6712 _fgS: "d3bl411", 6713 _fgB: 1790736563691, 6714 onClick: () => { 6715 window.gtag?.("event", "screener_request", { show_title: e.title, show_category: e.tag }), window.open("https://mail.google.com/mail/?view=cm&[email protected]&su=Screener%20Request&body=Hi%20KCGM%20Distribution%2C%0A%0AI%20would%20like%20to%20request%20a%20screener%20for%20" + encodeURIComponent(e.title) + ".%0A%0AThank%20you.", "_blank"); 6716 }, 6717 className: "font-Helvetica Neue text-[9px] tracking-[0.18em] uppercase px-5 py-2.5 bg-gray-900 text-white hover:bg-gray-700 transition-colors cursor-pointer", 6718 "data-fg-d3bl411": ":0:/src/app/App.tsx:1557:9:81298:609:e:button:t", 6719 children: "Request Screener" 6720 } 6721 ),
6722 /* @__PURE__ */ d( 6723 i, 6724 { 6725 _fgT: "button", 6726 _fgS: "d3bl413", 6727 _fgB: 1790736563691, 6728 onClick: () => window.open(e.vimeoUrl ?? "http://kcgmdistribution.com/auth/login", "_blank"), 6729 className: "font-Helvetica Neue text-[9px] tracking-[0.18em] uppercase px-5 py-2.5 border border-gray-400 text-gray-600 hover:border-gray-800 hover:text-gray-900 transition-colors cursor-pointer", 6730 "data-fg-d3bl413": ":0:/src/app/App.tsx:1566:1:81908:331:e:button:t", 6731 children: "Watch Episode" 6732 } 6733 ) 6734 ] }) 6735 ] 6736 } 6737 ); 6738} 6739function cs({ selectedShow: e, onSelect: t }) { 6740 const [r, a] = H(!1), [n, o] = H(!1); 6741 return /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl415", _fgB: 1790736563691, _fgD: !0, className: "flex flex-col gap-0", "data-fg-d3bl415": ":0:/src/app/App.tsx:1584:5:82602:2553:e:div:xtetxte:1", children: [ 6742 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl417", _fgB: 1790736563691, className: "border-b border-gray-200", "data-fg-d3bl417": ":0:/src/app/App.tsx:1586:7:82674:1220:e:div:ete", children: [
6743 /* @__PURE__ */ x( 6744 i, 6745 { 6746 _fgT: "button", 6747 _fgS: "d3bl418", 6748 _fgB: 1790736563691, 6749 onClick: () => a((l) => !l), 6750 className: "w-full flex items-center justify-between px-6 py-4 hover:bg-gray-50 transition-colors cursor-pointer", 6751 "data-fg-d3bl418": ":0:/src/app/App.tsx:1587:9:82725:463:e:button:ete", 6752 children: [ 6753 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl419", _fgB: 1790736563691, className: "text-[10px] tracking-[0.22em] text-gray-700 uppercase", style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, "data-fg-d3bl419": ":0:/src/app/App.tsx:1591:1:82914:142:e:span:t", children: "Films" }), 6754 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl421", _fgB: 1790736563691, className: "font-Helvetica Neue text-lg text-gray-500 leading-none", "data-fg-d3bl421": ":0:/src/app/App.tsx:1592:11:83067:103:e:span:x", children: r ? "â" : "+" }) 6755 ] 6756 } 6757 ), 6758 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl423", _fgB: 1790736563691, className: `overflow-hidden transition-all duration-300 ease-in-out ${r ? "max-h-96" : "max-h-0"}`, "data-fg-d3bl423": ":0:/src/app/App.tsx:1594:9:83197:684:e:div:x", children: wt.sort((l, s) => l.title.localeCompare(s.title)).map((l) => /* @__PURE__ */ d( 6759 i, 6760 { 6761 _fgT: "button", 6762 _fgS: "d3bl425", 6763 _fgB: 1790736563691, 6764 onClick: () => t(l), 6765 className: `w-full text-left px-6 py-2.5 text-sm transition-colors cursor-pointer border-l-2 ${e?.id === l.id ? "border-gray-900 bg-gray-50 text-gray-900 font-normal" : "border-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"} font-[Angelle] font-normal`, 6766 "data-fg-d3bl425": ":0:/src/app/App.tsx:1596:13:83410:442:e:button:x", 6767 children: l.title 6768 }, 6769 l.id 6770 )) }) 6771 ] }), 6772 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl428", _fgB: 1790736563691, className: "border-b border-gray-200", "data-fg-d3bl428": ":0:/src/app/App.tsx:1608:7:83931:1213:e:div:ete", children: [
6773 /* @__PURE__ */ x( 6774 i, 6775 { 6776 _fgT: "button", 6777 _fgS: "d3bl429", 6778 _fgB: 1790736563691, 6779 onClick: () => o((l) => !l), 6780 className: "w-full flex items-center justify-between px-6 py-4 hover:bg-gray-50 transition-colors cursor-pointer", 6781 "data-fg-d3bl429": ":0:/src/app/App.tsx:1609:9:83982:466:e:button:ete", 6782 children: [ 6783 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl430", _fgB: 1790736563691, className: "text-[10px] tracking-[0.22em] text-gray-700 uppercase", style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, "data-fg-d3bl430": ":0:/src/app/App.tsx:1613:1:84172:143:e:span:t", children: "Series" }), 6784 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl432", _fgB: 1790736563691, className: "font-Helvetica Neue text-lg text-gray-500 leading-none", "data-fg-d3bl432": ":0:/src/app/App.tsx:1614:11:84326:104:e:span:x", children: n ? "â" : "+" }) 6785 ] 6786 } 6787 ), 6788 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl434", _fgB: 1790736563691, className: `overflow-hidden transition-all duration-300 ease-in-out ${n ? "max-h-96" : "max-h-0"}`, "data-fg-d3bl434": ":0:/src/app/App.tsx:1616:9:84457:674:e:div:x", children: St.sort((l, s) => l.title.localeCompare(s.title)).map((l) => /* @__PURE__ */ d( 6789 i, 6790 { 6791 _fgT: "button", 6792 _fgS: "d3bl436", 6793 _fgB: 1790736563691, 6794 onClick: () => t(l), 6795 className: `w-full text-left px-6 py-2.5 text-sm transition-colors cursor-pointer border-l-2 ${e?.id === l.id ? "border-gray-900 bg-gray-50 text-gray-900" : "border-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"} font-[Angelle] font-normal`, 6796 "data-fg-d3bl436": ":0:/src/app/App.tsx:1618:13:84672:430:e:button:x", 6797 children: l.title 6798 }, 6799 l.id 6800 )) }) 6801 ] }) 6802 ] }); 6803} 6804function fs({ shows: e, selectedShow: t, onSelect: r }) { 6805 return /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl438", _fgB: 1790736563691, _fgD: !0, className: "flex flex-col gap-0", "data-fg-d3bl438": ":0:/src/app/App.tsx:1636:5:85410:536:e:div:e:1", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl439", _fgB: 1790736563691, className: "flex flex-col", "data-fg-d3bl439": ":0:/src/app/App.tsx:1637:7:85454:481:e:div:x", children: e.map((a) => /* @__PURE__ */ d( 6806 i, 6807 { 6808 _fgT: "button", 6809 _fgS: "d3bl441", 6810 _fgB: 1790736563691, 6811 onClick: () => r(a), 6812 className: `w-full text-left px-6 py-3 text-sm transition-colors cursor-pointer border-b border-gray-200 border-l-2 ${t?.id === a.id ? "border-l-gray-900 bg-gray-50 text-gray-900" : "border-l-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"} font-[Angelle] font-normal`, 6813 "data-fg-d3bl441": ":0:/src/app/App.tsx:1639:11:85525:385:e:button:x", 6814 children: a.title 6815 }, 6816 a.id 6817 )) }) }); 6818} 6819function ps({ selectedShow: e, onSelect: t }) { 6820 const [r, a] = H(!0), [n, o] = H(!0); 6821 return /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl443", _fgB: 1790736563691, _fgD: !0, className: "flex flex-col gap-0", "data-fg-d3bl443": ":0:/src/app/App.tsx:1664:5:86660:1629:e:div:x:1", children: [ 6822 { key: "post-production", label: "In Post Production", open: r, setOpen: a }, 6823 { key: "development", label: "In Development", open: n, setOpen: o } 6824 ].map((s) => { 6825 const c = tr.filter((f) => f.releaseGroup === s.key); 6826 return /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl445", _fgB: 1790736563691, className: "border-b border-gray-200", "data-fg-d3bl445": ":0:/src/app/App.tsx:1668:11:86842:1408:e:div:ete", children: [
6827 /* @__PURE__ */ x( 6828 i, 6829 { 6830 _fgT: "button", 6831 _fgS: "d3bl446", 6832 _fgB: 1790736563691, 6833 onClick: () => s.setOpen(!s.open), 6834 className: "w-full flex items-center justify-between px-6 py-4 hover:bg-gray-50 transition-colors cursor-pointer", 6835 "data-fg-d3bl446": ":0:/src/app/App.tsx:1669:13:86913:497:e:button:ete", 6836 children: [ 6837 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl447", _fgB: 1790736563691, className: "text-[10px] tracking-[0.22em] text-gray-700 uppercase", style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, "data-fg-d3bl447": ":0:/src/app/App.tsx:1673:1:87119:150:e:span:x", children: s.label }), 6838 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl449", _fgB: 1790736563691, className: "font-Helvetica Neue text-lg text-gray-500 leading-none", "data-fg-d3bl449": ":0:/src/app/App.tsx:1674:15:87284:104:e:span:x", children: s.open ? "â" : "+" }) 6839 ] 6840 } 6841 ), 6842 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl451", _fgB: 1790736563691, className: `overflow-hidden transition-all duration-300 ease-in-out ${s.open ? "max-h-[2000px]" : "max-h-0"}`, "data-fg-d3bl451": ":0:/src/app/App.tsx:1676:13:87423:810:e:div:x", children: c.map((f) => /* @__PURE__ */ x( 6843 i, 6844 { 6845 _fgT: "button", 6846 _fgS: "d3bl453", 6847 _fgB: 1790736563691, 6848 onClick: () => t(f), 6849 className: `w-full text-left px-6 py-2.5 text-sm transition-colors cursor-pointer border-l-2 ${e?.id === f.id ? "border-gray-900 bg-gray-50 text-gray-900" : "border-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"}`, 6850 "data-fg-d3bl453": ":0:/src/app/App.tsx:1678:17:87600:596:e:button:ete", 6851 children: [
6852 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl454", _fgB: 1790736563691, className: "block font-[Angelle] font-normal", "data-fg-d3bl454": ":0:/src/app/App.tsx:1683:19:87989:70:e:span:x", children: f.title }), 6853 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl456", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[8px] text-gray-400", "data-fg-d3bl456": ":0:/src/app/App.tsx:1684:19:88078:92:e:span:x", children: f.releaseWindow }) 6854 ] 6855 }, 6856 f.id 6857 )) }) 6858 ] }, s.key); 6859 }) }); 6860} 6861function us({ selectedShow: e, onSelect: t }) { 6862 const [r, a] = H(!0), [n, o] = H(!0); 6863 return /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl458", _fgB: 1790736563691, _fgD: !0, className: "flex flex-col gap-0", "data-fg-d3bl458": ":0:/src/app/App.tsx:1708:5:88953:1726:e:div:x:1", children: [ 6864 { key: "lifestyle-docu", label: "Lifestyle / Documentary", open: r, setOpen: a }, 6865 { key: "kids", label: "Kids", open: n, setOpen: o } 6866 ].map((s) => { 6867 const c = Tt.filter((f) => f.unscriptedGroup === s.key); 6868 return /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl460", _fgB: 1790736563691, className: "border-b border-dashed border-gray-200", "data-fg-d3bl460": ":0:/src/app/App.tsx:1712:11:89137:1503:e:div:ete", children: [
6869 /* @__PURE__ */ x( 6870 i, 6871 { 6872 _fgT: "button", 6873 _fgS: "d3bl461", 6874 _fgB: 1790736563691, 6875 onClick: () => s.setOpen(!s.open), 6876 className: "w-full flex items-center justify-between px-6 py-4 hover:bg-gray-50 transition-colors cursor-pointer", 6877 "data-fg-d3bl461": ":0:/src/app/App.tsx:1713:13:89222:497:e:button:ete", 6878 children: [ 6879 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl462", _fgB: 1790736563691, className: "text-[10px] tracking-[0.22em] text-gray-700 uppercase", style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, "data-fg-d3bl462": ":0:/src/app/App.tsx:1717:1:89428:150:e:span:x", children: s.label }), 6880 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl464", _fgB: 1790736563691, className: "font-Helvetica Neue text-lg text-gray-500 leading-none", "data-fg-d3bl464": ":0:/src/app/App.tsx:1718:15:89593:104:e:span:x", children: s.open ? "â" : "+" }) 6881 ] 6882 } 6883 ), 6884 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl466", _fgB: 1790736563691, className: `overflow-hidden transition-all duration-300 ease-in-out ${s.open ? "max-h-96" : "max-h-0"}`, "data-fg-d3bl466": ":0:/src/app/App.tsx:1720:13:89732:891:e:div:x", children: c.length > 0 ? c.map((f) => /* @__PURE__ */ d( 6885 i, 6886 { 6887 _fgT: "button", 6888 _fgS: "d3bl468", 6889 _fgB: 1790736563691, 6890 onClick: () => t(f), 6891 className: `w-full text-left px-6 py-2.5 text-sm transition-colors cursor-pointer border-l-2 ${e?.id === f.id ? "border-gray-900 bg-gray-50 text-gray-900" : "border-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"} font-[Angelle] font-normal`, 6892 "data-fg-d3bl468": ":0:/src/app/App.tsx:1723:19:89947:466:e:button:x", 6893 children: f.title 6894 }, 6895 f.id 6896 )) : /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl470", _fgB: 1790736563691, className: "px-6 py-2.5 text-[10px] text-gray-400 font-[Helvetica_Neue] tracking-[0.08em] uppercase", "data-fg-d3bl470": ":0:/src/app/App.tsx:1732:17:90469:118:e:p:t", children: "Coming soon" }) }) 6897 ] }, s.key); 6898 }) }); 6899} 6900function Ce() { 6901 const e = dt(), { showSlug: t } = Si(), { pathname: r }
6901 = ze(), a = r.split("/")[1], n = ns[a] ?? "scripted", [o, l] = H("latest"), s = n === "scripted" ? [...wt, ...St] : n === "unscripted" ? Tt : n === "format" ? Jt : n === "sports" ? Qt : tr, c = [...s].sort((g, h) => o === "az" ? g.title.localeCompare(h.title) : 0), f = t ? s.find((g) => Ye(g.title) === t) ?? null : null; 6902 return /* @__PURE__ */ x( 6903 i, 6904 { 6905 _fgT: "div", 6906 _fgS: "d3bl475", 6907 _fgB: 1790736563691, 6908 _fgD: !0, 6909 className: "font-sans overflow-x-hidden", 6910 style: { 6911 backgroundImage: `url(${er})`, 6912 backgroundSize: "cover", 6913 backgroundPosition: "center", 6914 backgroundAttachment: "fixed", 6915 color: "#111111" 6916 }, 6917 "data-fg-d3bl475": ":0:/src/app/App.tsx:1785:5:92161:6594:e:div:xtetxtetxtetete:1", 6918 children: [ 6919 /* @__PURE__ */ x(i, { _fgT: "nav", _fgS: "d3bl477", _fgB: 1790736563691, className: "fixed top-0 left-0 right-0 w-full z-40 bg-white border-b border-gray-200 px-4 md:px-8 py-3 flex items-center gap-3 md:gap-0 md:justify-between", "data-fg-d3bl477": ":0:/src/app/App.tsx:1796:7:92473:1168:e:nav:xtetxte", children: [
6920 /* @__PURE__ */ d( 6921 i, 6922 { 6923 _fgT: "button", 6924 _fgS: "d3bl479", 6925 _fgB: 1790736563691, 6926 onClick: () => e("/"), 6927 className: "shrink-0 text-[9px] tracking-[0.2em] text-gray-500 hover:text-gray-900 transition-colors cursor-pointer flex items-center gap-2 font-[Helvetica_Neue]", 6928 "data-fg-d3bl479": ":0:/src/app/App.tsx:1798:9:92670:264:e:button:t", 6929 children: "â HOME" 6930 } 6931 ), 6932 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl482", _fgB: 1790736563691, className: "flex items-center gap-1 overflow-x-auto scrollbar-hide", "data-fg-d3bl482": ":0:/src/app/App.tsx:1805:9:93023:605:e:div:x", children: ["scripted", "unscripted", "format", "sports", "coming-soon"].map((g) => /* @__PURE__ */ d( 6933 i, 6934 { 6935 _fgT: "button", 6936 _fgS: "d3bl484", 6937 _fgB: 1790736563691, 6938 onClick: () => e("/" + Je[g]), 6939 className: `shrink-0 text-[9px] tracking-[0.18em] uppercase px-3 py-1.5 transition-colors cursor-pointer ${n === g ? "bg-gray-900 text-white" : "text-gray-500 hover:text-gray-900"} font-[Helvetica_Neue]`, 6940 "data-fg-d3bl484": ":0:/src/app/App.tsx:1807:13:93201:398:e:button:x", 6941 children: g.replace("-", " ") 6942 }, 6943 g 6944 )) }) 6945 ] }),
6946 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl487", _fgB: 1790736563691, className: "px-6 md:px-8 pt-24 md:pt-8 pb-6 border-b border-gray-200 flex items-end justify-between", "data-fg-d3bl487": ":0:/src/app/App.tsx:1819:1:93675:487:e:div:e", children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl488", _fgB: 1790736563691, "data-fg-d3bl488": ":0:/src/app/App.tsx:1820:9:93789:360:e:div:ete", children: [ 6947 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl489", _fgB: 1790736563691, className: "hidden md:block text-[9px] tracking-[0.3em] text-transparent mb-2 font-[Angelle] font-normal", "data-fg-d3bl489": ":0:/src/app/App.tsx:1821:11:93805:127:e:p:t", children: "CONTENT LIBRARY" }), 6948 /* @__PURE__ */ d(i, { _fgT: "h1", _fgS: "d3bl491", _fgB: 1790736563691, className: "text-4xl md:text-5xl uppercase leading-none text-[#10367d]", style: { fontFamily: "Helvetica Neue", fontWeight: 300, WebkitFontSmoothing: "antialiased" }, "data-fg-d3bl491": ":0:/src/app/App.tsx:1822:1:93933:201:e:h1:x", children: ss[n] }) 6949 ] }) }),
6950 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl494", _fgB: 1790736563691, className: "flex flex-col md:flex-row min-h-[calc(100vh-160px)]", "data-fg-d3bl494": ":0:/src/app/App.tsx:1827:7:94221:4288:e:div:xtetxte", children: [ 6951 /* @__PURE__ */ d(i, { _fgT: "aside", _fgS: "d3bl496", _fgB: 1790736563691, className: "w-full md:w-72 shrink-0 border-b md:border-b-0 md:border-r border-gray-200 md:sticky md:top-[57px] md:self-start md:min-h-[calc(100vh-57px)] overflow-y-auto", "data-fg-d3bl496": ":0:/src/app/App.tsx:1829:9:94367:1019:e:aside:e", children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl497", _fgB: 1790736563691, className: "pt-4", "data-fg-d3bl497": ":0:/src/app/App.tsx:1830:11:94554:815:e:div:xtxtxtx", children: [ 6952 n === "scripted" && /* @__PURE__ */ d(i, { _fgT: cs, _fgS: "d3bl499", _fgB: 1790736563691, selectedShow: f, onSelect: (g) => e(`/scripted/${Ye(g.title)}`), "data-fg-d3bl499": ":0:/src/app/App.tsx:1832:15:94633:104:e:ScriptedSidebar::::::HRX" }), 6953 n === "unscripted" && /* @__PURE__ */ d(i, { _fgT: us, _fgS: "d3bl501", _fgB: 1790736563691, selectedShow: f, onSelect: (g) => e(`/unscripted/${Ye(g.title)}`), "data-fg-d3bl501": ":0:/src/app/App.tsx:1835:15:94811:108:e:UnscriptedSidebar::::::BgL2" }),
6954 (n === "format" || n === "sports") && /* @__PURE__ */ d(i, { _fgT: fs, _fgS: "d3bl503", _fgB: 1790736563691, shows: c, selectedShow: f, onSelect: (g) => e(`/${Je[n]}/${Ye(g.title)}`), "data-fg-d3bl503": ":0:/src/app/App.tsx:1838:15:95016:137:e:StandardSidebar::::::YmK" }), 6955 n === "coming-soon" && /* @__PURE__ */ d(i, { _fgT: ps, _fgS: "d3bl505", _fgB: 1790736563691, selectedShow: f, onSelect: (g) => e(`/coming-soon/${Ye(g.title)}`), "data-fg-d3bl505": ":0:/src/app/App.tsx:1841:15:95228:109:e:ComingSoonSidebar::::::EFLB" }) 6956 ] }) }), 6957 /* @__PURE__ */ d(i, { _fgT: "main", _fgS: "d3bl507", _fgB: 1790736563691, className: "flex-1 p-4 md:p-8 overflow-y-auto", "data-fg-d3bl507": ":0:/src/app/App.tsx:1847:9:95440:3056:e:main:x", children: f ? /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl509", _fgB: 1790736563691, style: { animation: "fadeSlideIn 0.25s ease-out" }, "data-fg-d3bl509": ":0:/src/app/App.tsx:1849:13:95533:539:e:div:ete", children: [ 6958 /* @__PURE__ */ d( 6959 i, 6960 { 6961 _fgT: "button", 6962 _fgS: "d3bl510", 6963 _fgB: 1790736563691, 6964 onClick: () => e("/" + Je[n]), 6965 className: "text-[9px] tracking-[0.18em] text-gray-400 hover:text-gray-900 transition-colors cursor-pointer mb-6 flex items-center gap-2 font-[Helvetica_Neue]", 6966 "data-fg-d3bl510": ":0:/src/app/App.tsx:1850:15:95627:330:e:button:t", 6967 children: "â BACK TO OVERVIEW" 6968 } 6969 ),
6970 /* @__PURE__ */ d(i, { _fgT: ds, _fgS: "d3bl512", _fgB: 1790736563691, show: f, isComingSoon: n === "coming-soon", "data-fg-d3bl512": ":0:/src/app/App.tsx:1856:15:95972:81:e:ShowDetailPanel::::::DXF7" }) 6971 ] }, f.id) : /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl513", _fgB: 1790736563691, "data-fg-d3bl513": ":0:/src/app/App.tsx:1859:13:96101:2366:e:div:etxte", children: [ 6972 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl514", _fgB: 1790736563691, className: "flex items-center justify-between mb-8", "data-fg-d3bl514": ":0:/src/app/App.tsx:1860:15:96132:1012:e:div:ete", children: [ 6973 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl515", _fgB: 1790736563691, className: "text-[9px] tracking-[0.2em] text-gray-400 uppercase font-[Helvetica_Neue]", "data-fg-d3bl515": ":0:/src/app/App.tsx:1861:17:96205:180:e:p:xtx", children: [ 6974 c.length, 6975 " Title", 6976 c.length !== 1 ? "s" : "" 6977 ] }), 6978 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl519", _fgB: 1790736563691, className: "relative", "data-fg-d3bl519": ":0:/src/app/App.tsx:1864:17:96402:721:e:div:ete", children: [
6979 /* @__PURE__ */ x( 6980 i, 6981 { 6982 _fgT: "select", 6983 _fgS: "d3bl520", 6984 _fgB: 1790736563691, 6985 value: o, 6986 onChange: (g) => l(g.target.value), 6987 className: "appearance-none font-[Helvetica_Neue] text-[9px] tracking-[0.15em] text-gray-600 border border-gray-300 px-4 py-2 pr-8 cursor-pointer bg-white hover:border-gray-600 transition-colors outline-none", 6988 "data-fg-d3bl520": ":0:/src/app/App.tsx:1865:19:96447:521:e:select:ete", 6989 children: [ 6990 /* @__PURE__ */ d(i, { _fgT: "option", _fgS: "d3bl521", _fgB: 1790736563691, value: "latest", "data-fg-d3bl521": ":0:/src/app/App.tsx:1870:21:96850:38:e:option:t", children: "LATEST" }), 6991 /* @__PURE__ */ d(i, { _fgT: "option", _fgS: "d3bl523", _fgB: 1790736563691, value: "az", "data-fg-d3bl523": ":0:/src/app/App.tsx:1871:21:96909:31:e:option:t", children: "AâZ" }) 6992 ] 6993 } 6994 ),
6995 /* @__PURE__ */ d(i, { _fgT: Pr, _fgS: "d3bl525", _fgB: 1790736563691, size: 12, className: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 pointer-events-none", "data-fg-d3bl525": ":0:node_modules/lucide-react:1873:19:96987:113:e:ChevronDown::::::Ddn3" }) 6996 ] }) 6997 ] }), 6998 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl527", _fgB: 1790736563691, className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-2", "data-fg-d3bl527": ":0:/src/app/App.tsx:1877:15:97191:1257:e:div:x", children: c.map((g) => /* @__PURE__ */ x( 6999 i, 7000 { 7001 _fgT: "button", 7002 _fgS: "d3bl529", 7003 _fgB: 1790736563691, 7004 onClick: () => e(`/${Je[n]}/${Ye(g.title)}`), 7005 className: "text-left cursor-pointer group", 7006 "data-fg-d3bl529": ":0:/src/app/App.tsx:1879:19:97317:1090:e:button:etete", 7007 children: [ 7008 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl530", _fgB: 1790736563691, className: "aspect-[2/3] bg-gray-200 overflow-hidden mb-2", "data-fg-d3bl530": ":0:/src/app/App.tsx:1884:21:97561:442:e:div:x", children: g.posterImage ? /* @__P
7008URE__ */ d(i, { _fgT: "img", _fgS: "d3bl532", _fgB: 1790736563691, src: g.posterImage, alt: g.title, className: "w-full h-full object-cover group-hover:scale-105 transition-transform duration-300", draggable: !1, "data-fg-d3bl532": ":0:/src/app/App.tsx:1886:25:97693:160:e:img" }) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl533", _fgB: 1790736563691, className: "w-full h-full bg-gray-300", "data-fg-d3bl533": ":0:/src/app/App.tsx:1888:25:97906:45:e:div" }) }), 7009 /* @__PURE__ */ d( 7010 i, 7011 { 7012 _fgT: "p", 7013 _fgS: "d3bl534", 7014 _fgB: 1790736563691, 7015 className: "text-gray-900 font-[Angelle] font-normal text-sm line-clamp-2", 7016 style: { lineHeight: "19px", height: "38px" }, 7017 "data-fg-d3bl534": ":0:/src/app/App.tsx:1891:21:98024:249:e:p:x", 7018 children: g.title 7019 } 7020 ), 7021 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl536", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[9px] text-gray-400 mt-0.5", "data-fg-d3bl536": ":0:/src/app/App.tsx:1897:21:98294:85:e:p:x", children: g.genre }) 7022 ] 7023 }, 7024 g.id 7025 )) }) 7026 ] }, "grid") }) 7027 ] }),
7028 /* @__PURE__ */ d("style", { "data-fg-d3bl538": ":0:/src/app/App.tsx:1906:6:98516:165:e:style:s", children: ` 7029 .scrollbar-hide::-webkit-scrollbar { display: none; } 7030 .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } 7031 ` }), 7032 /* @__PURE__ */ d(i, { _fgT: Ir, _fgS: "d3bl540", _fgB: 1790736563691, mobileOnly: n !== "scripted", "data-fg-d3bl540": ":0:/src/app/App.tsx:1910:7:98688:56:e:BackToTopButton::::::mck" }) 7033 ] 7034 } 7035 ); 7036} 7037const Sr = [ 7038 { 7039 id: "n1", 7040 cat: "DISTRIBUTION", 7041 date: "MAR 2026", 7042 dateSort: 20260301, 7043 title: "Filmart: KC Global Media Distribution Acquires Worldwide Rights to Culinary Travel Series 'Eat With Xiami'", 7044 excerpt: "KC Global Media Distribution has secured worldwide distribution rights to the popular culinary travel series at this year's Filmart.", 7045 url: "https://www.hollywoodreporter.com/tv/tv-news/filmart-kc-global-media-distribution-eat-with-xiami-1236534290", 7046 image: "https://www.dropbox.com/scl/fi/jv3i3vfi0nqmiu39tp2xw/EWX-Pic_7.png?rlkey=xgne0jn1hww5mgwmwpgyjsem9&st=d5roaga7&raw=1", 7047 focalX: 50, 7048 focalY: 50 7049 }, 7050 { 7051 id: "n2", 7052 cat: "CONTENT", 7053 date: "DEC 2025", 7054 dateSort: 20251201, 7055 title: "Actor Pierre Png wants to use his fame to tackle teen suicide, silent struggles, menopause", 7056 excerpt: "Pierre Png opens up about his motivations for taking on challenging social issues through his work in content and advocacy.", 7057 url: "https://www.straitstimes.com/life/entertainment/actor-pierre-png-wants-to-use-his-fame-to-tackle-teen-suicide-silent-struggles-menopause", 7058 image: "https://www.dropbox.com/scl/fi/vk8yrnuhx6atfk1txnpp8/7c655a877e7584686f0167a4537e60783c51fba5acb0d71f4e64a45bff9a74ed.webp?rlkey=x8j03pu47vyipsq2mxdbccnlo&st=azjlu5ef&raw=1", 7059 focalX: 85, 7060 focalY: 40 7061 }, 7062 { 7063 id: "n3", 7064 cat: "AWARDS", 7065 date: "APR 2026", 7066 dateSort: 20260401, 7067 title: "KC Global Media, Rein Entertainment Sign Five-Movie Slate Deal to Step Up Asian Content Production", 7068 excerpt: "The partnership marks a major milestone in accelerating premium Asian content for global audiences.", 7069 url: "https://www.hollywoodreporter.com/movies/movie-news/kc-global-media-rein-entertainment-1236434700", 7070 image: "https://www.dropbox.com/scl/fi/30p78f8qtrqrx2e1t66uq/drugwar_news.jpg?rlkey=q35pbioyztmrcn9qzq3hwudzk&st=sodp8tre&raw=1", 7071 focalX: 70, 7072 focalY: 70 7073 }, 7074 { 7075 id: "n4", 7076 cat: "DISTRIBUTION", 7077 date: "FEB 2026", 7078 dateSort: 20260201, 7079 title: "Crime Drama âDoseâ To Kick-Start Pact Between KC Global Media & Rein Entertainment", 7080 excerpt: "New distribution agreements bring premium Asian content to more streaming platforms across the region.", 7081 url: "https://deadline.com/2025/11/dose-crime-drama-kc-global-media-rein-entertainment-1236627137", 7082 image: "https://www.dropbox.com/scl/fi/14jhqsvyivfevicw6fa9t/KC-Global-Media-and-Rein-Entertainment-executives.webp?rlkey=8312xr2d3p2hivxva0mh1mkoy&st=kf9fhj2b&raw=1", 7083 focalX: 70, 7084 focalY: 50 7085 }, 7086 { 7087 id: "n5", 7088 cat: "DISTRIBUTION", 7089 date: "APR 2026", 7090 dateSort: 20260201, 7091 title: "Netflix Picks Up Taiwanese Male Escort Dramedy âA Controversial Entertainerâ (Exclusive)", 7092 excerpt: "New distribution agreements bring premium Asian content to more streaming platforms across the region.", 7093 url: "https://www.hollywoodreporter.com/tv/tv-news/netflix-taiwanese-dramedy-controversial-entertainer-1236580341", 7094 image: "https://www.dropbox.com/scl/fi/nmm0v9yzinax1jh9mmblq/ACE06.webp?rlkey=aze9hqahqol5dc3teep846rmw&st=3zbg77q0&raw=1", 7095 focalX: 70, 7096 focalY: 50 7097 }, 7098 { 7099 id: "n5", 7100 cat: "DISTRIBUTION", 7101 date: "SEP 2026", 7102 dateSort: 20260201, 7103 title: "âVIII: Awakeningâ Wraps Production in Beijing, Marking KC Global Media Asiaâs First China Original (Exclusive)", 7104 excerpt: "New distribution agreements bring premium Asian content to more streaming platforms across the region.", 7105 url: "https://variety.com/2026/tv/news/viii-awakening-wraps-production-kc-global-media-asia-1236848061", 7106 image: "https://www.dropbox.com/scl/fi/3f4sdty74ozrkev70bw0g/modernheroes1.png?rlkey=zja3ywkxga6w38v6mxl2naqqx&st=u9lpxp4h&raw=1", 7107 focalX: 35, 7108 focalY: 50 7109 } 7110], gs = ["ALL", "DISTRIBUTION", "CONTENT", "AWARDS", "PARTNERSHIP", "EVENTS"]; 7111function hs() {
7112 const e = dt(), [t, r] = H("ALL"), [a, n] = H("latest"), [o, l] = H(!0), s = Sr.filter((c) => t === "ALL" || c.cat === t).sort((c, f) => a === "latest" ? f.dateSort - c.dateSort : c.dateSort - f.dateSort); 7113 return /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl541", _fgB: 1790736563691, _fgD: !0, className: "min-h-screen font-sans", style: { backgroundImage: `url(${er})`, backgroundSize: "cover", backgroundPosition: "center", backgroundAttachment: "fixed", color: "#111111" }, "data-fg-d3bl541": ":0:/src/app/App.tsx:2021:5:103506:4723:e:div:xtetxtetxtetete:1", children: [ 7114 /* @__PURE__ */ d(i, { _fgT: "nav", _fgS: "d3bl543", _fgB: 1790736563691, className: "fixed top-0 left-0 right-0 w-full z-40 bg-white border-b border-gray-200 px-4 md:px-8 py-3 flex items-center", "data-fg-d3bl543": ":0:/src/app/App.tsx:2024:7:103733:403:e:nav:e", children: /* @__PURE__ */ d( 7115 i, 7116 { 7117 _fgT: "button", 7118 _fgS: "d3bl544", 7119 _fgB: 1790736563691, 7120 onClick: () => e("/"), 7121 className: "text-[9px] tracking-[0.2em] text-gray-500 hover:text-gray-900 transition-colors cursor-pointer flex items-center gap-2 font-[Helvetica_Neue]", 7122 "data-fg-d3bl544": ":0:/src/app/App.tsx:2025:9:103868:255:e:button:t", 7123 children: "â HOME" 7124 } 7125 ) }), 7126 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl547", _fgB: 1790736563691, className: "px-6 md:px-8 pt-20 pb-6 border-b border-gray-200 flex items-end justify-between", "data-fg-d3bl547": ":0:/src/app/App.tsx:2034:1:104164:333:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl548", _fgB: 1790736563691, "data-fg-d3bl548": ":0:/src/app/App.tsx:2035:3:104264:226:e:div:e", children: /* @__PURE__ */ d( 7127 i, 7128 { 7129 _fgT: "h1", 7130 _fgS: "d3bl549", 7131 _fgB: 1790736563691, 7132 className: "text-4xl md:text-5xl uppercase leading-none text-[#10367d]", 7133 style: { fontFamily: "Helvetica Neue", fontWeight: 400, WebkitFontSmoothing: "antialiased" }, 7134 "data-fg-d3bl549": ":0:/src/app/App.tsx:2036:5:104274:207:e:h1:t", 7135 children: "News" 7136 } 7137 ) }) }), 7138 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl552", _fgB: 1790736563691, className: "flex flex-col md:flex-row min-h-[calc(100vh-140px)]", "data-fg-d3bl552": ":0:/src/app/App.tsx:2046:7:104537:3462:e:div:xtetxte", children: [
7139 /* @__PURE__ */ d(i, { _fgT: "aside", _fgS: "d3bl554", _fgB: 1790736563691, className: "w-full md:w-72 shrink-0 border-b md:border-b-0 md:border-r border-gray-200 md:sticky md:top-[57px] md:self-start md:h-[calc(100vh-57px)] overflow-y-auto", "data-fg-d3bl554": ":0:/src/app/App.tsx:2048:9:104644:1646:e:aside:e", children: /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl555", _fgB: 1790736563691, className: "pt-4", "data-fg-d3bl555": ":0:/src/app/App.tsx:2049:11:104827:1446:e:div:xte", children: /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl557", _fgB: 1790736563691, className: "border-b border-dashed border-gray-200", "data-fg-d3bl557": ":0:/src/app/App.tsx:2052:13:104923:1332:e:div:ete", children: [ 7140 /* @__PURE__ */ x( 7141 i, 7142 { 7143 _fgT: "button", 7144 _fgS: "d3bl558", 7145 _fgB: 1790736563691, 7146 onClick: () => l((c) => !c), 7147 className: "w-full flex items-center justify-between px-6 py-4 hover:bg-gray-50 transition-colors cursor-pointer", 7148 "data-fg-d3bl558": ":0:/src/app/App.tsx:2053:15:104994:474:e:button:ete", 7149 children: [
7150 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl559", _fgB: 1790736563691, className: "text-[10px] tracking-[0.22em] text-gray-700 uppercase font-normal font-[Helvetica_Neue]", "data-fg-d3bl559": ":0:/src/app/App.tsx:2057:17:105220:121:e:span:t", children: "Category" }), 7151 /* @__PURE__ */ d(i, { _fgT: "span", _fgS: "d3bl561", _fgB: 1790736563691, className: "text-lg text-gray-500 leading-none", "data-fg-d3bl561": ":0:/src/app/App.tsx:2058:17:105358:86:e:span:x", children: o ? "â" : "+" }) 7152 ] 7153 } 7154 ), 7155 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl563", _fgB: 1790736563691, className: `overflow-hidden transition-all duration-300 ease-in-out ${o ? "max-h-96" : "max-h-0"}`, "data-fg-d3bl563": ":0:/src/app/App.tsx:2060:15:105483:753:e:div:x", children: gs.map((c) => /* @__PURE__ */ d( 7156 i, 7157 { 7158 _fgT: "button", 7159 _fgS: "d3bl565", 7160 _fgB: 1790736563691, 7161 onClick: () => r(c), 7162 className: `w-full text-left px-6 py-2.5 text-sm transition-colors cursor-pointer border-l-2 ${t === c ? "border-gray-900 bg-gray-50 text-gray-900" : "border-transparent text-gray-500 hover:text-gray-900 hover:bg-gray-50"} font-[Angelle] font-normal`, 7163 "data-fg-d3bl565": ":0:/src/app/App.tsx:2062:19:105664:531:e:button:x", 7164 children: c === "ALL" ? "All Articles" : c.charAt(0) + c.slice(1).toLowerCase() 7165 }, 7166 c 7167 )) }) 7168 ] }) }) }),
7169 /* @__PURE__ */ x(i, { _fgT: "main", _fgS: "d3bl568", _fgB: 1790736563691, className: "flex-1 p-4 md:p-8 overflow-y-auto", "data-fg-d3bl568": ":0:/src/app/App.tsx:2076:9:106329:1657:e:main:etxte", children: [ 7170 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl569", _fgB: 1790736563691, className: "flex items-center justify-between mb-8", "data-fg-d3bl569": ":0:/src/app/App.tsx:2077:11:106392:980:e:div:ete", children: [ 7171 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl570", _fgB: 1790736563691, className: "text-[9px] tracking-[0.2em] text-gray-400 uppercase font-[Helvetica_Neue]", "data-fg-d3bl570": ":0:/src/app/App.tsx:2078:13:106461:180:e:p:xtx", children: [ 7172 s.length, 7173 " Article", 7174 s.length !== 1 ? "s" : "" 7175 ] }), 7176 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl574", _fgB: 1790736563691, className: "relative", "data-fg-d3bl574": ":0:/src/app/App.tsx:2081:13:106654:701:e:div:ete", children: [ 7177 /* @__PURE__ */ x( 7178 i, 7179 { 7180 _fgT: "select", 7181 _fgS: "d3bl575", 7182 _fgB: 1790736563691, 7183 value: a, 7184 onChange: (c) => n(c.target.value), 7185 className: "appearance-none font-[Helvetica_Neue] text-[9px] tracking-[0.15em] text-gray-600 border border-gray-300 px-4 py-2 pr-8 cursor-pointer bg-white hover:border-gray-600 transition-colors outline-none", 7186 "data-fg-d3bl575": ":0:/src/app/App.tsx:2082:15:106695:513:e:select:ete", 7187 children: [
7188 /* @__PURE__ */ d(i, { _fgT: "option", _fgS: "d3bl576", _fgB: 1790736563691, value: "latest", "data-fg-d3bl576": ":0:/src/app/App.tsx:2087:17:107079:44:e:option:t", children: "LATEST FIRST" }), 7189 /* @__PURE__ */ d(i, { _fgT: "option", _fgS: "d3bl578", _fgB: 1790736563691, value: "oldest", "data-fg-d3bl578": ":0:/src/app/App.tsx:2088:17:107140:44:e:option:t", children: "OLDEST FIRST" }) 7190 ] 7191 } 7192 ), 7193 /* @__PURE__ */ d(i, { _fgT: Pr, _fgS: "d3bl580", _fgB: 1790736563691, size: 12, className: "absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 pointer-events-none", "data-fg-d3bl580": ":0:node_modules/lucide-react:2090:15:107223:113:e:ChevronDown::::::Ddn3" }) 7194 ] }) 7195 ] }), 7196 /* @__PURE__ */ x(i, { _fgT: "div", _fgS: "d3bl582", _fgB: 1790736563691, className: "grid grid-cols-2 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6", "data-fg-d3bl582": ":0:/src/app/App.tsx:2095:11:107443:527:e:div:xtx", children: [ 7197 s.map((c, f) => /* @__PURE__ */ d(i, { _fgT: ms, _fgS: "d3bl584", _fgB: 1790736563691, item: c, index: f, "data-fg-d3bl584": ":0:/src/app/App.tsx:2097:15:107578:55:e:NewsArticleCard::::::BkbA" }, c.id)), 7198 s.length === 0 && /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl586", _fgB: 1790736563691, className: "col-span-2 md:col-span-2 lg:col-span-3 py-20 text-center", "data-fg-d3bl586": ":0:/src/app/App.tsx:2100:15:107704:234:e:div:e", children: /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl587", _fgB: 1790736563691, className: "font-[Helvetica_Neue] text-[11px] tracking-[0.2em] text-gray-400 uppercase", "data-fg-d3bl587": ":0:/src/app/App.tsx:2101:17:107795:122:e:p:t", children: "No articles in this category" }) }) 7199 ] }) 7200 ] }) 7201 ] }), 7202 /* @__PURE__ */ d("style", { "data-fg-d3bl589": ":0:/src/app/App.tsx:2107:7:108006:186:e:style:s", children: ` 7203 @keyframes fadeSlideIn { 7204 from { opacity: 0; transform: translateY(12px); } 7205 to { opacity: 1; transform: translateY(0); } 7206 } 7207 ` }), 7208 /* @__PURE__ */ d(i, { _fgT: Ir, _fgS: "d3bl591", _fgB: 1790736563691, "data-fg-d3bl591": ":0:/src/app/App.tsx:2113:7:108199:19:e:BackToTopButton::::::mck" }) 7209 ] }); 7210} 7211function ms({ item: e, index: t }) { 7212 const [r, a] = H(!1); 7213 return /* @__PURE__ */ x( 7214 i, 7215 { 7216 _fgT: "div", 7217 _fgS: "d3bl592", 7218 _fgB: 1790736563691, 7219 _fgD: !0, 7220 className: "cursor-pointer", 7221 onMouseEnter: () => a(!0), 7222 onMouseLeave: () => a(!1), 7223 onClick: () => e.url && window.open(e.url, "_blank"), 7224 style: { animation: `fadeSlideIn 0.3s ease-out ${t * 60}ms both` }, 7225 "data-fg-d3bl592": ":0:/src/app/App.tsx:2122:5:108382:1328:e:div:xtetxtxtetetxte:1", 7226 children: [
7227 /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl594", _fgB: 1790736563691, className: "relative overflow-hidden aspect-[3/4] bg-gray-100 mb-3", "data-fg-d3bl594": ":0:/src/app/App.tsx:2130:7:108721:512:e:div:x", children: e.image ? /* @__PURE__ */ d( 7228 i, 7229 { 7230 _fgT: "img", 7231 _fgS: "d3bl596", 7232 _fgB: 1790736563691, 7233 src: e.image, 7234 alt: e.title, 7235 draggable: !1, 7236 className: `absolute inset-0 w-full h-full object-cover transition-transform duration-500 ${r ? "scale-105" : "scale-100"}`, 7237 style: { objectPosition: `${e.focalX ?? 50}% ${e.focalY ?? 30}%` }, 7238 "data-fg-d3bl596": ":0:/src/app/App.tsx:2132:11:108828:308:e:img" 7239 } 7240 ) : /* @__PURE__ */ d(i, { _fgT: "div", _fgS: "d3bl597", _fgB: 1790736563691, className: "absolute inset-0 bg-gray-200", "data-fg-d3bl597": ":0:/src/app/App.tsx:2140:11:109161:48:e:div" }) }), 7241 /* @__PURE__ */ d( 7242 i, 7243 { 7244 _fgT: "p", 7245 _fgS: "d3bl600", 7246 _fgB: 1790736563691, 7247 className: "text-sm text-foreground mb-1 line-clamp-2", 7248 style: { fontFamily: "Helvetica Neue", fontWeight: 400 }, 7249 "data-fg-d3bl600": ":0:/src/app/App.tsx:2146:1:109269:140:e:p:x", 7250 children: e.title 7251 } 7252 ),
7253 /* @__PURE__ */ d(i, { _fgT: "p", _fgS: "d3bl602", _fgB: 1790736563691, className: "text-[13px] text-gray-500 mb-2 line-clamp-1", style: { fontFamily: "Helvetica Neue, Helvetica, Arial, sans-serif" }, "data-fg-d3bl602": ":0:/src/app/App.tsx:2152:7:109416:144:e:p:x", children: e.sub }), 7254 /* @__PURE__ */ x(i, { _fgT: "p", _fgS: "d3bl605", _fgB: 1790736563691, className: "text-[9px] text-gray-400 font-[Helvetica_Neue]", "data-fg-d3bl605": ":0:/src/app/App.tsx:2155:7:109593:106:e:p:xtx", children: [ 7255 e.cat, 7256 " · ", 7257 e.date 7258 ] }) 7259 ] 7260 } 7261 ); 7262} 7263const bs = ml([ 7264 { path: "/", Component: os }, 7265 { path: "/news", Component: hs }, 7266 { path: "/scripted", Component: Ce }, 7267 { path: "/scripted/:showSlug", Component: Ce }, 7268 { path: "/unscripted", Component: Ce }, 7269 { path: "/unscripted/:showSlug", Component: Ce }, 7270 { path: "/formats", Component: Ce }, 7271 { path: "/formats/:showSlug", Component: Ce }, 7272 { path: "/sports", Component: Ce }, 7273 { path: "/sports/:showSlug", Component: Ce }, 7274 { path: "/coming-soon", Component: Ce }, 7275 { path: "/coming-soon/:showSlug", Component: Ce }, 7276 { path: "*", element: /* @__PURE__ */ d(i, { _fgT: qi, _fgS: "d3bl609", _fgB: 1790736563691, to: "/", replace: !0, "data-fg-d3bl609": ":0:node_modules/react-router:2177:25:110585:27:e:Navigate::::::DtII" }) } 7277]); 7278function ys() { 7279 return /* @__PURE__ */ d(Ui, { router: bs, "data-fg-d3bl610": ":0:node_modules/react-router:2181:10:110662:34:e:RouterProvider::1::::CE1n" }); 7280} 7281const vs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ 7282 __proto__: null, 7283 default: ys 7284}, Symbol.toStringTag, { value: "Module" })); 7285export { 7286 xs as Code0_8 7287};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.