@flamingo-stack/openframe-frontend-core 0.0.854 → 0.0.856

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 (137) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{case-study-card-WP5Z234Q.cjs → case-study-card-6VAMNHLU.cjs} +8 -8
  3. package/dist/{chunk-ZDPPNHA2.cjs → chunk-2BTEERLH.cjs} +3 -3
  4. package/dist/{chunk-FBANHIAG.cjs → chunk-2JCA7BRK.cjs} +19 -19
  5. package/dist/{chunk-GVHCQRUE.cjs → chunk-2P72KAG5.cjs} +23 -23
  6. package/dist/{chunk-YY3WP2YQ.cjs → chunk-3GJ75OUL.cjs} +183 -183
  7. package/dist/{chunk-FJXSKMQJ.cjs → chunk-4H3J57AN.cjs} +25 -25
  8. package/dist/{chunk-6GWRPW6B.cjs → chunk-5NK3FUHY.cjs} +4 -4
  9. package/dist/{chunk-DLTPSP5F.cjs → chunk-5TYG5JNB.cjs} +2 -2
  10. package/dist/{chunk-63ZV3UGG.cjs → chunk-65NMKAPQ.cjs} +12 -12
  11. package/dist/{chunk-IGVAPIEW.cjs → chunk-6C4OR4MZ.cjs} +2 -2
  12. package/dist/{chunk-GG466XFQ.cjs → chunk-6DMH4GXN.cjs} +30 -5
  13. package/dist/{chunk-2IJMHBOK.cjs → chunk-77GX573I.cjs} +9 -9
  14. package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
  15. package/dist/{chunk-JKBNK5U6.cjs → chunk-D6GEMVHD.cjs} +3 -3
  16. package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
  17. package/dist/{chunk-S5P6CF5R.cjs → chunk-E5OQHFM6.cjs} +54 -54
  18. package/dist/{chunk-5TXE7BXT.cjs → chunk-EOUEUYCQ.cjs} +54 -54
  19. package/dist/{chunk-EIHMPQRQ.cjs → chunk-ESGE7CUX.cjs} +14 -14
  20. package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
  21. package/dist/{chunk-3WXHPD6N.cjs → chunk-F33EAPD2.cjs} +124 -124
  22. package/dist/{chunk-4SSJ3T3N.cjs → chunk-GK577ZLJ.cjs} +3 -13
  23. package/dist/{chunk-ETQNMR2K.cjs → chunk-GTUQGVXH.cjs} +8 -8
  24. package/dist/{chunk-7MOBD44H.cjs → chunk-HGM7WDJT.cjs} +28 -28
  25. package/dist/{chunk-VMAOZA2V.cjs → chunk-HML3JUXF.cjs} +324 -322
  26. package/dist/{chunk-4O5N5CGK.cjs → chunk-J3CFRGZ2.cjs} +17 -17
  27. package/dist/{chunk-LQDAB5V5.cjs → chunk-KZAQPRTA.cjs} +9 -11
  28. package/dist/{chunk-6DCUGIGU.cjs → chunk-LSLRJJFP.cjs} +2 -2
  29. package/dist/{chunk-ONYANAMA.cjs → chunk-MX52LZ6M.cjs} +6 -6
  30. package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
  31. package/dist/{chunk-BAA3YCLT.cjs → chunk-OW5MQKCI.cjs} +103 -103
  32. package/dist/{chunk-5HMENXSR.cjs → chunk-PCQ2HKU3.cjs} +5 -5
  33. package/dist/{chunk-D2XGRWPW.cjs → chunk-QLFNMWBP.cjs} +90 -90
  34. package/dist/{chunk-UPQ4MAR7.cjs → chunk-QZXCUY36.cjs} +53 -53
  35. package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
  36. package/dist/{chunk-PRJZMZ3X.cjs → chunk-SJZWVMBF.cjs} +678 -678
  37. package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
  38. package/dist/{chunk-ACPOJE32.cjs → chunk-STV6VJ3U.cjs} +21 -21
  39. package/dist/{chunk-QD727QFI.cjs → chunk-T54I5ZZY.cjs} +7 -7
  40. package/dist/{chunk-4LTLEUY5.cjs → chunk-TW5Y4D5I.cjs} +7 -7
  41. package/dist/{chunk-6XU3RCK3.cjs → chunk-UHGARY3S.cjs} +27 -27
  42. package/dist/{chunk-7J5NSWJG.cjs → chunk-UZIGMLTH.cjs} +100 -100
  43. package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
  44. package/dist/{chunk-5OENPMRU.cjs → chunk-XI3AMOW6.cjs} +65 -62
  45. package/dist/{chunk-TMPLHUUU.cjs → chunk-XTLMWLFB.cjs} +6 -6
  46. package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
  47. package/dist/{chunk-RMI6O3AE.cjs → chunk-YB244RRB.cjs} +36 -36
  48. package/dist/{chunk-KA3L6D5N.cjs → chunk-YSXVRTGT.cjs} +9 -12
  49. package/dist/{chunk-H3GBPYPS.cjs → chunk-ZYAVIRQV.cjs} +25 -25
  50. package/dist/{cloud-tenants-5RNK4ZAT.cjs → cloud-tenants-J5T4YL2P.cjs} +28 -29
  51. package/dist/components/case-studies/index.cjs +44 -45
  52. package/dist/components/chat/chat-message-row.d.ts +1 -1
  53. package/dist/components/chat/chat-message-row.d.ts.map +1 -1
  54. package/dist/components/chat/chat-message-row.js +4 -4
  55. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts +7 -13
  56. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts.map +1 -1
  57. package/dist/components/chat/entity-cards/use-cover-image-fallback.js +2 -8
  58. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -1
  59. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.js +8 -4
  60. package/dist/components/chat/index.cjs +22 -23
  61. package/dist/components/contact/index.cjs +29 -30
  62. package/dist/components/docs/index.cjs +32 -33
  63. package/dist/components/embeds/index.cjs +29 -30
  64. package/dist/components/faq/index.cjs +30 -31
  65. package/dist/components/features/index.cjs +28 -29
  66. package/dist/components/features/remote-session/remote-session-viewers.d.ts +6 -1
  67. package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -1
  68. package/dist/components/features/remote-session/remote-session-viewers.js +10 -3
  69. package/dist/components/help-center-pages/index.cjs +134 -135
  70. package/dist/components/index.cjs +112 -113
  71. package/dist/components/meeting-scheduler/index.cjs +102 -103
  72. package/dist/components/navigation/index.cjs +31 -32
  73. package/dist/components/onboarding-guides/index.cjs +31 -32
  74. package/dist/components/product-demo/index.cjs +39 -40
  75. package/dist/components/related-content/index.cjs +16 -17
  76. package/dist/components/tickets/index.cjs +35 -36
  77. package/dist/components/ui/entity-image.d.ts +1 -2
  78. package/dist/components/ui/entity-image.d.ts.map +1 -1
  79. package/dist/components/ui/entity-image.js +4 -8
  80. package/dist/components/ui/index.cjs +28 -29
  81. package/dist/components/ui/markdown/base-components.d.ts +0 -13
  82. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  83. package/dist/components/ui/markdown/base-components.js +7 -7
  84. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  85. package/dist/components/ui/square-avatar.js +3 -8
  86. package/dist/{devices-44O5PZOW.cjs → devices-IJDF7SSK.cjs} +29 -30
  87. package/dist/embed-shims/index.cjs +3 -2
  88. package/dist/embed-shims/next-image.cjs +3 -2
  89. package/dist/embed-shims/next-image.d.ts +2 -0
  90. package/dist/embed-shims/next-image.d.ts.map +1 -1
  91. package/dist/embed-shims/next-image.js +14 -4
  92. package/dist/{embeddable-chat-W3CLMGC3.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
  93. package/dist/hooks/index.cjs +23 -16
  94. package/dist/hooks/index.d.ts +1 -0
  95. package/dist/hooks/index.d.ts.map +1 -1
  96. package/dist/hooks/index.js +1 -0
  97. package/dist/hooks/use-authed-asset-src.d.ts +77 -2
  98. package/dist/hooks/use-authed-asset-src.d.ts.map +1 -1
  99. package/dist/hooks/use-authed-asset-src.js +185 -73
  100. package/dist/hooks/use-authed-image-src.d.ts +11 -4
  101. package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
  102. package/dist/hooks/use-authed-image-src.js +6 -2
  103. package/dist/hooks/use-image-fallback.d.ts +16 -0
  104. package/dist/hooks/use-image-fallback.d.ts.map +1 -0
  105. package/dist/hooks/use-image-fallback.js +14 -0
  106. package/dist/index.cjs +40 -36
  107. package/dist/{knowledge-UUU3WVO3.cjs → knowledge-5LIK6Q4E.cjs} +29 -30
  108. package/dist/{logs-DFHNSODA.cjs → logs-FMENCAXT.cjs} +35 -36
  109. package/dist/{policies-RGFUGDBP.cjs → policies-DKQEEKB4.cjs} +32 -33
  110. package/dist/{remote-session-U3H77HKR.cjs → remote-session-6X7CAHBC.cjs} +13 -14
  111. package/dist/{scripts-KOVO5DHW.cjs → scripts-4EPUIFHF.cjs} +35 -36
  112. package/dist/{software-update-4EKHVV5W.cjs → software-update-IMNRXBAI.cjs} +32 -33
  113. package/dist/{tickets-board-YIFOVMDX.cjs → tickets-board-POYZS7BW.cjs} +16 -17
  114. package/dist/utils/app-origins.d.ts +3 -6
  115. package/dist/utils/app-origins.d.ts.map +1 -1
  116. package/dist/utils/app-origins.js +8 -1
  117. package/dist/utils/embed-authed-fetch.d.ts +46 -26
  118. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  119. package/dist/utils/embed-authed-fetch.js +24 -8
  120. package/dist/utils/index.cjs +4 -1
  121. package/dist/{video-file-player-XMOB234V.cjs → video-file-player-RIOT24NT.cjs} +3 -4
  122. package/package.json +1 -1
  123. package/src/components/chat/chat-message-row.tsx +8 -7
  124. package/src/components/chat/entity-cards/use-cover-image-fallback.ts +8 -28
  125. package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +19 -8
  126. package/src/components/features/remote-session/remote-session-viewers.tsx +16 -3
  127. package/src/components/ui/entity-image.tsx +4 -12
  128. package/src/components/ui/markdown/base-components.tsx +15 -20
  129. package/src/components/ui/square-avatar.tsx +5 -8
  130. package/src/embed-shims/next-image.tsx +34 -3
  131. package/src/hooks/index.ts +1 -0
  132. package/src/hooks/use-authed-asset-src.ts +323 -107
  133. package/src/hooks/use-authed-image-src.ts +15 -5
  134. package/src/hooks/use-image-fallback.ts +31 -0
  135. package/src/utils/app-origins.ts +12 -7
  136. package/src/utils/embed-authed-fetch.ts +71 -32
  137. package/dist/chunk-YSDB6HGQ.cjs +0 -102
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkSSKMGH5Ocjs = require('./chunk-SSKMGH5O.cjs');
6
+ var _chunkDXVGGWLGcjs = require('./chunk-DXVGGWLG.cjs');
7
7
 
8
8
 
9
9
 
@@ -20,13 +20,14 @@ var _chunkX432Y6RMcjs = require('./chunk-X432Y6RM.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunkETZFBB7Ocjs = require('./chunk-ETZFBB7O.cjs');
23
+ var _chunkEXQSIX2Icjs = require('./chunk-EXQSIX2I.cjs');
24
24
 
25
25
 
26
26
 
27
27
 
28
28
 
29
- var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
29
+
30
+ var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
30
31
 
31
32
 
32
33
 
@@ -34,7 +35,7 @@ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
34
35
 
35
36
 
36
37
 
37
- var _chunkGG466XFQcjs = require('./chunk-GG466XFQ.cjs');
38
+ var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
38
39
 
39
40
 
40
41
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -95,15 +96,8 @@ function programItemToStripProfile(item) {
95
96
 
96
97
 
97
98
  // src/components/chat/entity-cards/use-cover-image-fallback.ts
98
-
99
99
  function useCoverImageFallback(imageUrl, placeholderUrl) {
100
- const [failed, setFailed] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
101
- const src = imageUrl && !failed.has(imageUrl) ? imageUrl : placeholderUrl && !failed.has(placeholderUrl) ? placeholderUrl : null;
102
- const onError = _react.useCallback.call(void 0, () => {
103
- if (!src) return;
104
- setFailed((prev) => new Set(prev).add(src));
105
- }, [src]);
106
- return { src, onError };
100
+ return _chunkRY7INTYUcjs.useImageFallback.call(void 0, imageUrl, placeholderUrl);
107
101
  }
108
102
  var hideOnError = (e) => {
109
103
  const img = e.currentTarget;
@@ -127,7 +121,7 @@ var filePlayerLoad = null;
127
121
  var filePlayerListeners = /* @__PURE__ */ new Set();
128
122
  function loadFilePlayer() {
129
123
  if (filePlayer || filePlayerLoad) return;
130
- filePlayerLoad = Promise.resolve().then(() => _interopRequireWildcard(require("./video-file-player-XMOB234V.cjs"))).then((module) => {
124
+ filePlayerLoad = Promise.resolve().then(() => _interopRequireWildcard(require("./video-file-player-RIOT24NT.cjs"))).then((module) => {
131
125
  filePlayer = module.default;
132
126
  for (const listener of filePlayerListeners) listener();
133
127
  }).catch(() => void 0).finally(() => {
@@ -152,12 +146,12 @@ var PosterBox = _react.forwardRef.call(void 0, function PosterBoxView({ poster,
152
146
  className: _chunk63A4GZMBcjs.cn.call(void 0, "relative overflow-hidden", className),
153
147
  style: fill ? { width: "100%", height: "100%" } : void 0,
154
148
  children: poster ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
155
- _chunkGG466XFQcjs.next_image_default,
149
+ _chunk6DMH4GXNcjs.next_image_default,
156
150
  {
157
151
  src: poster,
158
152
  alt: "",
159
153
  fill: true,
160
- sizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.full,
154
+ sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.full,
161
155
  priority,
162
156
  unoptimized: true,
163
157
  className: "object-cover"
@@ -501,7 +495,7 @@ function YouTubeFacadeInner({
501
495
  height: 720,
502
496
  loading: "lazy",
503
497
  onError: handlePosterError,
504
- ..._chunkGG466XFQcjs.fetchPriorityProp.call(void 0, priority),
498
+ ..._chunk6DMH4GXNcjs.fetchPriorityProp.call(void 0, priority),
505
499
  decoding: priority ? "sync" : "async",
506
500
  className: "absolute inset-0 h-full w-full object-cover"
507
501
  }
@@ -529,7 +523,7 @@ function VideoHoverPreviewSurface({
529
523
  isClone = false,
530
524
  badge = "play",
531
525
  fit,
532
- posterSizes = _chunkKKFDRCQFcjs.fixedImageSlot.call(void 0, "cover"),
526
+ posterSizes = _chunkRY7INTYUcjs.fixedImageSlot.call(void 0, "cover"),
533
527
  posterInView = false,
534
528
  preload,
535
529
  hideMutedBadge,
@@ -564,7 +558,7 @@ function VideoHoverPreviewSurface({
564
558
  const facadeSkipped = preload === "none" && !posterSrc;
565
559
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootElRef, className: _chunk63A4GZMBcjs.cn.call(void 0, "absolute inset-0", className), inert: isClone || void 0, children: showMedia ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
566
560
  posterSrc ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
567
- _chunkGG466XFQcjs.next_image_default,
561
+ _chunk6DMH4GXNcjs.next_image_default,
568
562
  {
569
563
  src: posterSrc,
570
564
  alt: "",
@@ -615,10 +609,10 @@ function VideoHoverPreviewSurface({
615
609
 
616
610
  function EntityIcon({
617
611
  icon,
618
- size = _chunkKKFDRCQFcjs.IMAGE_FIXED_PX.glyph,
612
+ size = _chunkRY7INTYUcjs.IMAGE_FIXED_PX.glyph,
619
613
  className
620
614
  }) {
621
- const identity = _chunkSSKMGH5Ocjs.useAgentIdentityIcon.call(void 0, _optionalChain([icon, 'optionalAccess', _19 => _19.url]) ? null : _optionalChain([icon, 'optionalAccess', _20 => _20.name]));
615
+ const identity = _chunkDXVGGWLGcjs.useAgentIdentityIcon.call(void 0, _optionalChain([icon, 'optionalAccess', _19 => _19.url]) ? null : _optionalChain([icon, 'optionalAccess', _20 => _20.name]));
622
616
  const held = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
623
617
  if (held) {
624
618
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -633,20 +627,20 @@ function EntityIcon({
633
627
  }
634
628
  if (!_optionalChain([icon, 'optionalAccess', _21 => _21.url]) && _optionalChain([identity, 'optionalAccess', _22 => _22.url])) {
635
629
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
636
- _chunkGG466XFQcjs.next_image_default,
630
+ _chunk6DMH4GXNcjs.next_image_default,
637
631
  {
638
632
  src: identity.url,
639
633
  alt: "",
640
634
  width: size,
641
635
  height: size,
642
- className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkSSKMGH5Ocjs.AGENT_PICTURE_CLASS, className),
636
+ className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkDXVGGWLGcjs.AGENT_PICTURE_CLASS, className),
643
637
  unoptimized: true
644
638
  }
645
639
  );
646
640
  }
647
641
  if (_optionalChain([icon, 'optionalAccess', _23 => _23.url])) {
648
642
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
649
- _chunkGG466XFQcjs.next_image_default,
643
+ _chunk6DMH4GXNcjs.next_image_default,
650
644
  {
651
645
  src: icon.url,
652
646
  alt: "",
@@ -658,8 +652,8 @@ function EntityIcon({
658
652
  }
659
653
  );
660
654
  }
661
- const Glyph = _chunkKKFDRCQFcjs.resolveIcon.call(void 0, _nullishCoalesce(_nullishCoalesce(_optionalChain([identity, 'optionalAccess', _24 => _24.name]), () => ( _optionalChain([icon, 'optionalAccess', _25 => _25.name]))), () => ( void 0)));
662
- const agentColor = identity ? { color: _chunkSSKMGH5Ocjs.AGENT_GLYPH_COLOR } : {};
655
+ const Glyph = _chunkRY7INTYUcjs.resolveIcon.call(void 0, _nullishCoalesce(_nullishCoalesce(_optionalChain([identity, 'optionalAccess', _24 => _24.name]), () => ( _optionalChain([icon, 'optionalAccess', _25 => _25.name]))), () => ( void 0)));
656
+ const agentColor = identity ? { color: _chunkDXVGGWLGcjs.AGENT_GLYPH_COLOR } : {};
663
657
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Glyph, { size, className, ...agentColor, ..._nullishCoalesce(_optionalChain([identity, 'optionalAccess', _26 => _26.props]), () => ( {})), ..._nullishCoalesce(_optionalChain([icon, 'optionalAccess', _27 => _27.props]), () => ( {})) });
664
658
  }
665
659
 
@@ -969,7 +963,7 @@ function EntityPortraitCard({
969
963
  setMeasured({ src, isWide: img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO });
970
964
  }
971
965
  };
972
- const edgeColor = _chunkETZFBB7Ocjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
966
+ const edgeColor = _chunkEXQSIX2Icjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--color-bg-surface)");
973
967
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityPortraitCardSkeleton, { typeLabel, className });
974
968
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk63A4GZMBcjs.cn.call(void 0, "block h-full", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: _chunk63A4GZMBcjs.cn.call(void 0, CONTENT_CARD_FRAME_CLASS, PORTRAIT_BODY), children: [
975
969
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -978,12 +972,12 @@ function EntityPortraitCard({
978
972
  className: _chunk63A4GZMBcjs.cn.call(void 0, PORTRAIT_MEDIA, "bg-ods-bg transition-colors duration-300"),
979
973
  style: isWide === false ? { backgroundColor: edgeColor } : void 0,
980
974
  children: src && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
981
- _chunkGG466XFQcjs.next_image_default,
975
+ _chunk6DMH4GXNcjs.next_image_default,
982
976
  {
983
977
  src,
984
978
  alt: imageAlt,
985
979
  className: _chunk63A4GZMBcjs.cn.call(void 0, "h-full w-full", isWide === false ? "object-contain" : "object-cover"),
986
- sizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.panel,
980
+ sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.panel,
987
981
  fill: true,
988
982
  priority,
989
983
  unoptimized: true,
@@ -1010,7 +1004,7 @@ function EntityPortraitCard({
1010
1004
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: PORTRAIT_FOOTER, children: person && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: PORTRAIT_PERSON_ROW, children: [
1011
1005
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-12 w-12 shrink-0", children: [
1012
1006
  person.avatarUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1013
- _chunkGG466XFQcjs.next_image_default,
1007
+ _chunk6DMH4GXNcjs.next_image_default,
1014
1008
  {
1015
1009
  src: person.avatarUrl,
1016
1010
  alt: person.name,
@@ -1026,7 +1020,7 @@ function EntityPortraitCard({
1026
1020
  "data-loading-optional": true,
1027
1021
  className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg",
1028
1022
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1029
- _chunkGG466XFQcjs.next_image_default,
1023
+ _chunk6DMH4GXNcjs.next_image_default,
1030
1024
  {
1031
1025
  src: person.iconOverlayUrl,
1032
1026
  alt: "",
@@ -1079,11 +1073,11 @@ function useEntityCardLink({ href, targetPlatform, target, rel }) {
1079
1073
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
1080
1074
  return _react.useMemo.call(void 0, () => {
1081
1075
  if (target !== void 0 || rel !== void 0) {
1082
- const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? _chunkETZFBB7Ocjs.newTabRel.call(void 0, href, targetPlatform) : void 0)));
1076
+ const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? _chunkEXQSIX2Icjs.newTabRel.call(void 0, href, targetPlatform) : void 0)));
1083
1077
  return { target, rel: safeRel };
1084
1078
  }
1085
- const resolved = _chunkETZFBB7Ocjs.navLinkTarget.call(void 0, runtime, href, targetPlatform);
1086
- const attrs = _chunkETZFBB7Ocjs.newTabAnchorAttrs.call(void 0, resolved.isNewTab, resolved.href, targetPlatform);
1079
+ const resolved = _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, href, targetPlatform);
1080
+ const attrs = _chunkEXQSIX2Icjs.newTabAnchorAttrs.call(void 0, resolved.isNewTab, resolved.href, targetPlatform);
1087
1081
  return { target: attrs.target, rel: attrs.rel };
1088
1082
  }, [target, rel, href, targetPlatform, runtime]);
1089
1083
  }
@@ -1095,7 +1089,7 @@ function useEntityCardPlaceholder({
1095
1089
  siteName = "",
1096
1090
  aspect = "wide"
1097
1091
  }) {
1098
- const derived = _chunkETZFBB7Ocjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
1092
+ const derived = _chunkEXQSIX2Icjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
1099
1093
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
1100
1094
  }
1101
1095
 
@@ -1125,7 +1119,7 @@ function CaseStudyPersonRow({ study }) {
1125
1119
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CASE_STUDY_PERSON_ZONE, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CASE_STUDY_PERSON_ROW, children: [
1126
1120
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-12 w-12 shrink-0", children: [
1127
1121
  _optionalChain([study, 'access', _32 => _32.user, 'optionalAccess', _33 => _33.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1128
- _chunkGG466XFQcjs.next_image_default,
1122
+ _chunk6DMH4GXNcjs.next_image_default,
1129
1123
  {
1130
1124
  src: study.user.avatar_url,
1131
1125
  alt: _optionalChain([study, 'access', _34 => _34.user, 'optionalAccess', _35 => _35.full_name]) || "User",
@@ -1136,7 +1130,7 @@ function CaseStudyPersonRow({ study }) {
1136
1130
  }
1137
1131
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h4", children: (_optionalChain([study, 'access', _36 => _36.user, 'optionalAccess', _37 => _37.full_name]) || "A").charAt(0).toUpperCase() }) }),
1138
1132
  _optionalChain([study, 'access', _38 => _38.msp, 'optionalAccess', _39 => _39.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1139
- _chunkGG466XFQcjs.next_image_default,
1133
+ _chunk6DMH4GXNcjs.next_image_default,
1140
1134
  {
1141
1135
  src: study.msp.icon_url,
1142
1136
  alt: study.msp.name || "MSP",
@@ -1264,13 +1258,13 @@ function LoadedCaseStudyCard({
1264
1258
  if (size === "sm") {
1265
1259
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk63A4GZMBcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
1266
1260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1267
- _chunkGG466XFQcjs.next_image_default,
1261
+ _chunk6DMH4GXNcjs.next_image_default,
1268
1262
  {
1269
1263
  src: coverImage,
1270
1264
  alt: `${_optionalChain([study, 'access', _46 => _46.msp, 'optionalAccess', _47 => _47.name]) || study.title} cover`,
1271
1265
  className: "object-contain",
1272
1266
  fill: true,
1273
- sizes: _chunkKKFDRCQFcjs.fixedImageSlot.call(void 0, "tile"),
1267
+ sizes: _chunkRY7INTYUcjs.fixedImageSlot.call(void 0, "tile"),
1274
1268
  unoptimized: true,
1275
1269
  onError: hideOnError
1276
1270
  }
@@ -1312,18 +1306,18 @@ function LoadedCaseStudyCard({
1312
1306
  active: hovered,
1313
1307
  playerMounted: mediaMounted,
1314
1308
  fit: "cover",
1315
- posterSizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.panel
1309
+ posterSizes: _chunkRY7INTYUcjs.IMAGE_SLOT.panel
1316
1310
  }
1317
1311
  )
1318
1312
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1319
1313
  (_nullishCoalesce(poster, () => ( placeholderUrl))) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1320
- _chunkGG466XFQcjs.next_image_default,
1314
+ _chunk6DMH4GXNcjs.next_image_default,
1321
1315
  {
1322
1316
  src: _nullishCoalesce(_nullishCoalesce(poster, () => ( placeholderUrl)), () => ( "")),
1323
1317
  alt: "",
1324
1318
  className: "object-cover",
1325
1319
  fill: true,
1326
- sizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.panel,
1320
+ sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.panel,
1327
1321
  unoptimized: true,
1328
1322
  onError: hideOnError
1329
1323
  }
@@ -1387,12 +1381,12 @@ function LoadedCaseStudyCard({
1387
1381
  }
1388
1382
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, className: _chunk63A4GZMBcjs.cn.call(void 0, "block h-full", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: _chunk63A4GZMBcjs.cn.call(void 0, CONTENT_CARD_FRAME_CLASS, CASE_STUDY_DEFAULT_BODY), children: [
1389
1383
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, CASE_STUDY_COVER, "bg-ods-bg"), children: coverImage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1390
- _chunkGG466XFQcjs.next_image_default,
1384
+ _chunk6DMH4GXNcjs.next_image_default,
1391
1385
  {
1392
1386
  src: coverImage,
1393
1387
  alt: _optionalChain([study, 'access', _68 => _68.msp, 'optionalAccess', _69 => _69.name]) || study.title,
1394
1388
  className: "h-full w-full object-cover",
1395
- sizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.card,
1389
+ sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.card,
1396
1390
  fill: true,
1397
1391
  unoptimized: true,
1398
1392
  onError: hideOnError
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk4SSJ3T3Ncjs = require('./chunk-4SSJ3T3N.cjs');
5
+ var _chunkGK577ZLJcjs = require('./chunk-GK577ZLJ.cjs');
6
6
 
7
7
  // src/hooks/ui/use-auto-limit-tags.ts
8
8
  var _react = require('react');
@@ -132,8 +132,8 @@ function useKeyboardCollisionPadding() {
132
132
  // src/hooks/ui/use-clipped-label-tooltip.ts
133
133
  var HOVER_MEDIA_QUERY = "(hover: hover) and (pointer: fine)";
134
134
  function useClippedLabelTooltip(value) {
135
- const { ref, isTruncated } = _chunk4SSJ3T3Ncjs.useIsTruncated.call(void 0, value);
136
- const canHover = _chunk4SSJ3T3Ncjs.useMediaQuery.call(void 0, HOVER_MEDIA_QUERY) === true;
135
+ const { ref, isTruncated } = _chunkGK577ZLJcjs.useIsTruncated.call(void 0, value);
136
+ const canHover = _chunkGK577ZLJcjs.useMediaQuery.call(void 0, HOVER_MEDIA_QUERY) === true;
137
137
  return { ref, enabled: isTruncated && canHover };
138
138
  }
139
139
 
@@ -3,12 +3,12 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkFX35L4Y6cjs = require('./chunk-FX35L4Y6.cjs');
6
+ var _chunkXCQ5I27Zcjs = require('./chunk-XCQ5I27Z.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
11
+ var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
12
12
 
13
13
  // src/utils/color-analysis.ts
14
14
  var DESIGN_PALETTE = [
@@ -243,13 +243,13 @@ function getSemanticColor(semanticName, platform) {
243
243
  }
244
244
  function getPlatformConfig(platform) {
245
245
  const currentPlatform = platform || getCurrentPlatform();
246
- const isDarkTheme = _chunkKKFDRCQFcjs.PLATFORM_THEME === "dark";
246
+ const isDarkTheme = _chunkRY7INTYUcjs.PLATFORM_THEME === "dark";
247
247
  return {
248
248
  platform: currentPlatform,
249
- accentColor: _chunkKKFDRCQFcjs.getPlatformAccentColor.call(void 0, currentPlatform),
249
+ accentColor: _chunkRY7INTYUcjs.getPlatformAccentColor.call(void 0, currentPlatform),
250
250
  isDarkTheme,
251
251
  isLightTheme: !isDarkTheme,
252
- brandName: _chunkKKFDRCQFcjs.getPlatformDisplayName.call(void 0, currentPlatform)
252
+ brandName: _chunkRY7INTYUcjs.getPlatformDisplayName.call(void 0, currentPlatform)
253
253
  };
254
254
  }
255
255
  function usePlatformColors(platform) {
@@ -276,7 +276,7 @@ function hexToRgb2(hex) {
276
276
  return { r: n >> 16 & 255, g: n >> 8 & 255, b: n & 255 };
277
277
  }
278
278
  function rgbToHex(r, g, b) {
279
- const to = (n) => _chunkFX35L4Y6cjs.clamp.call(void 0, Math.round(n), 0, 255).toString(16).padStart(2, "0");
279
+ const to = (n) => _chunkXCQ5I27Zcjs.clamp.call(void 0, Math.round(n), 0, 255).toString(16).padStart(2, "0");
280
280
  return `#${to(r)}${to(g)}${to(b)}`;
281
281
  }
282
282
  var HOVER_DARKEN_STEP = 10;
@@ -310,8 +310,8 @@ function rgbToHsl(r, g, b) {
310
310
  return { h: Math.round(h), s: Math.round(s * 100), l: Math.round(l * 100) };
311
311
  }
312
312
  function hslToRgb(h, s, l) {
313
- const sn = _chunkFX35L4Y6cjs.clamp.call(void 0, s, 0, 100) / 100;
314
- const ln = _chunkFX35L4Y6cjs.clamp.call(void 0, l, 0, 100) / 100;
313
+ const sn = _chunkXCQ5I27Zcjs.clamp.call(void 0, s, 0, 100) / 100;
314
+ const ln = _chunkXCQ5I27Zcjs.clamp.call(void 0, l, 0, 100) / 100;
315
315
  const hn = (h % 360 + 360) % 360;
316
316
  if (sn === 0) {
317
317
  const v = Math.round(ln * 255);
@@ -368,11 +368,11 @@ function ProvideFromServer({
368
368
  enabled,
369
369
  children
370
370
  }) {
371
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Provide, { icons: _chunkFX35L4Y6cjs.useAgentIdentities.call(void 0, endpoint, enabled), children });
371
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Provide, { icons: _chunkXCQ5I27Zcjs.useAgentIdentities.call(void 0, endpoint, enabled), children });
372
372
  }
373
373
  function AgentIdentityProvider({
374
374
  icons,
375
- endpoint = _chunkFX35L4Y6cjs.AGENT_IDENTITIES_API_PATH,
375
+ endpoint = _chunkXCQ5I27Zcjs.AGENT_IDENTITIES_API_PATH,
376
376
  enabled = true,
377
377
  children
378
378
  }) {