@flamingo-stack/openframe-frontend-core 0.0.718 → 0.0.720
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-MIQLUUVF.cjs → chunk-2C72EWQR.cjs} +93 -29
- package/dist/{chunk-IWCPXJEE.js → chunk-3HZ6XSZC.js} +2 -4
- package/dist/{chunk-ZXCZYMN4.cjs → chunk-4SIZCHVZ.cjs} +13 -15
- package/dist/{chunk-BOTM373R.cjs → chunk-5XDCCQ4A.cjs} +15 -15
- package/dist/{chunk-DXCBOZVT.cjs → chunk-6BLN5WDS.cjs} +41 -41
- package/dist/{chunk-DCD5WZUF.js → chunk-6W46LVK4.js} +5 -5
- package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
- package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
- package/dist/{chunk-45F7PXUI.js → chunk-7HYEQKN6.js} +6 -6
- package/dist/{chunk-N2PF5CFX.js → chunk-7IOU6BJE.js} +12 -11
- package/dist/{chunk-BWIN42ZA.cjs → chunk-7LPR4RZ3.cjs} +34 -36
- package/dist/chunk-AFTRPEXO.js +13 -0
- package/dist/{chunk-JPD4NXH6.js → chunk-AZRI4XBP.js} +1 -1
- package/dist/{chunk-4QFWGLZO.js → chunk-B2N4YX66.js} +1 -1
- package/dist/{chunk-QXZCLQNV.js → chunk-B5LNX4GZ.js} +2 -2
- package/dist/{chunk-GN4A7PMB.cjs → chunk-DHNJSQGX.cjs} +91 -91
- package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-DOPOHO6H.cjs} +20 -20
- package/dist/{chunk-Z3CVSPO3.cjs → chunk-DYDDAA6O.cjs} +519 -518
- package/dist/{chunk-2RKFMUNW.cjs → chunk-EVMM3JE6.cjs} +64 -63
- package/dist/chunk-EWPR7662.cjs +13 -0
- package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
- package/dist/{chunk-TTVOLEUS.js → chunk-GANIUMRU.js} +89 -2
- package/dist/{chunk-S2FUFMLW.cjs → chunk-HFEYEPOG.cjs} +27 -27
- package/dist/{chunk-LE5WKGJV.cjs → chunk-HTS46FFY.cjs} +3 -3
- package/dist/{chunk-6A43ZDWV.cjs → chunk-IL3ZWNM2.cjs} +4 -4
- package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
- package/dist/{chunk-YC5COB5V.cjs → chunk-ISCZ6UNF.cjs} +85 -89
- package/dist/{chunk-XGHGGBM3.js → chunk-K2BYVPGR.js} +3 -3
- package/dist/{chunk-HWVUR735.cjs → chunk-KSGMZHVV.cjs} +2 -2
- package/dist/{chunk-SGFTTJKO.js → chunk-LO3KCLEF.js} +1 -1
- package/dist/{chunk-MA4Q5RBP.cjs → chunk-NYSMDM4J.cjs} +2 -2
- package/dist/{chunk-67QBMN4R.js → chunk-O3MKJU6A.js} +6 -6
- package/dist/{chunk-APJZBDQN.js → chunk-PSMJYZMV.js} +27 -26
- package/dist/{chunk-JH2SIWPQ.js → chunk-PXAKSPLZ.js} +1586 -1263
- package/dist/{chunk-TBCZCRQ5.js → chunk-Q5327DXK.js} +13 -17
- package/dist/{chunk-EZC2F5OT.cjs → chunk-QF464PPL.cjs} +39 -39
- package/dist/{chunk-UWQWMGJ7.cjs → chunk-RDP5UZXQ.cjs} +888 -565
- package/dist/{chunk-ETYLOZOB.cjs → chunk-RFUOIQSG.cjs} +100 -13
- package/dist/{chunk-DC4RTYWK.cjs → chunk-RZQGIWK3.cjs} +3 -3
- package/dist/{chunk-PQ6HBLZ7.js → chunk-TORERAXD.js} +105 -41
- package/dist/{chunk-6YPTUHM7.js → chunk-URW23QUM.js} +1 -1
- package/dist/{chunk-QBCDSTLE.cjs → chunk-UWJMDFDO.cjs} +18 -18
- package/dist/{chunk-YEMCCYIF.js → chunk-V6B2FBZK.js} +5 -5
- package/dist/{chunk-JIWMBIVZ.js → chunk-VBHGJFA3.js} +10 -10
- package/dist/{chunk-Z5UWW3Z2.cjs → chunk-VF2CJXZ2.cjs} +81 -65
- package/dist/{chunk-DEZDMTBM.js → chunk-VYVPII4W.js} +8 -10
- package/dist/{chunk-MM7MCIXL.js → chunk-VYZCKY5K.js} +9 -9
- package/dist/{chunk-E7YCPY7K.cjs → chunk-XSM46FHD.cjs} +3 -3
- package/dist/{chunk-NZ5BHDFZ.js → chunk-XW3Q623Q.js} +1 -1
- package/dist/{chunk-LOYPRJWA.js → chunk-YK3X74SF.js} +67 -51
- package/dist/{chunk-WALCXC7J.cjs → chunk-ZHD3F2TH.cjs} +3 -3
- package/dist/{chunk-KBJJQFYU.js → chunk-ZPHOQDAE.js} +1 -1
- package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-RKQRSDNE.js} +9 -9
- package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-UQZASXUB.cjs} +10 -10
- package/dist/components/case-studies/index.cjs +23 -23
- package/dist/components/case-studies/index.js +10 -10
- package/dist/components/chat/ask-prompts.d.ts +10 -2
- package/dist/components/chat/ask-prompts.d.ts.map +1 -1
- package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
- package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
- package/dist/components/chat/hooks/index.d.ts +1 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
- package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +23 -6
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +22 -5
- package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +11 -11
- package/dist/components/contact/index.js +10 -10
- package/dist/components/docs/index.cjs +14 -14
- package/dist/components/docs/index.js +13 -13
- package/dist/components/embeds/index.cjs +11 -11
- package/dist/components/embeds/index.js +10 -10
- package/dist/components/faq/faq-ask-card.d.ts +44 -0
- package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
- package/dist/components/faq/faq-document-page.d.ts +5 -1
- package/dist/components/faq/faq-document-page.d.ts.map +1 -1
- package/dist/components/faq/faq-section.d.ts +18 -5
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +13 -12
- package/dist/components/faq/index.d.ts +1 -0
- package/dist/components/faq/index.d.ts.map +1 -1
- package/dist/components/faq/index.js +12 -11
- package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
- package/dist/components/features/index.cjs +10 -10
- package/dist/components/features/index.js +9 -9
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +104 -105
- package/dist/components/help-center-pages/index.js +28 -29
- package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
- package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
- package/dist/components/index.cjs +109 -197
- package/dist/components/index.js +228 -316
- package/dist/components/meeting-scheduler/index.cjs +50 -51
- package/dist/components/meeting-scheduler/index.js +12 -13
- package/dist/components/navigation/index.cjs +13 -13
- package/dist/components/navigation/index.js +12 -12
- package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
- package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +13 -14
- package/dist/components/onboarding-guides/index.js +12 -13
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +5 -7
- package/dist/components/related-content/index.js +4 -6
- package/dist/components/related-content/related-content-section.d.ts +6 -6
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +15 -15
- package/dist/components/tickets/index.js +14 -14
- package/dist/components/ui/index.cjs +26 -10
- package/dist/components/ui/index.js +25 -9
- package/dist/contexts/assistant-runtime-context.d.ts +74 -0
- package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
- package/dist/contexts/index.cjs +7 -1
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +6 -0
- package/dist/{devices-KRCGZMGA.cjs → devices-7Q2EUM7B.cjs} +11 -11
- package/dist/{devices-LHEX7O5T.js → devices-U3Y4IIW4.js} +9 -9
- package/dist/hooks/index.cjs +3 -4
- package/dist/hooks/index.js +2 -3
- package/dist/hooks/use-self-fetch.d.ts +3 -0
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/index.cjs +34 -14
- package/dist/index.js +33 -13
- package/dist/{knowledge-RZSFNR33.js → knowledge-NST53EXE.js} +9 -9
- package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-UYIZ74MA.cjs} +11 -11
- package/dist/{logs-OX3XTVL2.cjs → logs-HTH7X7KV.cjs} +18 -18
- package/dist/{logs-E5DOV5JO.js → logs-JVTRG232.js} +9 -9
- package/dist/{policies-MC2S4S5G.js → policies-DTXTRK56.js} +9 -9
- package/dist/{policies-FOSCIZGK.cjs → policies-MXK2HB4W.cjs} +14 -14
- package/dist/{remote-session-JQ2BPIE3.js → remote-session-LAJZKQBN.js} +3 -3
- package/dist/{remote-session-DRFE5XZE.cjs → remote-session-SKKF4PBV.cjs} +5 -5
- package/dist/{software-update-D4OEIH65.js → software-update-6RHMPM3W.js} +9 -9
- package/dist/{software-update-HOBSTWVO.cjs → software-update-P6BSM6HX.cjs} +14 -14
- package/dist/utils/index.cjs +26 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +25 -3
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/source-icons.d.ts.map +1 -1
- package/dist/utils/trial.d.ts +18 -0
- package/dist/utils/trial.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/chat/ask-prompts.tsx +25 -3
- package/src/components/chat/assistant-ask-prompts.tsx +78 -0
- package/src/components/chat/entity-cards/dispatch.tsx +38 -4
- package/src/components/chat/hooks/index.ts +12 -0
- package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
- package/src/components/chat/index.ts +1 -0
- package/src/components/chat/utils/icon-library.tsx +6 -0
- package/src/components/faq/faq-ask-card.tsx +115 -0
- package/src/components/faq/faq-document-page.tsx +6 -1
- package/src/components/faq/faq-section.tsx +27 -5
- package/src/components/faq/index.ts +1 -0
- package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
- package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
- package/src/components/help-center-pages/trust-center-page.tsx +5 -2
- package/src/components/navigation/mingo-ai-button.tsx +27 -6
- package/src/components/related-content/related-content-section.tsx +46 -47
- package/src/contexts/assistant-runtime-context.tsx +84 -0
- package/src/contexts/index.ts +9 -0
- package/src/hooks/use-self-fetch.ts +7 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/list-url.ts +4 -0
- package/src/utils/source-icons.ts +10 -2
- package/src/utils/trial.ts +19 -0
- package/dist/chunk-AUMKE74M.cjs +0 -16
- package/dist/chunk-G3GRYDMS.js +0 -16
- package/dist/chunk-GEDY7HQI.cjs +0 -85
- package/dist/chunk-YBQQNDC7.js +0 -85
|
@@ -5,7 +5,7 @@ var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkIMTY3GRRcjs = require('./chunk-IMTY3GRR.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
@@ -28,7 +28,8 @@ var _chunkMGHIV4L6cjs = require('./chunk-MGHIV4L6.cjs');
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
|
|
32
|
+
var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
@@ -390,7 +391,7 @@ function useVideoWarmup({
|
|
|
390
391
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
391
392
|
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _5 => _5.endpoints, 'access', _6 => _6.supabaseStorageOrigin])));
|
|
392
393
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
393
|
-
const { ref, isNear } =
|
|
394
|
+
const { ref, isNear } = _chunk7GRPR7XAcjs.useNearViewport.call(void 0, nearMargin);
|
|
394
395
|
_react.useEffect.call(void 0, () => {
|
|
395
396
|
if (!isNear || !videoUrl || !resolvedOrigin) return void 0;
|
|
396
397
|
if (saveDataEnabled()) return void 0;
|
|
@@ -674,7 +675,7 @@ var VIDEO_YOUTUBE_FACADE_KEYS = [
|
|
|
674
675
|
];
|
|
675
676
|
var pickYouTube = (props) => pickForwardedKeys(props, VIDEO_YOUTUBE_FACADE_KEYS);
|
|
676
677
|
function Video(props) {
|
|
677
|
-
const { ref: nearRef, isNear } =
|
|
678
|
+
const { ref: nearRef, isNear } = _chunk7GRPR7XAcjs.useNearViewport.call(void 0, );
|
|
678
679
|
const url = props.url;
|
|
679
680
|
if (!url) return null;
|
|
680
681
|
const effectiveKind = resolveKind(props, url);
|
|
@@ -1613,7 +1614,7 @@ function EntityIcon({
|
|
|
1613
1614
|
}
|
|
1614
1615
|
);
|
|
1615
1616
|
}
|
|
1616
|
-
const Glyph =
|
|
1617
|
+
const Glyph = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, _nullishCoalesce(_optionalChain([icon, 'optionalAccess', _107 => _107.name]), () => ( void 0)));
|
|
1617
1618
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Glyph, { size, className, ..._nullishCoalesce(_optionalChain([icon, 'optionalAccess', _108 => _108.props]), () => ( {})) });
|
|
1618
1619
|
}
|
|
1619
1620
|
|
|
@@ -1888,6 +1889,10 @@ var BUILDERS = {
|
|
|
1888
1889
|
design_doc: (ids, b) => `${b}/api/design-docs?ids=${ids.join(",")}`,
|
|
1889
1890
|
openframe_tenant: (ids, b) => `${b}/api/openframe-tenants?ids=${ids.join(",")}`,
|
|
1890
1891
|
prospect_call: (ids, b) => `${b}/api/prospect-calls?ids=${ids.join(",")}`,
|
|
1892
|
+
// The public website's own pages (live source; ChatRef-shaped items like the objects above).
|
|
1893
|
+
site_page: (ids, b) => `${b}/api/site-pages?ids=${ids.join(",")}`,
|
|
1894
|
+
// The OpenMSP vendor directory (indexed source).
|
|
1895
|
+
vendor: (ids, b) => `${b}/api/vendors/cards?ids=${ids.join(",")}`,
|
|
1891
1896
|
// Code intelligence — per-object card hydration, same `handleEntityCardList`
|
|
1892
1897
|
// shape as the internal objects above.
|
|
1893
1898
|
code_rule: (ids, b) => `${b}/api/code-rules/cards?ids=${ids.join(",")}`,
|
|
@@ -2305,7 +2310,7 @@ function EntityPortraitCard({
|
|
|
2305
2310
|
setMeasured({ src, isWide: img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO });
|
|
2306
2311
|
}
|
|
2307
2312
|
};
|
|
2308
|
-
const edgeColor =
|
|
2313
|
+
const edgeColor = _chunk7GRPR7XAcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
|
|
2309
2314
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunk3ATAYP36cjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: _chunk3ATAYP36cjs.cn.call(void 0, CONTENT_CARD_FRAME_CLASS, "flex h-full flex-col gap-6 p-6"), children: [
|
|
2310
2315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2311
2316
|
"div",
|
|
@@ -2560,7 +2565,7 @@ function AdminContentCard({
|
|
|
2560
2565
|
const [loadedUrl, setLoadedUrl] = _react.useState.call(void 0, null);
|
|
2561
2566
|
const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
|
|
2562
2567
|
const imageLoaded = Boolean(displayUrl) && loadedUrl === displayUrl;
|
|
2563
|
-
const imageBgColor =
|
|
2568
|
+
const imageBgColor = _chunk7GRPR7XAcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
|
|
2564
2569
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk3ATAYP36cjs.cn.call(void 0, CONTENT_CARD_FRAME_CLASS, "flex h-full flex-col", className), children: [
|
|
2565
2570
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-[3/2] w-full shrink-0 overflow-hidden", style: { backgroundColor: imageBgColor }, children: displayUrl ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
2566
2571
|
!imageLoaded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 animate-pulse bg-ods-border/20" }),
|
|
@@ -2983,7 +2988,7 @@ function VideoHoverPreviewSurface({
|
|
|
2983
2988
|
const el = rootElRef.current;
|
|
2984
2989
|
if (!el || typeof IntersectionObserver === "undefined") return void 0;
|
|
2985
2990
|
const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _136 => _136[0], 'optionalAccess', _137 => _137.isIntersecting]), () => ( false))), {
|
|
2986
|
-
rootMargin:
|
|
2991
|
+
rootMargin: _chunk7GRPR7XAcjs.NEAR_VIEWPORT_ROOT_MARGIN
|
|
2987
2992
|
});
|
|
2988
2993
|
io.observe(el);
|
|
2989
2994
|
return () => io.disconnect();
|
|
@@ -3454,7 +3459,7 @@ function useEntityCardPlaceholder({
|
|
|
3454
3459
|
siteName = "",
|
|
3455
3460
|
aspect = "wide"
|
|
3456
3461
|
}) {
|
|
3457
|
-
const derived =
|
|
3462
|
+
const derived = _chunk7GRPR7XAcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
|
|
3458
3463
|
return placeholderUrl !== void 0 ? placeholderUrl : derived;
|
|
3459
3464
|
}
|
|
3460
3465
|
|
|
@@ -4698,7 +4703,7 @@ function RoadmapCard({
|
|
|
4698
4703
|
]
|
|
4699
4704
|
}
|
|
4700
4705
|
) : null,
|
|
4701
|
-
item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4706
|
+
item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMTY3GRRcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
|
|
4702
4707
|
] }),
|
|
4703
4708
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
|
|
4704
4709
|
] })
|
|
@@ -4785,7 +4790,7 @@ function RoadmapCard({
|
|
|
4785
4790
|
)
|
|
4786
4791
|
] }),
|
|
4787
4792
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
4788
|
-
item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4793
|
+
item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMTY3GRRcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
|
|
4789
4794
|
item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4790
4795
|
_chunkDFQYAYBHcjs.Button,
|
|
4791
4796
|
{
|
|
@@ -5005,7 +5010,7 @@ function ProgramEditorialCard({
|
|
|
5005
5010
|
playable,
|
|
5006
5011
|
className
|
|
5007
5012
|
}) {
|
|
5008
|
-
const edgeColor =
|
|
5013
|
+
const edgeColor = _chunk7GRPR7XAcjs.useImageEdgeColor.call(void 0, feature ? cover : null, "transparent");
|
|
5009
5014
|
const meta = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: EDITORIAL_META_ROW, children: [
|
|
5010
5015
|
date && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-flamingo-pink", children: date }),
|
|
5011
5016
|
[typeMeta, feature ? null : _optionalChain([profile, 'optionalAccess', _242 => _242.name])].filter((part) => !!part).map((part) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-s)] text-ods-text-secondary", children: [
|
|
@@ -5318,6 +5323,88 @@ function ProgramCard({
|
|
|
5318
5323
|
] });
|
|
5319
5324
|
}
|
|
5320
5325
|
|
|
5326
|
+
// src/hooks/use-self-fetch.ts
|
|
5327
|
+
|
|
5328
|
+
function useSelfFetch(url, options) {
|
|
5329
|
+
const initialData = _optionalChain([options, 'optionalAccess', _245 => _245.initialData]);
|
|
5330
|
+
const revalidateOnVisibleAfterMs = _optionalChain([options, 'optionalAccess', _246 => _246.revalidateOnVisibleAfterMs]);
|
|
5331
|
+
const [data, setData] = _react.useState.call(void 0, _nullishCoalesce(initialData, () => ( null)));
|
|
5332
|
+
const [dataUrl, setDataUrl] = _react.useState.call(void 0, initialData !== void 0 ? url : null);
|
|
5333
|
+
const [isLoading, setIsLoading] = _react.useState.call(void 0, initialData === void 0 && url !== null);
|
|
5334
|
+
const [error, setError] = _react.useState.call(void 0, false);
|
|
5335
|
+
const [reloadKey, setReloadKey] = _react.useState.call(void 0, 0);
|
|
5336
|
+
const [mountedAt] = _react.useState.call(void 0, () => Date.now());
|
|
5337
|
+
const dataAtRef = _react.useRef.call(void 0, initialData !== void 0 ? mountedAt : 0);
|
|
5338
|
+
const dataUrlRef = _react.useRef.call(void 0, initialData !== void 0 ? url : null);
|
|
5339
|
+
const [syncedProps, setSyncedProps] = _react.useState.call(void 0, { url, initialData });
|
|
5340
|
+
if (syncedProps.url !== url || syncedProps.initialData !== initialData) {
|
|
5341
|
+
setSyncedProps({ url, initialData });
|
|
5342
|
+
if (syncedProps.initialData !== initialData && initialData !== void 0) {
|
|
5343
|
+
setData(initialData);
|
|
5344
|
+
setDataUrl(url);
|
|
5345
|
+
}
|
|
5346
|
+
if (syncedProps.url !== url && url === null) {
|
|
5347
|
+
setIsLoading(false);
|
|
5348
|
+
}
|
|
5349
|
+
}
|
|
5350
|
+
_react.useEffect.call(void 0, () => {
|
|
5351
|
+
if (url === null) return void 0;
|
|
5352
|
+
if (dataUrlRef.current === url) return void 0;
|
|
5353
|
+
const ctrl = new AbortController();
|
|
5354
|
+
let cancelled = false;
|
|
5355
|
+
async function load() {
|
|
5356
|
+
try {
|
|
5357
|
+
setIsLoading(true);
|
|
5358
|
+
setError(false);
|
|
5359
|
+
const res = await _chunk7GRPR7XAcjs.contentFetch.call(void 0, url, { signal: ctrl.signal });
|
|
5360
|
+
if (!res.ok) throw new Error(`Request failed (${res.status})`);
|
|
5361
|
+
const json = await res.json();
|
|
5362
|
+
if (!cancelled) {
|
|
5363
|
+
setData(json);
|
|
5364
|
+
setDataUrl(url);
|
|
5365
|
+
dataUrlRef.current = url;
|
|
5366
|
+
dataAtRef.current = Date.now();
|
|
5367
|
+
}
|
|
5368
|
+
} catch (err) {
|
|
5369
|
+
if (cancelled || _optionalChain([err, 'optionalAccess', _247 => _247.name]) === "AbortError") return;
|
|
5370
|
+
setError(true);
|
|
5371
|
+
console.error("useSelfFetch:", url, err);
|
|
5372
|
+
} finally {
|
|
5373
|
+
if (!cancelled) setIsLoading(false);
|
|
5374
|
+
}
|
|
5375
|
+
}
|
|
5376
|
+
void load();
|
|
5377
|
+
return () => {
|
|
5378
|
+
cancelled = true;
|
|
5379
|
+
ctrl.abort();
|
|
5380
|
+
};
|
|
5381
|
+
}, [url, reloadKey]);
|
|
5382
|
+
const forceReload = () => {
|
|
5383
|
+
dataUrlRef.current = null;
|
|
5384
|
+
setReloadKey((k) => k + 1);
|
|
5385
|
+
};
|
|
5386
|
+
_react.useEffect.call(void 0, () => {
|
|
5387
|
+
if (!revalidateOnVisibleAfterMs || url === null) return void 0;
|
|
5388
|
+
const onVisible = () => {
|
|
5389
|
+
if (document.visibilityState !== "visible") return;
|
|
5390
|
+
if (Date.now() - dataAtRef.current < revalidateOnVisibleAfterMs) return;
|
|
5391
|
+
forceReload();
|
|
5392
|
+
};
|
|
5393
|
+
document.addEventListener("visibilitychange", onVisible);
|
|
5394
|
+
return () => document.removeEventListener("visibilitychange", onVisible);
|
|
5395
|
+
}, [url, revalidateOnVisibleAfterMs]);
|
|
5396
|
+
return {
|
|
5397
|
+
data,
|
|
5398
|
+
dataUrl,
|
|
5399
|
+
setData,
|
|
5400
|
+
isLoading,
|
|
5401
|
+
error,
|
|
5402
|
+
// Force a re-fetch of the current url (error-retry affordance).
|
|
5403
|
+
reload: forceReload
|
|
5404
|
+
};
|
|
5405
|
+
}
|
|
5406
|
+
|
|
5407
|
+
|
|
5321
5408
|
|
|
5322
5409
|
|
|
5323
5410
|
|
|
@@ -5502,4 +5589,4 @@ function ProgramCard({
|
|
|
5502
5589
|
|
|
5503
5590
|
|
|
5504
5591
|
|
|
5505
|
-
exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.InteractiveCard = InteractiveCard; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.ImageGalleryModal = ImageGalleryModal; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.CardHoverPlay = CardHoverPlay; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.BADGE_PALETTE = BADGE_PALETTE; exports.isBadgePaletteKey = isBadgePaletteKey; exports.pickBadgePaletteColor = pickBadgePaletteColor; exports.PaletteBadge = PaletteBadge; exports.DepartmentBadge = DepartmentBadge; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.skipsImageOptimizer = skipsImageOptimizer; exports.EntityIcon = EntityIcon; exports.escapeRegExp = escapeRegExp; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.resolveReleaseCover = resolveReleaseCover; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.getStatusColorScheme = getStatusColorScheme; exports.isCrossOriginUrl = isCrossOriginUrl; exports.TRUST_FRAMEWORK_MONITORING = TRUST_FRAMEWORK_MONITORING; exports.trustFrameworkMonitoringEntry = trustFrameworkMonitoringEntry; exports.trustFrameworkBadge = trustFrameworkBadge; exports.TRUST_CENTER_SECTIONS = TRUST_CENTER_SECTIONS; exports.TRUST_CENTER_TITLE = TRUST_CENTER_TITLE; exports.TRUST_CENTER_TAGLINE = TRUST_CENTER_TAGLINE; exports.TRUST_CENTER_API_PATH = TRUST_CENTER_API_PATH; exports.TRUST_CENTER_CACHE_SECONDS = TRUST_CENTER_CACHE_SECONDS; exports.TRUST_CENTER_DOCUMENT_CACHE_SECONDS = TRUST_CENTER_DOCUMENT_CACHE_SECONDS; exports.TRUST_CENTER_CARD_ID = TRUST_CENTER_CARD_ID; exports.TRUST_CENTER_DOCUMENT_TYPE = TRUST_CENTER_DOCUMENT_TYPE; exports.TRUST_CENTER_PAGE_PATH = TRUST_CENTER_PAGE_PATH; exports.isTrustCenterMonitored = isTrustCenterMonitored; exports.trustFrameworksSummary = trustFrameworksSummary; exports.trustCenterDocumentUrl = trustCenterDocumentUrl; exports.TRUST_CENTER_SEARCH_PARAM = TRUST_CENTER_SEARCH_PARAM; exports.TRUST_CENTER_SEARCH_MAX_CHARS = TRUST_CENTER_SEARCH_MAX_CHARS; exports.TRUST_CENTER_SEARCH_DEBOUNCE_MS = TRUST_CENTER_SEARCH_DEBOUNCE_MS; exports.TRUST_CENTER_DOMAIN_PARAM = TRUST_CENTER_DOMAIN_PARAM; exports.normalizeTrustControlQuery = normalizeTrustControlQuery; exports.trustControlQueryMatcher = trustControlQueryMatcher; exports.filterTrustControlDomains = filterTrustControlDomains; exports.trustCenterControlsUrl = trustCenterControlsUrl; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.extractCardItems = extractCardItems; exports.buildSuggestionUrl = buildSuggestionUrl; exports.MEDIA_TYPE = MEDIA_TYPE; exports.isVideoMedia = isVideoMedia; exports.isImageMedia = isImageMedia; exports.isPublishableMediaType = isPublishableMediaType; exports.partitionMediaByType = partitionMediaByType; exports.IMAGE_FILE_ACCEPT = IMAGE_FILE_ACCEPT; exports.MEDIA_FILE_ACCEPT = MEDIA_FILE_ACCEPT; exports.fileMediaType = fileMediaType; exports.mediaNameKey = mediaNameKey; exports.fileContentKey = fileContentKey; exports.programStr = programStr; exports.programDateInstant = programDateInstant; exports.webinarTiming = webinarTiming; exports.programMetaLine = programMetaLine; exports.eventAudience = eventAudience; exports.programMetaFormatters = programMetaFormatters; exports.PROGRAM_META_RENDERERS = PROGRAM_META_RENDERERS; exports.decideNewTab = decideNewTab; exports.isSameOriginAbsoluteHref = isSameOriginAbsoluteHref; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.CONTENT_CARD_FRAME_CLASS = CONTENT_CARD_FRAME_CLASS; exports.CONTENT_CARD_SKELETON_FRAME_CLASS = CONTENT_CARD_SKELETON_FRAME_CLASS; exports.ContentCardFrame = ContentCardFrame; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.ADMIN_CONTENT_CARD_GRID_CLASS = ADMIN_CONTENT_CARD_GRID_CLASS; exports.AdminContentCardSkeleton = AdminContentCardSkeleton; exports.AdminContentCardGrid = AdminContentCardGrid; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = EmployeeEntryCardSkeleton; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.HowIWorkCard = HowIWorkCard; exports.HowIWorkCardSkeleton = HowIWorkCardSkeleton; exports.AiPromptCard = AiPromptCard; exports.AiPromptCardSkeleton = AiPromptCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.headingAccentClass = headingAccentClass; exports.accentSentenceMarks = accentSentenceMarks; exports.SectionHeading = SectionHeading; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.sortBitesByFeaturedAtDesc = sortBitesByFeaturedAtDesc; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.UNSAFE_URL_CHARS = UNSAFE_URL_CHARS; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.useEntityCardLink = useEntityCardLink; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.programItemToStripProfile = programItemToStripProfile; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard;
|
|
5592
|
+
exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.InteractiveCard = InteractiveCard; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.ImageGalleryModal = ImageGalleryModal; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.CardHoverPlay = CardHoverPlay; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.BADGE_PALETTE = BADGE_PALETTE; exports.isBadgePaletteKey = isBadgePaletteKey; exports.pickBadgePaletteColor = pickBadgePaletteColor; exports.PaletteBadge = PaletteBadge; exports.DepartmentBadge = DepartmentBadge; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.skipsImageOptimizer = skipsImageOptimizer; exports.EntityIcon = EntityIcon; exports.escapeRegExp = escapeRegExp; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.resolveReleaseCover = resolveReleaseCover; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.getStatusColorScheme = getStatusColorScheme; exports.isCrossOriginUrl = isCrossOriginUrl; exports.TRUST_FRAMEWORK_MONITORING = TRUST_FRAMEWORK_MONITORING; exports.trustFrameworkMonitoringEntry = trustFrameworkMonitoringEntry; exports.trustFrameworkBadge = trustFrameworkBadge; exports.TRUST_CENTER_SECTIONS = TRUST_CENTER_SECTIONS; exports.TRUST_CENTER_TITLE = TRUST_CENTER_TITLE; exports.TRUST_CENTER_TAGLINE = TRUST_CENTER_TAGLINE; exports.TRUST_CENTER_API_PATH = TRUST_CENTER_API_PATH; exports.TRUST_CENTER_CACHE_SECONDS = TRUST_CENTER_CACHE_SECONDS; exports.TRUST_CENTER_DOCUMENT_CACHE_SECONDS = TRUST_CENTER_DOCUMENT_CACHE_SECONDS; exports.TRUST_CENTER_CARD_ID = TRUST_CENTER_CARD_ID; exports.TRUST_CENTER_DOCUMENT_TYPE = TRUST_CENTER_DOCUMENT_TYPE; exports.TRUST_CENTER_PAGE_PATH = TRUST_CENTER_PAGE_PATH; exports.isTrustCenterMonitored = isTrustCenterMonitored; exports.trustFrameworksSummary = trustFrameworksSummary; exports.trustCenterDocumentUrl = trustCenterDocumentUrl; exports.TRUST_CENTER_SEARCH_PARAM = TRUST_CENTER_SEARCH_PARAM; exports.TRUST_CENTER_SEARCH_MAX_CHARS = TRUST_CENTER_SEARCH_MAX_CHARS; exports.TRUST_CENTER_SEARCH_DEBOUNCE_MS = TRUST_CENTER_SEARCH_DEBOUNCE_MS; exports.TRUST_CENTER_DOMAIN_PARAM = TRUST_CENTER_DOMAIN_PARAM; exports.normalizeTrustControlQuery = normalizeTrustControlQuery; exports.trustControlQueryMatcher = trustControlQueryMatcher; exports.filterTrustControlDomains = filterTrustControlDomains; exports.trustCenterControlsUrl = trustCenterControlsUrl; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.extractCardItems = extractCardItems; exports.buildSuggestionUrl = buildSuggestionUrl; exports.MEDIA_TYPE = MEDIA_TYPE; exports.isVideoMedia = isVideoMedia; exports.isImageMedia = isImageMedia; exports.isPublishableMediaType = isPublishableMediaType; exports.partitionMediaByType = partitionMediaByType; exports.IMAGE_FILE_ACCEPT = IMAGE_FILE_ACCEPT; exports.MEDIA_FILE_ACCEPT = MEDIA_FILE_ACCEPT; exports.fileMediaType = fileMediaType; exports.mediaNameKey = mediaNameKey; exports.fileContentKey = fileContentKey; exports.programStr = programStr; exports.programDateInstant = programDateInstant; exports.webinarTiming = webinarTiming; exports.programMetaLine = programMetaLine; exports.eventAudience = eventAudience; exports.programMetaFormatters = programMetaFormatters; exports.PROGRAM_META_RENDERERS = PROGRAM_META_RENDERERS; exports.useSelfFetch = useSelfFetch; exports.decideNewTab = decideNewTab; exports.isSameOriginAbsoluteHref = isSameOriginAbsoluteHref; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.CONTENT_CARD_FRAME_CLASS = CONTENT_CARD_FRAME_CLASS; exports.CONTENT_CARD_SKELETON_FRAME_CLASS = CONTENT_CARD_SKELETON_FRAME_CLASS; exports.ContentCardFrame = ContentCardFrame; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.ADMIN_CONTENT_CARD_GRID_CLASS = ADMIN_CONTENT_CARD_GRID_CLASS; exports.AdminContentCardSkeleton = AdminContentCardSkeleton; exports.AdminContentCardGrid = AdminContentCardGrid; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = EmployeeEntryCardSkeleton; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.HowIWorkCard = HowIWorkCard; exports.HowIWorkCardSkeleton = HowIWorkCardSkeleton; exports.AiPromptCard = AiPromptCard; exports.AiPromptCardSkeleton = AiPromptCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.headingAccentClass = headingAccentClass; exports.accentSentenceMarks = accentSentenceMarks; exports.SectionHeading = SectionHeading; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.sortBitesByFeaturedAtDesc = sortBitesByFeaturedAtDesc; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.UNSAFE_URL_CHARS = UNSAFE_URL_CHARS; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.useEntityCardLink = useEntityCardLink; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.programItemToStripProfile = programItemToStripProfile; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkIMTY3GRRcjs = require('./chunk-IMTY3GRR.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -440,7 +440,7 @@ function SlashCommandSuggestions({
|
|
|
440
440
|
className
|
|
441
441
|
),
|
|
442
442
|
children: commands.map((cmd, idx) => {
|
|
443
|
-
const Icon =
|
|
443
|
+
const Icon = _chunkIMTY3GRRcjs.resolveIcon.call(void 0, cmd.iconName);
|
|
444
444
|
const legacyMeta = !cmd.iconName && cmd.primarySourceId && resolveSourceIcon ? resolveSourceIcon(cmd.primarySourceId) : void 0;
|
|
445
445
|
const LegacyIcon = _optionalChain([legacyMeta, 'optionalAccess', _4 => _4.Icon]);
|
|
446
446
|
const title = _nullishCoalesce(_nullishCoalesce(cmd.label, () => ( _optionalChain([legacyMeta, 'optionalAccess', _5 => _5.label]))), () => ( cmd.id));
|
|
@@ -924,7 +924,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
|
|
|
924
924
|
className: "flex min-h-11 w-full items-center justify-center gap-[var(--spacing-system-xs)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] md:min-h-12",
|
|
925
925
|
children: [
|
|
926
926
|
awaitingTeam && awaitingTeam.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
927
|
-
|
|
927
|
+
_chunkIMTY3GRRcjs.AvatarStack,
|
|
928
928
|
{
|
|
929
929
|
people: awaitingTeam,
|
|
930
930
|
total: awaitingTeamCount,
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
useSelfFetch
|
|
4
|
-
} from "./chunk-YBQQNDC7.js";
|
|
5
2
|
import {
|
|
6
3
|
PageShell
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7IOU6BJE.js";
|
|
8
5
|
import {
|
|
9
6
|
PageLayout
|
|
10
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YK3X74SF.js";
|
|
11
8
|
import {
|
|
12
9
|
useScrollToHash
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3HZ6XSZC.js";
|
|
14
11
|
import {
|
|
12
|
+
ASK_PROMPTS_DEFAULT_COUNT,
|
|
13
|
+
AskCard,
|
|
14
|
+
assistantAvailable,
|
|
15
15
|
faqItemAnchor,
|
|
16
16
|
faqSectionSlug,
|
|
17
|
-
parseFaqHash
|
|
18
|
-
|
|
17
|
+
parseFaqHash,
|
|
18
|
+
useAskPrompts,
|
|
19
|
+
useAssistantOpen,
|
|
20
|
+
useShownAskPromptIds
|
|
21
|
+
} from "./chunk-PXAKSPLZ.js";
|
|
22
|
+
import {
|
|
23
|
+
AssistantRuntimeContext,
|
|
24
|
+
useAssistantRuntime
|
|
25
|
+
} from "./chunk-AFTRPEXO.js";
|
|
19
26
|
import {
|
|
20
27
|
STICKY_HEADER_OFFSET_PX,
|
|
21
|
-
navigateSamePageHash
|
|
28
|
+
navigateSamePageHash,
|
|
29
|
+
useInView
|
|
22
30
|
} from "./chunk-CMZ3QTFQ.js";
|
|
23
31
|
import {
|
|
24
32
|
serializeJsonLd
|
|
@@ -28,8 +36,9 @@ import {
|
|
|
28
36
|
} from "./chunk-GY4IZG22.js";
|
|
29
37
|
import {
|
|
30
38
|
SECTION_HEADING_CLASS,
|
|
31
|
-
buildSuggestionUrl
|
|
32
|
-
|
|
39
|
+
buildSuggestionUrl,
|
|
40
|
+
useSelfFetch
|
|
41
|
+
} from "./chunk-GANIUMRU.js";
|
|
33
42
|
import {
|
|
34
43
|
Chevron02DownIcon
|
|
35
44
|
} from "./chunk-NCPTID44.js";
|
|
@@ -41,7 +50,7 @@ import {
|
|
|
41
50
|
} from "./chunk-7RXWKTAP.js";
|
|
42
51
|
|
|
43
52
|
// src/components/faq/faq-section.tsx
|
|
44
|
-
import { useCallback, useEffect, useMemo, useRef, useState as
|
|
53
|
+
import { useCallback, useEffect, useMemo as useMemo2, useRef, useState as useState3 } from "react";
|
|
45
54
|
|
|
46
55
|
// src/components/faq-accordion.tsx
|
|
47
56
|
import { useState } from "react";
|
|
@@ -109,6 +118,54 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
|
|
|
109
118
|
}) });
|
|
110
119
|
}
|
|
111
120
|
|
|
121
|
+
// src/components/faq/faq-ask-card.tsx
|
|
122
|
+
import { useMemo, useState as useState2 } from "react";
|
|
123
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
124
|
+
var DEFAULT_ASK_CARD = {
|
|
125
|
+
title: "Still deciding?",
|
|
126
|
+
description: "{assistant} answers from our docs and customer stories."
|
|
127
|
+
};
|
|
128
|
+
var PICK_ROOT_MARGIN = "600px";
|
|
129
|
+
var fillAssistant = (text, name) => text.split("{assistant}").join(name);
|
|
130
|
+
function faqAskCardShown(assistant) {
|
|
131
|
+
return assistantAvailable(assistant) && !!assistant.name;
|
|
132
|
+
}
|
|
133
|
+
function FaqAskCard({ topic, exclude, count, title, description, onOpen }) {
|
|
134
|
+
const assistant = useAssistantRuntime();
|
|
135
|
+
const { ref, inView } = useInView({ rootMargin: PICK_ROOT_MARGIN });
|
|
136
|
+
const [reached, setReached] = useState2(false);
|
|
137
|
+
if (inView && !reached) setReached(true);
|
|
138
|
+
const shownElsewhere = useShownAskPromptIds();
|
|
139
|
+
const excluded = exclude === void 0 ? shownElsewhere : exclude;
|
|
140
|
+
const slots = count ?? assistant?.askCard?.count ?? ASK_PROMPTS_DEFAULT_COUNT;
|
|
141
|
+
const { prompts, isLoading, supported } = useAskPrompts({
|
|
142
|
+
topic,
|
|
143
|
+
count: slots,
|
|
144
|
+
exclude: excluded ?? void 0,
|
|
145
|
+
enabled: reached && excluded !== null
|
|
146
|
+
});
|
|
147
|
+
const open = useAssistantOpen(topic, onOpen);
|
|
148
|
+
const scoped = useMemo(() => assistant ? { ...assistant, open } : null, [assistant, open]);
|
|
149
|
+
if (!faqAskCardShown(assistant) || !assistant.name) return null;
|
|
150
|
+
const name = assistant.name;
|
|
151
|
+
const cardDescription = description ?? assistant.askCard?.description ?? DEFAULT_ASK_CARD.description;
|
|
152
|
+
return /* @__PURE__ */ jsx2(AssistantRuntimeContext.Provider, { value: scoped, children: /* @__PURE__ */ jsx2("div", { ref, children: /* @__PURE__ */ jsx2(
|
|
153
|
+
AskCard,
|
|
154
|
+
{
|
|
155
|
+
title: fillAssistant(title ?? assistant.askCard?.title ?? DEFAULT_ASK_CARD.title, name),
|
|
156
|
+
description: cardDescription ? fillAssistant(cardDescription, name) : void 0,
|
|
157
|
+
prompts,
|
|
158
|
+
count: supported ? slots : 0,
|
|
159
|
+
loading: isLoading,
|
|
160
|
+
source: assistant.source,
|
|
161
|
+
label: name,
|
|
162
|
+
icon: assistant.icon,
|
|
163
|
+
onOpen: open,
|
|
164
|
+
onAsk: (prompt) => assistant.onAsk?.({ promptId: prompt.id, topic })
|
|
165
|
+
}
|
|
166
|
+
) }) });
|
|
167
|
+
}
|
|
168
|
+
|
|
112
169
|
// src/components/faq/json-ld.ts
|
|
113
170
|
var DEFAULT_NAME = "Frequently Asked Questions";
|
|
114
171
|
var DEFAULT_DESCRIPTION = "Answers to common questions.";
|
|
@@ -136,7 +193,7 @@ function buildFaqJsonLdFromFaqs(faqs, opts = {}) {
|
|
|
136
193
|
}
|
|
137
194
|
|
|
138
195
|
// src/components/faq/faq-section.tsx
|
|
139
|
-
import { Fragment, jsx as
|
|
196
|
+
import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
140
197
|
var DEFAULT_HEADING_TEXT = "Frequently Asked Questions";
|
|
141
198
|
function buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl = "") {
|
|
142
199
|
return buildSuggestionUrl("/api/faqs", { apiBaseUrl, entityType, entityId, count: minResults });
|
|
@@ -172,8 +229,8 @@ function GroupedFaqList({
|
|
|
172
229
|
aside
|
|
173
230
|
}) {
|
|
174
231
|
const CategoryHeading = categoryHeadingAs;
|
|
175
|
-
const navGroups =
|
|
176
|
-
const [activeSlug, setActiveSlug] =
|
|
232
|
+
const navGroups = useMemo2(() => groups.filter((g) => g.slug), [groups]);
|
|
233
|
+
const [activeSlug, setActiveSlug] = useState3(navGroups[0]?.slug ?? null);
|
|
177
234
|
const slugKey = navGroups.map((g) => g.slug).join("|");
|
|
178
235
|
const navGroupsRef = useRef(navGroups);
|
|
179
236
|
useEffect(() => {
|
|
@@ -207,14 +264,14 @@ function GroupedFaqList({
|
|
|
207
264
|
}
|
|
208
265
|
return () => observer.disconnect();
|
|
209
266
|
}, [slugKey]);
|
|
210
|
-
const [hashTarget, setHashTarget] =
|
|
267
|
+
const [hashTarget, setHashTarget] = useState3(null);
|
|
211
268
|
useEffect(() => {
|
|
212
269
|
const refresh = () => setHashTarget(parseFaqHash(window.location.hash));
|
|
213
270
|
refresh();
|
|
214
271
|
window.addEventListener("hashchange", refresh);
|
|
215
272
|
return () => window.removeEventListener("hashchange", refresh);
|
|
216
273
|
}, []);
|
|
217
|
-
const defaultOpenByGroupKey =
|
|
274
|
+
const defaultOpenByGroupKey = useMemo2(() => {
|
|
218
275
|
if (hashTarget?.kind !== "item") return null;
|
|
219
276
|
const targetId = hashTarget.rawId;
|
|
220
277
|
const result = /* @__PURE__ */ new Map();
|
|
@@ -227,7 +284,7 @@ function GroupedFaqList({
|
|
|
227
284
|
const accordionKeySuffix = hashTarget?.kind === "item" ? `item:${hashTarget.rawId}` : "default";
|
|
228
285
|
const scrollDep = `${groups.length}|` + (hashTarget?.kind === "item" ? `item:${hashTarget.rawId}` : hashTarget?.kind === "section" ? `section:${hashTarget.slug}` : "none");
|
|
229
286
|
useScrollToHash(scrollDep, { headerOffset: STICKY_HEADER_OFFSET_PX });
|
|
230
|
-
const [pillSyncedHash, setPillSyncedHash] =
|
|
287
|
+
const [pillSyncedHash, setPillSyncedHash] = useState3(hashTarget);
|
|
231
288
|
if (pillSyncedHash !== hashTarget) {
|
|
232
289
|
setPillSyncedHash(hashTarget);
|
|
233
290
|
if (hashTarget?.kind === "section") setActiveSlug(hashTarget.slug);
|
|
@@ -239,9 +296,9 @@ function GroupedFaqList({
|
|
|
239
296
|
history: "replace"
|
|
240
297
|
});
|
|
241
298
|
}, []);
|
|
242
|
-
const categoryNav = navGroups.length > 1 && /* @__PURE__ */
|
|
299
|
+
const categoryNav = navGroups.length > 1 && /* @__PURE__ */ jsx3("nav", { "aria-label": "FAQ categories", className: "flex flex-wrap gap-2", children: navGroups.map((group) => {
|
|
243
300
|
const isActive = group.slug === activeSlug;
|
|
244
|
-
return /* @__PURE__ */
|
|
301
|
+
return /* @__PURE__ */ jsx3(
|
|
245
302
|
next_link_default,
|
|
246
303
|
{
|
|
247
304
|
href: `#${group.slug}`,
|
|
@@ -256,11 +313,11 @@ function GroupedFaqList({
|
|
|
256
313
|
group.slug
|
|
257
314
|
);
|
|
258
315
|
}) });
|
|
259
|
-
const questions = /* @__PURE__ */
|
|
316
|
+
const questions = /* @__PURE__ */ jsx3("div", { className: "space-y-10", children: groups.map((group) => {
|
|
260
317
|
const key = groupKey(group);
|
|
261
318
|
return /* @__PURE__ */ jsxs2("section", { id: group.slug ?? void 0, className: "scroll-mt-24 space-y-4", children: [
|
|
262
|
-
group.section && /* @__PURE__ */
|
|
263
|
-
/* @__PURE__ */
|
|
319
|
+
group.section && /* @__PURE__ */ jsx3(CategoryHeading, { className: SECTION_HEADING_CLASS, children: group.section }),
|
|
320
|
+
/* @__PURE__ */ jsx3(
|
|
264
321
|
FaqAccordion,
|
|
265
322
|
{
|
|
266
323
|
items: group.items,
|
|
@@ -281,16 +338,16 @@ function GroupedFaqList({
|
|
|
281
338
|
heading,
|
|
282
339
|
categoryNav
|
|
283
340
|
] }),
|
|
284
|
-
/* @__PURE__ */
|
|
285
|
-
/* @__PURE__ */
|
|
341
|
+
/* @__PURE__ */ jsx3("div", { className: "content-lg:col-start-2 content-lg:row-span-2 content-lg:row-start-1", children: questions }),
|
|
342
|
+
/* @__PURE__ */ jsx3("div", { className: "content-lg:col-start-1 content-lg:row-start-2", children: aside })
|
|
286
343
|
] });
|
|
287
344
|
}
|
|
288
345
|
function FaqSkeleton() {
|
|
289
346
|
return /* @__PURE__ */ jsxs2("div", { className: "animate-pulse space-y-8", children: [
|
|
290
|
-
/* @__PURE__ */
|
|
291
|
-
/* @__PURE__ */
|
|
292
|
-
/* @__PURE__ */
|
|
293
|
-
/* @__PURE__ */
|
|
347
|
+
/* @__PURE__ */ jsx3("div", { className: "h-12 w-2/3 rounded bg-ods-border content-md:h-14" }),
|
|
348
|
+
/* @__PURE__ */ jsx3("div", { className: "w-full divide-y divide-ods-border overflow-hidden rounded-md border border-ods-border bg-transparent", children: Array.from({ length: 8 }).map((_, idx) => /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between gap-6 px-6 py-4 content-md:gap-10", children: [
|
|
349
|
+
/* @__PURE__ */ jsx3("div", { className: "h-6 w-5/6 rounded bg-ods-border" }),
|
|
350
|
+
/* @__PURE__ */ jsx3("div", { className: "size-6 rounded bg-ods-border" })
|
|
294
351
|
] }, idx)) })
|
|
295
352
|
] });
|
|
296
353
|
}
|
|
@@ -304,27 +361,31 @@ function FaqSection({
|
|
|
304
361
|
className,
|
|
305
362
|
minResults,
|
|
306
363
|
apiBaseUrl = "",
|
|
307
|
-
aside
|
|
364
|
+
aside: asideProp,
|
|
365
|
+
ask
|
|
308
366
|
}) {
|
|
367
|
+
const assistant = useAssistantRuntime();
|
|
368
|
+
const askTopic = ask === false ? void 0 : ask?.topic || entityType;
|
|
369
|
+
const aside = asideProp ?? (ask !== false && askTopic && faqAskCardShown(assistant) ? /* @__PURE__ */ jsx3(FaqAskCard, { ...ask, topic: askTopic }) : void 0);
|
|
309
370
|
const url = buildFaqsUrl(entityType, entityId, minResults, apiBaseUrl);
|
|
310
|
-
const initialData =
|
|
371
|
+
const initialData = useMemo2(
|
|
311
372
|
() => initialFaqs ? { faqs: initialFaqs } : void 0,
|
|
312
373
|
[initialFaqs]
|
|
313
374
|
);
|
|
314
375
|
const { data, isLoading, error } = useSelfFetch(url, { initialData });
|
|
315
|
-
const faqs =
|
|
316
|
-
const groups =
|
|
317
|
-
const headingNode = heading === void 0 ? /* @__PURE__ */
|
|
376
|
+
const faqs = useMemo2(() => data?.faqs ?? [], [data?.faqs]);
|
|
377
|
+
const groups = useMemo2(() => faqs.length > 0 ? groupFaqsBySection(faqs) : [], [faqs]);
|
|
378
|
+
const headingNode = heading === void 0 ? /* @__PURE__ */ jsx3("h2", { className: SECTION_HEADING_CLASS, children: DEFAULT_HEADING_TEXT }) : heading;
|
|
318
379
|
if (error) return null;
|
|
319
380
|
if (!isLoading && faqs.length === 0) return null;
|
|
320
381
|
if (isLoading && faqs.length === 0) {
|
|
321
|
-
return /* @__PURE__ */
|
|
382
|
+
return /* @__PURE__ */ jsx3("div", { className, children: /* @__PURE__ */ jsx3(FaqSkeleton, {}) });
|
|
322
383
|
}
|
|
323
384
|
const schema = emitJsonLd ? buildFaqJsonLdFromFaqs(faqs, jsonLd) : null;
|
|
324
385
|
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
325
386
|
/* @__PURE__ */ jsxs2("section", { className: className ?? "space-y-10", children: [
|
|
326
387
|
!aside && headingNode,
|
|
327
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ jsx3(
|
|
328
389
|
GroupedFaqList,
|
|
329
390
|
{
|
|
330
391
|
groups,
|
|
@@ -334,7 +395,7 @@ function FaqSection({
|
|
|
334
395
|
}
|
|
335
396
|
)
|
|
336
397
|
] }),
|
|
337
|
-
schema && /* @__PURE__ */
|
|
398
|
+
schema && /* @__PURE__ */ jsx3(
|
|
338
399
|
"script",
|
|
339
400
|
{
|
|
340
401
|
type: "application/ld+json",
|
|
@@ -345,7 +406,7 @@ function FaqSection({
|
|
|
345
406
|
}
|
|
346
407
|
|
|
347
408
|
// src/components/faq/faq-document-page.tsx
|
|
348
|
-
import { jsx as
|
|
409
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
349
410
|
function FaqDocumentPage({
|
|
350
411
|
title = "Frequently Asked Questions",
|
|
351
412
|
subtitle,
|
|
@@ -357,6 +418,7 @@ function FaqDocumentPage({
|
|
|
357
418
|
entityType,
|
|
358
419
|
entityId,
|
|
359
420
|
minResults,
|
|
421
|
+
ask,
|
|
360
422
|
shell = true
|
|
361
423
|
}) {
|
|
362
424
|
const router = useRouter();
|
|
@@ -364,7 +426,7 @@ function FaqDocumentPage({
|
|
|
364
426
|
label: backButton?.label ?? "Back to home",
|
|
365
427
|
onClick: () => router.push(backButton?.href ?? "/")
|
|
366
428
|
};
|
|
367
|
-
const inner = /* @__PURE__ */
|
|
429
|
+
const inner = /* @__PURE__ */ jsx4(PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: /* @__PURE__ */ jsx4(
|
|
368
430
|
FaqSection,
|
|
369
431
|
{
|
|
370
432
|
initialFaqs,
|
|
@@ -374,14 +436,16 @@ function FaqDocumentPage({
|
|
|
374
436
|
apiBaseUrl,
|
|
375
437
|
entityType,
|
|
376
438
|
entityId,
|
|
377
|
-
minResults
|
|
439
|
+
minResults,
|
|
440
|
+
ask
|
|
378
441
|
}
|
|
379
442
|
) });
|
|
380
|
-
return shell ? /* @__PURE__ */
|
|
443
|
+
return shell ? /* @__PURE__ */ jsx4(PageShell, { children: inner }) : /* @__PURE__ */ jsx4("div", { className: "page-shell-content", children: inner });
|
|
381
444
|
}
|
|
382
445
|
|
|
383
446
|
export {
|
|
384
447
|
FaqAccordion,
|
|
448
|
+
FaqAskCard,
|
|
385
449
|
FaqSection,
|
|
386
450
|
FaqDocumentPage
|
|
387
451
|
};
|