@flamingo-stack/openframe-frontend-core 0.0.699 → 0.0.700
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-HVY6MU33.cjs → chunk-2CSYUMNM.cjs} +2 -2
- package/dist/{chunk-Q2QS562J.cjs → chunk-4H5Q6MQG.cjs} +44 -44
- package/dist/{chunk-ERC2PVUG.cjs → chunk-65YVUYWJ.cjs} +32 -32
- package/dist/{chunk-SUXB6YSP.js → chunk-6JG75WVO.js} +4 -4
- package/dist/{chunk-Z6R7GE5L.js → chunk-6JPQDYYY.js} +261 -232
- package/dist/{chunk-SCUPTMLG.cjs → chunk-7ZDTAABP.cjs} +7 -7
- package/dist/{chunk-UDJPRMLP.js → chunk-A5ZGKBN2.js} +1 -1
- package/dist/{chunk-U473T27Y.js → chunk-B7M6QEEM.js} +1 -1
- package/dist/{chunk-GRTLCRZA.cjs → chunk-BPS7JQCI.cjs} +2 -2
- package/dist/{chunk-YJNJINXN.cjs → chunk-BQ34PIFC.cjs} +3 -3
- package/dist/{chunk-GZLE67PF.cjs → chunk-BRQY2HKD.cjs} +24 -24
- package/dist/{chunk-4CZC5NFR.js → chunk-BZYMGI4L.js} +1 -1
- package/dist/{chunk-SNFL3B73.js → chunk-CUPJCGLB.js} +2 -2
- package/dist/{chunk-5RYXQ4TX.cjs → chunk-DG2I57UM.cjs} +21 -21
- package/dist/{chunk-WYLVP5OC.js → chunk-DJLZXJYB.js} +1 -1
- package/dist/{chunk-WTR2GHID.js → chunk-EONNPRAW.js} +2 -2
- package/dist/{chunk-36S7W4AD.js → chunk-GD4JALTR.js} +2 -2
- package/dist/{chunk-UM44DDPC.cjs → chunk-GFXZMFDX.cjs} +9 -9
- package/dist/{chunk-6THYLHRF.js → chunk-JPVDJB27.js} +4 -4
- package/dist/{chunk-6ARCZ2VH.js → chunk-MFORWVGD.js} +5 -5
- package/dist/{chunk-Z4W4XDDZ.js → chunk-N7DPIH57.js} +1 -1
- package/dist/{chunk-SWXXLZLZ.js → chunk-N7HMUQRV.js} +1 -1
- package/dist/{chunk-JN7IKMMJ.cjs → chunk-NIT257DV.cjs} +4 -4
- package/dist/{chunk-KXRUQCHZ.js → chunk-PNWIVND4.js} +3 -3
- package/dist/{chunk-EKPOIGYI.cjs → chunk-QDIX2ZRL.cjs} +313 -313
- package/dist/{chunk-ANOZ7Z4A.cjs → chunk-QPNR4N7N.cjs} +20 -20
- package/dist/{chunk-QTLRRPDO.cjs → chunk-QZGFJBG5.cjs} +70 -70
- package/dist/{chunk-2MVAILI4.cjs → chunk-RTGPIHVO.cjs} +334 -305
- package/dist/{chunk-LGEGOCU7.js → chunk-S4ADN25W.js} +2 -2
- package/dist/{chunk-IAMMZHYE.js → chunk-V5QNDOEL.js} +4 -4
- package/dist/{chunk-K7SNFTIX.cjs → chunk-YBC346FY.cjs} +12 -12
- package/dist/{chunk-RD3WWENS.cjs → chunk-ZSPHOHOW.cjs} +9 -9
- package/dist/components/case-studies/index.cjs +14 -14
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/entity-cards/dispatch.d.ts +50 -1
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +6 -2
- package/dist/components/chat/index.js +5 -1
- package/dist/components/chat/utils/card-destination.d.ts +48 -0
- package/dist/components/chat/utils/card-destination.d.ts.map +1 -0
- package/dist/components/chat/utils/index.d.ts +2 -1
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +10 -0
- package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +7 -7
- package/dist/components/docs/index.js +6 -6
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +71 -71
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +45 -41
- package/dist/components/index.js +17 -13
- package/dist/components/meeting-scheduler/index.cjs +25 -25
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +7 -3
- package/dist/components/ui/index.js +6 -2
- package/dist/index.cjs +11 -7
- package/dist/index.js +10 -6
- package/package.json +1 -1
- package/src/components/chat/entity-cards/dispatch.tsx +29 -73
- package/src/components/chat/utils/card-destination.ts +103 -0
- package/src/components/chat/utils/index.ts +13 -1
- package/src/components/chat/utils/resolve-fetched-card-href.ts +17 -0
|
@@ -15159,9 +15159,6 @@ function GenericEntityCardSkeleton({ className }) {
|
|
|
15159
15159
|
] });
|
|
15160
15160
|
}
|
|
15161
15161
|
|
|
15162
|
-
// src/components/chat/entity-cards/dispatch.tsx
|
|
15163
|
-
import React9 from "react";
|
|
15164
|
-
|
|
15165
15162
|
// src/utils/faq-anchor.ts
|
|
15166
15163
|
function faqSectionSlug(section) {
|
|
15167
15164
|
return "faq-" + section.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
@@ -15333,13 +15330,6 @@ function MingoInfoCard({
|
|
|
15333
15330
|
);
|
|
15334
15331
|
}
|
|
15335
15332
|
|
|
15336
|
-
// src/components/chat/utils/external-app-urls.ts
|
|
15337
|
-
var CLICKUP_APP_BASE = "https://app.clickup.com";
|
|
15338
|
-
function clickupTaskUrl(externalId) {
|
|
15339
|
-
if (!externalId) return null;
|
|
15340
|
-
return `${CLICKUP_APP_BASE}/t/${externalId}`;
|
|
15341
|
-
}
|
|
15342
|
-
|
|
15343
15333
|
// src/components/chat/utils/resolve-fetched-card-href.ts
|
|
15344
15334
|
function readSlug(item) {
|
|
15345
15335
|
if (!item || typeof item !== "object") return null;
|
|
@@ -15354,6 +15344,13 @@ function readFetchedCardTitle(item) {
|
|
|
15354
15344
|
}
|
|
15355
15345
|
return null;
|
|
15356
15346
|
}
|
|
15347
|
+
function readFetchedCardPath(item) {
|
|
15348
|
+
if (!item || typeof item !== "object") return null;
|
|
15349
|
+
const metadata = item.metadata;
|
|
15350
|
+
if (!metadata || typeof metadata !== "object") return null;
|
|
15351
|
+
const path = metadata.path;
|
|
15352
|
+
return typeof path === "string" && path.trim() ? path.trim() : null;
|
|
15353
|
+
}
|
|
15357
15354
|
function readPlatforms(item, canonicalType) {
|
|
15358
15355
|
if (!item || typeof item !== "object") return void 0;
|
|
15359
15356
|
const obj = item;
|
|
@@ -15398,6 +15395,180 @@ function resolveFetchedCardHref({
|
|
|
15398
15395
|
});
|
|
15399
15396
|
}
|
|
15400
15397
|
|
|
15398
|
+
// src/components/chat/utils/source-row-cta.ts
|
|
15399
|
+
import { FileText as FileText3 } from "lucide-react";
|
|
15400
|
+
|
|
15401
|
+
// src/platform-domains.ts
|
|
15402
|
+
var PLATFORM_DOMAINS = [
|
|
15403
|
+
{ key: "marketing-hub", defaultUrl: "https://marketing-hub.flamingo.so", envVar: "NEXT_PUBLIC_MARKETING_HUB_URL" },
|
|
15404
|
+
{ key: "company-hub", defaultUrl: "https://company-hub.flamingo.so", envVar: "NEXT_PUBLIC_COMPANY_HUB_URL" },
|
|
15405
|
+
{ key: "product-hub", defaultUrl: "https://product-hub.flamingo.so", envVar: "NEXT_PUBLIC_PRODUCT_HUB_URL" },
|
|
15406
|
+
{ key: "revenue-hub", defaultUrl: "https://revenue-hub.flamingo.so", envVar: "NEXT_PUBLIC_REVENUE_HUB_URL" },
|
|
15407
|
+
{ key: "people-hub", defaultUrl: "https://people-hub.flamingo.so", envVar: "NEXT_PUBLIC_PEOPLE_HUB_URL" },
|
|
15408
|
+
{ key: "openmsp", defaultUrl: "https://www.openmsp.ai", envVar: "NEXT_PUBLIC_OPENMSP_URL" },
|
|
15409
|
+
// ORDERING INVARIANT (first-wins, load-bearing): `flamingo` MUST precede `flamingo-teaser` + `universal`.
|
|
15410
|
+
// All three resolve to www.flamingo.run; the reverse index is first-wins → flamingo claims the shared host,
|
|
15411
|
+
// teaser keeps only its unique flamingo.cx aliases, universal contributes no unique host.
|
|
15412
|
+
// ⚠️ DO NOT REORDER — enforced by the module-load self-check at the bottom of this file.
|
|
15413
|
+
{ key: "flamingo", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" },
|
|
15414
|
+
{ key: "tmcg", defaultUrl: "https://www.tmcg.miami", envVar: "NEXT_PUBLIC_TMCG_URL" },
|
|
15415
|
+
{ key: "mlg", defaultUrl: "https://www.mlg.soccer", envVar: "NEXT_PUBLIC_MLG_URL" },
|
|
15416
|
+
{
|
|
15417
|
+
key: "flamingo-teaser",
|
|
15418
|
+
defaultUrl: "https://www.flamingo.run",
|
|
15419
|
+
envVar: "NEXT_PUBLIC_FLAMINGO_URL",
|
|
15420
|
+
aliasHostnames: ["flamingo.cx", "www.flamingo.cx"]
|
|
15421
|
+
},
|
|
15422
|
+
{
|
|
15423
|
+
key: "openframe",
|
|
15424
|
+
defaultUrl: "https://openframe.ai",
|
|
15425
|
+
envVar: "NEXT_PUBLIC_OPENFRAME_URL",
|
|
15426
|
+
aliasHostnames: ["openframe.ai", "www.openframe.ai", "hub.openframe.ai"]
|
|
15427
|
+
},
|
|
15428
|
+
{
|
|
15429
|
+
key: "openframe-dashboard",
|
|
15430
|
+
defaultUrl: "https://openframe.ai",
|
|
15431
|
+
envVar: "NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL",
|
|
15432
|
+
pseudo: true
|
|
15433
|
+
},
|
|
15434
|
+
{ key: "universal", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" }
|
|
15435
|
+
];
|
|
15436
|
+
var ENV_OVERRIDES = {
|
|
15437
|
+
NEXT_PUBLIC_MARKETING_HUB_URL: process.env.NEXT_PUBLIC_MARKETING_HUB_URL,
|
|
15438
|
+
NEXT_PUBLIC_COMPANY_HUB_URL: process.env.NEXT_PUBLIC_COMPANY_HUB_URL,
|
|
15439
|
+
NEXT_PUBLIC_PRODUCT_HUB_URL: process.env.NEXT_PUBLIC_PRODUCT_HUB_URL,
|
|
15440
|
+
NEXT_PUBLIC_REVENUE_HUB_URL: process.env.NEXT_PUBLIC_REVENUE_HUB_URL,
|
|
15441
|
+
NEXT_PUBLIC_PEOPLE_HUB_URL: process.env.NEXT_PUBLIC_PEOPLE_HUB_URL,
|
|
15442
|
+
NEXT_PUBLIC_OPENMSP_URL: process.env.NEXT_PUBLIC_OPENMSP_URL,
|
|
15443
|
+
NEXT_PUBLIC_FLAMINGO_URL: process.env.NEXT_PUBLIC_FLAMINGO_URL,
|
|
15444
|
+
NEXT_PUBLIC_TMCG_URL: process.env.NEXT_PUBLIC_TMCG_URL,
|
|
15445
|
+
NEXT_PUBLIC_MLG_URL: process.env.NEXT_PUBLIC_MLG_URL,
|
|
15446
|
+
NEXT_PUBLIC_OPENFRAME_URL: process.env.NEXT_PUBLIC_OPENFRAME_URL,
|
|
15447
|
+
NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL: process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL
|
|
15448
|
+
};
|
|
15449
|
+
function byKey(key) {
|
|
15450
|
+
return PLATFORM_DOMAINS.find((e) => e.key === key);
|
|
15451
|
+
}
|
|
15452
|
+
function envOverrideFor(key) {
|
|
15453
|
+
const envVar = byKey(key)?.envVar;
|
|
15454
|
+
if (!envVar) return null;
|
|
15455
|
+
return ENV_OVERRIDES[envVar] || null;
|
|
15456
|
+
}
|
|
15457
|
+
function ensureScheme(url) {
|
|
15458
|
+
const trimmed = url.trim();
|
|
15459
|
+
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed)) return trimmed;
|
|
15460
|
+
return `https://${trimmed.replace(/^\/+/, "")}`;
|
|
15461
|
+
}
|
|
15462
|
+
function getPlatformProductionUrl(platform) {
|
|
15463
|
+
const resolved = envOverrideFor(platform) ?? byKey(platform)?.defaultUrl ?? envOverrideFor("flamingo") ?? "https://www.flamingo.run";
|
|
15464
|
+
return ensureScheme(resolved);
|
|
15465
|
+
}
|
|
15466
|
+
function getPlatformUrl(platform, options = {}) {
|
|
15467
|
+
const url = options.environment !== "production" && process.env.NODE_ENV !== "production" ? process.env.NEXT_PUBLIC_DEV_URL || "http://localhost:3000" : getPlatformProductionUrl(platform);
|
|
15468
|
+
return url.replace(/\/+$/, "");
|
|
15469
|
+
}
|
|
15470
|
+
function getDeploymentUrl(options) {
|
|
15471
|
+
if (typeof window !== "undefined") return window.location.origin;
|
|
15472
|
+
const configured = options.configuredUrl?.trim();
|
|
15473
|
+
if (configured) return ensureScheme(configured).replace(/\/+$/, "");
|
|
15474
|
+
if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
|
|
15475
|
+
return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
|
|
15476
|
+
}
|
|
15477
|
+
if (process.env.VERCEL_ENV === "production" || process.env.NODE_ENV === "production") {
|
|
15478
|
+
return getPlatformUrl(options.platform, { environment: "production" });
|
|
15479
|
+
}
|
|
15480
|
+
return (process.env.NEXT_PUBLIC_DEV_URL || `http://localhost:${process.env.PORT ?? 3e3}`).replace(/\/+$/, "");
|
|
15481
|
+
}
|
|
15482
|
+
var LOCAL_HOSTNAME = /^(localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\])$/i;
|
|
15483
|
+
function isLocalUrl(url) {
|
|
15484
|
+
try {
|
|
15485
|
+
return LOCAL_HOSTNAME.test(new URL(url).hostname);
|
|
15486
|
+
} catch {
|
|
15487
|
+
return false;
|
|
15488
|
+
}
|
|
15489
|
+
}
|
|
15490
|
+
function getRequestOrigin(headers, options) {
|
|
15491
|
+
const host = headers.get("host");
|
|
15492
|
+
if (!host) return getDeploymentUrl(options);
|
|
15493
|
+
const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
|
|
15494
|
+
const proto = headers.get("x-forwarded-proto")?.split(",")[0].trim() || (local ? "http" : "https");
|
|
15495
|
+
return `${proto}://${host}`;
|
|
15496
|
+
}
|
|
15497
|
+
function resolveRedirectTarget(origin, target) {
|
|
15498
|
+
const url = new URL(target, origin);
|
|
15499
|
+
if (!/^https?:\/\//i.test(target) && url.origin !== new URL(origin).origin) {
|
|
15500
|
+
throw new Error(`resolveRedirectTarget: "${target}" is not a same-origin path`);
|
|
15501
|
+
}
|
|
15502
|
+
return url;
|
|
15503
|
+
}
|
|
15504
|
+
function hostOf(value) {
|
|
15505
|
+
if (!value) return null;
|
|
15506
|
+
try {
|
|
15507
|
+
return new URL(value).hostname.toLowerCase();
|
|
15508
|
+
} catch {
|
|
15509
|
+
return null;
|
|
15510
|
+
}
|
|
15511
|
+
}
|
|
15512
|
+
function expandWwwApex(host) {
|
|
15513
|
+
if (host.startsWith("www.")) return [host, host.slice(4)];
|
|
15514
|
+
if (host.split(".").length === 2) return [host, `www.${host}`];
|
|
15515
|
+
return [host];
|
|
15516
|
+
}
|
|
15517
|
+
function toRegistrableBaseDomain(host) {
|
|
15518
|
+
const parts = host.split(".");
|
|
15519
|
+
if (parts.length >= 2) return parts.slice(-2).join(".");
|
|
15520
|
+
return void 0;
|
|
15521
|
+
}
|
|
15522
|
+
function aliasHostsOf(key) {
|
|
15523
|
+
return byKey(key)?.aliasHostnames ?? [];
|
|
15524
|
+
}
|
|
15525
|
+
function hostsForEntry(entry, opts) {
|
|
15526
|
+
const resolved = hostOf(getPlatformProductionUrl(entry.key));
|
|
15527
|
+
const hosts = resolved ? expandWwwApex(resolved) : [];
|
|
15528
|
+
if (opts.includeAliases) hosts.push(...aliasHostsOf(entry.key));
|
|
15529
|
+
return hosts;
|
|
15530
|
+
}
|
|
15531
|
+
function getPlatformByHostname(hostname) {
|
|
15532
|
+
const host = hostname.toLowerCase();
|
|
15533
|
+
for (const entry of PLATFORM_DOMAINS) {
|
|
15534
|
+
if (entry.pseudo) continue;
|
|
15535
|
+
if (hostsForEntry(entry, { includeAliases: true }).includes(host)) return entry.key;
|
|
15536
|
+
}
|
|
15537
|
+
return null;
|
|
15538
|
+
}
|
|
15539
|
+
function isPreviewHost(hostname) {
|
|
15540
|
+
return hostname.endsWith(".vercel.app");
|
|
15541
|
+
}
|
|
15542
|
+
function getAllPlatformBaseDomains() {
|
|
15543
|
+
if (typeof window === "undefined") return [];
|
|
15544
|
+
const hostname = window.location.hostname;
|
|
15545
|
+
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
|
|
15546
|
+
return [];
|
|
15547
|
+
}
|
|
15548
|
+
const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
|
|
15549
|
+
if (previewEnv) {
|
|
15550
|
+
return [".vercel.app", "vercel.app"];
|
|
15551
|
+
}
|
|
15552
|
+
const baseDomains = /* @__PURE__ */ new Set();
|
|
15553
|
+
for (const entry of PLATFORM_DOMAINS) {
|
|
15554
|
+
if (entry.pseudo) continue;
|
|
15555
|
+
const host = hostOf(getPlatformProductionUrl(entry.key));
|
|
15556
|
+
if (!host) continue;
|
|
15557
|
+
const base = toRegistrableBaseDomain(host);
|
|
15558
|
+
if (base) {
|
|
15559
|
+
baseDomains.add(`.${base}`);
|
|
15560
|
+
baseDomains.add(base);
|
|
15561
|
+
}
|
|
15562
|
+
}
|
|
15563
|
+
return Array.from(baseDomains);
|
|
15564
|
+
}
|
|
15565
|
+
var _orderIdx = (k) => PLATFORM_DOMAINS.findIndex((e) => e.key === k);
|
|
15566
|
+
if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo") > _orderIdx("universal") || getPlatformByHostname("flamingo.cx") !== "flamingo-teaser" || getPlatformByHostname("hub.openframe.ai") !== "openframe") {
|
|
15567
|
+
console.error(
|
|
15568
|
+
"[platform-domains] \u26A0\uFE0F PLATFORM_DOMAINS ordering invariant violated \u2014 `flamingo` must precede `flamingo-teaser`/`universal`, and the openframe/teaser aliases must be intact. Do not reorder the table."
|
|
15569
|
+
);
|
|
15570
|
+
}
|
|
15571
|
+
|
|
15401
15572
|
// src/utils/source-icons.ts
|
|
15402
15573
|
var SOURCE_ICON_NAMES = {
|
|
15403
15574
|
// Doc tables
|
|
@@ -15596,180 +15767,6 @@ function defaultDocumentTypeForTableId(tableId) {
|
|
|
15596
15767
|
return null;
|
|
15597
15768
|
}
|
|
15598
15769
|
|
|
15599
|
-
// src/components/chat/utils/source-row-cta.ts
|
|
15600
|
-
import { FileText as FileText3 } from "lucide-react";
|
|
15601
|
-
|
|
15602
|
-
// src/platform-domains.ts
|
|
15603
|
-
var PLATFORM_DOMAINS = [
|
|
15604
|
-
{ key: "marketing-hub", defaultUrl: "https://marketing-hub.flamingo.so", envVar: "NEXT_PUBLIC_MARKETING_HUB_URL" },
|
|
15605
|
-
{ key: "company-hub", defaultUrl: "https://company-hub.flamingo.so", envVar: "NEXT_PUBLIC_COMPANY_HUB_URL" },
|
|
15606
|
-
{ key: "product-hub", defaultUrl: "https://product-hub.flamingo.so", envVar: "NEXT_PUBLIC_PRODUCT_HUB_URL" },
|
|
15607
|
-
{ key: "revenue-hub", defaultUrl: "https://revenue-hub.flamingo.so", envVar: "NEXT_PUBLIC_REVENUE_HUB_URL" },
|
|
15608
|
-
{ key: "people-hub", defaultUrl: "https://people-hub.flamingo.so", envVar: "NEXT_PUBLIC_PEOPLE_HUB_URL" },
|
|
15609
|
-
{ key: "openmsp", defaultUrl: "https://www.openmsp.ai", envVar: "NEXT_PUBLIC_OPENMSP_URL" },
|
|
15610
|
-
// ORDERING INVARIANT (first-wins, load-bearing): `flamingo` MUST precede `flamingo-teaser` + `universal`.
|
|
15611
|
-
// All three resolve to www.flamingo.run; the reverse index is first-wins → flamingo claims the shared host,
|
|
15612
|
-
// teaser keeps only its unique flamingo.cx aliases, universal contributes no unique host.
|
|
15613
|
-
// ⚠️ DO NOT REORDER — enforced by the module-load self-check at the bottom of this file.
|
|
15614
|
-
{ key: "flamingo", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" },
|
|
15615
|
-
{ key: "tmcg", defaultUrl: "https://www.tmcg.miami", envVar: "NEXT_PUBLIC_TMCG_URL" },
|
|
15616
|
-
{ key: "mlg", defaultUrl: "https://www.mlg.soccer", envVar: "NEXT_PUBLIC_MLG_URL" },
|
|
15617
|
-
{
|
|
15618
|
-
key: "flamingo-teaser",
|
|
15619
|
-
defaultUrl: "https://www.flamingo.run",
|
|
15620
|
-
envVar: "NEXT_PUBLIC_FLAMINGO_URL",
|
|
15621
|
-
aliasHostnames: ["flamingo.cx", "www.flamingo.cx"]
|
|
15622
|
-
},
|
|
15623
|
-
{
|
|
15624
|
-
key: "openframe",
|
|
15625
|
-
defaultUrl: "https://openframe.ai",
|
|
15626
|
-
envVar: "NEXT_PUBLIC_OPENFRAME_URL",
|
|
15627
|
-
aliasHostnames: ["openframe.ai", "www.openframe.ai", "hub.openframe.ai"]
|
|
15628
|
-
},
|
|
15629
|
-
{
|
|
15630
|
-
key: "openframe-dashboard",
|
|
15631
|
-
defaultUrl: "https://openframe.ai",
|
|
15632
|
-
envVar: "NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL",
|
|
15633
|
-
pseudo: true
|
|
15634
|
-
},
|
|
15635
|
-
{ key: "universal", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" }
|
|
15636
|
-
];
|
|
15637
|
-
var ENV_OVERRIDES = {
|
|
15638
|
-
NEXT_PUBLIC_MARKETING_HUB_URL: process.env.NEXT_PUBLIC_MARKETING_HUB_URL,
|
|
15639
|
-
NEXT_PUBLIC_COMPANY_HUB_URL: process.env.NEXT_PUBLIC_COMPANY_HUB_URL,
|
|
15640
|
-
NEXT_PUBLIC_PRODUCT_HUB_URL: process.env.NEXT_PUBLIC_PRODUCT_HUB_URL,
|
|
15641
|
-
NEXT_PUBLIC_REVENUE_HUB_URL: process.env.NEXT_PUBLIC_REVENUE_HUB_URL,
|
|
15642
|
-
NEXT_PUBLIC_PEOPLE_HUB_URL: process.env.NEXT_PUBLIC_PEOPLE_HUB_URL,
|
|
15643
|
-
NEXT_PUBLIC_OPENMSP_URL: process.env.NEXT_PUBLIC_OPENMSP_URL,
|
|
15644
|
-
NEXT_PUBLIC_FLAMINGO_URL: process.env.NEXT_PUBLIC_FLAMINGO_URL,
|
|
15645
|
-
NEXT_PUBLIC_TMCG_URL: process.env.NEXT_PUBLIC_TMCG_URL,
|
|
15646
|
-
NEXT_PUBLIC_MLG_URL: process.env.NEXT_PUBLIC_MLG_URL,
|
|
15647
|
-
NEXT_PUBLIC_OPENFRAME_URL: process.env.NEXT_PUBLIC_OPENFRAME_URL,
|
|
15648
|
-
NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL: process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL
|
|
15649
|
-
};
|
|
15650
|
-
function byKey(key) {
|
|
15651
|
-
return PLATFORM_DOMAINS.find((e) => e.key === key);
|
|
15652
|
-
}
|
|
15653
|
-
function envOverrideFor(key) {
|
|
15654
|
-
const envVar = byKey(key)?.envVar;
|
|
15655
|
-
if (!envVar) return null;
|
|
15656
|
-
return ENV_OVERRIDES[envVar] || null;
|
|
15657
|
-
}
|
|
15658
|
-
function ensureScheme(url) {
|
|
15659
|
-
const trimmed = url.trim();
|
|
15660
|
-
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed)) return trimmed;
|
|
15661
|
-
return `https://${trimmed.replace(/^\/+/, "")}`;
|
|
15662
|
-
}
|
|
15663
|
-
function getPlatformProductionUrl(platform) {
|
|
15664
|
-
const resolved = envOverrideFor(platform) ?? byKey(platform)?.defaultUrl ?? envOverrideFor("flamingo") ?? "https://www.flamingo.run";
|
|
15665
|
-
return ensureScheme(resolved);
|
|
15666
|
-
}
|
|
15667
|
-
function getPlatformUrl(platform, options = {}) {
|
|
15668
|
-
const url = options.environment !== "production" && process.env.NODE_ENV !== "production" ? process.env.NEXT_PUBLIC_DEV_URL || "http://localhost:3000" : getPlatformProductionUrl(platform);
|
|
15669
|
-
return url.replace(/\/+$/, "");
|
|
15670
|
-
}
|
|
15671
|
-
function getDeploymentUrl(options) {
|
|
15672
|
-
if (typeof window !== "undefined") return window.location.origin;
|
|
15673
|
-
const configured = options.configuredUrl?.trim();
|
|
15674
|
-
if (configured) return ensureScheme(configured).replace(/\/+$/, "");
|
|
15675
|
-
if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
|
|
15676
|
-
return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
|
|
15677
|
-
}
|
|
15678
|
-
if (process.env.VERCEL_ENV === "production" || process.env.NODE_ENV === "production") {
|
|
15679
|
-
return getPlatformUrl(options.platform, { environment: "production" });
|
|
15680
|
-
}
|
|
15681
|
-
return (process.env.NEXT_PUBLIC_DEV_URL || `http://localhost:${process.env.PORT ?? 3e3}`).replace(/\/+$/, "");
|
|
15682
|
-
}
|
|
15683
|
-
var LOCAL_HOSTNAME = /^(localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\])$/i;
|
|
15684
|
-
function isLocalUrl(url) {
|
|
15685
|
-
try {
|
|
15686
|
-
return LOCAL_HOSTNAME.test(new URL(url).hostname);
|
|
15687
|
-
} catch {
|
|
15688
|
-
return false;
|
|
15689
|
-
}
|
|
15690
|
-
}
|
|
15691
|
-
function getRequestOrigin(headers, options) {
|
|
15692
|
-
const host = headers.get("host");
|
|
15693
|
-
if (!host) return getDeploymentUrl(options);
|
|
15694
|
-
const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
|
|
15695
|
-
const proto = headers.get("x-forwarded-proto")?.split(",")[0].trim() || (local ? "http" : "https");
|
|
15696
|
-
return `${proto}://${host}`;
|
|
15697
|
-
}
|
|
15698
|
-
function resolveRedirectTarget(origin, target) {
|
|
15699
|
-
const url = new URL(target, origin);
|
|
15700
|
-
if (!/^https?:\/\//i.test(target) && url.origin !== new URL(origin).origin) {
|
|
15701
|
-
throw new Error(`resolveRedirectTarget: "${target}" is not a same-origin path`);
|
|
15702
|
-
}
|
|
15703
|
-
return url;
|
|
15704
|
-
}
|
|
15705
|
-
function hostOf(value) {
|
|
15706
|
-
if (!value) return null;
|
|
15707
|
-
try {
|
|
15708
|
-
return new URL(value).hostname.toLowerCase();
|
|
15709
|
-
} catch {
|
|
15710
|
-
return null;
|
|
15711
|
-
}
|
|
15712
|
-
}
|
|
15713
|
-
function expandWwwApex(host) {
|
|
15714
|
-
if (host.startsWith("www.")) return [host, host.slice(4)];
|
|
15715
|
-
if (host.split(".").length === 2) return [host, `www.${host}`];
|
|
15716
|
-
return [host];
|
|
15717
|
-
}
|
|
15718
|
-
function toRegistrableBaseDomain(host) {
|
|
15719
|
-
const parts = host.split(".");
|
|
15720
|
-
if (parts.length >= 2) return parts.slice(-2).join(".");
|
|
15721
|
-
return void 0;
|
|
15722
|
-
}
|
|
15723
|
-
function aliasHostsOf(key) {
|
|
15724
|
-
return byKey(key)?.aliasHostnames ?? [];
|
|
15725
|
-
}
|
|
15726
|
-
function hostsForEntry(entry, opts) {
|
|
15727
|
-
const resolved = hostOf(getPlatformProductionUrl(entry.key));
|
|
15728
|
-
const hosts = resolved ? expandWwwApex(resolved) : [];
|
|
15729
|
-
if (opts.includeAliases) hosts.push(...aliasHostsOf(entry.key));
|
|
15730
|
-
return hosts;
|
|
15731
|
-
}
|
|
15732
|
-
function getPlatformByHostname(hostname) {
|
|
15733
|
-
const host = hostname.toLowerCase();
|
|
15734
|
-
for (const entry of PLATFORM_DOMAINS) {
|
|
15735
|
-
if (entry.pseudo) continue;
|
|
15736
|
-
if (hostsForEntry(entry, { includeAliases: true }).includes(host)) return entry.key;
|
|
15737
|
-
}
|
|
15738
|
-
return null;
|
|
15739
|
-
}
|
|
15740
|
-
function isPreviewHost(hostname) {
|
|
15741
|
-
return hostname.endsWith(".vercel.app");
|
|
15742
|
-
}
|
|
15743
|
-
function getAllPlatformBaseDomains() {
|
|
15744
|
-
if (typeof window === "undefined") return [];
|
|
15745
|
-
const hostname = window.location.hostname;
|
|
15746
|
-
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
|
|
15747
|
-
return [];
|
|
15748
|
-
}
|
|
15749
|
-
const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
|
|
15750
|
-
if (previewEnv) {
|
|
15751
|
-
return [".vercel.app", "vercel.app"];
|
|
15752
|
-
}
|
|
15753
|
-
const baseDomains = /* @__PURE__ */ new Set();
|
|
15754
|
-
for (const entry of PLATFORM_DOMAINS) {
|
|
15755
|
-
if (entry.pseudo) continue;
|
|
15756
|
-
const host = hostOf(getPlatformProductionUrl(entry.key));
|
|
15757
|
-
if (!host) continue;
|
|
15758
|
-
const base = toRegistrableBaseDomain(host);
|
|
15759
|
-
if (base) {
|
|
15760
|
-
baseDomains.add(`.${base}`);
|
|
15761
|
-
baseDomains.add(base);
|
|
15762
|
-
}
|
|
15763
|
-
}
|
|
15764
|
-
return Array.from(baseDomains);
|
|
15765
|
-
}
|
|
15766
|
-
var _orderIdx = (k) => PLATFORM_DOMAINS.findIndex((e) => e.key === k);
|
|
15767
|
-
if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo") > _orderIdx("universal") || getPlatformByHostname("flamingo.cx") !== "flamingo-teaser" || getPlatformByHostname("hub.openframe.ai") !== "openframe") {
|
|
15768
|
-
console.error(
|
|
15769
|
-
"[platform-domains] \u26A0\uFE0F PLATFORM_DOMAINS ordering invariant violated \u2014 `flamingo` must precede `flamingo-teaser`/`universal`, and the openframe/teaser aliases must be intact. Do not reorder the table."
|
|
15770
|
-
);
|
|
15771
|
-
}
|
|
15772
|
-
|
|
15773
15770
|
// src/utils/source-grouping.ts
|
|
15774
15771
|
var DOC_TABLE_TYPES = ["markdown", "data_room_doc"];
|
|
15775
15772
|
function groupsByTable(documentType) {
|
|
@@ -15965,6 +15962,58 @@ function resolveSourceIcon(input, ctx = {}) {
|
|
|
15965
15962
|
return { Icon: icon, label: iconLabel };
|
|
15966
15963
|
}
|
|
15967
15964
|
|
|
15965
|
+
// src/components/chat/utils/card-destination.ts
|
|
15966
|
+
function resolveCardDestination({
|
|
15967
|
+
chatRef,
|
|
15968
|
+
item,
|
|
15969
|
+
entry,
|
|
15970
|
+
ctx,
|
|
15971
|
+
composeContentUrl,
|
|
15972
|
+
resolveHref = (href) => href
|
|
15973
|
+
}) {
|
|
15974
|
+
const refPath = typeof chatRef.metadata?.path === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
|
|
15975
|
+
const path = refPath ?? (item ? readFetchedCardPath(item) : null);
|
|
15976
|
+
const cta = resolveSourceRowCTA(
|
|
15977
|
+
{
|
|
15978
|
+
sourceRepo: chatRef.sourceRepo,
|
|
15979
|
+
documentType: chatRef.type,
|
|
15980
|
+
id: chatRef.id,
|
|
15981
|
+
title: chatRef.title,
|
|
15982
|
+
externalUrl: chatRef.url,
|
|
15983
|
+
targetPlatform: chatRef.targetPlatform,
|
|
15984
|
+
path
|
|
15985
|
+
},
|
|
15986
|
+
ctx
|
|
15987
|
+
);
|
|
15988
|
+
const rowUrl = cta.href ? resolveHref(cta.href) : chatRef.url ?? null;
|
|
15989
|
+
const rowPlatform = cta.targetPlatform ?? chatRef.targetPlatform ?? null;
|
|
15990
|
+
if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
|
|
15991
|
+
if (entry?.contentRefType && item) {
|
|
15992
|
+
const choice = pickFetchedCardHref({
|
|
15993
|
+
composed: resolveFetchedCardHref({
|
|
15994
|
+
contentRefType: entry.contentRefType,
|
|
15995
|
+
id: chatRef.id,
|
|
15996
|
+
item,
|
|
15997
|
+
composeContentUrl
|
|
15998
|
+
}),
|
|
15999
|
+
itemHref: entry.fallbackHref?.(item) ?? null,
|
|
16000
|
+
allowComposed: !entry.noComposedHref
|
|
16001
|
+
});
|
|
16002
|
+
const url = choice ? safeHref(choice.href) ?? null : null;
|
|
16003
|
+
if (choice && url) {
|
|
16004
|
+
return { url, targetPlatform: choice.targetPlatform ?? rowPlatform, path, source: choice.source };
|
|
16005
|
+
}
|
|
16006
|
+
}
|
|
16007
|
+
return { url: null, targetPlatform: rowPlatform, path, source: "none" };
|
|
16008
|
+
}
|
|
16009
|
+
|
|
16010
|
+
// src/components/chat/utils/external-app-urls.ts
|
|
16011
|
+
var CLICKUP_APP_BASE = "https://app.clickup.com";
|
|
16012
|
+
function clickupTaskUrl(externalId) {
|
|
16013
|
+
if (!externalId) return null;
|
|
16014
|
+
return `${CLICKUP_APP_BASE}/t/${externalId}`;
|
|
16015
|
+
}
|
|
16016
|
+
|
|
15968
16017
|
// src/components/chat/entity-cards/deleted-data-card.tsx
|
|
15969
16018
|
import { Trash2 } from "lucide-react";
|
|
15970
16019
|
import { jsx as jsx96, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
@@ -17075,50 +17124,28 @@ function ChatCardLoader({
|
|
|
17075
17124
|
extras
|
|
17076
17125
|
}) {
|
|
17077
17126
|
const runtime = useRequiredChatRuntime();
|
|
17078
|
-
const
|
|
17079
|
-
const cta = resolveSourceRowCTA(
|
|
17080
|
-
{
|
|
17081
|
-
sourceRepo: chatRef.sourceRepo,
|
|
17082
|
-
documentType: chatRef.type,
|
|
17083
|
-
id: chatRef.id,
|
|
17084
|
-
title: chatRef.title,
|
|
17085
|
-
externalUrl: chatRef.url,
|
|
17086
|
-
targetPlatform: chatRef.targetPlatform,
|
|
17087
|
-
path: typeof chatRef.metadata?.path === "string" ? chatRef.metadata.path : null
|
|
17088
|
-
},
|
|
17089
|
-
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
17090
|
-
);
|
|
17091
|
-
const finalHref = cta.href ? resolveHrefForRuntime(cta.href, runtime) : null;
|
|
17092
|
-
return {
|
|
17093
|
-
...chatRef,
|
|
17094
|
-
url: finalHref ?? chatRef.url,
|
|
17095
|
-
targetPlatform: cta.targetPlatform ?? chatRef.targetPlatform ?? null
|
|
17096
|
-
};
|
|
17097
|
-
}, [chatRef, runtime, baseRoute, chipBasePlatform]);
|
|
17098
|
-
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
17127
|
+
const entry = CHAT_CARD_REGISTRY[chatRef.type];
|
|
17099
17128
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
17100
17129
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
17101
17130
|
fetchEntry?.contentRefType ?? "",
|
|
17102
|
-
fetchEntry ?
|
|
17131
|
+
fetchEntry ? chatRef.id : ""
|
|
17103
17132
|
);
|
|
17104
17133
|
if (!entry) return null;
|
|
17105
|
-
const
|
|
17106
|
-
|
|
17107
|
-
|
|
17108
|
-
|
|
17109
|
-
|
|
17110
|
-
|
|
17111
|
-
|
|
17112
|
-
|
|
17113
|
-
|
|
17114
|
-
|
|
17115
|
-
|
|
17116
|
-
|
|
17117
|
-
|
|
17118
|
-
|
|
17119
|
-
|
|
17120
|
-
targetPlatform: hrefChoice.targetPlatform ?? resolvedChatRef.targetPlatform ?? null
|
|
17121
|
-
} : resolvedChatRef;
|
|
17134
|
+
const destination = resolveCardDestination({
|
|
17135
|
+
chatRef,
|
|
17136
|
+
item: fetchEntry ? item : void 0,
|
|
17137
|
+
entry: fetchEntry,
|
|
17138
|
+
ctx: sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform }),
|
|
17139
|
+
composeContentUrl: runtime.composeContentUrl,
|
|
17140
|
+
resolveHref: (href) => resolveHrefForRuntime(href, runtime)
|
|
17141
|
+
});
|
|
17142
|
+
const hrefResolvedChatRef = {
|
|
17143
|
+
...chatRef,
|
|
17144
|
+
url: destination.url,
|
|
17145
|
+
targetPlatform: destination.targetPlatform,
|
|
17146
|
+
// The nav wrapper reads the path off the ref for in-app doc navigation.
|
|
17147
|
+
...destination.path ? { metadata: { ...chatRef.metadata ?? {}, path: destination.path } } : {}
|
|
17148
|
+
};
|
|
17122
17149
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
17123
17150
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
17124
17151
|
const isNewTab = computeIsNewTab(runtime, finalChatRef.url, finalChatRef.targetPlatform ?? null);
|
|
@@ -24589,7 +24616,7 @@ import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
|
24589
24616
|
import { usePreventScroll } from "@react-aria/overlays";
|
|
24590
24617
|
import { isIOS } from "@react-aria/utils";
|
|
24591
24618
|
import { MessageSquare as MessageSquare3 } from "lucide-react";
|
|
24592
|
-
import
|
|
24619
|
+
import React9, { useCallback as useCallback28, useEffect as useEffect38, useImperativeHandle as useImperativeHandle4, useMemo as useMemo30, useRef as useRef36, useState as useState48 } from "react";
|
|
24593
24620
|
|
|
24594
24621
|
// src/components/ui/drawer.tsx
|
|
24595
24622
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
@@ -25602,7 +25629,7 @@ function SourceChips({
|
|
|
25602
25629
|
] })
|
|
25603
25630
|
] });
|
|
25604
25631
|
}
|
|
25605
|
-
var EmbeddableChat =
|
|
25632
|
+
var EmbeddableChat = React9.forwardRef(
|
|
25606
25633
|
function EmbeddableChatImpl(props, ref) {
|
|
25607
25634
|
return /* @__PURE__ */ jsx101(EmbeddableChatInner, { ...props, handleRef: ref });
|
|
25608
25635
|
}
|
|
@@ -27322,15 +27349,9 @@ export {
|
|
|
27322
27349
|
faqItemAnchor,
|
|
27323
27350
|
parseFaqHash,
|
|
27324
27351
|
useChatCardItem,
|
|
27325
|
-
clickupTaskUrl,
|
|
27326
27352
|
readFetchedCardTitle,
|
|
27353
|
+
readFetchedCardPath,
|
|
27327
27354
|
resolveFetchedCardHref,
|
|
27328
|
-
SOURCE_ICON_NAMES,
|
|
27329
|
-
getSourceIconName,
|
|
27330
|
-
SOURCE_LABELS_BY_TABLE,
|
|
27331
|
-
getSourceLabel,
|
|
27332
|
-
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
27333
|
-
defaultTableIdForDocumentType,
|
|
27334
27355
|
byKey,
|
|
27335
27356
|
getPlatformProductionUrl,
|
|
27336
27357
|
getPlatformUrl,
|
|
@@ -27339,6 +27360,12 @@ export {
|
|
|
27339
27360
|
getRequestOrigin,
|
|
27340
27361
|
resolveRedirectTarget,
|
|
27341
27362
|
getAllPlatformBaseDomains,
|
|
27363
|
+
SOURCE_ICON_NAMES,
|
|
27364
|
+
getSourceIconName,
|
|
27365
|
+
SOURCE_LABELS_BY_TABLE,
|
|
27366
|
+
getSourceLabel,
|
|
27367
|
+
DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
|
|
27368
|
+
defaultTableIdForDocumentType,
|
|
27342
27369
|
DOC_TABLE_TYPES,
|
|
27343
27370
|
groupsByTable,
|
|
27344
27371
|
recordCountLabel,
|
|
@@ -27347,6 +27374,8 @@ export {
|
|
|
27347
27374
|
formatCitationIndices,
|
|
27348
27375
|
resolveSourceRowCTA,
|
|
27349
27376
|
resolveSourceIcon,
|
|
27377
|
+
resolveCardDestination,
|
|
27378
|
+
clickupTaskUrl,
|
|
27350
27379
|
chatCardLabel,
|
|
27351
27380
|
ChatCardLoader,
|
|
27352
27381
|
renderChatInlineEntityCard,
|
|
@@ -5,7 +5,7 @@ var _chunkXCIFHW4Ecjs = require('./chunk-XCIFHW4E.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkQDIX2ZRLcjs = require('./chunk-QDIX2ZRL.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
var _chunk3L7KCOGOcjs = require('./chunk-3L7KCOGO.cjs');
|
|
@@ -16,7 +16,7 @@ var _chunkBRXOGCH3cjs = require('./chunk-BRXOGCH3.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkRTGPIHVOcjs = require('./chunk-RTGPIHVO.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -56,7 +56,7 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
56
56
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
57
57
|
"div",
|
|
58
58
|
{
|
|
59
|
-
id:
|
|
59
|
+
id: _chunkRTGPIHVOcjs.faqItemAnchor.call(void 0, item.id),
|
|
60
60
|
className: "scroll-mt-24 transition-colors hover:bg-ods-bg-hover",
|
|
61
61
|
children: [
|
|
62
62
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -149,7 +149,7 @@ function groupFaqsBySection(faqs) {
|
|
|
149
149
|
}
|
|
150
150
|
let group = byName.get(name);
|
|
151
151
|
if (!group) {
|
|
152
|
-
group = { section: name, slug:
|
|
152
|
+
group = { section: name, slug: _chunkRTGPIHVOcjs.faqSectionSlug.call(void 0, name), items: [] };
|
|
153
153
|
byName.set(name, group);
|
|
154
154
|
}
|
|
155
155
|
group.items.push(item);
|
|
@@ -202,7 +202,7 @@ function GroupedFaqList({
|
|
|
202
202
|
}, [slugKey]);
|
|
203
203
|
const [hashTarget, setHashTarget] = _react.useState.call(void 0, null);
|
|
204
204
|
_react.useEffect.call(void 0, () => {
|
|
205
|
-
const refresh = () => setHashTarget(
|
|
205
|
+
const refresh = () => setHashTarget(_chunkRTGPIHVOcjs.parseFaqHash.call(void 0, window.location.hash));
|
|
206
206
|
refresh();
|
|
207
207
|
window.addEventListener("hashchange", refresh);
|
|
208
208
|
return () => window.removeEventListener("hashchange", refresh);
|
|
@@ -336,7 +336,7 @@ function FaqDocumentPage({
|
|
|
336
336
|
label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _16 => _16.label]), () => ( "Back to home")),
|
|
337
337
|
onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _17 => _17.href]), () => ( "/")))
|
|
338
338
|
};
|
|
339
|
-
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
339
|
+
const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQDIX2ZRLcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
340
340
|
FaqSection,
|
|
341
341
|
{
|
|
342
342
|
initialFaqs,
|
|
@@ -349,7 +349,7 @@ function FaqDocumentPage({
|
|
|
349
349
|
minResults
|
|
350
350
|
}
|
|
351
351
|
) });
|
|
352
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
352
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQDIX2ZRLcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
|