@flamingo-stack/openframe-frontend-core 0.0.255 → 0.0.256-snapshot.20260612014656

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 (159) hide show
  1. package/dist/{chunk-LHR7MBUY.js → chunk-2VZQJIVA.js} +48 -13
  2. package/dist/chunk-2VZQJIVA.js.map +1 -0
  3. package/dist/{chunk-GYKDSPC4.cjs → chunk-3DC6MHW6.cjs} +31 -31
  4. package/dist/{chunk-GYKDSPC4.cjs.map → chunk-3DC6MHW6.cjs.map} +1 -1
  5. package/dist/{chunk-LZL6P7SN.cjs → chunk-4MXBBBHB.cjs} +108 -11
  6. package/dist/chunk-4MXBBBHB.cjs.map +1 -0
  7. package/dist/{chunk-HMFBMVJC.js → chunk-6GBA6YJN.js} +2 -2
  8. package/dist/{chunk-SGJBUL2Y.cjs → chunk-7VMEOFEA.cjs} +45 -2
  9. package/dist/chunk-7VMEOFEA.cjs.map +1 -0
  10. package/dist/{chunk-UGFSMA7K.cjs → chunk-AIQ4DGO7.cjs} +77 -42
  11. package/dist/chunk-AIQ4DGO7.cjs.map +1 -0
  12. package/dist/{chunk-6TB24AUH.js → chunk-CBIQDPHK.js} +155 -236
  13. package/dist/chunk-CBIQDPHK.js.map +1 -0
  14. package/dist/{chunk-6LK4VEXE.cjs → chunk-EB76VWM4.cjs} +118 -63
  15. package/dist/chunk-EB76VWM4.cjs.map +1 -0
  16. package/dist/{chunk-RCW2IL4K.cjs → chunk-FBH73RRM.cjs} +1254 -1335
  17. package/dist/chunk-FBH73RRM.cjs.map +1 -0
  18. package/dist/{chunk-4HHYUEMD.js → chunk-IJHORDN5.js} +100 -3
  19. package/dist/chunk-IJHORDN5.js.map +1 -0
  20. package/dist/{chunk-MKVKVJQQ.js → chunk-J3QMPOS6.js} +5 -4
  21. package/dist/chunk-J3QMPOS6.js.map +1 -0
  22. package/dist/{chunk-CVGZJBHT.cjs → chunk-LCYDTEEK.cjs} +19 -19
  23. package/dist/{chunk-CVGZJBHT.cjs.map → chunk-LCYDTEEK.cjs.map} +1 -1
  24. package/dist/{chunk-2FCXJTOV.js → chunk-LDEXTWMK.js} +10 -2
  25. package/dist/chunk-LDEXTWMK.js.map +1 -0
  26. package/dist/{chunk-Z4IBEIWD.cjs → chunk-LGLPNWS6.cjs} +3 -3
  27. package/dist/{chunk-Z4IBEIWD.cjs.map → chunk-LGLPNWS6.cjs.map} +1 -1
  28. package/dist/{chunk-TU26IZPO.cjs → chunk-N5UOJC3V.cjs} +10 -2
  29. package/dist/chunk-N5UOJC3V.cjs.map +1 -0
  30. package/dist/{chunk-LKI3YCAX.js → chunk-NAOTZAKM.js} +62 -7
  31. package/dist/chunk-NAOTZAKM.js.map +1 -0
  32. package/dist/{chunk-2FAX6LZB.cjs → chunk-NNDLCSGR.cjs} +30 -30
  33. package/dist/{chunk-2FAX6LZB.cjs.map → chunk-NNDLCSGR.cjs.map} +1 -1
  34. package/dist/{chunk-VAUI3CND.js → chunk-NR535XIY.js} +44 -1
  35. package/dist/chunk-NR535XIY.js.map +1 -0
  36. package/dist/{chunk-D524LJYO.js → chunk-RUMSS73U.js} +4 -4
  37. package/dist/{chunk-265KKBV2.js → chunk-V4IIBNTA.js} +3 -3
  38. package/dist/chunk-V4IIBNTA.js.map +1 -0
  39. package/dist/{chunk-EFIEQ4XD.js → chunk-YMZZ5THD.js} +4 -4
  40. package/dist/{chunk-3TDLFCCS.cjs → chunk-ZJP2BB3E.cjs} +6 -5
  41. package/dist/chunk-ZJP2BB3E.cjs.map +1 -0
  42. package/dist/components/chat/entity-cards/entity-author-card.d.ts +13 -9
  43. package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
  44. package/dist/components/chat/index.cjs +9 -7
  45. package/dist/components/chat/index.cjs.map +1 -1
  46. package/dist/components/chat/index.d.ts +1 -0
  47. package/dist/components/chat/index.d.ts.map +1 -1
  48. package/dist/components/chat/index.js +8 -6
  49. package/dist/components/chat/types/entities/onboarding-guide.d.ts +2 -7
  50. package/dist/components/chat/types/entities/onboarding-guide.d.ts.map +1 -1
  51. package/dist/components/contact/index.cjs +8 -8
  52. package/dist/components/contact/index.js +7 -7
  53. package/dist/components/faq/faq-section.d.ts.map +1 -1
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +7 -7
  57. package/dist/components/features/index.js +6 -6
  58. package/dist/components/icons/index.cjs +2 -2
  59. package/dist/components/icons/index.js +1 -1
  60. package/dist/components/index.cjs +168 -155
  61. package/dist/components/index.cjs.map +1 -1
  62. package/dist/components/index.d.ts +1 -0
  63. package/dist/components/index.d.ts.map +1 -1
  64. package/dist/components/index.js +58 -45
  65. package/dist/components/index.js.map +1 -1
  66. package/dist/components/navigation/index.cjs +7 -7
  67. package/dist/components/navigation/index.js +6 -6
  68. package/dist/components/onboarding-guides/index.cjs +43 -27
  69. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  70. package/dist/components/onboarding-guides/index.js +20 -4
  71. package/dist/components/onboarding-guides/index.js.map +1 -1
  72. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +11 -1
  73. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  74. package/dist/components/related-content/index.cjs +10 -8
  75. package/dist/components/related-content/index.cjs.map +1 -1
  76. package/dist/components/related-content/index.d.ts +1 -1
  77. package/dist/components/related-content/index.d.ts.map +1 -1
  78. package/dist/components/related-content/index.js +9 -7
  79. package/dist/components/related-content/related-content-section.d.ts +16 -1
  80. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  81. package/dist/components/shared/article-author-byline.d.ts +58 -0
  82. package/dist/components/shared/article-author-byline.d.ts.map +1 -0
  83. package/dist/components/shared/product-release/release-detail-page.d.ts +4 -1
  84. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  85. package/dist/components/social-icon-row.d.ts +19 -4
  86. package/dist/components/social-icon-row.d.ts.map +1 -1
  87. package/dist/components/tickets/index.cjs +80 -80
  88. package/dist/components/tickets/index.js +8 -8
  89. package/dist/components/ui/button/button.d.ts +1 -1
  90. package/dist/components/ui/button/button.d.ts.map +1 -1
  91. package/dist/components/ui/file-manager/index.cjs +20 -20
  92. package/dist/components/ui/file-manager/index.js +1 -1
  93. package/dist/components/ui/index.cjs +9 -7
  94. package/dist/components/ui/index.cjs.map +1 -1
  95. package/dist/components/ui/index.js +8 -6
  96. package/dist/hooks/index.cjs +3 -3
  97. package/dist/hooks/index.js +2 -2
  98. package/dist/index.cjs +14 -10
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.js +20 -16
  101. package/dist/types/blog.d.ts +7 -0
  102. package/dist/types/blog.d.ts.map +1 -1
  103. package/dist/types/entity-author.d.ts +21 -0
  104. package/dist/types/entity-author.d.ts.map +1 -0
  105. package/dist/types/index.cjs.map +1 -1
  106. package/dist/types/index.d.ts +1 -0
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/index.js.map +1 -1
  109. package/dist/types/product-release.d.ts +2 -7
  110. package/dist/types/product-release.d.ts.map +1 -1
  111. package/dist/utils/common.d.ts +9 -0
  112. package/dist/utils/common.d.ts.map +1 -1
  113. package/dist/utils/content-href.d.ts.map +1 -1
  114. package/dist/utils/index.cjs +12 -3
  115. package/dist/utils/index.cjs.map +1 -1
  116. package/dist/utils/index.d.ts +1 -1
  117. package/dist/utils/index.d.ts.map +1 -1
  118. package/dist/utils/index.js +12 -4
  119. package/dist/utils/index.js.map +1 -1
  120. package/package.json +1 -1
  121. package/src/components/chat/entity-cards/entity-author-card.tsx +30 -11
  122. package/src/components/chat/index.ts +1 -0
  123. package/src/components/chat/types/entities/onboarding-guide.ts +3 -7
  124. package/src/components/faq/faq-section.tsx +4 -1
  125. package/src/components/icons/x-logo.tsx +2 -2
  126. package/src/components/index.ts +5 -0
  127. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +27 -0
  128. package/src/components/related-content/index.ts +1 -0
  129. package/src/components/related-content/related-content-section.tsx +84 -8
  130. package/src/components/shared/article-author-byline.tsx +187 -0
  131. package/src/components/shared/product-release/release-detail-page.tsx +18 -21
  132. package/src/components/social-icon-row.tsx +68 -22
  133. package/src/components/ui/button/button.tsx +13 -0
  134. package/src/types/blog.ts +9 -1
  135. package/src/types/entity-author.ts +20 -0
  136. package/src/types/index.ts +1 -0
  137. package/src/types/product-release.ts +2 -7
  138. package/src/utils/__tests__/content-href.test.ts +3 -0
  139. package/src/utils/common.ts +12 -0
  140. package/src/utils/content-href.ts +5 -0
  141. package/src/utils/index.ts +1 -1
  142. package/dist/chunk-265KKBV2.js.map +0 -1
  143. package/dist/chunk-2FCXJTOV.js.map +0 -1
  144. package/dist/chunk-3TDLFCCS.cjs.map +0 -1
  145. package/dist/chunk-4HHYUEMD.js.map +0 -1
  146. package/dist/chunk-6LK4VEXE.cjs.map +0 -1
  147. package/dist/chunk-6TB24AUH.js.map +0 -1
  148. package/dist/chunk-LHR7MBUY.js.map +0 -1
  149. package/dist/chunk-LKI3YCAX.js.map +0 -1
  150. package/dist/chunk-LZL6P7SN.cjs.map +0 -1
  151. package/dist/chunk-MKVKVJQQ.js.map +0 -1
  152. package/dist/chunk-RCW2IL4K.cjs.map +0 -1
  153. package/dist/chunk-SGJBUL2Y.cjs.map +0 -1
  154. package/dist/chunk-TU26IZPO.cjs.map +0 -1
  155. package/dist/chunk-UGFSMA7K.cjs.map +0 -1
  156. package/dist/chunk-VAUI3CND.js.map +0 -1
  157. /package/dist/{chunk-HMFBMVJC.js.map → chunk-6GBA6YJN.js.map} +0 -0
  158. /package/dist/{chunk-D524LJYO.js.map → chunk-RUMSS73U.js.map} +0 -0
  159. /package/dist/{chunk-EFIEQ4XD.js.map → chunk-YMZZ5THD.js.map} +0 -0
@@ -18,7 +18,7 @@ var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkTU26IZPOcjs = require('./chunk-TU26IZPO.cjs');
21
+ var _chunkN5UOJC3Vcjs = require('./chunk-N5UOJC3V.cjs');
22
22
 
23
23
 
24
24
 
@@ -34,7 +34,7 @@ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
34
34
 
35
35
 
36
36
 
37
- var _chunkZ4IBEIWDcjs = require('./chunk-Z4IBEIWD.cjs');
37
+ var _chunkLGLPNWS6cjs = require('./chunk-LGLPNWS6.cjs');
38
38
 
39
39
 
40
40
 
@@ -1499,7 +1499,7 @@ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
1499
1499
  var _lucidereact = require('lucide-react');
1500
1500
 
1501
1501
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
1502
- _chunkTU26IZPOcjs.init_button2.call(void 0, );
1502
+ _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
1503
1503
 
1504
1504
  var ROW_CLASSES = "flex flex-1 min-w-0 items-center gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-s)] cursor-pointer transition-colors bg-ods-bg outline-none";
1505
1505
  var WRAPPER_CLASSES = "relative flex items-stretch border-b border-ods-border last:border-b-0";
@@ -1756,9 +1756,9 @@ var ActionsMenuDropdown = ({
1756
1756
  },
1757
1757
  [onItemClick, setOpen]
1758
1758
  );
1759
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTU26IZPOcjs.DropdownMenu, { open, onOpenChange: setOpen, modal: false, children: [
1760
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuTrigger, { asChild: true, children: _nullishCoalesce(customTrigger, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1761
- _chunkTU26IZPOcjs.Button,
1759
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenu, { open, onOpenChange: setOpen, modal: false, children: [
1760
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenuTrigger, { asChild: true, children: _nullishCoalesce(customTrigger, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1761
+ _chunkN5UOJC3Vcjs.Button,
1762
1762
  {
1763
1763
  variant: "outline",
1764
1764
  size: "icon",
@@ -1768,7 +1768,7 @@ var ActionsMenuDropdown = ({
1768
1768
  }
1769
1769
  ))) }),
1770
1770
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1771
- _chunkTU26IZPOcjs.DropdownMenuContent,
1771
+ _chunkN5UOJC3Vcjs.DropdownMenuContent,
1772
1772
  {
1773
1773
  align,
1774
1774
  side,
@@ -1791,6 +1791,48 @@ var ActionsMenuDropdown = ({
1791
1791
  ] });
1792
1792
  };
1793
1793
 
1794
+ // src/utils/image-proxy.ts
1795
+ function getProxiedImageUrl(imageUrl, options) {
1796
+ if (!imageUrl) return null;
1797
+ const proxyPrefix = _optionalChain([options, 'optionalAccess', _28 => _28.proxyPrefix]);
1798
+ const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _29 => _29.skipDomains]), () => ( []));
1799
+ const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _30 => _30.directHttps]), () => ( false));
1800
+ if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
1801
+ return imageUrl;
1802
+ }
1803
+ if (!imageUrl.startsWith("http://") && !imageUrl.startsWith("https://")) {
1804
+ return imageUrl;
1805
+ }
1806
+ if (directHttps && imageUrl.startsWith("https://")) {
1807
+ return imageUrl;
1808
+ }
1809
+ if (!proxyPrefix) {
1810
+ return imageUrl;
1811
+ }
1812
+ for (const domain of skipDomains) {
1813
+ if (imageUrl.includes(domain)) {
1814
+ return imageUrl;
1815
+ }
1816
+ }
1817
+ return `${proxyPrefix}?url=${encodeURIComponent(imageUrl)}`;
1818
+ }
1819
+ function urlPathLooksLikeSvg(imageUrl) {
1820
+ try {
1821
+ return /\.svg$/i.test(new URL(imageUrl).pathname);
1822
+ } catch (e2) {
1823
+ return /\.svg(\?|#|$)/i.test(imageUrl);
1824
+ }
1825
+ }
1826
+ function shouldProxyImage(imageUrl, proxyPrefix) {
1827
+ if (!imageUrl) return false;
1828
+ if (!imageUrl.startsWith("http://") && !imageUrl.startsWith("https://")) return false;
1829
+ if (proxyPrefix && imageUrl.includes(proxyPrefix)) return false;
1830
+ return true;
1831
+ }
1832
+ function generateImageSizes(_url) {
1833
+ return `(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw`;
1834
+ }
1835
+
1794
1836
  // src/components/chat/utils/is-cross-origin-url.ts
1795
1837
  function isCrossOriginUrl(url) {
1796
1838
  if (!url) return false;
@@ -1816,7 +1858,7 @@ function decideNewTab(input) {
1816
1858
  function computeIsNewTab(runtime, href, targetPlatform) {
1817
1859
  if (!href) return false;
1818
1860
  if (runtime.navigation.mode === "embed") return true;
1819
- return _nullishCoalesce(_optionalChain([runtime, 'access', _28 => _28.navigation, 'access', _29 => _29.decideNewTab, 'optionalCall', _30 => _30({ href, targetPlatform })]), () => ( decideNewTab({
1861
+ return _nullishCoalesce(_optionalChain([runtime, 'access', _31 => _31.navigation, 'access', _32 => _32.decideNewTab, 'optionalCall', _33 => _33({ href, targetPlatform })]), () => ( decideNewTab({
1820
1862
  href,
1821
1863
  targetPlatform,
1822
1864
  currentSource: _nullishCoalesce(runtime.source, () => ( ""))
@@ -1839,7 +1881,7 @@ function stripSameOriginToPath(href) {
1839
1881
  try {
1840
1882
  const u = new URL(href);
1841
1883
  return u.pathname + u.search + u.hash;
1842
- } catch (e2) {
1884
+ } catch (e3) {
1843
1885
  return href;
1844
1886
  }
1845
1887
  }
@@ -1877,6 +1919,7 @@ function resolveExternalNavigation(args) {
1877
1919
  }
1878
1920
 
1879
1921
  // src/components/chat/entity-cards/entity-author-card.tsx
1922
+ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
1880
1923
 
1881
1924
  var EMPTY_AUTHOR_PLACEHOLDER = {
1882
1925
  full_name: "\u2014",
@@ -1897,9 +1940,11 @@ function EntityMetadataValueCell({
1897
1940
  function EntityMetadataAuthorCell({
1898
1941
  author,
1899
1942
  roleLabel = "Author",
1943
+ authorHref,
1900
1944
  className
1901
1945
  }) {
1902
- const fullName = author.full_name || "Unknown Author";
1946
+ const trimmedName = typeof author.full_name === "string" ? author.full_name.trim() : "";
1947
+ const fullName = trimmedName || "Unknown Author";
1903
1948
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `bg-ods-card p-4 flex items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
1904
1949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1905
1950
  SquareAvatar,
@@ -1912,7 +1957,7 @@ function EntityMetadataAuthorCell({
1912
1957
  }
1913
1958
  ),
1914
1959
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
1915
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: fullName }),
1960
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", title: fullName, children: authorHref && trimmedName ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: authorHref, className: "hover:text-ods-accent transition-colors", children: fullName }) : fullName }),
1916
1961
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: author.job_title || roleLabel })
1917
1962
  ] })
1918
1963
  ] });
@@ -1920,13 +1965,14 @@ function EntityMetadataAuthorCell({
1920
1965
  function EntityAuthorCard({
1921
1966
  author,
1922
1967
  roleLabel = "Author",
1968
+ authorHref,
1923
1969
  publishedAt,
1924
1970
  publishedLabel = "Published",
1925
1971
  extraCells,
1926
1972
  renderEmptyAuthor = false,
1927
1973
  className
1928
1974
  }) {
1929
- const hasAuthor = !!_optionalChain([author, 'optionalAccess', _31 => _31.full_name]);
1975
+ const hasAuthor = !!_optionalChain([author, 'optionalAccess', _34 => _34.full_name]);
1930
1976
  if (!hasAuthor && !renderEmptyAuthor) return null;
1931
1977
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
1932
1978
  const formatted = publishedAt ? formatDate(publishedAt) : "";
@@ -1960,7 +2006,7 @@ function EntityAuthorCard({
1960
2006
  className: dividerClass
1961
2007
  }
1962
2008
  ),
1963
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCell, { author: effectiveAuthor, roleLabel })
2009
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityMetadataAuthorCell, { author: effectiveAuthor, roleLabel, authorHref })
1964
2010
  ]
1965
2011
  }
1966
2012
  );
@@ -2003,7 +2049,7 @@ var _muxplayerreact = require('@mux/mux-player-react'); var _muxplayerreact2 = _
2003
2049
 
2004
2050
  if (typeof window !== "undefined") {
2005
2051
  const w = window;
2006
- if (!_optionalChain([w, 'access', _32 => _32.chrome, 'optionalAccess', _33 => _33.cast])) {
2052
+ if (!_optionalChain([w, 'access', _35 => _35.chrome, 'optionalAccess', _36 => _36.cast])) {
2007
2053
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
2008
2054
  }
2009
2055
  }
@@ -2032,7 +2078,7 @@ var YT_HOSTS = /* @__PURE__ */ new Set([
2032
2078
  function isYouTubeUrl(url) {
2033
2079
  try {
2034
2080
  return YT_HOSTS.has(new URL(url, "http://placeholder.local").hostname.toLowerCase());
2035
- } catch (e3) {
2081
+ } catch (e4) {
2036
2082
  return false;
2037
2083
  }
2038
2084
  }
@@ -2044,7 +2090,7 @@ function extractYouTubeId(url) {
2044
2090
  let u;
2045
2091
  try {
2046
2092
  u = new URL(url, "http://placeholder.local");
2047
- } catch (e4) {
2093
+ } catch (e5) {
2048
2094
  return null;
2049
2095
  }
2050
2096
  if (!YT_HOSTS.has(u.hostname.toLowerCase())) return null;
@@ -2193,7 +2239,7 @@ function YouTubeFacadeInner({
2193
2239
  const iframe = iframeRef.current;
2194
2240
  if (!iframe) return;
2195
2241
  function subscribe() {
2196
- _optionalChain([iframe, 'optionalAccess', _34 => _34.contentWindow, 'optionalAccess', _35 => _35.postMessage, 'call', _36 => _36(
2242
+ _optionalChain([iframe, 'optionalAccess', _37 => _37.contentWindow, 'optionalAccess', _38 => _38.postMessage, 'call', _39 => _39(
2197
2243
  '{"event":"listening"}',
2198
2244
  YT_NOCOOKIE_ORIGIN
2199
2245
  )]);
@@ -2207,17 +2253,17 @@ function YouTubeFacadeInner({
2207
2253
  let payload = null;
2208
2254
  try {
2209
2255
  payload = JSON.parse(event.data);
2210
- } catch (e5) {
2256
+ } catch (e6) {
2211
2257
  return;
2212
2258
  }
2213
2259
  if (!payload || payload.event !== "infoDelivery") return;
2214
- const state = _optionalChain([payload, 'access', _37 => _37.info, 'optionalAccess', _38 => _38.playerState]);
2260
+ const state = _optionalChain([payload, 'access', _40 => _40.info, 'optionalAccess', _41 => _41.playerState]);
2215
2261
  if (typeof state !== "number") return;
2216
2262
  if (state === YT_STATE_PLAYING) {
2217
2263
  if (blurTimer !== null) return;
2218
2264
  blurTimer = setTimeout(() => {
2219
2265
  blurTimer = null;
2220
- _optionalChain([iframeRef, 'access', _39 => _39.current, 'optionalAccess', _40 => _40.blur, 'call', _41 => _41()]);
2266
+ _optionalChain([iframeRef, 'access', _42 => _42.current, 'optionalAccess', _43 => _43.blur, 'call', _44 => _44()]);
2221
2267
  }, YT_PLAYING_BLUR_DELAY_MS);
2222
2268
  return;
2223
2269
  }
@@ -2556,7 +2602,7 @@ function safeHref(url) {
2556
2602
  if (!SAFE_URL_SCHEMES.includes(parsed.protocol)) return null;
2557
2603
  if ((parsed.protocol === "https:" || parsed.protocol === "http:") && !parsed.hostname) return null;
2558
2604
  return trimmed;
2559
- } catch (e6) {
2605
+ } catch (e7) {
2560
2606
  return null;
2561
2607
  }
2562
2608
  }
@@ -2594,8 +2640,8 @@ function useEntityCardPlaceholder({
2594
2640
  aspect = "wide"
2595
2641
  }) {
2596
2642
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
2597
- const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _42 => _42.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
2598
- const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _43 => _43.resolvePlaceholderUrl]);
2643
+ const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _45 => _45.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
2644
+ const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _46 => _46.resolvePlaceholderUrl]);
2599
2645
  const derived = _chunkDAAFVOTLcjs.useOgPlaceholder.call(void 0, builder, title, siteName, enabled, aspect);
2600
2646
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
2601
2647
  }
@@ -2776,7 +2822,7 @@ function OnboardingGuideCard({
2776
2822
  const compactCover = coverImage || placeholderUrl || null;
2777
2823
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
2778
2824
  const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
2779
- const author = _optionalChain([guide, 'access', _44 => _44.author, 'optionalAccess', _45 => _45.full_name, 'optionalAccess', _46 => _46.trim, 'call', _47 => _47()]) || "";
2825
+ const author = _optionalChain([guide, 'access', _47 => _47.author, 'optionalAccess', _48 => _48.full_name, 'optionalAccess', _49 => _49.trim, 'call', _50 => _50()]) || "";
2780
2826
  const subtitleParts = [
2781
2827
  `Step ${guide.step_order}`,
2782
2828
  guide.section,
@@ -3005,7 +3051,7 @@ function defaultTableIdForDocumentType(documentType) {
3005
3051
 
3006
3052
 
3007
3053
 
3008
- var OpenFrameLogoIcon = ({ className }) => _react.createElement.call(void 0, _chunkZ4IBEIWDcjs.OpenFrameLogo, { className, upperPathColor: "currentColor" });
3054
+ var OpenFrameLogoIcon = ({ className }) => _react.createElement.call(void 0, _chunkLGLPNWS6cjs.OpenFrameLogo, { className, upperPathColor: "currentColor" });
3009
3055
  var ICON_REGISTRY = {
3010
3056
  // lucide-react (kebab-case)
3011
3057
  activity: _lucidereact.Activity,
@@ -3019,7 +3065,7 @@ var ICON_REGISTRY = {
3019
3065
  "dollar-sign": _lucidereact.DollarSign,
3020
3066
  // For brand-vs-lucide variants the kebab key is the BRAND (most-common
3021
3067
  // social-platform intent); `'<name>-lucide'` carries the lucide outline.
3022
- facebook: _chunkZ4IBEIWDcjs.FacebookIcon,
3068
+ facebook: _chunkLGLPNWS6cjs.FacebookIcon,
3023
3069
  "facebook-lucide": _lucidereact.Facebook,
3024
3070
  "file-text": _lucidereact.FileText,
3025
3071
  // `'github-lucide'` is the lucide outline glyph (used by
@@ -3028,13 +3074,13 @@ var ICON_REGISTRY = {
3028
3074
  // alias `'Github' → 'github-lucide'` routes the lucide glyph for
3029
3075
  // social-platform DB rows; `'GitHubIcon' → 'github'` keeps brand routing
3030
3076
  // consistent for callers that store the PascalCase component name.
3031
- github: _chunkZ4IBEIWDcjs.GitHubIcon,
3077
+ github: _chunkLGLPNWS6cjs.GitHubIcon,
3032
3078
  "github-lucide": _lucidereact.Github,
3033
3079
  globe: _lucidereact.Globe,
3034
3080
  "graduation-cap": _lucidereact.GraduationCap,
3035
3081
  headphones: _lucidereact.Headphones,
3036
3082
  info: _lucidereact.Info,
3037
- instagram: _chunkZ4IBEIWDcjs.InstagramIcon,
3083
+ instagram: _chunkLGLPNWS6cjs.InstagramIcon,
3038
3084
  "instagram-lucide": _lucidereact.Instagram,
3039
3085
  mail: _lucidereact.Mail,
3040
3086
  megaphone: _lucidereact.Megaphone,
@@ -3053,14 +3099,14 @@ var ICON_REGISTRY = {
3053
3099
  twitter: _lucidereact.Twitter,
3054
3100
  users: _lucidereact.Users,
3055
3101
  video: _lucidereact.Video,
3056
- youtube: _chunkZ4IBEIWDcjs.YouTubeIcon,
3102
+ youtube: _chunkLGLPNWS6cjs.YouTubeIcon,
3057
3103
  "youtube-lucide": _lucidereact.Youtube,
3058
3104
  // brand-only icons (no lucide variant in current use)
3059
- slack: _chunkZ4IBEIWDcjs.SlackIcon,
3060
- clickup: _chunkZ4IBEIWDcjs.ClickUpIcon,
3061
- hubspot: _chunkZ4IBEIWDcjs.HubspotIcon,
3062
- linkedin: _chunkZ4IBEIWDcjs.LinkedInIcon,
3063
- x: _chunkZ4IBEIWDcjs.XLogo,
3105
+ slack: _chunkLGLPNWS6cjs.SlackIcon,
3106
+ clickup: _chunkLGLPNWS6cjs.ClickUpIcon,
3107
+ hubspot: _chunkLGLPNWS6cjs.HubspotIcon,
3108
+ linkedin: _chunkLGLPNWS6cjs.LinkedInIcon,
3109
+ x: _chunkLGLPNWS6cjs.XLogo,
3064
3110
  openframe: OpenFrameLogoIcon
3065
3111
  };
3066
3112
  var PASCAL_TO_KEBAB_ALIASES = {
@@ -3192,7 +3238,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
3192
3238
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
3193
3239
  const safePath = sanitizePath(row.path);
3194
3240
  if (safePath) {
3195
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _48 => _48.docPlatformTargets, 'optionalAccess', _49 => _49[row.documentType]]) : void 0;
3241
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _51 => _51.docPlatformTargets, 'optionalAccess', _52 => _52[row.documentType]]) : void 0;
3196
3242
  if (docTarget) {
3197
3243
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
3198
3244
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -3251,7 +3297,7 @@ function resolveSourceIcon(input, ctx = {}) {
3251
3297
  // src/components/ui/page-actions.tsx
3252
3298
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
3253
3299
 
3254
- _chunkTU26IZPOcjs.init_button2.call(void 0, );
3300
+ _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
3255
3301
 
3256
3302
  function actionKey(action, idx) {
3257
3303
  return `${_nullishCoalesce(_nullishCoalesce(action.label, () => ( action.ariaLabel)), () => ( "action"))}-${idx}`;
@@ -3285,7 +3331,7 @@ function actionToMenuItems(action, idx) {
3285
3331
  function renderActionButton(action, opts = {}) {
3286
3332
  if (action.iconAction) {
3287
3333
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3288
- _chunkTU26IZPOcjs.SplitButton,
3334
+ _chunkN5UOJC3Vcjs.SplitButton,
3289
3335
  {
3290
3336
  variant: _nullishCoalesce(action.variant, () => ( void 0)),
3291
3337
  href: action.href,
@@ -3307,7 +3353,7 @@ function renderActionButton(action, opts = {}) {
3307
3353
  {
3308
3354
  groups: [{ items: action.submenu }],
3309
3355
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3310
- _chunkTU26IZPOcjs.Button,
3356
+ _chunkN5UOJC3Vcjs.Button,
3311
3357
  {
3312
3358
  variant: "outline",
3313
3359
  disabled: action.disabled,
@@ -3325,7 +3371,7 @@ function renderActionButton(action, opts = {}) {
3325
3371
  if (isIconOnly) {
3326
3372
  const iconNode = action.iconOnlyOnDesktop ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex [&_svg]:!text-ods-text-primary", children: action.icon }) : action.icon;
3327
3373
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3328
- _chunkTU26IZPOcjs.Button,
3374
+ _chunkN5UOJC3Vcjs.Button,
3329
3375
  {
3330
3376
  variant: action.variant,
3331
3377
  size: "icon",
@@ -3341,7 +3387,7 @@ function renderActionButton(action, opts = {}) {
3341
3387
  );
3342
3388
  }
3343
3389
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3344
- _chunkTU26IZPOcjs.Button,
3390
+ _chunkN5UOJC3Vcjs.Button,
3345
3391
  {
3346
3392
  variant: action.variant,
3347
3393
  href: action.href,
@@ -3380,7 +3426,7 @@ function IconButtonsVariant({
3380
3426
  }) {
3381
3427
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
3382
3428
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
3383
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _50 => _50[0], 'access', _51 => _51.submenu, 'optionalAccess', _52 => _52.length]);
3429
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _53 => _53[0], 'access', _54 => _54.submenu, 'optionalAccess', _55 => _55.length]);
3384
3430
  const singleAction = isSingleAction ? actions[0] : null;
3385
3431
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
3386
3432
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -3699,14 +3745,19 @@ var DEFAULT_CONTENT_SUFFIXES = {
3699
3745
  investor_update: "investor-updates",
3700
3746
  webinar: "webinars",
3701
3747
  podcast: "podcasts",
3702
- event: "events"
3748
+ event: "events",
3749
+ // Author profile pages (`/authors/<slug>`) — identified by the profile
3750
+ // slug. Mirrors the hub's `PUBLIC_URL_PATHS.author`, which derives from
3751
+ // `AUTHORS_PATH` in the hub's `lib/utils/breadcrumbs.ts` (the hub-side
3752
+ // SSOT for the segment).
3753
+ author: "authors"
3703
3754
  };
3704
3755
  function lastPathSegment(url) {
3705
3756
  try {
3706
3757
  const pathname = new URL(url, "https://_.local").pathname;
3707
3758
  const segs = pathname.split("/").filter(Boolean);
3708
3759
  return segs.length > 0 ? segs[segs.length - 1] : null;
3709
- } catch (e7) {
3760
+ } catch (e8) {
3710
3761
  return null;
3711
3762
  }
3712
3763
  }
@@ -3732,7 +3783,7 @@ function resolveContentHref(composeContentUrl, args) {
3732
3783
  }
3733
3784
 
3734
3785
  // src/components/ui/error-state.tsx
3735
- _chunkTU26IZPOcjs.init_button2.call(void 0, );
3786
+ _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
3736
3787
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
3737
3788
 
3738
3789
 
@@ -3786,7 +3837,7 @@ function ErrorState({
3786
3837
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "text-sm", styles.text), children: message }),
3787
3838
  (showRetry || showHome) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 mt-3", children: [
3788
3839
  showRetry && onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3789
- _chunkTU26IZPOcjs.Button,
3840
+ _chunkN5UOJC3Vcjs.Button,
3790
3841
  {
3791
3842
  onClick: onRetry,
3792
3843
  variant: "outline",
@@ -3797,7 +3848,7 @@ function ErrorState({
3797
3848
  }
3798
3849
  ),
3799
3850
  showHome && onHome && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3800
- _chunkTU26IZPOcjs.Button,
3851
+ _chunkN5UOJC3Vcjs.Button,
3801
3852
  {
3802
3853
  onClick: onHome,
3803
3854
  variant: "outline",
@@ -3891,7 +3942,7 @@ function useVideoOriginPreconnect({
3891
3942
  supabaseStorageOrigin
3892
3943
  } = {}) {
3893
3944
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
3894
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _53 => _53.endpoints, 'access', _54 => _54.supabaseStorageOrigin])));
3945
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _56 => _56.endpoints, 'access', _57 => _57.supabaseStorageOrigin])));
3895
3946
  try {
3896
3947
  _reactdom2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
3897
3948
  _reactdom2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -3910,17 +3961,17 @@ function useVideoWarmup({
3910
3961
  nearMargin = "1000px"
3911
3962
  } = {}) {
3912
3963
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
3913
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _55 => _55.endpoints, 'access', _56 => _56.supabaseStorageOrigin])));
3964
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _58 => _58.endpoints, 'access', _59 => _59.supabaseStorageOrigin])));
3914
3965
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
3915
3966
  const { ref, isNear } = _chunkDAAFVOTLcjs.useNearViewport.call(void 0, nearMargin);
3916
3967
  _react.useEffect.call(void 0, () => {
3917
3968
  if (!isNear || !videoUrl || !resolvedOrigin) return;
3918
3969
  const conn = navigator.connection;
3919
- if (_optionalChain([conn, 'optionalAccess', _57 => _57.saveData]) === true) return;
3970
+ if (_optionalChain([conn, 'optionalAccess', _60 => _60.saveData]) === true) return;
3920
3971
  let videoOrigin;
3921
3972
  try {
3922
3973
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
3923
- } catch (e8) {
3974
+ } catch (e9) {
3924
3975
  return;
3925
3976
  }
3926
3977
  if (videoOrigin !== resolvedOrigin) return;
@@ -4037,7 +4088,7 @@ function SearchInput({
4037
4088
  if (!showHiddenTags) return;
4038
4089
  const handleClick = (e) => {
4039
4090
  const target = e.target;
4040
- if (!_optionalChain([hiddenTagsRef, 'access', _58 => _58.current, 'optionalAccess', _59 => _59.contains, 'call', _60 => _60(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _61 => _61.current, 'optionalAccess', _62 => _62.contains, 'call', _63 => _63(target)])) {
4091
+ if (!_optionalChain([hiddenTagsRef, 'access', _61 => _61.current, 'optionalAccess', _62 => _62.contains, 'call', _63 => _63(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _64 => _64.current, 'optionalAccess', _65 => _65.contains, 'call', _66 => _66(target)])) {
4041
4092
  setShowHiddenTags(false);
4042
4093
  }
4043
4094
  };
@@ -4085,10 +4136,10 @@ function SearchInput({
4085
4136
  } else {
4086
4137
  setInternalValue("");
4087
4138
  }
4088
- _optionalChain([inputRef, 'access', _64 => _64.current, 'optionalAccess', _65 => _65.focus, 'call', _66 => _66()]);
4139
+ _optionalChain([inputRef, 'access', _67 => _67.current, 'optionalAccess', _68 => _68.focus, 'call', _69 => _69()]);
4089
4140
  };
4090
4141
  const handleResultClick = (result, e) => {
4091
- _optionalChain([onResultSelect, 'optionalCall', _67 => _67(
4142
+ _optionalChain([onResultSelect, 'optionalCall', _70 => _70(
4092
4143
  result,
4093
4144
  e ? {
4094
4145
  metaKey: e.metaKey,
@@ -4120,7 +4171,7 @@ function SearchInput({
4120
4171
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
4121
4172
  handleResultClick(flatResults[highlightedIndex]);
4122
4173
  } else {
4123
- _optionalChain([onSubmit, 'optionalCall', _68 => _68(currentValue)]);
4174
+ _optionalChain([onSubmit, 'optionalCall', _71 => _71(currentValue)]);
4124
4175
  }
4125
4176
  break;
4126
4177
  case "Escape":
@@ -4198,7 +4249,7 @@ function SearchInput({
4198
4249
  dropdownVisible && "!border-ods-accent"
4199
4250
  ),
4200
4251
  onClick: () => {
4201
- _optionalChain([inputRef, 'access', _69 => _69.current, 'optionalAccess', _70 => _70.focus, 'call', _71 => _71()]);
4252
+ _optionalChain([inputRef, 'access', _72 => _72.current, 'optionalAccess', _73 => _73.focus, 'call', _74 => _74()]);
4202
4253
  setIsOpen(true);
4203
4254
  },
4204
4255
  children: [
@@ -4282,10 +4333,10 @@ function SearchInput({
4282
4333
  align: "start",
4283
4334
  onOpenAutoFocus: (e) => {
4284
4335
  e.preventDefault();
4285
- _optionalChain([inputRef, 'access', _72 => _72.current, 'optionalAccess', _73 => _73.focus, 'call', _74 => _74()]);
4336
+ _optionalChain([inputRef, 'access', _75 => _75.current, 'optionalAccess', _76 => _76.focus, 'call', _77 => _77()]);
4286
4337
  },
4287
4338
  onInteractOutside: (e) => {
4288
- if (_optionalChain([containerRef, 'access', _75 => _75.current, 'optionalAccess', _76 => _76.contains, 'call', _77 => _77(e.target)])) {
4339
+ if (_optionalChain([containerRef, 'access', _78 => _78.current, 'optionalAccess', _79 => _79.contains, 'call', _80 => _80(e.target)])) {
4289
4340
  e.preventDefault();
4290
4341
  }
4291
4342
  },
@@ -4302,10 +4353,10 @@ function SearchInput({
4302
4353
  ref: hiddenTagsPopupRef,
4303
4354
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
4304
4355
  style: {
4305
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _78 => _78.current, 'optionalAccess', _79 => _79.getBoundingClientRect, 'call', _80 => _80(), 'access', _81 => _81.left]), () => ( 0))) : 0
4356
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _81 => _81.current, 'optionalAccess', _82 => _82.getBoundingClientRect, 'call', _83 => _83(), 'access', _84 => _84.left]), () => ( 0))) : 0
4306
4357
  },
4307
4358
  onRemove: (value2) => {
4308
- _optionalChain([onFilterRemove, 'optionalCall', _82 => _82(value2)]);
4359
+ _optionalChain([onFilterRemove, 'optionalCall', _85 => _85(value2)]);
4309
4360
  if (hiddenCount <= 1) setShowHiddenTags(false);
4310
4361
  }
4311
4362
  }
@@ -4342,7 +4393,7 @@ function SearchInput({
4342
4393
  }
4343
4394
 
4344
4395
  // src/components/ui/filter-pill-row.tsx
4345
- _chunkTU26IZPOcjs.init_button2.call(void 0, );
4396
+ _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
4346
4397
 
4347
4398
 
4348
4399
  function FilterPillRow({
@@ -4359,7 +4410,7 @@ function FilterPillRow({
4359
4410
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5 text-ods-text-secondary", children: label })
4360
4411
  ] }),
4361
4412
  children || options.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4362
- _chunkTU26IZPOcjs.Button,
4413
+ _chunkN5UOJC3Vcjs.Button,
4363
4414
  {
4364
4415
  type: "button",
4365
4416
  variant: selectedValue === opt.value ? "accent" : "outline",
@@ -4510,5 +4561,9 @@ function FilterPillRow({
4510
4561
 
4511
4562
 
4512
4563
 
4513
- exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.useControllableState = useControllableState; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveHrefForRuntime = resolveHrefForRuntime; exports.resolveExternalNavigation = resolveExternalNavigation; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.useEntityCardLink = useEntityCardLink; exports.useEntityCardPlaceholder = useEntityCardPlaceholder; 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.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.sourceRowCtxFromRuntime = sourceRowCtxFromRuntime; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.EntityTagBadges = EntityTagBadges; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.SearchInput = SearchInput; exports.FilterPillRow = FilterPillRow;
4514
- //# sourceMappingURL=chunk-6LK4VEXE.cjs.map
4564
+
4565
+
4566
+
4567
+
4568
+ exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.useControllableState = useControllableState; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveHrefForRuntime = resolveHrefForRuntime; exports.resolveExternalNavigation = resolveExternalNavigation; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.useEntityCardLink = useEntityCardLink; exports.useEntityCardPlaceholder = useEntityCardPlaceholder; 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.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.sourceRowCtxFromRuntime = sourceRowCtxFromRuntime; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.EntityTagBadges = EntityTagBadges; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.SearchInput = SearchInput; exports.FilterPillRow = FilterPillRow;
4569
+ //# sourceMappingURL=chunk-EB76VWM4.cjs.map