@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.
Files changed (175) hide show
  1. package/dist/{chunk-MIQLUUVF.cjs → chunk-2C72EWQR.cjs} +93 -29
  2. package/dist/{chunk-IWCPXJEE.js → chunk-3HZ6XSZC.js} +2 -4
  3. package/dist/{chunk-ZXCZYMN4.cjs → chunk-4SIZCHVZ.cjs} +13 -15
  4. package/dist/{chunk-BOTM373R.cjs → chunk-5XDCCQ4A.cjs} +15 -15
  5. package/dist/{chunk-DXCBOZVT.cjs → chunk-6BLN5WDS.cjs} +41 -41
  6. package/dist/{chunk-DCD5WZUF.js → chunk-6W46LVK4.js} +5 -5
  7. package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
  8. package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
  9. package/dist/{chunk-45F7PXUI.js → chunk-7HYEQKN6.js} +6 -6
  10. package/dist/{chunk-N2PF5CFX.js → chunk-7IOU6BJE.js} +12 -11
  11. package/dist/{chunk-BWIN42ZA.cjs → chunk-7LPR4RZ3.cjs} +34 -36
  12. package/dist/chunk-AFTRPEXO.js +13 -0
  13. package/dist/{chunk-JPD4NXH6.js → chunk-AZRI4XBP.js} +1 -1
  14. package/dist/{chunk-4QFWGLZO.js → chunk-B2N4YX66.js} +1 -1
  15. package/dist/{chunk-QXZCLQNV.js → chunk-B5LNX4GZ.js} +2 -2
  16. package/dist/{chunk-GN4A7PMB.cjs → chunk-DHNJSQGX.cjs} +91 -91
  17. package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-DOPOHO6H.cjs} +20 -20
  18. package/dist/{chunk-Z3CVSPO3.cjs → chunk-DYDDAA6O.cjs} +519 -518
  19. package/dist/{chunk-2RKFMUNW.cjs → chunk-EVMM3JE6.cjs} +64 -63
  20. package/dist/chunk-EWPR7662.cjs +13 -0
  21. package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
  22. package/dist/{chunk-TTVOLEUS.js → chunk-GANIUMRU.js} +89 -2
  23. package/dist/{chunk-S2FUFMLW.cjs → chunk-HFEYEPOG.cjs} +27 -27
  24. package/dist/{chunk-LE5WKGJV.cjs → chunk-HTS46FFY.cjs} +3 -3
  25. package/dist/{chunk-6A43ZDWV.cjs → chunk-IL3ZWNM2.cjs} +4 -4
  26. package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
  27. package/dist/{chunk-YC5COB5V.cjs → chunk-ISCZ6UNF.cjs} +85 -89
  28. package/dist/{chunk-XGHGGBM3.js → chunk-K2BYVPGR.js} +3 -3
  29. package/dist/{chunk-HWVUR735.cjs → chunk-KSGMZHVV.cjs} +2 -2
  30. package/dist/{chunk-SGFTTJKO.js → chunk-LO3KCLEF.js} +1 -1
  31. package/dist/{chunk-MA4Q5RBP.cjs → chunk-NYSMDM4J.cjs} +2 -2
  32. package/dist/{chunk-67QBMN4R.js → chunk-O3MKJU6A.js} +6 -6
  33. package/dist/{chunk-APJZBDQN.js → chunk-PSMJYZMV.js} +27 -26
  34. package/dist/{chunk-JH2SIWPQ.js → chunk-PXAKSPLZ.js} +1586 -1263
  35. package/dist/{chunk-TBCZCRQ5.js → chunk-Q5327DXK.js} +13 -17
  36. package/dist/{chunk-EZC2F5OT.cjs → chunk-QF464PPL.cjs} +39 -39
  37. package/dist/{chunk-UWQWMGJ7.cjs → chunk-RDP5UZXQ.cjs} +888 -565
  38. package/dist/{chunk-ETYLOZOB.cjs → chunk-RFUOIQSG.cjs} +100 -13
  39. package/dist/{chunk-DC4RTYWK.cjs → chunk-RZQGIWK3.cjs} +3 -3
  40. package/dist/{chunk-PQ6HBLZ7.js → chunk-TORERAXD.js} +105 -41
  41. package/dist/{chunk-6YPTUHM7.js → chunk-URW23QUM.js} +1 -1
  42. package/dist/{chunk-QBCDSTLE.cjs → chunk-UWJMDFDO.cjs} +18 -18
  43. package/dist/{chunk-YEMCCYIF.js → chunk-V6B2FBZK.js} +5 -5
  44. package/dist/{chunk-JIWMBIVZ.js → chunk-VBHGJFA3.js} +10 -10
  45. package/dist/{chunk-Z5UWW3Z2.cjs → chunk-VF2CJXZ2.cjs} +81 -65
  46. package/dist/{chunk-DEZDMTBM.js → chunk-VYVPII4W.js} +8 -10
  47. package/dist/{chunk-MM7MCIXL.js → chunk-VYZCKY5K.js} +9 -9
  48. package/dist/{chunk-E7YCPY7K.cjs → chunk-XSM46FHD.cjs} +3 -3
  49. package/dist/{chunk-NZ5BHDFZ.js → chunk-XW3Q623Q.js} +1 -1
  50. package/dist/{chunk-LOYPRJWA.js → chunk-YK3X74SF.js} +67 -51
  51. package/dist/{chunk-WALCXC7J.cjs → chunk-ZHD3F2TH.cjs} +3 -3
  52. package/dist/{chunk-KBJJQFYU.js → chunk-ZPHOQDAE.js} +1 -1
  53. package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-RKQRSDNE.js} +9 -9
  54. package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-UQZASXUB.cjs} +10 -10
  55. package/dist/components/case-studies/index.cjs +23 -23
  56. package/dist/components/case-studies/index.js +10 -10
  57. package/dist/components/chat/ask-prompts.d.ts +10 -2
  58. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  59. package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
  60. package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
  61. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  62. package/dist/components/chat/hooks/index.d.ts +1 -0
  63. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  64. package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
  65. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
  66. package/dist/components/chat/index.cjs +23 -6
  67. package/dist/components/chat/index.d.ts +1 -0
  68. package/dist/components/chat/index.d.ts.map +1 -1
  69. package/dist/components/chat/index.js +22 -5
  70. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  71. package/dist/components/contact/index.cjs +11 -11
  72. package/dist/components/contact/index.js +10 -10
  73. package/dist/components/docs/index.cjs +14 -14
  74. package/dist/components/docs/index.js +13 -13
  75. package/dist/components/embeds/index.cjs +11 -11
  76. package/dist/components/embeds/index.js +10 -10
  77. package/dist/components/faq/faq-ask-card.d.ts +44 -0
  78. package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
  79. package/dist/components/faq/faq-document-page.d.ts +5 -1
  80. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  81. package/dist/components/faq/faq-section.d.ts +18 -5
  82. package/dist/components/faq/faq-section.d.ts.map +1 -1
  83. package/dist/components/faq/index.cjs +13 -12
  84. package/dist/components/faq/index.d.ts +1 -0
  85. package/dist/components/faq/index.d.ts.map +1 -1
  86. package/dist/components/faq/index.js +12 -11
  87. package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
  88. package/dist/components/features/index.cjs +10 -10
  89. package/dist/components/features/index.js +9 -9
  90. package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
  91. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  92. package/dist/components/help-center-pages/index.cjs +104 -105
  93. package/dist/components/help-center-pages/index.js +28 -29
  94. package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
  95. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  96. package/dist/components/index.cjs +109 -197
  97. package/dist/components/index.js +228 -316
  98. package/dist/components/meeting-scheduler/index.cjs +50 -51
  99. package/dist/components/meeting-scheduler/index.js +12 -13
  100. package/dist/components/navigation/index.cjs +13 -13
  101. package/dist/components/navigation/index.js +12 -12
  102. package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
  103. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  104. package/dist/components/onboarding-guides/index.cjs +13 -14
  105. package/dist/components/onboarding-guides/index.js +12 -13
  106. package/dist/components/product-demo/index.cjs +7 -7
  107. package/dist/components/product-demo/index.js +7 -7
  108. package/dist/components/related-content/index.cjs +5 -7
  109. package/dist/components/related-content/index.js +4 -6
  110. package/dist/components/related-content/related-content-section.d.ts +6 -6
  111. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  112. package/dist/components/tickets/index.cjs +15 -15
  113. package/dist/components/tickets/index.js +14 -14
  114. package/dist/components/ui/index.cjs +26 -10
  115. package/dist/components/ui/index.js +25 -9
  116. package/dist/contexts/assistant-runtime-context.d.ts +74 -0
  117. package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
  118. package/dist/contexts/index.cjs +7 -1
  119. package/dist/contexts/index.d.ts +1 -0
  120. package/dist/contexts/index.d.ts.map +1 -1
  121. package/dist/contexts/index.js +6 -0
  122. package/dist/{devices-KRCGZMGA.cjs → devices-7Q2EUM7B.cjs} +11 -11
  123. package/dist/{devices-LHEX7O5T.js → devices-U3Y4IIW4.js} +9 -9
  124. package/dist/hooks/index.cjs +3 -4
  125. package/dist/hooks/index.js +2 -3
  126. package/dist/hooks/use-self-fetch.d.ts +3 -0
  127. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  128. package/dist/index.cjs +34 -14
  129. package/dist/index.js +33 -13
  130. package/dist/{knowledge-RZSFNR33.js → knowledge-NST53EXE.js} +9 -9
  131. package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-UYIZ74MA.cjs} +11 -11
  132. package/dist/{logs-OX3XTVL2.cjs → logs-HTH7X7KV.cjs} +18 -18
  133. package/dist/{logs-E5DOV5JO.js → logs-JVTRG232.js} +9 -9
  134. package/dist/{policies-MC2S4S5G.js → policies-DTXTRK56.js} +9 -9
  135. package/dist/{policies-FOSCIZGK.cjs → policies-MXK2HB4W.cjs} +14 -14
  136. package/dist/{remote-session-JQ2BPIE3.js → remote-session-LAJZKQBN.js} +3 -3
  137. package/dist/{remote-session-DRFE5XZE.cjs → remote-session-SKKF4PBV.cjs} +5 -5
  138. package/dist/{software-update-D4OEIH65.js → software-update-6RHMPM3W.js} +9 -9
  139. package/dist/{software-update-HOBSTWVO.cjs → software-update-P6BSM6HX.cjs} +14 -14
  140. package/dist/utils/index.cjs +26 -2
  141. package/dist/utils/index.d.ts +1 -0
  142. package/dist/utils/index.d.ts.map +1 -1
  143. package/dist/utils/index.js +25 -3
  144. package/dist/utils/list-url.d.ts.map +1 -1
  145. package/dist/utils/source-icons.d.ts.map +1 -1
  146. package/dist/utils/trial.d.ts +18 -0
  147. package/dist/utils/trial.d.ts.map +1 -0
  148. package/package.json +1 -1
  149. package/src/components/chat/ask-prompts.tsx +25 -3
  150. package/src/components/chat/assistant-ask-prompts.tsx +78 -0
  151. package/src/components/chat/entity-cards/dispatch.tsx +38 -4
  152. package/src/components/chat/hooks/index.ts +12 -0
  153. package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
  154. package/src/components/chat/index.ts +1 -0
  155. package/src/components/chat/utils/icon-library.tsx +6 -0
  156. package/src/components/faq/faq-ask-card.tsx +115 -0
  157. package/src/components/faq/faq-document-page.tsx +6 -1
  158. package/src/components/faq/faq-section.tsx +27 -5
  159. package/src/components/faq/index.ts +1 -0
  160. package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
  161. package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
  162. package/src/components/help-center-pages/trust-center-page.tsx +5 -2
  163. package/src/components/navigation/mingo-ai-button.tsx +27 -6
  164. package/src/components/related-content/related-content-section.tsx +46 -47
  165. package/src/contexts/assistant-runtime-context.tsx +84 -0
  166. package/src/contexts/index.ts +9 -0
  167. package/src/hooks/use-self-fetch.ts +7 -0
  168. package/src/utils/index.ts +1 -0
  169. package/src/utils/list-url.ts +4 -0
  170. package/src/utils/source-icons.ts +10 -2
  171. package/src/utils/trial.ts +19 -0
  172. package/dist/chunk-AUMKE74M.cjs +0 -16
  173. package/dist/chunk-G3GRYDMS.js +0 -16
  174. package/dist/chunk-GEDY7HQI.cjs +0 -85
  175. 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 _chunkPSVSEN4Jcjs = require('./chunk-PSVSEN4J.cjs');
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
- var _chunkAECTRMGQcjs = require('./chunk-AECTRMGQ.cjs');
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 } = _chunkAECTRMGQcjs.useNearViewport.call(void 0, nearMargin);
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 } = _chunkAECTRMGQcjs.useNearViewport.call(void 0, );
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 = _chunkPSVSEN4Jcjs.resolveIcon.call(void 0, _nullishCoalesce(_optionalChain([icon, 'optionalAccess', _107 => _107.name]), () => ( void 0)));
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 = _chunkAECTRMGQcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
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 = _chunkAECTRMGQcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
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: _chunkAECTRMGQcjs.NEAR_VIEWPORT_ROOT_MARGIN
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 = _chunkAECTRMGQcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
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, _chunkPSVSEN4Jcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
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, _chunkPSVSEN4Jcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
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 = _chunkAECTRMGQcjs.useImageEdgeColor.call(void 0, feature ? cover : null, "transparent");
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 _chunkPSVSEN4Jcjs = require('./chunk-PSVSEN4J.cjs');
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 = _chunkPSVSEN4Jcjs.resolveIcon.call(void 0, cmd.iconName);
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
- _chunkPSVSEN4Jcjs.AvatarStack,
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-N2PF5CFX.js";
4
+ } from "./chunk-7IOU6BJE.js";
8
5
  import {
9
6
  PageLayout
10
- } from "./chunk-LOYPRJWA.js";
7
+ } from "./chunk-YK3X74SF.js";
11
8
  import {
12
9
  useScrollToHash
13
- } from "./chunk-IWCPXJEE.js";
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
- } from "./chunk-JH2SIWPQ.js";
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
- } from "./chunk-TTVOLEUS.js";
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 useState2 } from "react";
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 jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
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 = useMemo(() => groups.filter((g) => g.slug), [groups]);
176
- const [activeSlug, setActiveSlug] = useState2(navGroups[0]?.slug ?? null);
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] = useState2(null);
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 = useMemo(() => {
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] = useState2(hashTarget);
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__ */ jsx2("nav", { "aria-label": "FAQ categories", className: "flex flex-wrap gap-2", children: navGroups.map((group) => {
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__ */ jsx2(
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__ */ jsx2("div", { className: "space-y-10", children: groups.map((group) => {
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__ */ jsx2(CategoryHeading, { className: SECTION_HEADING_CLASS, children: group.section }),
263
- /* @__PURE__ */ jsx2(
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__ */ jsx2("div", { className: "content-lg:col-start-2 content-lg:row-span-2 content-lg:row-start-1", children: questions }),
285
- /* @__PURE__ */ jsx2("div", { className: "content-lg:col-start-1 content-lg:row-start-2", children: aside })
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__ */ jsx2("div", { className: "h-12 w-2/3 rounded bg-ods-border content-md:h-14" }),
291
- /* @__PURE__ */ jsx2("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: [
292
- /* @__PURE__ */ jsx2("div", { className: "h-6 w-5/6 rounded bg-ods-border" }),
293
- /* @__PURE__ */ jsx2("div", { className: "size-6 rounded bg-ods-border" })
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 = useMemo(
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 = useMemo(() => data?.faqs ?? [], [data?.faqs]);
316
- const groups = useMemo(() => faqs.length > 0 ? groupFaqsBySection(faqs) : [], [faqs]);
317
- const headingNode = heading === void 0 ? /* @__PURE__ */ jsx2("h2", { className: SECTION_HEADING_CLASS, children: DEFAULT_HEADING_TEXT }) : heading;
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__ */ jsx2("div", { className, children: /* @__PURE__ */ jsx2(FaqSkeleton, {}) });
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__ */ jsx2(
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__ */ jsx2(
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 jsx3 } from "react/jsx-runtime";
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__ */ jsx3(PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: /* @__PURE__ */ jsx3(
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__ */ jsx3(PageShell, { children: inner }) : /* @__PURE__ */ jsx3("div", { className: "page-shell-content", children: inner });
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
  };
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-GY4IZG22.js";
10
10
  import {
11
11
  withQuery
12
- } from "./chunk-AGVXKD4K.js";
12
+ } from "./chunk-FSQQZFVG.js";
13
13
  import {
14
14
  Button
15
15
  } from "./chunk-YDPKUAP4.js";