@flamingo-stack/openframe-frontend-core 0.0.773 → 0.0.775

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 (135) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-VW2QQKQ6.cjs → chunk-36GYLB3Z.cjs} +15 -15
  3. package/dist/{chunk-5HBGBLJT.cjs → chunk-3XLDYEQD.cjs} +74 -63
  4. package/dist/{chunk-7P2QXBWE.cjs → chunk-42JGOJCB.cjs} +234 -213
  5. package/dist/{chunk-I4ZVMNHO.cjs → chunk-4LFB4YY3.cjs} +6 -6
  6. package/dist/{chunk-JJNOAYD4.cjs → chunk-5AOKXXHV.cjs} +4 -4
  7. package/dist/{chunk-MT5Z2LSV.cjs → chunk-5YJWT5ZQ.cjs} +72 -72
  8. package/dist/{chunk-42YLIZFD.cjs → chunk-6SJYFUGD.cjs} +22 -22
  9. package/dist/{chunk-BPAYT72L.cjs → chunk-BTVO676B.cjs} +148 -131
  10. package/dist/{chunk-TZ4GKUO2.cjs → chunk-CZIMISAR.cjs} +5 -1
  11. package/dist/{chunk-XVFM6SJA.cjs → chunk-E64HPPRH.cjs} +31 -31
  12. package/dist/{chunk-CTRJNTYU.cjs → chunk-EQBJHJS7.cjs} +2 -2
  13. package/dist/{chunk-6LLF2QCS.cjs → chunk-F67SEXCW.cjs} +39 -39
  14. package/dist/{chunk-HEEK42BL.cjs → chunk-FHTTRWAK.cjs} +81 -81
  15. package/dist/{chunk-NRFNZ35Z.cjs → chunk-IQQ3SLUK.cjs} +19 -19
  16. package/dist/{chunk-RNLRS4ID.cjs → chunk-KKAY6GPU.cjs} +2 -2
  17. package/dist/{chunk-ILZEXCJH.cjs → chunk-KWZ62LPZ.cjs} +124 -104
  18. package/dist/{chunk-KDMWXXLE.cjs → chunk-L5CKY5WA.cjs} +15 -15
  19. package/dist/{chunk-CW3ML76U.cjs → chunk-NTPX5GXI.cjs} +4 -0
  20. package/dist/{chunk-NPCFVTA2.cjs → chunk-ODF3KCRK.cjs} +31 -31
  21. package/dist/{chunk-YSKX42LW.cjs → chunk-PMX6QNNN.cjs} +12 -12
  22. package/dist/{chunk-2A56MLLL.cjs → chunk-SWEPHSIP.cjs} +4 -4
  23. package/dist/{chunk-7J4YWDT6.cjs → chunk-TF2XYDH3.cjs} +3 -3
  24. package/dist/{chunk-KSCEAIBS.cjs → chunk-TOPGBOCN.cjs} +2 -2
  25. package/dist/{chunk-FPCGKH5K.cjs → chunk-TUXPFF4P.cjs} +31 -29
  26. package/dist/{chunk-SE76YGR3.cjs → chunk-USMR73ND.cjs} +4 -4
  27. package/dist/{chunk-BMFU2CUL.cjs → chunk-VAGZJRYV.cjs} +4 -4
  28. package/dist/{chunk-3FREBLAJ.cjs → chunk-VDXBACD3.cjs} +47 -45
  29. package/dist/{chunk-X5Z4HRH7.cjs → chunk-VISK6LKE.cjs} +2 -2
  30. package/dist/{chunk-5V7BIUGA.cjs → chunk-Y3EBUFX4.cjs} +92 -21
  31. package/dist/{cloud-tenants-EE5ULFOK.cjs → cloud-tenants-ISGAMTJD.cjs} +11 -11
  32. package/dist/components/authors/author-detail-view.d.ts.map +1 -1
  33. package/dist/components/authors/author-detail-view.js +12 -2
  34. package/dist/components/case-studies/index.cjs +28 -28
  35. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  36. package/dist/components/chat/ask-prompts.js +28 -19
  37. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +3 -1
  38. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
  39. package/dist/components/chat/entity-cards/entity-portrait-card.js +2 -0
  40. package/dist/components/chat/entity-cards/program-card.d.ts +6 -1
  41. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  42. package/dist/components/chat/entity-cards/program-card.js +19 -2
  43. package/dist/components/chat/index.cjs +10 -8
  44. package/dist/components/chat/index.d.ts +1 -1
  45. package/dist/components/chat/index.d.ts.map +1 -1
  46. package/dist/components/chat/index.js +10 -4
  47. package/dist/components/chat/utils/ask-ai-events.d.ts +10 -0
  48. package/dist/components/chat/utils/ask-ai-events.d.ts.map +1 -1
  49. package/dist/components/chat/utils/ask-ai-events.js +21 -1
  50. package/dist/components/contact/index.cjs +12 -12
  51. package/dist/components/docs/index.cjs +15 -15
  52. package/dist/components/embeds/index.cjs +12 -12
  53. package/dist/components/faq/index.cjs +13 -13
  54. package/dist/components/features/index.cjs +11 -11
  55. package/dist/components/features/video-hover-preview.d.ts.map +1 -1
  56. package/dist/components/features/video-hover-preview.js +5 -2
  57. package/dist/components/features/video-shared.d.ts +2 -1
  58. package/dist/components/features/video-shared.d.ts.map +1 -1
  59. package/dist/components/features/video.d.ts.map +1 -1
  60. package/dist/components/features/video.js +64 -13
  61. package/dist/components/help-center-pages/index.cjs +100 -100
  62. package/dist/components/index.cjs +74 -62
  63. package/dist/components/meeting-scheduler/index.cjs +46 -46
  64. package/dist/components/navigation/index.cjs +14 -14
  65. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  66. package/dist/components/navigation/mingo-ai-button.js +2 -1
  67. package/dist/components/navigation/site-header.d.ts.map +1 -1
  68. package/dist/components/navigation/site-header.js +3 -1
  69. package/dist/components/onboarding-guides/index.cjs +14 -14
  70. package/dist/components/product-demo/index.cjs +20 -20
  71. package/dist/components/related-content/card-registry.d.ts +5 -0
  72. package/dist/components/related-content/card-registry.d.ts.map +1 -1
  73. package/dist/components/related-content/card-registry.js +2 -0
  74. package/dist/components/related-content/index.cjs +7 -6
  75. package/dist/components/related-content/index.d.ts +2 -1
  76. package/dist/components/related-content/index.d.ts.map +1 -1
  77. package/dist/components/related-content/index.js +2 -2
  78. package/dist/components/related-content/related-content-section.d.ts +8 -10
  79. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  80. package/dist/components/related-content/related-content-section.js +20 -11
  81. package/dist/components/tickets/index.cjs +17 -17
  82. package/dist/components/ui/index.cjs +13 -11
  83. package/dist/components/ui/photo-wall.d.ts +16 -1
  84. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  85. package/dist/components/ui/photo-wall.js +24 -9
  86. package/dist/components/ui/tab-navigation.d.ts +8 -1
  87. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  88. package/dist/components/ui/tab-navigation.js +9 -3
  89. package/dist/{devices-EBGGHEGR.cjs → devices-AHJX6ACJ.cjs} +12 -12
  90. package/dist/{embeddable-chat-HCT4QV35.cjs → embeddable-chat-DI7ZZTBP.cjs} +75 -75
  91. package/dist/hooks/index.cjs +4 -4
  92. package/dist/hooks/use-near-viewport.d.ts.map +1 -1
  93. package/dist/hooks/use-near-viewport.js +4 -0
  94. package/dist/index.cjs +23 -15
  95. package/dist/{knowledge-5ZSMKKTL.cjs → knowledge-FH5GVRVP.cjs} +12 -12
  96. package/dist/{logs-GUV3BMGC.cjs → logs-JBIHHLUQ.cjs} +19 -19
  97. package/dist/{policies-HPMTDOAS.cjs → policies-XLJ2ABY5.cjs} +15 -15
  98. package/dist/{scripts-QYYKCIUW.cjs → scripts-CQLXM7PP.cjs} +16 -16
  99. package/dist/{software-update-NC2KZKEI.cjs → software-update-7NYZ7L76.cjs} +14 -14
  100. package/dist/utils/content-ref-groups.d.ts +8 -0
  101. package/dist/utils/content-ref-groups.d.ts.map +1 -1
  102. package/dist/utils/content-ref-groups.js +2 -0
  103. package/dist/utils/dismiss-cookie.d.ts +14 -0
  104. package/dist/utils/dismiss-cookie.d.ts.map +1 -1
  105. package/dist/utils/dismiss-cookie.js +4 -0
  106. package/dist/utils/index.cjs +10 -0
  107. package/dist/utils/index.d.ts +1 -1
  108. package/dist/utils/index.d.ts.map +1 -1
  109. package/dist/utils/index.js +2 -0
  110. package/dist/utils/visitor-os.d.ts +9 -0
  111. package/dist/utils/visitor-os.d.ts.map +1 -1
  112. package/dist/utils/visitor-os.js +4 -0
  113. package/dist/{video-file-player-COXRF4M5.cjs → video-file-player-4TXA7BZF.cjs} +3 -3
  114. package/package.json +1 -1
  115. package/src/components/authors/author-detail-view.tsx +10 -2
  116. package/src/components/chat/ask-prompts.tsx +6 -1
  117. package/src/components/chat/entity-cards/entity-portrait-card.tsx +4 -0
  118. package/src/components/chat/entity-cards/program-card.tsx +24 -2
  119. package/src/components/chat/index.ts +16 -9
  120. package/src/components/chat/utils/ask-ai-events.ts +26 -0
  121. package/src/components/features/video-hover-preview.tsx +46 -37
  122. package/src/components/features/video-shared.tsx +2 -1
  123. package/src/components/features/video.tsx +102 -19
  124. package/src/components/navigation/mingo-ai-button.tsx +2 -1
  125. package/src/components/navigation/site-header.tsx +3 -1
  126. package/src/components/related-content/card-registry.tsx +7 -0
  127. package/src/components/related-content/index.ts +2 -1
  128. package/src/components/related-content/related-content-section.tsx +38 -14
  129. package/src/components/ui/photo-wall.tsx +43 -10
  130. package/src/components/ui/tab-navigation.tsx +18 -3
  131. package/src/hooks/use-near-viewport.ts +6 -0
  132. package/src/utils/content-ref-groups.ts +9 -0
  133. package/src/utils/dismiss-cookie.ts +17 -0
  134. package/src/utils/index.ts +1 -0
  135. package/src/utils/visitor-os.ts +12 -0
@@ -49,7 +49,7 @@ var _chunk3LW5TD54cjs = require('./chunk-3LW5TD54.cjs');
49
49
 
50
50
 
51
51
 
52
- var _chunkCW3ML76Ucjs = require('./chunk-CW3ML76U.cjs');
52
+ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
53
53
 
54
54
 
55
55
  var _chunkVFZFCRALcjs = require('./chunk-VFZFCRAL.cjs');
@@ -305,12 +305,13 @@ function ImageGalleryModal({ images, isOpen, onClose, initialIndex = 0 }) {
305
305
 
306
306
 
307
307
 
308
+
308
309
  var filePlayer = null;
309
310
  var filePlayerLoad = null;
310
311
  var filePlayerListeners = /* @__PURE__ */ new Set();
311
312
  function loadFilePlayer() {
312
313
  if (filePlayer || filePlayerLoad) return;
313
- filePlayerLoad = Promise.resolve().then(() => _interopRequireWildcard(require("./video-file-player-COXRF4M5.cjs"))).then((module) => {
314
+ filePlayerLoad = Promise.resolve().then(() => _interopRequireWildcard(require("./video-file-player-4TXA7BZF.cjs"))).then((module) => {
314
315
  filePlayer = module.default;
315
316
  for (const listener of filePlayerListeners) listener();
316
317
  }).catch(() => void 0).finally(() => {
@@ -326,24 +327,70 @@ function subscribeToFilePlayer(listener) {
326
327
  }
327
328
  var loadedFilePlayer = () => filePlayer;
328
329
  var noFilePlayer = () => null;
329
- function FilePlayerFallback({ poster, className }) {
330
+ var PosterBox = _react.forwardRef.call(void 0, function PosterBoxView({ poster, className, priority, fill }, ref) {
330
331
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
331
332
  "div",
332
333
  {
334
+ ref,
333
335
  "aria-hidden": "true",
334
- className,
335
- style: {
336
- width: "100%",
337
- height: "100%",
338
- ...poster ? { backgroundImage: `url(${poster})`, backgroundSize: "cover", backgroundPosition: "center" } : {}
339
- }
336
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "relative overflow-hidden", className),
337
+ style: fill ? { width: "100%", height: "100%" } : void 0,
338
+ children: poster ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: poster, alt: "", fill: true, sizes: "100vw", priority, unoptimized: true, className: "object-cover" }) : null
340
339
  }
341
340
  );
341
+ });
342
+ function FilePlayerFallback({
343
+ poster,
344
+ className,
345
+ priority
346
+ }) {
347
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PosterBox, { poster, className, priority, fill: true });
348
+ }
349
+ function waitsForPlay(props) {
350
+ return !props.autoPlay && !props.autoPlayUnmuted && !props.playOnHover && props.playWhenHovered === void 0 && props.startTime === void 0 && !props.playerHandleRef && !props.chromeless;
351
+ }
352
+ function FilePlayer({
353
+ title,
354
+ priority,
355
+ ...props
356
+ }) {
357
+ const [facade] = _react.useState.call(void 0, () => waitsForPlay(props));
358
+ const [pressed, setPressed] = _react.useState.call(void 0, false);
359
+ if (facade && !pressed) {
360
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "relative", props.className), style: { width: "100%", height: "100%" }, children: [
361
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FilePlayerFallback, { poster: props.poster, className: "absolute inset-0", priority }),
362
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
363
+ _chunkTF5D5MNOcjs.Button,
364
+ {
365
+ type: "button",
366
+ variant: "glyph",
367
+ size: "wrap",
368
+ "aria-label": title ? `Play: ${title}` : "Play video",
369
+ onPointerEnter: loadFilePlayer,
370
+ onFocus: loadFilePlayer,
371
+ onTouchStart: loadFilePlayer,
372
+ onClick: () => {
373
+ loadFilePlayer();
374
+ setPressed(true);
375
+ },
376
+ className: "group absolute inset-0 rounded-none",
377
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
378
+ _chunkSETFUCZAcjs.VideoPlayBadge,
379
+ {
380
+ size: "lg",
381
+ className: "transition-transform duration-200 group-hover:scale-110 group-hover:text-ods-accent"
382
+ }
383
+ )
384
+ }
385
+ )
386
+ ] });
387
+ }
388
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadedFilePlayer, { ...props, priority, ...facade ? { autoPlayUnmuted: true } : {} });
342
389
  }
343
- function FilePlayer(props) {
390
+ function LoadedFilePlayer({ priority, ...props }) {
344
391
  const arrived = _react.useSyncExternalStore.call(void 0, subscribeToFilePlayer, loadedFilePlayer, noFilePlayer);
345
392
  if (arrived) return _react.createElement.call(void 0, arrived, props);
346
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FilePlayerFallback, { poster: props.poster, className: props.className });
393
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FilePlayerFallback, { poster: props.poster, className: props.className, priority });
347
394
  }
348
395
  var YT_HOSTS = /* @__PURE__ */ new Set([
349
396
  "youtube.com",
@@ -381,22 +428,22 @@ function extractYouTubeId(url) {
381
428
  return m ? m[1] : null;
382
429
  }
383
430
  function Video(props) {
384
- const { ref: nearRef, isNear } = _chunkCW3ML76Ucjs.useNearViewport.call(void 0, );
431
+ const { ref: nearRef, isNear } = _chunkNTPX5GXIcjs.useNearViewport.call(void 0, );
385
432
  const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
386
433
  const url = props.url;
387
434
  const layout = _nullishCoalesce(props.layout, () => ( "native"));
388
435
  if (loading && !url) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoSkeleton, { layout, className: props.className });
389
436
  if (!url) return null;
390
437
  const effectiveKind = resolveKind(props, url);
391
- if (props.lazy && !isNear) {
438
+ if ((_nullishCoalesce(props.lazy, () => ( true))) && !isNear) {
392
439
  return wrapWithLayout(
393
440
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
394
- "div",
441
+ PosterBox,
395
442
  {
396
443
  ref: nearRef,
444
+ poster: props.poster,
397
445
  className: props.className,
398
- style: props.poster ? { backgroundImage: `url(${props.poster})`, backgroundSize: "cover", backgroundPosition: "center" } : void 0,
399
- "aria-hidden": "true"
446
+ priority: "priority" in props ? props.priority : void 0
400
447
  }
401
448
  ),
402
449
  layout
@@ -426,6 +473,8 @@ function Video(props) {
426
473
  {
427
474
  url,
428
475
  poster: props.poster,
476
+ title: props.title,
477
+ priority: props.priority,
429
478
  muted: props.muted,
430
479
  ..._chunkSETFUCZAcjs.pickFilePlayback.call(void 0, props),
431
480
  className: props.className
@@ -1668,6 +1717,7 @@ function EntityPortraitCard({
1668
1717
  title,
1669
1718
  titleClassName,
1670
1719
  person,
1720
+ priority,
1671
1721
  className
1672
1722
  }) {
1673
1723
  const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
@@ -1696,6 +1746,7 @@ function EntityPortraitCard({
1696
1746
  className: _chunk65VVJSQZcjs.cn.call(void 0, "h-full w-full", isWide === false ? "object-contain" : "object-cover"),
1697
1747
  sizes: "(min-width: 800px) 400px, 100vw",
1698
1748
  fill: true,
1749
+ priority,
1699
1750
  unoptimized: true,
1700
1751
  onLoad: onMediaLoad,
1701
1752
  onError: onMediaError
@@ -2192,12 +2243,15 @@ function VideoHoverPreviewSurface({
2192
2243
  const el = rootElRef.current;
2193
2244
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
2194
2245
  const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _48 => _48[0], 'optionalAccess', _49 => _49.isIntersecting]), () => ( false))), {
2195
- rootMargin: _chunkCW3ML76Ucjs.NEAR_VIEWPORT_ROOT_MARGIN
2246
+ rootMargin: _chunkNTPX5GXIcjs.NEAR_VIEWPORT_ROOT_MARGIN
2196
2247
  });
2197
2248
  io.observe(el);
2198
2249
  return () => io.disconnect();
2199
2250
  }, [gateControlled]);
2200
2251
  const showMedia = continuation || (gateControlled ? playerMounted : isNear);
2252
+ const [engaged, setEngaged] = _react.useState.call(void 0, false);
2253
+ if ((active || continuation) && !engaged) setEngaged(true);
2254
+ const showPlayer = continuation || engaged;
2201
2255
  const { src: posterSrc, onError: onPosterError } = useCoverImageFallback(posterUrl);
2202
2256
  const facadeSkipped = preload === "none" && !posterSrc;
2203
2257
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunk65VVJSQZcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -2215,7 +2269,7 @@ function VideoHoverPreviewSurface({
2215
2269
  }
2216
2270
  ) : facadeSkipped ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 bg-ods-card" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Video, { kind: "file", url: previewUrl, firstFrameOnly: true, layout: "fill", fit }),
2217
2271
  badge === "play" && !active && !continuation && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.VideoPlayBadge, { className: "absolute inset-0 z-10 m-auto" }),
2218
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2272
+ showPlayer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2219
2273
  "div",
2220
2274
  {
2221
2275
  className: "absolute inset-0",
@@ -2245,7 +2299,7 @@ function VideoHoverPreviewSurface({
2245
2299
  continuation ? "continuation" : "preview"
2246
2300
  )
2247
2301
  }
2248
- )
2302
+ ) : null
2249
2303
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 bg-ods-card" }) });
2250
2304
  }
2251
2305
 
@@ -4046,6 +4100,7 @@ function ProgramEditorialCard({
4046
4100
  typeMeta,
4047
4101
  profile,
4048
4102
  playable,
4103
+ priority,
4049
4104
  className
4050
4105
  }) {
4051
4106
  const edgeColor = _chunk3LW5TD54cjs.useImageEdgeColor.call(void 0, feature ? cover : null, "transparent");
@@ -4059,7 +4114,7 @@ function ProgramEditorialCard({
4059
4114
  if (!feature) {
4060
4115
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ContentCardFrame, { as: "a", href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_ROW_GRID, className), children: [
4061
4116
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, EDITORIAL_ROW_THUMB, "bg-ods-bg"), children: [
4062
- cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: cover, alt: "", fill: true, sizes: "120px", className: "object-cover", unoptimized: true }),
4117
+ cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: cover, alt: "", fill: true, sizes: "120px", className: "object-cover", priority, unoptimized: true }),
4063
4118
  playable && cover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "md" })
4064
4119
  ] }),
4065
4120
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: EDITORIAL_ROW_TEXT, children: [
@@ -4084,6 +4139,7 @@ function ProgramEditorialCard({
4084
4139
  fill: true,
4085
4140
  sizes: "(min-width: 1024px) 640px, 100vw",
4086
4141
  className: "object-contain",
4142
+ priority,
4087
4143
  unoptimized: true
4088
4144
  }
4089
4145
  ),
@@ -4132,6 +4188,7 @@ function ProgramCard({
4132
4188
  wholeCardClickable = false,
4133
4189
  eyebrow,
4134
4190
  tags = [],
4191
+ priority,
4135
4192
  className
4136
4193
  }) {
4137
4194
  const { target, rel } = useEntityCardLink({
@@ -4188,6 +4245,7 @@ function ProgramCard({
4188
4245
  imageAlt: item.title,
4189
4246
  title: item.title,
4190
4247
  titleClassName: "font-['Azeret_Mono'] font-semibold text-lg leading-6",
4248
+ priority,
4191
4249
  person: profile ? { name: profile.name, avatarUrl: profile.avatarUrl, subtitle: profile.subtitle || dateMeta } : { name: config.labels.singular, subtitle: dateMeta },
4192
4250
  className
4193
4251
  }
@@ -4209,6 +4267,7 @@ function ProgramCard({
4209
4267
  typeMeta: compactTypeMetaValue,
4210
4268
  profile: programItemToStripProfile(item),
4211
4269
  playable: isPlayable,
4270
+ priority,
4212
4271
  className
4213
4272
  }
4214
4273
  );
@@ -4222,7 +4281,18 @@ function ProgramCard({
4222
4281
  );
4223
4282
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk65VVJSQZcjs.cn.call(void 0, COMPACT_CARD_OUTER, "group", className), children: [
4224
4283
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
4225
- compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE76ONBKFcjs.next_image_default, { src: compactCover, alt: item.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Play, { className: "h-4 w-4" }) : config.type === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Clock, { className: "h-4 w-4" }) }),
4284
+ compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4285
+ _chunkE76ONBKFcjs.next_image_default,
4286
+ {
4287
+ src: compactCover,
4288
+ alt: item.title,
4289
+ fill: true,
4290
+ sizes: "56px",
4291
+ className: "object-contain",
4292
+ priority,
4293
+ unoptimized: true
4294
+ }
4295
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Play, { className: "h-4 w-4" }) : config.type === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Video, { className: "h-4 w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Clock, { className: "h-4 w-4" }) }),
4226
4296
  isPlayable && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSETFUCZAcjs.CardHoverPlay, { size: "sm" })
4227
4297
  ] }),
4228
4298
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -4275,6 +4345,7 @@ function ProgramCard({
4275
4345
  fill: true,
4276
4346
  sizes: "(min-width: 1280px) 400px, (min-width: 768px) 320px, 100vw",
4277
4347
  className: "object-cover",
4348
+ priority,
4278
4349
  unoptimized: true
4279
4350
  }
4280
4351
  ),
@@ -9,23 +9,23 @@ var _chunkSTEJZPIOcjs = require('./chunk-STEJZPIO.cjs');
9
9
  var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
10
10
 
11
11
 
12
- var _chunk7P2QXBWEcjs = require('./chunk-7P2QXBWE.cjs');
12
+ var _chunk42JGOJCBcjs = require('./chunk-42JGOJCB.cjs');
13
13
  require('./chunk-LJT2KRE2.cjs');
14
14
  require('./chunk-RB7VLVMD.cjs');
15
15
  require('./chunk-V3W56L2D.cjs');
16
16
  require('./chunk-HQQE74RO.cjs');
17
17
  require('./chunk-DEY6XXGO.cjs');
18
- require('./chunk-XVFM6SJA.cjs');
18
+ require('./chunk-E64HPPRH.cjs');
19
19
  require('./chunk-2JRSYWFP.cjs');
20
20
  require('./chunk-24I6RFVU.cjs');
21
21
  require('./chunk-A6P6DHEZ.cjs');
22
22
  require('./chunk-MZ4KBSH7.cjs');
23
- require('./chunk-KSCEAIBS.cjs');
23
+ require('./chunk-TOPGBOCN.cjs');
24
24
  require('./chunk-C42WIUH6.cjs');
25
- require('./chunk-BPAYT72L.cjs');
26
- require('./chunk-ILZEXCJH.cjs');
25
+ require('./chunk-BTVO676B.cjs');
26
+ require('./chunk-KWZ62LPZ.cjs');
27
27
  require('./chunk-EHJE3UWZ.cjs');
28
- require('./chunk-RNLRS4ID.cjs');
28
+ require('./chunk-KKAY6GPU.cjs');
29
29
  require('./chunk-5QP3K2CE.cjs');
30
30
  require('./chunk-LELS4XMX.cjs');
31
31
  require('./chunk-ZOZR3QI2.cjs');
@@ -1816,7 +1816,7 @@ require('./chunk-LMBYZITR.cjs');
1816
1816
  require('./chunk-TMVC7S2R.cjs');
1817
1817
  require('./chunk-IYHH5EIO.cjs');
1818
1818
  require('./chunk-XIBCMGBW.cjs');
1819
- require('./chunk-TZ4GKUO2.cjs');
1819
+ require('./chunk-CZIMISAR.cjs');
1820
1820
  require('./chunk-XXJL5GY3.cjs');
1821
1821
  require('./chunk-57B5RUYD.cjs');
1822
1822
  require('./chunk-JKX2C3I2.cjs');
@@ -1824,8 +1824,8 @@ require('./chunk-7DNL734S.cjs');
1824
1824
  require('./chunk-WWUSFOJ7.cjs');
1825
1825
  require('./chunk-SKI6NKOE.cjs');
1826
1826
  require('./chunk-EWPR7662.cjs');
1827
- require('./chunk-FPCGKH5K.cjs');
1828
- require('./chunk-5V7BIUGA.cjs');
1827
+ require('./chunk-TUXPFF4P.cjs');
1828
+ require('./chunk-Y3EBUFX4.cjs');
1829
1829
  require('./chunk-R3JX4MXD.cjs');
1830
1830
  require('./chunk-SETFUCZA.cjs');
1831
1831
  require('./chunk-VFUMM6JC.cjs');
@@ -1840,7 +1840,7 @@ require('./chunk-RUHKTWGB.cjs');
1840
1840
  require('./chunk-BLH2SFOO.cjs');
1841
1841
  require('./chunk-3LW5TD54.cjs');
1842
1842
  require('./chunk-ASMNNSUQ.cjs');
1843
- require('./chunk-CW3ML76U.cjs');
1843
+ require('./chunk-NTPX5GXI.cjs');
1844
1844
  require('./chunk-VFZFCRAL.cjs');
1845
1845
  require('./chunk-5P4TDV7V.cjs');
1846
1846
  require('./chunk-DGFDBPO7.cjs');
@@ -1916,7 +1916,7 @@ var getHref = () => "#";
1916
1916
  function CloudTenantsScreen(_props) {
1917
1917
  const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
1918
1918
  const fixture = _react.useMemo.call(void 0, () => buildCloudTenantsFixture(cast), [cast]);
1919
- const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7P2QXBWEcjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1919
+ const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk42JGOJCBcjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1920
1920
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-l)]", children: table });
1921
1921
  }
1922
1922
 
@@ -1 +1 @@
1
- {"version":3,"file":"author-detail-view.d.ts","sourceRoot":"","sources":["../../../src/components/authors/author-detail-view.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU/D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,qBA+FrG"}
1
+ {"version":3,"file":"author-detail-view.d.ts","sourceRoot":"","sources":["../../../src/components/authors/author-detail-view.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAU/D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,qBAuGrG"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import Image from "../../embed-shims/next-image.js";
4
- import { AVATAR_SIZE } from "../../styles/component-sizes.js";
4
+ import { AVATAR_SIZE, AVATAR_SIZE_PX } from "../../styles/component-sizes.js";
5
5
  import { cn } from "../../utils/cn.js";
6
6
  import { formatBioText } from "../../utils/format.js";
7
7
  import { useProxiedImageUrl } from "../chat/hooks/use-proxied-image-url.js";
@@ -29,7 +29,17 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
29
29
  /* @__PURE__ */ jsx("div", { className: AVATAR_BOX_CLASS, children: loading ? (
30
30
  // The avatar in its scope draws its own skeleton, the round box of this frame.
31
31
  /* @__PURE__ */ jsx(SquareAvatar, { variant: "round", alt: "", className: "h-full w-full" })
32
- ) : /* @__PURE__ */ jsx("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx(Image, { src: proxiedAvatar, alt: author.fullName, fill: true, className: "object-cover", unoptimized: true }) : /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center justify-center text-ods-text-secondary text-h2", children: author.fullName.charAt(0).toUpperCase() }) }) }),
32
+ ) : /* @__PURE__ */ jsx("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx(
33
+ Image,
34
+ {
35
+ src: proxiedAvatar,
36
+ alt: author.fullName,
37
+ fill: true,
38
+ sizes: `${AVATAR_SIZE_PX.profile}px`,
39
+ className: "object-cover",
40
+ unoptimized: true
41
+ }
42
+ ) : /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center justify-center text-ods-text-secondary text-h2", children: author.fullName.charAt(0).toUpperCase() }) }) }),
33
43
  /* @__PURE__ */ jsxs("div", { className: cn(IDENTITY_TEXT_CLASS, loading && "w-full"), children: [
34
44
  /* @__PURE__ */ jsx("p", { className: NAME_CLASS, children: loading ? (
35
45
  // A typical name's width (about 282px at the name's `text-h2`).
@@ -4,33 +4,33 @@
4
4
  var _chunkDTKGIG4Acjs = require('../../chunk-DTKGIG4A.cjs');
5
5
 
6
6
 
7
- var _chunkVW2QQKQ6cjs = require('../../chunk-VW2QQKQ6.cjs');
7
+ var _chunk36GYLB3Zcjs = require('../../chunk-36GYLB3Z.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
12
 
13
13
 
14
- var _chunk7P2QXBWEcjs = require('../../chunk-7P2QXBWE.cjs');
14
+ var _chunk42JGOJCBcjs = require('../../chunk-42JGOJCB.cjs');
15
15
  require('../../chunk-LJT2KRE2.cjs');
16
16
  require('../../chunk-RB7VLVMD.cjs');
17
17
  require('../../chunk-V3W56L2D.cjs');
18
18
  require('../../chunk-HQQE74RO.cjs');
19
19
  require('../../chunk-DEY6XXGO.cjs');
20
- require('../../chunk-XVFM6SJA.cjs');
20
+ require('../../chunk-E64HPPRH.cjs');
21
21
  require('../../chunk-2JRSYWFP.cjs');
22
22
  require('../../chunk-24I6RFVU.cjs');
23
23
  require('../../chunk-A6P6DHEZ.cjs');
24
24
  require('../../chunk-MZ4KBSH7.cjs');
25
- require('../../chunk-KSCEAIBS.cjs');
25
+ require('../../chunk-TOPGBOCN.cjs');
26
26
  require('../../chunk-C42WIUH6.cjs');
27
- require('../../chunk-BPAYT72L.cjs');
27
+ require('../../chunk-BTVO676B.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunkILZEXCJHcjs = require('../../chunk-ILZEXCJH.cjs');
31
+ var _chunkKWZ62LPZcjs = require('../../chunk-KWZ62LPZ.cjs');
32
32
  require('../../chunk-EHJE3UWZ.cjs');
33
- require('../../chunk-RNLRS4ID.cjs');
33
+ require('../../chunk-KKAY6GPU.cjs');
34
34
  require('../../chunk-5QP3K2CE.cjs');
35
35
  require('../../chunk-LELS4XMX.cjs');
36
36
  require('../../chunk-ZOZR3QI2.cjs');
@@ -1831,7 +1831,7 @@ require('../../chunk-IYHH5EIO.cjs');
1831
1831
  require('../../chunk-XIBCMGBW.cjs');
1832
1832
 
1833
1833
 
1834
- var _chunkTZ4GKUO2cjs = require('../../chunk-TZ4GKUO2.cjs');
1834
+ var _chunkCZIMISARcjs = require('../../chunk-CZIMISAR.cjs');
1835
1835
  require('../../chunk-XXJL5GY3.cjs');
1836
1836
  require('../../chunk-57B5RUYD.cjs');
1837
1837
  require('../../chunk-JKX2C3I2.cjs');
@@ -1839,12 +1839,12 @@ require('../../chunk-7DNL734S.cjs');
1839
1839
  require('../../chunk-WWUSFOJ7.cjs');
1840
1840
  require('../../chunk-SKI6NKOE.cjs');
1841
1841
  require('../../chunk-EWPR7662.cjs');
1842
- require('../../chunk-FPCGKH5K.cjs');
1842
+ require('../../chunk-TUXPFF4P.cjs');
1843
1843
 
1844
1844
 
1845
1845
 
1846
1846
 
1847
- var _chunk5V7BIUGAcjs = require('../../chunk-5V7BIUGA.cjs');
1847
+ var _chunkY3EBUFX4cjs = require('../../chunk-Y3EBUFX4.cjs');
1848
1848
  require('../../chunk-R3JX4MXD.cjs');
1849
1849
  require('../../chunk-SETFUCZA.cjs');
1850
1850
  require('../../chunk-VFUMM6JC.cjs');
@@ -1859,7 +1859,7 @@ require('../../chunk-RUHKTWGB.cjs');
1859
1859
  require('../../chunk-BLH2SFOO.cjs');
1860
1860
  require('../../chunk-3LW5TD54.cjs');
1861
1861
  require('../../chunk-ASMNNSUQ.cjs');
1862
- require('../../chunk-CW3ML76U.cjs');
1862
+ require('../../chunk-NTPX5GXI.cjs');
1863
1863
  require('../../chunk-VFZFCRAL.cjs');
1864
1864
  require('../../chunk-5P4TDV7V.cjs');
1865
1865
  require('../../chunk-DGFDBPO7.cjs');
@@ -1886,7 +1886,7 @@ require('../../chunk-KHKPLOU4.cjs');
1886
1886
 
1887
1887
  // src/components/case-studies/share-experience-section.tsx
1888
1888
  var _jsxruntime = require('react/jsx-runtime');
1889
- var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.HeadingLines, { children: [
1889
+ var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.HeadingLines, { children: [
1890
1890
  "Share Your Experience",
1891
1891
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1892
1892
  "with Fellow MSPs",
@@ -1911,7 +1911,7 @@ var DEFAULT_CONTACT_FORM_PROPS = {
1911
1911
  buttonVariant: "outline",
1912
1912
  buttonClassName: "w-full",
1913
1913
  successToastMessage: "Thank you! We'll reach out to schedule your case study.",
1914
- rescue: _chunkTZ4GKUO2cjs.RESCUE_FORMS.caseStudyPitch
1914
+ rescue: _chunkCZIMISARcjs.RESCUE_FORMS.caseStudyPitch
1915
1915
  };
1916
1916
  function ShareExperienceSection({
1917
1917
  title = DEFAULT_TITLE,
@@ -1923,7 +1923,7 @@ function ShareExperienceSection({
1923
1923
  } = {}) {
1924
1924
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: `flex flex-col gap-10${className ? ` ${className}` : ""}`, children: [
1925
1925
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-primary", children: [
1926
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunk5V7BIUGAcjs.accentSentenceMarks.call(void 0, title) }),
1926
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
1927
1927
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-6 max-w-[765px] text-h4", children: subtitle })
1928
1928
  ] }),
1929
1929
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-md border border-ods-border bg-ods-bg p-10", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-10", children: [
@@ -1931,9 +1931,9 @@ function ShareExperienceSection({
1931
1931
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h2", children: howItWorksTitle }),
1932
1932
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: howItWorksBody })
1933
1933
  ] }),
1934
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7P2QXBWEcjs.BenefitCardGrid, { columns: 4, children: [
1934
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk42JGOJCBcjs.BenefitCardGrid, { columns: 4, children: [
1935
1935
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1936
- _chunk7P2QXBWEcjs.BenefitCard,
1936
+ _chunk42JGOJCBcjs.BenefitCard,
1937
1937
  {
1938
1938
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJQLBIZMcjs.G2Icon, { color: "var(--social-g2)", size: 24 }) }),
1939
1939
  title: "G2",
@@ -1942,7 +1942,7 @@ function ShareExperienceSection({
1942
1942
  }
1943
1943
  ),
1944
1944
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1945
- _chunk7P2QXBWEcjs.BenefitCard,
1945
+ _chunk42JGOJCBcjs.BenefitCard,
1946
1946
  {
1947
1947
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2VKPXOBcjs.CapterraIcon, { size: 24 }) }),
1948
1948
  title: "Capterra",
@@ -1951,7 +1951,7 @@ function ShareExperienceSection({
1951
1951
  }
1952
1952
  ),
1953
1953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1954
- _chunk7P2QXBWEcjs.BenefitCard,
1954
+ _chunk42JGOJCBcjs.BenefitCard,
1955
1955
  {
1956
1956
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTLKSZG3Dcjs.TrustpilotIcon, { size: 24 }) }),
1957
1957
  title: "TrustPilot",
@@ -1960,7 +1960,7 @@ function ShareExperienceSection({
1960
1960
  }
1961
1961
  ),
1962
1962
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1963
- _chunk7P2QXBWEcjs.BenefitCard,
1963
+ _chunk42JGOJCBcjs.BenefitCard,
1964
1964
  {
1965
1965
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILYW6BQNcjs.GetappIcon, { size: 24 }) }),
1966
1966
  title: "GetApp",
@@ -1969,7 +1969,7 @@ function ShareExperienceSection({
1969
1969
  }
1970
1970
  )
1971
1971
  ] }),
1972
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVW2QQKQ6cjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1972
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk36GYLB3Zcjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1973
1973
  ] }) })
1974
1974
  ] });
1975
1975
  }
@@ -1987,7 +1987,7 @@ function EntityQuotesPanel({ quotes, className }) {
1987
1987
  // Optional per record, so the loading state draws none: the gate leaves the loaded panel out of its comparison.
1988
1988
  // A plain block around the one panel, so the parent's spacing applies to it as it did to the panel.
1989
1989
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-optional": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1990
- _chunk7P2QXBWEcjs.StackedRowsPanel,
1990
+ _chunk42JGOJCBcjs.StackedRowsPanel,
1991
1991
  {
1992
1992
  className,
1993
1993
  title: `${_chunkDTKGIG4Acjs.ENTITY_QUOTES_TITLE} \xB7 ${quotes.length}`,
@@ -2013,7 +2013,7 @@ function EntityQuotesPanel({ quotes, className }) {
2013
2013
  }
2014
2014
  function EntityQuotesPanelSkeleton({ className }) {
2015
2015
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2016
- _chunk7P2QXBWEcjs.StackedRowsPanel,
2016
+ _chunk42JGOJCBcjs.StackedRowsPanel,
2017
2017
  {
2018
2018
  className,
2019
2019
  title: _chunkDTKGIG4Acjs.ENTITY_QUOTES_TITLE,
@@ -2038,26 +2038,26 @@ function EntityQuotesPanelSkeleton({ className }) {
2038
2038
  var QUOTE_CARD_CLASS = "relative p-[var(--spacing-system-sf)]";
2039
2039
  function QuoteCardTile({ quote, decorative, className, ...props }) {
2040
2040
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2041
- _chunk5V7BIUGAcjs.Card,
2041
+ _chunkY3EBUFX4cjs.Card,
2042
2042
  {
2043
2043
  variant: "panel",
2044
2044
  "aria-hidden": decorative || void 0,
2045
2045
  className: _chunk65VVJSQZcjs.cn.call(void 0, QUOTE_CARD_CLASS, "hover:border-ods-border-hover", className),
2046
2046
  ...props,
2047
2047
  children: [
2048
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7P2QXBWEcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2049
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILZEXCJHcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative })
2048
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk42JGOJCBcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2049
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative })
2050
2050
  ]
2051
2051
  }
2052
2052
  );
2053
2053
  }
2054
2054
  function QuoteCardTileSkeleton({ className }) {
2055
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5V7BIUGAcjs.Card, { variant: "panel", className: _chunk65VVJSQZcjs.cn.call(void 0, QUOTE_CARD_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading a customer story", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7P2QXBWEcjs.PersonCellSkeleton, { size: "lg" }) }) });
2055
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Card, { variant: "panel", className: _chunk65VVJSQZcjs.cn.call(void 0, QUOTE_CARD_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading a customer story", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk42JGOJCBcjs.PersonCellSkeleton, { size: "lg" }) }) });
2056
2056
  }
2057
2057
  var QUOTE_STRIP_SKELETON_CARDS = 4;
2058
2058
  function QuoteCardsStripSkeleton({ count, className }) {
2059
2059
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2060
- _chunkILZEXCJHcjs.CardsStrip,
2060
+ _chunkKWZ62LPZcjs.CardsStrip,
2061
2061
  {
2062
2062
  className,
2063
2063
  showTitle: false,
@@ -2076,7 +2076,7 @@ function QuoteCardsStrip({ quotes, loading = false, skeletonCount, fold, classNa
2076
2076
  }
2077
2077
  if (quotes.length === 0) return null;
2078
2078
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2079
- _chunkILZEXCJHcjs.CardsStrip,
2079
+ _chunkKWZ62LPZcjs.CardsStrip,
2080
2080
  {
2081
2081
  className,
2082
2082
  showTitle: false,
@@ -1 +1 @@
1
- {"version":3,"file":"ask-prompts.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ask-prompts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/G,gGAAgG;AAChG,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,4CAA4C;IAC5C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,OAAe,EACf,KAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,GACV,EAAE,eAAe,sCAuBjB;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,OAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,YAAY,+BAsCd"}
1
+ {"version":3,"file":"ask-prompts.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ask-prompts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/G,gGAAgG;AAChG,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,4CAA4C;IAC5C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwFD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,OAAe,EACf,KAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,GACV,EAAE,eAAe,sCAuBjB;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,OAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAmB,EACnB,SAAS,GACV,EAAE,YAAY,+BAsCd"}
@@ -5,6 +5,7 @@ import { AgentMark } from "../agent-mark.js";
5
5
  import { MingoAiButton, openAskAi } from "../navigation/mingo-ai-button.js";
6
6
  import { ScrollShadow } from "../ui/scroll-fade.js";
7
7
  import { QuickActionChipButton, QuickActionChipSkeleton } from "./quick-action-chip.js";
8
+ import { ASK_AI_TRIGGER_ATTRIBUTE } from "./utils/ask-ai-events.js";
8
9
  function AssistantGlyph({ icon, className }) {
9
10
  return /* @__PURE__ */ jsx("span", { className: cn("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full", className), children: icon ?? /* @__PURE__ */ jsx(AgentMark, { agent: "mingo", className: "size-full" }) });
10
11
  }
@@ -25,26 +26,34 @@ function QuestionChips({
25
26
  }) {
26
27
  return /* @__PURE__ */ jsx(Fragment, { children: Array.from({ length: count }, (_, slot) => {
27
28
  const prompt = loading ? void 0 : prompts[slot];
28
- return /* @__PURE__ */ jsx("span", { className: slotClassName ?? CHIP_SLOT_CLASS, children: loading ? /* @__PURE__ */ jsx(
29
- QuickActionChipSkeleton,
29
+ return /* @__PURE__ */ jsx(
30
+ "span",
30
31
  {
31
- variant: "question",
32
- labelCh: SKELETON_LABEL_CH[slot % SKELETON_LABEL_CH.length]
33
- }
34
- ) : prompt ? /* @__PURE__ */ jsx(
35
- QuickActionChipButton,
36
- {
37
- variant: "question",
38
- label: prompt.label,
39
- icon: prompt.icon,
40
- onSelect: () => {
41
- const request = { prompt: prompt.prompt ?? prompt.label };
42
- if (onOpen) onOpen(request);
43
- else openAskAi(source, request);
44
- onAsk?.(prompt);
45
- }
46
- }
47
- ) : null }, prompt?.id ?? `slot-${slot}`);
32
+ className: slotClassName ?? CHIP_SLOT_CLASS,
33
+ ...prompt ? { [ASK_AI_TRIGGER_ATTRIBUTE]: "" } : {},
34
+ children: loading ? /* @__PURE__ */ jsx(
35
+ QuickActionChipSkeleton,
36
+ {
37
+ variant: "question",
38
+ labelCh: SKELETON_LABEL_CH[slot % SKELETON_LABEL_CH.length]
39
+ }
40
+ ) : prompt ? /* @__PURE__ */ jsx(
41
+ QuickActionChipButton,
42
+ {
43
+ variant: "question",
44
+ label: prompt.label,
45
+ icon: prompt.icon,
46
+ onSelect: () => {
47
+ const request = { prompt: prompt.prompt ?? prompt.label };
48
+ if (onOpen) onOpen(request);
49
+ else openAskAi(source, request);
50
+ onAsk?.(prompt);
51
+ }
52
+ }
53
+ ) : null
54
+ },
55
+ prompt?.id ?? `slot-${slot}`
56
+ );
48
57
  }) });
49
58
  }
50
59
  function AskPrompts({