@flamingo-stack/openframe-frontend-core 0.0.723 → 0.0.725

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 (118) hide show
  1. package/dist/{chunk-2VOPQJNR.js → chunk-2MMZTACD.js} +2 -2
  2. package/dist/{chunk-OHC2MPUO.cjs → chunk-2SO3OJFY.cjs} +35 -35
  3. package/dist/{chunk-YQOJOW2Z.cjs → chunk-2VOZ37BL.cjs} +64 -64
  4. package/dist/{chunk-WSMOTZRJ.cjs → chunk-4ZZ4TNCY.cjs} +11 -11
  5. package/dist/{chunk-YUSA7IPD.js → chunk-5FVWDDX6.js} +3 -3
  6. package/dist/{chunk-PKS2QQJU.js → chunk-6EFNWQRY.js} +2 -1
  7. package/dist/{chunk-NESUUHPV.cjs → chunk-772242QR.cjs} +76 -76
  8. package/dist/{chunk-3RIKO2O2.cjs → chunk-7V5KFBY2.cjs} +31 -31
  9. package/dist/{chunk-MWLVYYRX.cjs → chunk-AI3CLDZO.cjs} +2580 -2120
  10. package/dist/{chunk-YGIUWQEN.js → chunk-ASHRHL4W.js} +7 -7
  11. package/dist/{chunk-A7JPMNHF.js → chunk-ASIXPRHV.js} +6 -6
  12. package/dist/{chunk-7JXCLUU7.js → chunk-AX4F35C2.js} +2 -2
  13. package/dist/{chunk-TDSLKKX7.cjs → chunk-B7234BE2.cjs} +16 -16
  14. package/dist/{chunk-SBCJFJ6Q.js → chunk-F56GNKX2.js} +4 -4
  15. package/dist/{chunk-VIFVSFYY.js → chunk-F77J34W2.js} +1 -1
  16. package/dist/{chunk-JENNI7XU.cjs → chunk-HEQ4GPYE.cjs} +5 -4
  17. package/dist/{chunk-LV6UJD2K.cjs → chunk-IITB5TJR.cjs} +10 -2
  18. package/dist/{chunk-WVA7SCLY.js → chunk-IOTAUWWF.js} +1 -1
  19. package/dist/{chunk-OVG6MV3X.js → chunk-JAKG6BY7.js} +6 -6
  20. package/dist/{chunk-F6JAGSKV.js → chunk-JVHP7Y4S.js} +5 -5
  21. package/dist/{chunk-WY4SLTMZ.js → chunk-JXJFUGJY.js} +1 -1
  22. package/dist/{chunk-GYUFKNOQ.cjs → chunk-KLCOSY7B.cjs} +4 -4
  23. package/dist/{chunk-P7MDECYI.cjs → chunk-KNLRL63O.cjs} +41 -41
  24. package/dist/{chunk-VGXAZEQP.cjs → chunk-LR6DJY4Z.cjs} +17 -17
  25. package/dist/{chunk-KSADTFNZ.cjs → chunk-LYQYLPPV.cjs} +32 -32
  26. package/dist/{chunk-QBXEF7D5.js → chunk-MGTZ2BKY.js} +4 -4
  27. package/dist/{chunk-IIBTYCEN.js → chunk-MLFS5G3V.js} +89 -14
  28. package/dist/{chunk-GRDJR2Q7.js → chunk-MSPXMSMY.js} +1 -1
  29. package/dist/{chunk-FDWYBJYD.cjs → chunk-NJV3LIDE.cjs} +3 -3
  30. package/dist/{chunk-JL7AHSFE.js → chunk-OBMWSUBK.js} +6 -6
  31. package/dist/{chunk-N4VCU6XP.js → chunk-PUADVXJD.js} +1 -1
  32. package/dist/{chunk-KY4WQYYG.cjs → chunk-QV4GO3GW.cjs} +19 -19
  33. package/dist/{chunk-OWRD2GZU.cjs → chunk-RU6BTELI.cjs} +687 -612
  34. package/dist/{chunk-Y5H3M7OM.cjs → chunk-SE4O4HCD.cjs} +23 -23
  35. package/dist/{chunk-2MC4DRSC.cjs → chunk-SEVKFMKR.cjs} +3 -3
  36. package/dist/{chunk-UYMTAFHG.js → chunk-TU5LEF6A.js} +1 -1
  37. package/dist/{chunk-NFABAOMD.cjs → chunk-U6LRRG2E.cjs} +15 -15
  38. package/dist/{chunk-G6YNPBWV.js → chunk-W2DXHR2R.js} +3045 -2585
  39. package/dist/{chunk-KSZRALRL.cjs → chunk-YPEILGVZ.cjs} +3 -3
  40. package/dist/{chunk-EWED6ISQ.js → chunk-YQDKVGKO.js} +9 -1
  41. package/dist/{chunk-6QTGLBJH.cjs → chunk-ZSXZE4FJ.cjs} +3 -3
  42. package/dist/{chunk-XTG7W75B.js → chunk-ZZRUKEN2.js} +4 -4
  43. package/dist/{cloud-tenants-3TVX7U23.cjs → cloud-tenants-SMULXU54.cjs} +7 -7
  44. package/dist/{cloud-tenants-N6KV2T7X.js → cloud-tenants-US63E2HV.js} +6 -6
  45. package/dist/components/case-studies/index.cjs +20 -20
  46. package/dist/components/case-studies/index.js +7 -7
  47. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  48. package/dist/components/chat/index.cjs +5 -5
  49. package/dist/components/chat/index.js +4 -4
  50. package/dist/components/chat/utils/icon-library.d.ts +2 -0
  51. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  52. package/dist/components/contact/index.cjs +8 -8
  53. package/dist/components/contact/index.js +7 -7
  54. package/dist/components/docs/index.cjs +11 -11
  55. package/dist/components/docs/index.js +10 -10
  56. package/dist/components/embeds/index.cjs +8 -8
  57. package/dist/components/embeds/index.js +7 -7
  58. package/dist/components/faq/index.cjs +8 -8
  59. package/dist/components/faq/index.js +7 -7
  60. package/dist/components/features/index.cjs +23 -7
  61. package/dist/components/features/index.d.ts +1 -0
  62. package/dist/components/features/index.d.ts.map +1 -1
  63. package/dist/components/features/index.js +22 -6
  64. package/dist/components/features/model-token-rates.d.ts +179 -0
  65. package/dist/components/features/model-token-rates.d.ts.map +1 -0
  66. package/dist/components/help-center-pages/index.cjs +106 -106
  67. package/dist/components/help-center-pages/index.js +18 -18
  68. package/dist/components/index.cjs +71 -55
  69. package/dist/components/index.js +34 -18
  70. package/dist/components/meeting-scheduler/index.cjs +32 -32
  71. package/dist/components/meeting-scheduler/index.js +6 -6
  72. package/dist/components/navigation/index.cjs +10 -10
  73. package/dist/components/navigation/index.js +9 -9
  74. package/dist/components/onboarding-guides/index.cjs +10 -10
  75. package/dist/components/onboarding-guides/index.js +9 -9
  76. package/dist/components/product-demo/index.cjs +7 -7
  77. package/dist/components/product-demo/index.js +7 -7
  78. package/dist/components/related-content/index.cjs +4 -4
  79. package/dist/components/related-content/index.js +3 -3
  80. package/dist/components/tickets/index.cjs +11 -11
  81. package/dist/components/tickets/index.js +10 -10
  82. package/dist/components/ui/index.cjs +7 -7
  83. package/dist/components/ui/index.js +6 -6
  84. package/dist/{devices-MAALZ7DX.cjs → devices-6ZURNFRB.cjs} +8 -8
  85. package/dist/{devices-275UZZUS.js → devices-JWHGWKLK.js} +6 -6
  86. package/dist/index.cjs +45 -11
  87. package/dist/index.js +44 -10
  88. package/dist/{knowledge-YMMULPPK.cjs → knowledge-CY66JZ54.cjs} +8 -8
  89. package/dist/{knowledge-THXC2KC3.js → knowledge-TEDPLCFX.js} +6 -6
  90. package/dist/{logs-IBUKQOHS.cjs → logs-MO357RE7.cjs} +15 -15
  91. package/dist/{logs-GM2XBHYT.js → logs-S46THPPD.js} +6 -6
  92. package/dist/{policies-NKMRK6RR.js → policies-BUXT7DKF.js} +6 -6
  93. package/dist/{policies-J5GJXD6G.cjs → policies-GSH4K5YP.cjs} +11 -11
  94. package/dist/{remote-session-Z2YCUPHU.cjs → remote-session-CSX6ESSG.cjs} +5 -5
  95. package/dist/{remote-session-WCLR47RN.js → remote-session-ZBCWD5A5.js} +3 -3
  96. package/dist/{software-update-JHC4T4SE.cjs → software-update-2ETT35NM.cjs} +11 -11
  97. package/dist/{software-update-EKKMKDWI.js → software-update-YKS6KLX2.js} +6 -6
  98. package/dist/utils/ai-providers.d.ts +29 -0
  99. package/dist/utils/ai-providers.d.ts.map +1 -0
  100. package/dist/utils/index.cjs +76 -2
  101. package/dist/utils/index.d.ts +2 -0
  102. package/dist/utils/index.d.ts.map +1 -1
  103. package/dist/utils/index.js +68 -3
  104. package/dist/utils/list-url.d.ts.map +1 -1
  105. package/dist/utils/model-token-rates.d.ts +55 -0
  106. package/dist/utils/model-token-rates.d.ts.map +1 -0
  107. package/dist/utils/source-icons.d.ts.map +1 -1
  108. package/package.json +1 -1
  109. package/src/components/chat/entity-cards/dispatch.tsx +3 -0
  110. package/src/components/chat/utils/icon-library.tsx +14 -3
  111. package/src/components/chat/utils/source-row-cta.ts +3 -3
  112. package/src/components/features/index.ts +1 -0
  113. package/src/components/features/model-token-rates.tsx +696 -0
  114. package/src/utils/ai-providers.ts +46 -0
  115. package/src/utils/index.ts +2 -0
  116. package/src/utils/list-url.ts +1 -0
  117. package/src/utils/model-token-rates.ts +103 -0
  118. package/src/utils/source-icons.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkKSZRALRLcjs = require('./chunk-KSZRALRL.cjs');
4
+ var _chunkYPEILGVZcjs = require('./chunk-YPEILGVZ.cjs');
5
5
 
6
6
 
7
7
 
@@ -12,7 +12,7 @@ var _chunkKSZRALRLcjs = require('./chunk-KSZRALRL.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkMWLVYYRXcjs = require('./chunk-MWLVYYRX.cjs');
15
+ var _chunkAI3CLDZOcjs = require('./chunk-AI3CLDZO.cjs');
16
16
 
17
17
 
18
18
 
@@ -28,14 +28,14 @@ var _chunkB4NCVYEQcjs = require('./chunk-B4NCVYEQ.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunkOWRD2GZUcjs = require('./chunk-OWRD2GZU.cjs');
31
+ var _chunkRU6BTELIcjs = require('./chunk-RU6BTELI.cjs');
32
32
 
33
33
 
34
34
  var _chunkK2JUJ37Dcjs = require('./chunk-K2JUJ37D.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunkJENNI7XUcjs = require('./chunk-JENNI7XU.cjs');
38
+ var _chunkHEQ4GPYEcjs = require('./chunk-HEQ4GPYE.cjs');
39
39
 
40
40
 
41
41
 
@@ -121,7 +121,7 @@ function RowGlyph({ link, box, glyph }) {
121
121
  {
122
122
  "aria-hidden": "true",
123
123
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex shrink-0 items-center justify-center overflow-hidden rounded-full", box),
124
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: link.icon, className: "h-full w-full" })
124
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: link.icon, className: "h-full w-full" })
125
125
  }
126
126
  );
127
127
  }
@@ -134,7 +134,7 @@ function RowGlyph({ link, box, glyph }) {
134
134
  "flex shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary",
135
135
  box
136
136
  ),
137
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: link.iconName }, size: glyph })
137
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: link.iconName }, size: glyph })
138
138
  }
139
139
  );
140
140
  }
@@ -147,7 +147,7 @@ function NavItemRow({
147
147
  className
148
148
  }) {
149
149
  const label = navLinkLabel(link);
150
- const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
150
+ const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
151
151
  const singleLine = !link.description && !link.builtOn;
152
152
  const rowClassName = _chunk3ATAYP36cjs.cn.call(void 0,
153
153
  ROW_CLASSES[variant],
@@ -164,7 +164,7 @@ function NavItemRow({
164
164
  ] });
165
165
  } else if (variant === "side") {
166
166
  children = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
167
- link.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "flex shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: link.iconName }, size: 18 }) }),
167
+ link.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "flex shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: link.iconName }, size: 18 }) }),
168
168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: label }),
169
169
  counter
170
170
  ] });
@@ -268,7 +268,7 @@ var NavPanel = _react.forwardRef.call(void 0, function NavPanelImpl({
268
268
  !!_optionalChain([menu, 'access', _10 => _10.features, 'optionalAccess', _11 => _11.length]) && // One row of cards, as many as the bar's width holds: a card that
269
269
  // would wrap lands on a zero-height row, where its cell clips it.
270
270
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid min-w-0 flex-[3] auto-rows-[0px] grid-cols-[repeat(auto-fit,minmax(240px,1fr))] grid-rows-[minmax(0,1fr)] gap-x-[var(--spacing-system-mf)]", children: menu.features.map((feature) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-0 min-w-0 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
271
- _chunkJENNI7XUcjs.CaseStudyCard,
271
+ _chunkHEQ4GPYEcjs.CaseStudyCard,
272
272
  {
273
273
  size: "menu",
274
274
  study: feature.study,
@@ -385,7 +385,7 @@ function TopNavigation({
385
385
 
386
386
  var TOP_ITEM_CLASS = "relative inline-flex h-10 items-center gap-1.5 whitespace-nowrap rounded-md px-3.5 text-ods-text-secondary transition-colors text-h6 hover:bg-ods-bg-hover hover:text-ods-text-primary";
387
387
  var TOP_ITEM_CURRENT_CLASS = "rounded-b-none bg-gradient-to-b from-transparent to-ods-accent/10 text-ods-text-primary after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-ods-accent";
388
- var menuIcon = (menu) => menu.iconName ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJENNI7XUcjs.EntityIcon, { icon: { name: menu.iconName }, size: 20, className: "size-5 shrink-0" }) : null;
388
+ var menuIcon = (menu) => menu.iconName ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.EntityIcon, { icon: { name: menu.iconName }, size: 20, className: "size-5 shrink-0" }) : null;
389
389
  function SiteHeader({
390
390
  nav,
391
391
  pathname,
@@ -535,7 +535,7 @@ function SiteHeader({
535
535
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
536
536
  leading,
537
537
  mobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
538
- _chunkMWLVYYRXcjs.HeaderButton,
538
+ _chunkAI3CLDZOcjs.HeaderButton,
539
539
  {
540
540
  className: "border-r border-ods-border lg:hidden",
541
541
  onClick: mobile.onToggle,
@@ -561,7 +561,7 @@ function SiteHeader({
561
561
  centerClassName: "justify-start pl-[var(--spacing-system-xlf)]",
562
562
  cta: hasRight ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
563
563
  mingo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
564
- _chunkOWRD2GZUcjs.MingoAiButton,
564
+ _chunkRU6BTELIcjs.MingoAiButton,
565
565
  {
566
566
  source: mingo.source,
567
567
  icon: mingo.icon,
@@ -663,7 +663,7 @@ function MobileNavSheetBody({
663
663
  ] }),
664
664
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-5", children: [
665
665
  askAI && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
666
- _chunkOWRD2GZUcjs.MingoAiButton,
666
+ _chunkRU6BTELIcjs.MingoAiButton,
667
667
  {
668
668
  variant: "field",
669
669
  source: askAI.source,
@@ -841,7 +841,7 @@ function SiteFooter({
841
841
  const columns = nav.footerColumns;
842
842
  const accordion = columns.length > ACCORDION_OVER;
843
843
  const socialRow = _nullishCoalesce(social, () => ( (nav.brand.social.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
844
- _chunkMWLVYYRXcjs.SocialIconRow,
844
+ _chunkAI3CLDZOcjs.SocialIconRow,
845
845
  {
846
846
  compact: true,
847
847
  links: nav.brand.social.map((link) => ({
@@ -944,7 +944,7 @@ var _framermotion = require('framer-motion');
944
944
 
945
945
  function SlidingSidebar({ config }) {
946
946
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
947
- const mounted = _chunkOWRD2GZUcjs.useIsHydrated.call(void 0, );
947
+ const mounted = _chunkRU6BTELIcjs.useIsHydrated.call(void 0, );
948
948
  const headerHeight = _chunkK2JUJ37Dcjs.useHeaderHeight.call(void 0, );
949
949
  const asideRef = _react.useRef.call(void 0, null);
950
950
  const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
@@ -1076,7 +1076,7 @@ function SlidingSidebar({ config }) {
1076
1076
  duration: 0.3,
1077
1077
  ease: [0.4, 0, 0.2, 1]
1078
1078
  },
1079
- className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkOWRD2GZUcjs.OVERLAY_BACKDROP_CLASS),
1079
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkRU6BTELIcjs.OVERLAY_BACKDROP_CLASS),
1080
1080
  onClick: () => config.onClose()
1081
1081
  }
1082
1082
  ) }),
@@ -1217,7 +1217,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
1217
1217
  _react.cloneElement.call(void 0, item.icon, {
1218
1218
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
1219
1219
  }),
1220
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.UnreadDot, { size: "fixed" })
1220
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.UnreadDot, { size: "fixed" })
1221
1221
  ] }),
1222
1222
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1223
1223
  "span",
@@ -1318,7 +1318,7 @@ function NavigationSidebar({ config, disabled = false, pushOnTablet = false }) {
1318
1318
  setTabletFor(isTablet);
1319
1319
  if (isTablet) setTabletMinimized(true);
1320
1320
  }
1321
- const hydrated = _chunkOWRD2GZUcjs.useIsHydrated.call(void 0, );
1321
+ const hydrated = _chunkRU6BTELIcjs.useIsHydrated.call(void 0, );
1322
1322
  const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
1323
1323
  const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
1324
1324
  const isOverlayOpen = isTablet && !minimized;
@@ -1510,7 +1510,7 @@ function HeaderGlobalSearch({
1510
1510
  "form",
1511
1511
  {
1512
1512
  onSubmit: handleSubmit,
1513
- ..._chunkOWRD2GZUcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1513
+ ..._chunkRU6BTELIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1514
1514
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1515
1515
  "flex h-full flex-1 items-center gap-2 px-3",
1516
1516
  // Transparent so the cell inherits the bar's background
@@ -1643,16 +1643,16 @@ function HeaderOrganizationFilter({
1643
1643
  // src/components/navigation/ticket-alerts-button.tsx
1644
1644
 
1645
1645
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1646
- const live = _chunkKSZRALRLcjs.useOptionalTicketLive.call(void 0, );
1646
+ const live = _chunkYPEILGVZcjs.useOptionalTicketLive.call(void 0, );
1647
1647
  if (!live || !live.authed || live.unreadTotal === 0) return null;
1648
1648
  const targetId = live.nextUnreadTicketId;
1649
- const target = targetId ? _chunkOWRD2GZUcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1649
+ const target = targetId ? _chunkRU6BTELIcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1650
1650
  const handleClick = () => {
1651
1651
  if (onNavigate) onNavigate(target);
1652
1652
  else window.location.assign(target);
1653
1653
  };
1654
1654
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1655
- _chunkMWLVYYRXcjs.HeaderButton,
1655
+ _chunkAI3CLDZOcjs.HeaderButton,
1656
1656
  {
1657
1657
  icon: (
1658
1658
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -1662,7 +1662,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1662
1662
  // existing while updates are unread — never by tinting the glyph.
1663
1663
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
1664
1664
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
1665
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.UnreadCountBadge, { count: live.unreadTotal })
1665
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.UnreadCountBadge, { count: live.unreadTotal })
1666
1666
  ] })
1667
1667
  ),
1668
1668
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -1738,7 +1738,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1738
1738
  leading: (
1739
1739
  // Mobile: Burger Menu Button
1740
1740
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1741
- _chunkMWLVYYRXcjs.HeaderButton,
1741
+ _chunkAI3CLDZOcjs.HeaderButton,
1742
1742
  {
1743
1743
  onClick: onToggleMobileMenu,
1744
1744
  isActive: isMobileMenuOpen,
@@ -1764,7 +1764,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1764
1764
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1765
1765
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1766
1766
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1767
- _chunkMWLVYYRXcjs.HeaderButton,
1767
+ _chunkAI3CLDZOcjs.HeaderButton,
1768
1768
  {
1769
1769
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, { className: "h-6 w-6" }),
1770
1770
  "aria-label": "Search",
@@ -1781,7 +1781,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1781
1781
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1782
1782
  }
1783
1783
  ),
1784
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1784
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1785
1785
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1786
1786
  NotificationsHeaderButton,
1787
1787
  {
@@ -1801,7 +1801,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1801
1801
  ),
1802
1802
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenu, { children: [
1803
1803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1804
- _chunkMWLVYYRXcjs.HeaderButton,
1804
+ _chunkAI3CLDZOcjs.HeaderButton,
1805
1805
  {
1806
1806
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1807
1807
  _chunkTKFTWM3Vcjs.SquareAvatar,
@@ -1886,12 +1886,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1886
1886
  );
1887
1887
  });
1888
1888
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1889
- const ctx = _chunkMWLVYYRXcjs.useOptionalNotifications.call(void 0, );
1889
+ const ctx = _chunkAI3CLDZOcjs.useOptionalNotifications.call(void 0, );
1890
1890
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _52 => _52.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1891
1891
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _53 => _53.isOpen]), () => ( false));
1892
1892
  const onClick = _optionalChain([ctx, 'optionalAccess', _54 => _54.toggle]);
1893
1893
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1894
- _chunkMWLVYYRXcjs.HeaderButton,
1894
+ _chunkAI3CLDZOcjs.HeaderButton,
1895
1895
  {
1896
1896
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.BellIcon, { className: "h-6 w-6" }),
1897
1897
  showUnreadDot: !isActive && hasUnread,
@@ -2408,7 +2408,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2408
2408
  {
2409
2409
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2410
2410
  "absolute inset-0 z-[100] md:hidden",
2411
- _chunkOWRD2GZUcjs.OVERLAY_BACKDROP_CLASS,
2411
+ _chunkRU6BTELIcjs.OVERLAY_BACKDROP_CLASS,
2412
2412
  "transition-all duration-300 motion-reduce:transition-none",
2413
2413
  isOpen ? "opacity-100" : "pointer-events-none opacity-0"
2414
2414
  ),
@@ -2564,7 +2564,7 @@ function AppLayout({
2564
2564
  }),
2565
2565
  []
2566
2566
  );
2567
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2567
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2568
2568
  topBar,
2569
2569
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2570
2570
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2588,7 +2588,7 @@ function AppLayout({
2588
2588
  disabled
2589
2589
  }
2590
2590
  ),
2591
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMWLVYYRXcjs.NotificationDrawer, {}),
2591
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAI3CLDZOcjs.NotificationDrawer, {}),
2592
2592
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2593
2593
  "div",
2594
2594
  {
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  PageShell
4
- } from "./chunk-G6YNPBWV.js";
4
+ } from "./chunk-W2DXHR2R.js";
5
5
  import {
6
6
  PageLayout
7
- } from "./chunk-UYMTAFHG.js";
7
+ } from "./chunk-TU5LEF6A.js";
8
8
  import {
9
9
  useScrollToHash
10
10
  } from "./chunk-2TXGR7IK.js";
@@ -18,7 +18,7 @@ import {
18
18
  useAskPrompts,
19
19
  useAssistantOpen,
20
20
  useShownAskPromptIds
21
- } from "./chunk-IIBTYCEN.js";
21
+ } from "./chunk-MLFS5G3V.js";
22
22
  import {
23
23
  AssistantRuntimeContext,
24
24
  useAssistantRuntime
@@ -38,7 +38,7 @@ import {
38
38
  SECTION_HEADING_CLASS,
39
39
  buildSuggestionUrl,
40
40
  useSelfFetch
41
- } from "./chunk-PKS2QQJU.js";
41
+ } from "./chunk-6EFNWQRY.js";
42
42
  import {
43
43
  Chevron02DownIcon
44
44
  } from "./chunk-NCPTID44.js";
@@ -34,7 +34,7 @@ import {
34
34
  OWNER_TYPE,
35
35
  formatDate,
36
36
  formatTime
37
- } from "./chunk-WY4SLTMZ.js";
37
+ } from "./chunk-JXJFUGJY.js";
38
38
  import {
39
39
  ActionsMenuDropdown,
40
40
  OverlayOpenRegistryProvider,
@@ -140,15 +140,14 @@ import {
140
140
  trustFrameworksSummary,
141
141
  useSelfFetch,
142
142
  useVideoWarmup
143
- } from "./chunk-PKS2QQJU.js";
143
+ } from "./chunk-6EFNWQRY.js";
144
144
  import {
145
145
  AgentMark
146
146
  } from "./chunk-H3PKYE4N.js";
147
147
  import {
148
148
  AvatarStack,
149
- getIconComponent,
150
149
  resolveIcon
151
- } from "./chunk-EWED6ISQ.js";
150
+ } from "./chunk-YQDKVGKO.js";
152
151
  import {
153
152
  FloatingTooltip,
154
153
  SquareAvatar,
@@ -4924,23 +4923,23 @@ function ChatMessageListSkeleton({
4924
4923
  // src/components/chat/cycling-phrase.tsx
4925
4924
  import { useEffect as useEffect5, useMemo as useMemo7, useState as useState9 } from "react";
4926
4925
  import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
4927
- function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
4926
+ function CyclingPhrase({ words: words2, className, charMs = 60, holdMs = 4500 }) {
4928
4927
  const [wordIndex, setWordIndex] = useState9(0);
4929
4928
  const [text2, setText] = useState9("");
4930
4929
  const [cursor, setCursor] = useState9(0);
4931
- const target = words[wordIndex] ?? "";
4932
- const holding = words.length > 0 && cursor >= Math.max(text2.length, target.length);
4930
+ const target = words2[wordIndex] ?? "";
4931
+ const holding = words2.length > 0 && cursor >= Math.max(text2.length, target.length);
4933
4932
  const shownText = holding ? target : text2;
4934
4933
  const placeholder = useMemo7(
4935
- () => words.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
4936
- [words]
4934
+ () => words2.reduce((longest, w) => w.length > longest.length ? w : longest, ""),
4935
+ [words2]
4937
4936
  );
4938
4937
  useEffect5(() => {
4939
- if (words.length === 0) return void 0;
4938
+ if (words2.length === 0) return void 0;
4940
4939
  let timeoutId;
4941
4940
  if (holding) {
4942
4941
  timeoutId = setTimeout(() => {
4943
- setWordIndex((i) => (i + 1) % words.length);
4942
+ setWordIndex((i) => (i + 1) % words2.length);
4944
4943
  setCursor(0);
4945
4944
  setText(target);
4946
4945
  }, holdMs);
@@ -4956,8 +4955,8 @@ function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
4956
4955
  setCursor((c) => c + 1);
4957
4956
  }, charMs);
4958
4957
  return () => clearTimeout(timeoutId);
4959
- }, [wordIndex, cursor, text2, holding, target, words, charMs, holdMs]);
4960
- if (words.length === 0) return null;
4958
+ }, [wordIndex, cursor, text2, holding, target, words2, charMs, holdMs]);
4959
+ if (words2.length === 0) return null;
4961
4960
  const before = shownText.slice(0, cursor);
4962
4961
  const after = shownText.slice(cursor);
4963
4962
  const cursorBlock = /* @__PURE__ */ jsx23(
@@ -5912,6 +5911,67 @@ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo"
5912
5911
  );
5913
5912
  }
5914
5913
 
5914
+ // src/utils/ai-providers.ts
5915
+ var AI_PROVIDERS = {
5916
+ ANTHROPIC: { label: "Anthropic", icon: "anthropic-logo-grey" },
5917
+ OPENAI: { label: "OpenAI", icon: "openai-logo-grey" },
5918
+ GOOGLE_GEMINI: { label: "Google Gemini", icon: "gemini-logo-grey" }
5919
+ };
5920
+ var words = (key) => key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean);
5921
+ function aiProvider(key, stated) {
5922
+ const known = AI_PROVIDERS[key];
5923
+ const parts = words(key);
5924
+ return {
5925
+ label: stated?.label || known?.label || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
5926
+ icon: stated?.icon || known?.icon || `${parts.join("-")}-logo-grey`
5927
+ };
5928
+ }
5929
+
5930
+ // src/utils/model-token-rates.ts
5931
+ var TOKEN_RATE_EMPTY = "\u2014";
5932
+ function formatTokenRate(value) {
5933
+ if (value == null || !Number.isFinite(value) || value <= 0) return TOKEN_RATE_EMPTY;
5934
+ const rounded = value >= 0.1 ? Number(value.toFixed(2)) : Number(value.toPrecision(2));
5935
+ return `${rounded}\xD7`;
5936
+ }
5937
+ function tokenCost(tokens, tokenPrice) {
5938
+ if (!tokenPrice || !(tokenPrice.tokens > 0) || !(tokenPrice.price > 0) || !(tokens >= 0)) return null;
5939
+ return tokens / tokenPrice.tokens * tokenPrice.price;
5940
+ }
5941
+ var TOKEN_AMOUNT_UNITS = [
5942
+ { size: 1e9, suffix: "B" },
5943
+ { size: 1e6, suffix: "M" },
5944
+ { size: 1e3, suffix: "K" }
5945
+ ];
5946
+ function formatTokenAmount(tokens) {
5947
+ if (tokens == null || !Number.isFinite(tokens) || tokens < 0) return TOKEN_RATE_EMPTY;
5948
+ const whole = Math.round(tokens);
5949
+ if (whole < 1e3) return String(whole);
5950
+ for (const [index, unit] of TOKEN_AMOUNT_UNITS.entries()) {
5951
+ if (whole < unit.size) continue;
5952
+ const figure = Number((whole / unit.size).toPrecision(3));
5953
+ const larger = TOKEN_AMOUNT_UNITS[index - 1];
5954
+ return figure >= 1e3 && larger ? `1${larger.suffix}` : `${figure}${unit.suffix}`;
5955
+ }
5956
+ return String(whole);
5957
+ }
5958
+ function tokensForBalance(balance, rate) {
5959
+ if (rate == null || !Number.isFinite(rate) || rate <= 0 || !(balance > 0)) return null;
5960
+ return balance / rate;
5961
+ }
5962
+ function tokenRateProviderLabel(providerType, stated) {
5963
+ return aiProvider(providerType, { label: stated }).label;
5964
+ }
5965
+ function groupTokenRatesByProvider(rates) {
5966
+ const groups = /* @__PURE__ */ new Map();
5967
+ for (const rate of rates) {
5968
+ const group = groups.get(rate.providerType);
5969
+ if (group) group.push(rate);
5970
+ else groups.set(rate.providerType, [rate]);
5971
+ }
5972
+ return [...groups].map(([providerType, grouped]) => ({ providerType, rates: grouped }));
5973
+ }
5974
+
5915
5975
  // src/utils/trial.ts
5916
5976
  var TRIAL_DAYS = 14;
5917
5977
  var TRIAL_LABELS = {
@@ -6814,6 +6874,7 @@ var SOURCE_ICON_NAMES = {
6814
6874
  "trust-center": "shield-check",
6815
6875
  // The public website's own pages (live source): the site's own mark, as a glyph in the slot's colour
6816
6876
  "website-pages": "flamingo-logo-grey",
6877
+ "openframe-pricing": "money-bill-dollar",
6817
6878
  // The OpenMSP vendor directory: the icon the site menu's "Tool directory" entry draws (it reads this one)
6818
6879
  vendors: "package-search",
6819
6880
  // Financials
@@ -6879,6 +6940,7 @@ var SOURCE_LABELS_BY_TABLE = {
6879
6940
  // Trust
6880
6941
  "trust-center": "Trust Center",
6881
6942
  "website-pages": "Website",
6943
+ "openframe-pricing": "OpenFrame pricing",
6882
6944
  vendors: "Vendor Directory",
6883
6945
  // Financials
6884
6946
  "investor-updates": "Investor Updates",
@@ -6948,6 +7010,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
6948
7010
  // Trust
6949
7011
  trust_center: "trust-center",
6950
7012
  site_page: "website-pages",
7013
+ openframe_price: "openframe-pricing",
6951
7014
  vendor: "vendors",
6952
7015
  // Financials
6953
7016
  investor_update: "investor-updates",
@@ -14940,7 +15003,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
14940
15003
  }
14941
15004
  function pickSourceIcon(sourceRepo, documentType) {
14942
15005
  const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
14943
- const icon = iconName ? getIconComponent(iconName) : FileText2;
15006
+ const icon = iconName ? resolveIcon(iconName, { variant: "brand" }) : FileText2;
14944
15007
  const iconLabel = documentType ?? "Source";
14945
15008
  return { icon, iconLabel };
14946
15009
  }
@@ -15826,6 +15889,9 @@ var REF_GLYPH_CARD_CONFIGS = {
15826
15889
  // A page of the public website (pricing, product, legal, and every page the navigation lists), read live
15827
15890
  // from the data the page shows. A glyph card: a page has no cover of its own, and the card opens the page.
15828
15891
  site_page: { label: "Website page", icon: (ref) => /* @__PURE__ */ jsx85(SitePageGlyph, { iconName: refText(ref, "icon_name") }) },
15892
+ // What OpenFrame charges, read live from its billing: the plan in force, or one AI model's token exchange
15893
+ // rate. A glyph card; it opens the pricing page.
15894
+ openframe_price: { label: "OpenFrame price", icon: () => /* @__PURE__ */ jsx85(OpenFrameGlyph, { size: 24 }) },
15829
15895
  // A vendor (product) of the OpenMSP directory. A glyph card; it opens the vendor's page there.
15830
15896
  vendor: { label: "Vendor", icon: (ref) => /* @__PURE__ */ jsx85(VendorGlyph, { title: ref?.title ?? "", logoUrl: refText(ref, "logo_url") }) }
15831
15897
  };
@@ -26410,6 +26476,15 @@ export {
26410
26476
  getRequestOrigin,
26411
26477
  resolveRedirectTarget,
26412
26478
  getAllPlatformBaseDomains,
26479
+ AI_PROVIDERS,
26480
+ aiProvider,
26481
+ TOKEN_RATE_EMPTY,
26482
+ formatTokenRate,
26483
+ tokenCost,
26484
+ formatTokenAmount,
26485
+ tokensForBalance,
26486
+ tokenRateProviderLabel,
26487
+ groupTokenRatesByProvider,
26413
26488
  TRIAL_DAYS,
26414
26489
  TRIAL_LABELS,
26415
26490
  SEO_TITLE_MAX_LENGTH,
@@ -37,7 +37,7 @@ import {
37
37
  getContentRefLabelOrTitleCase,
38
38
  orderContentRefTypes,
39
39
  useSelfFetch
40
- } from "./chunk-PKS2QQJU.js";
40
+ } from "./chunk-6EFNWQRY.js";
41
41
  import {
42
42
  pageCount
43
43
  } from "./chunk-FSQQZFVG.js";
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkLV6UJD2Kcjs = require('./chunk-LV6UJD2K.cjs');
5
+ var _chunkIITB5TJRcjs = require('./chunk-IITB5TJR.cjs');
6
6
 
7
7
 
8
8
 
@@ -440,7 +440,7 @@ function SlashCommandSuggestions({
440
440
  className
441
441
  ),
442
442
  children: commands.map((cmd, idx) => {
443
- const Icon = _chunkLV6UJD2Kcjs.resolveIcon.call(void 0, cmd.iconName);
443
+ const Icon = _chunkIITB5TJRcjs.resolveIcon.call(void 0, cmd.iconName);
444
444
  const legacyMeta = !cmd.iconName && cmd.primarySourceId && resolveSourceIcon ? resolveSourceIcon(cmd.primarySourceId) : void 0;
445
445
  const LegacyIcon = _optionalChain([legacyMeta, 'optionalAccess', _4 => _4.Icon]);
446
446
  const title = _nullishCoalesce(_nullishCoalesce(cmd.label, () => ( _optionalChain([legacyMeta, 'optionalAccess', _5 => _5.label]))), () => ( cmd.id));
@@ -924,7 +924,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
924
924
  className: "flex min-h-11 w-full items-center justify-center gap-[var(--spacing-system-xs)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] md:min-h-12",
925
925
  children: [
926
926
  awaitingTeam && awaitingTeam.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
927
- _chunkLV6UJD2Kcjs.AvatarStack,
927
+ _chunkIITB5TJRcjs.AvatarStack,
928
928
  {
929
929
  people: awaitingTeam,
930
930
  total: awaitingTeamCount,
@@ -3,31 +3,31 @@ import {
3
3
  FileDownloadCard,
4
4
  GoogleSheetsViewer,
5
5
  PdfViewer
6
- } from "./chunk-VIFVSFYY.js";
6
+ } from "./chunk-F77J34W2.js";
7
7
  import {
8
8
  MobileNavigationDropdown,
9
9
  MultiLevelNavigation,
10
10
  StickySectionNav,
11
11
  useScrollSpy
12
- } from "./chunk-N4VCU6XP.js";
12
+ } from "./chunk-PUADVXJD.js";
13
13
  import {
14
14
  DocSearchBar,
15
15
  useDocSearch
16
- } from "./chunk-YUSA7IPD.js";
16
+ } from "./chunk-5FVWDDX6.js";
17
17
  import {
18
18
  CategorySidebarSkeleton,
19
19
  FigmaEmbed,
20
20
  PageShell
21
- } from "./chunk-G6YNPBWV.js";
21
+ } from "./chunk-W2DXHR2R.js";
22
22
  import {
23
23
  PageLayout
24
- } from "./chunk-UYMTAFHG.js";
24
+ } from "./chunk-TU5LEF6A.js";
25
25
  import {
26
26
  DEFAULT_FOLDER_INDEX_FILE,
27
27
  findDocNodeByPath,
28
28
  getDocAncestorNodeIds,
29
29
  stripFolderIndexFromPath
30
- } from "./chunk-IIBTYCEN.js";
30
+ } from "./chunk-MLFS5G3V.js";
31
31
  import {
32
32
  HUB_HEADER_OFFSET_PX,
33
33
  navigateSamePageHash,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  DEFAULT_FOLDER_INDEX_FILE,
4
4
  ScrollShadow
5
- } from "./chunk-IIBTYCEN.js";
5
+ } from "./chunk-MLFS5G3V.js";
6
6
  import {
7
7
  ACTIVE_ANCHOR_ATTRIBUTE,
8
8
  declaredScrollMarginTop,