@flamingo-stack/openframe-frontend-core 0.0.756 → 0.0.758

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 (96) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-7KPU7RGS.cjs → chunk-2AEGJHW2.cjs} +83 -82
  3. package/dist/{chunk-QKFJ6ORK.cjs → chunk-3C4U4UW6.cjs} +1 -1
  4. package/dist/{chunk-57JA37HP.cjs → chunk-5THYJU3G.cjs} +123 -77
  5. package/dist/{chunk-4YL4Y3BV.cjs → chunk-ECHJO4NI.cjs} +48 -24
  6. package/dist/{chunk-TAEEGNFL.cjs → chunk-GU3M4YF3.cjs} +75 -68
  7. package/dist/{chunk-MDXZMTCK.cjs → chunk-IQFXJSAH.cjs} +22 -22
  8. package/dist/{chunk-KNNJ4WLF.cjs → chunk-JEIAB7JQ.cjs} +2 -2
  9. package/dist/{chunk-MBQTLZAG.cjs → chunk-L2RNZOCI.cjs} +11 -11
  10. package/dist/{chunk-VOXDBCBV.cjs → chunk-N2US7DLB.cjs} +47 -36
  11. package/dist/{chunk-KFUC2XF7.cjs → chunk-RPADJ2E6.cjs} +3 -3
  12. package/dist/{chunk-PUK27ZB6.cjs → chunk-RUMRBL5X.cjs} +13 -13
  13. package/dist/{chunk-CYDWQYIQ.cjs → chunk-SEPHTWFL.cjs} +5 -5
  14. package/dist/{chunk-W5MEHJRQ.cjs → chunk-U2UVB4IF.cjs} +2 -2
  15. package/dist/{chunk-BTIYXBA2.cjs → chunk-WSRMYHIV.cjs} +2 -2
  16. package/dist/{chunk-KSU3CXKY.cjs → chunk-YBOA5GZV.cjs} +3 -3
  17. package/dist/{chunk-MR5KMPSE.cjs → chunk-YLVTECAD.cjs} +4 -4
  18. package/dist/{cloud-tenants-NOZGXQZY.cjs → cloud-tenants-WJCL4P3Y.cjs} +3 -3
  19. package/dist/components/case-studies/index.cjs +11 -11
  20. package/dist/components/chat/embeddable-chat.js +8 -6
  21. package/dist/components/chat/index.cjs +2 -2
  22. package/dist/components/contact/index.cjs +4 -4
  23. package/dist/components/docs/doc-viewer.d.ts +4 -0
  24. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  25. package/dist/components/docs/doc-viewer.js +3 -0
  26. package/dist/components/docs/index.cjs +7 -7
  27. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  28. package/dist/components/docs/use-document-tree.js +9 -1
  29. package/dist/components/embeds/index.cjs +4 -4
  30. package/dist/components/faq/index.cjs +5 -5
  31. package/dist/components/features/index.cjs +3 -3
  32. package/dist/components/help-center-pages/index.cjs +57 -56
  33. package/dist/components/help-center-pages/trust-center-page.d.ts +7 -1
  34. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  35. package/dist/components/help-center-pages/trust-center-page.js +4 -3
  36. package/dist/components/index.cjs +34 -32
  37. package/dist/components/layout/page-data-sync.d.ts +18 -0
  38. package/dist/components/layout/page-data-sync.d.ts.map +1 -0
  39. package/dist/components/layout/page-data-sync.js +33 -0
  40. package/dist/components/meeting-scheduler/index.cjs +19 -19
  41. package/dist/components/navigation/index.cjs +6 -6
  42. package/dist/components/onboarding-guides/index.cjs +5 -5
  43. package/dist/components/product-demo/index.cjs +7 -7
  44. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
  45. package/dist/components/shared/delivery/delivery-lists.js +6 -0
  46. package/dist/components/shared/dev-section/dev-section-view.d.ts +3 -16
  47. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -1
  48. package/dist/components/shared/dev-section/dev-section-view.js +6 -13
  49. package/dist/components/shared/legal-document/legal-document-page.d.ts +1 -3
  50. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  51. package/dist/components/shared/legal-document/legal-document-page.js +3 -9
  52. package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
  53. package/dist/components/shared/roadmap/roadmap-view.js +29 -17
  54. package/dist/components/tickets/hooks/use-tickets-list.d.ts +4 -0
  55. package/dist/components/tickets/hooks/use-tickets-list.d.ts.map +1 -1
  56. package/dist/components/tickets/hooks/use-tickets-list.js +1 -0
  57. package/dist/components/tickets/index.cjs +8 -8
  58. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  59. package/dist/components/tickets/ticket-center.js +5 -6
  60. package/dist/components/ui/data-attribution.d.ts +13 -0
  61. package/dist/components/ui/data-attribution.d.ts.map +1 -1
  62. package/dist/components/ui/data-attribution.js +30 -1
  63. package/dist/components/ui/index.cjs +5 -3
  64. package/dist/{devices-M4KBTOTC.cjs → devices-PCMSALOA.cjs} +4 -4
  65. package/dist/{embeddable-chat-KGJVVG2V.cjs → embeddable-chat-CHHWPGAY.cjs} +8 -6
  66. package/dist/index.cjs +13 -7
  67. package/dist/{knowledge-VVF6CJEG.cjs → knowledge-FVCXNAMW.cjs} +3 -3
  68. package/dist/{logs-7E6HBJ55.cjs → logs-IINFWMUF.cjs} +11 -11
  69. package/dist/{policies-UMZLJTBD.cjs → policies-P3ZT774G.cjs} +7 -7
  70. package/dist/{scripts-XVNAEYCH.cjs → scripts-KO4V2XO5.cjs} +8 -8
  71. package/dist/{software-update-U43ZFHMC.cjs → software-update-PSJUU363.cjs} +6 -6
  72. package/dist/types/data-sync.d.ts +22 -0
  73. package/dist/types/data-sync.d.ts.map +1 -0
  74. package/dist/types/data-sync.js +12 -0
  75. package/dist/types/doc-source.d.ts +4 -0
  76. package/dist/types/doc-source.d.ts.map +1 -1
  77. package/dist/types/index.cjs +12 -0
  78. package/dist/types/index.d.ts +1 -0
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/index.js +1 -0
  81. package/package.json +1 -1
  82. package/src/components/chat/embeddable-chat.tsx +10 -6
  83. package/src/components/docs/doc-viewer.tsx +9 -0
  84. package/src/components/docs/use-document-tree.ts +10 -0
  85. package/src/components/help-center-pages/trust-center-page.tsx +10 -3
  86. package/src/components/layout/page-data-sync.tsx +60 -0
  87. package/src/components/shared/delivery/delivery-lists.tsx +12 -2
  88. package/src/components/shared/dev-section/dev-section-view.tsx +37 -56
  89. package/src/components/shared/legal-document/legal-document-page.tsx +5 -13
  90. package/src/components/shared/roadmap/roadmap-view.tsx +37 -20
  91. package/src/components/tickets/hooks/use-tickets-list.ts +7 -0
  92. package/src/components/tickets/ticket-center.tsx +7 -3
  93. package/src/components/ui/data-attribution.tsx +44 -0
  94. package/src/types/data-sync.ts +26 -0
  95. package/src/types/doc-source.ts +4 -0
  96. package/src/types/index.ts +1 -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 _chunkBTIYXBA2cjs = require('./chunk-BTIYXBA2.cjs');
4
+ var _chunkWSRMYHIVcjs = require('./chunk-WSRMYHIV.cjs');
5
5
 
6
6
 
7
7
 
@@ -12,7 +12,7 @@ var _chunkBTIYXBA2cjs = require('./chunk-BTIYXBA2.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunk57JA37HPcjs = require('./chunk-57JA37HP.cjs');
15
+ var _chunk5THYJU3Gcjs = require('./chunk-5THYJU3G.cjs');
16
16
 
17
17
 
18
18
  var _chunkNTGIQP7Ocjs = require('./chunk-NTGIQP7O.cjs');
@@ -32,7 +32,7 @@ var _chunk24I6RFVUcjs = require('./chunk-24I6RFVU.cjs');
32
32
 
33
33
 
34
34
 
35
- var _chunkQKFJ6ORKcjs = require('./chunk-QKFJ6ORK.cjs');
35
+ var _chunk3C4U4UW6cjs = require('./chunk-3C4U4UW6.cjs');
36
36
 
37
37
 
38
38
  var _chunkQTYSYEHKcjs = require('./chunk-QTYSYEHK.cjs');
@@ -184,7 +184,7 @@ function NavItemRow({
184
184
  className
185
185
  }) {
186
186
  const label = navLinkLabel(link);
187
- const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
187
+ const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
188
188
  const singleLine = !link.description && !link.builtOn;
189
189
  const rowClassName = _chunk3ATAYP36cjs.cn.call(void 0,
190
190
  ROW_CLASSES[variant],
@@ -572,7 +572,7 @@ function SiteHeader({
572
572
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
573
573
  leading,
574
574
  mobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
575
- _chunk57JA37HPcjs.HeaderButton,
575
+ _chunk5THYJU3Gcjs.HeaderButton,
576
576
  {
577
577
  className: "border-r border-ods-border lg:hidden",
578
578
  onClick: mobile.onToggle,
@@ -598,7 +598,7 @@ function SiteHeader({
598
598
  centerClassName: "justify-start pl-[var(--spacing-system-xlf)]",
599
599
  cta: hasRight ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
600
600
  mingo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
601
- _chunkQKFJ6ORKcjs.MingoAiButton,
601
+ _chunk3C4U4UW6cjs.MingoAiButton,
602
602
  {
603
603
  source: mingo.source,
604
604
  icon: mingo.icon,
@@ -700,7 +700,7 @@ function MobileNavSheetBody({
700
700
  ] }),
701
701
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-5", children: [
702
702
  askAI && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
703
- _chunkQKFJ6ORKcjs.MingoAiButton,
703
+ _chunk3C4U4UW6cjs.MingoAiButton,
704
704
  {
705
705
  variant: "field",
706
706
  source: askAI.source,
@@ -878,7 +878,7 @@ function SiteFooter({
878
878
  const columns = nav.footerColumns;
879
879
  const accordion = columns.length > ACCORDION_OVER;
880
880
  const socialRow = _nullishCoalesce(social, () => ( (nav.brand.social.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
881
- _chunk57JA37HPcjs.SocialIconRow,
881
+ _chunk5THYJU3Gcjs.SocialIconRow,
882
882
  {
883
883
  compact: true,
884
884
  links: nav.brand.social.map((link) => ({
@@ -1254,7 +1254,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
1254
1254
  _react.cloneElement.call(void 0, item.icon, {
1255
1255
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
1256
1256
  }),
1257
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.UnreadDot, { size: "fixed" })
1257
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.UnreadDot, { size: "fixed" })
1258
1258
  ] }),
1259
1259
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1260
1260
  "span",
@@ -1547,7 +1547,7 @@ function HeaderGlobalSearch({
1547
1547
  "form",
1548
1548
  {
1549
1549
  onSubmit: handleSubmit,
1550
- ..._chunkQKFJ6ORKcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1550
+ ..._chunk3C4U4UW6cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1551
1551
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1552
1552
  "flex h-full flex-1 items-center gap-2 px-3",
1553
1553
  // Transparent so the cell inherits the bar's background
@@ -1672,16 +1672,16 @@ function HeaderOrganizationFilter({
1672
1672
  // src/components/navigation/ticket-alerts-button.tsx
1673
1673
 
1674
1674
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1675
- const live = _chunkBTIYXBA2cjs.useOptionalTicketLive.call(void 0, );
1675
+ const live = _chunkWSRMYHIVcjs.useOptionalTicketLive.call(void 0, );
1676
1676
  if (!live || !live.authed || live.unreadTotal === 0) return null;
1677
1677
  const targetId = live.nextUnreadTicketId;
1678
- const target = targetId ? _chunkQKFJ6ORKcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1678
+ const target = targetId ? _chunk3C4U4UW6cjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1679
1679
  const handleClick = () => {
1680
1680
  if (onNavigate) onNavigate(target);
1681
1681
  else window.location.assign(target);
1682
1682
  };
1683
1683
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1684
- _chunk57JA37HPcjs.HeaderButton,
1684
+ _chunk5THYJU3Gcjs.HeaderButton,
1685
1685
  {
1686
1686
  icon: (
1687
1687
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -1691,7 +1691,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1691
1691
  // existing while updates are unread — never by tinting the glyph.
1692
1692
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
1693
1693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk365ZKGGOcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
1694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.UnreadCountBadge, { count: live.unreadTotal })
1694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.UnreadCountBadge, { count: live.unreadTotal })
1695
1695
  ] })
1696
1696
  ),
1697
1697
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -1767,7 +1767,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1767
1767
  leading: (
1768
1768
  // Mobile: Burger Menu Button
1769
1769
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1770
- _chunk57JA37HPcjs.HeaderButton,
1770
+ _chunk5THYJU3Gcjs.HeaderButton,
1771
1771
  {
1772
1772
  onClick: onToggleMobileMenu,
1773
1773
  isActive: isMobileMenuOpen,
@@ -1793,7 +1793,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1793
1793
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1794
1794
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1795
1795
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1796
- _chunk57JA37HPcjs.HeaderButton,
1796
+ _chunk5THYJU3Gcjs.HeaderButton,
1797
1797
  {
1798
1798
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { className: "h-6 w-6" }),
1799
1799
  "aria-label": "Search",
@@ -1810,7 +1810,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1810
1810
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1811
1811
  }
1812
1812
  ),
1813
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1813
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1814
1814
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1815
1815
  NotificationsHeaderButton,
1816
1816
  {
@@ -1830,7 +1830,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1830
1830
  ),
1831
1831
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkAKK3EO37cjs.DropdownMenu, { children: [
1832
1832
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAKK3EO37cjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1833
- _chunk57JA37HPcjs.HeaderButton,
1833
+ _chunk5THYJU3Gcjs.HeaderButton,
1834
1834
  {
1835
1835
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1836
1836
  _chunkJHQNUWFMcjs.SquareAvatar,
@@ -1915,12 +1915,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1915
1915
  );
1916
1916
  });
1917
1917
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1918
- const ctx = _chunk57JA37HPcjs.useOptionalNotifications.call(void 0, );
1918
+ const ctx = _chunk5THYJU3Gcjs.useOptionalNotifications.call(void 0, );
1919
1919
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _52 => _52.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1920
1920
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _53 => _53.isOpen]), () => ( false));
1921
1921
  const onClick = _optionalChain([ctx, 'optionalAccess', _54 => _54.toggle]);
1922
1922
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1923
- _chunk57JA37HPcjs.HeaderButton,
1923
+ _chunk5THYJU3Gcjs.HeaderButton,
1924
1924
  {
1925
1925
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCON36SEJcjs.BellIcon, { className: "h-6 w-6" }),
1926
1926
  showUnreadDot: !isActive && hasUnread,
@@ -2593,7 +2593,7 @@ function AppLayout({
2593
2593
  }),
2594
2594
  []
2595
2595
  );
2596
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.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: [
2596
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.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: [
2597
2597
  topBar,
2598
2598
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2599
2599
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2617,7 +2617,7 @@ function AppLayout({
2617
2617
  disabled
2618
2618
  }
2619
2619
  ),
2620
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.NotificationDrawer, {}),
2620
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.NotificationDrawer, {}),
2621
2621
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2622
2622
  "div",
2623
2623
  {
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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 _chunkQKFJ6ORKcjs = require('./chunk-QKFJ6ORK.cjs');
4
+ var _chunk3C4U4UW6cjs = require('./chunk-3C4U4UW6.cjs');
5
5
 
6
6
 
7
7
  var _chunkQTYSYEHKcjs = require('./chunk-QTYSYEHK.cjs');
@@ -335,7 +335,7 @@ function useScrollSpy(sections, options = {}) {
335
335
  // src/components/navigation/multi-level-navigation.tsx
336
336
  var _lucidereact = require('lucide-react');
337
337
 
338
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkQKFJ6ORKcjs.DEFAULT_FOLDER_INDEX_FILE;
338
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunk3C4U4UW6cjs.DEFAULT_FOLDER_INDEX_FILE;
339
339
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
340
340
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
341
341
  if (selectedPath === node.path) {
@@ -6,7 +6,7 @@ var _chunkVUWPLQBYcjs = require('./chunk-VUWPLQBY.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkQKFJ6ORKcjs = require('./chunk-QKFJ6ORK.cjs');
9
+ var _chunk3C4U4UW6cjs = require('./chunk-3C4U4UW6.cjs');
10
10
 
11
11
 
12
12
  var _chunkSXGDKNVEcjs = require('./chunk-SXGDKNVE.cjs');
@@ -166,31 +166,31 @@ CveLink.displayName = "CveLink";
166
166
  // src/components/platform/ShellTypeBadge.tsx
167
167
 
168
168
  var shellIconMap = {
169
- [_chunkQKFJ6ORKcjs.ShellTypeValues.POWERSHELL]: {
169
+ [_chunk3C4U4UW6cjs.ShellTypeValues.POWERSHELL]: {
170
170
  icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon,
171
171
  props: { size: 16, className: "text-ods-text-secondary" }
172
172
  },
173
- [_chunkQKFJ6ORKcjs.ShellTypeValues.CMD]: {
173
+ [_chunk3C4U4UW6cjs.ShellTypeValues.CMD]: {
174
174
  icon: _chunkUXUYT4WKcjs.CmdIcon,
175
175
  props: { size: 16, color: "var(--color-text-secondary)" }
176
176
  },
177
- [_chunkQKFJ6ORKcjs.ShellTypeValues.BASH]: {
177
+ [_chunk3C4U4UW6cjs.ShellTypeValues.BASH]: {
178
178
  icon: _chunk5OG5ZTNMcjs.BashIcon,
179
179
  props: { size: 16, color: "var(--color-text-secondary)" }
180
180
  },
181
- [_chunkQKFJ6ORKcjs.ShellTypeValues.PYTHON]: {
181
+ [_chunk3C4U4UW6cjs.ShellTypeValues.PYTHON]: {
182
182
  icon: _chunkBF77UKGDcjs.PythonLogoIcon,
183
183
  props: { size: 16, className: "text-ods-text-secondary" }
184
184
  },
185
- [_chunkQKFJ6ORKcjs.ShellTypeValues.NUSHELL]: {
185
+ [_chunk3C4U4UW6cjs.ShellTypeValues.NUSHELL]: {
186
186
  icon: _chunkG37H4CBTcjs.NushellIcon,
187
187
  props: { size: 16, color: "var(--color-text-secondary)" }
188
188
  },
189
- [_chunkQKFJ6ORKcjs.ShellTypeValues.DENO]: {
189
+ [_chunk3C4U4UW6cjs.ShellTypeValues.DENO]: {
190
190
  icon: _chunkHUL6SF5Acjs.DenoIcon,
191
191
  props: { size: 16, color: "var(--color-text-secondary)" }
192
192
  },
193
- [_chunkQKFJ6ORKcjs.ShellTypeValues.SHELL]: {
193
+ [_chunk3C4U4UW6cjs.ShellTypeValues.SHELL]: {
194
194
  icon: _chunk6RMATQNNcjs.ShellIcon,
195
195
  props: { size: 16, color: "var(--color-text-secondary)" }
196
196
  }
@@ -201,7 +201,7 @@ var defaultIconConfig = {
201
201
  };
202
202
  var ShellTypeBadge = ({ shellType, className, iconClassName }) => {
203
203
  const normalizedType = _optionalChain([shellType, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]);
204
- const label = _chunkQKFJ6ORKcjs.getShellLabel.call(void 0, normalizedType);
204
+ const label = _chunk3C4U4UW6cjs.getShellLabel.call(void 0, normalizedType);
205
205
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
206
206
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
207
207
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1", className), children: [
@@ -217,7 +217,7 @@ function formatSupportedPlatforms(platforms) {
217
217
  if (!platforms || platforms.length === 0) {
218
218
  return "All Platforms";
219
219
  }
220
- return platforms.map((platform) => _chunkQKFJ6ORKcjs.getOSLabel.call(void 0, platform)).join(", ");
220
+ return platforms.map((platform) => _chunk3C4U4UW6cjs.getOSLabel.call(void 0, platform)).join(", ");
221
221
  }
222
222
  function InfoCell({ label, value, avatar, className }) {
223
223
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
@@ -237,7 +237,7 @@ var ScriptInfoSection = ({
237
237
  author,
238
238
  className
239
239
  }) => {
240
- const shellLabel = _chunkQKFJ6ORKcjs.getShellLabel.call(void 0, shellType);
240
+ const shellLabel = _chunk3C4U4UW6cjs.getShellLabel.call(void 0, shellType);
241
241
  const platformsLabel = formatSupportedPlatforms(supportedPlatforms);
242
242
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", className), children: [
243
243
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
@@ -3,23 +3,25 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkKSU3CXKYcjs = require('./chunk-KSU3CXKY.cjs');
6
+ var _chunkYBOA5GZVcjs = require('./chunk-YBOA5GZV.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkKNNJ4WLFcjs = require('./chunk-KNNJ4WLF.cjs');
12
+ var _chunkJEIAB7JQcjs = require('./chunk-JEIAB7JQ.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkW5MEHJRQcjs = require('./chunk-W5MEHJRQ.cjs');
16
+ var _chunkU2UVB4IFcjs = require('./chunk-U2UVB4IF.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
21
 
22
- var _chunk57JA37HPcjs = require('./chunk-57JA37HP.cjs');
22
+
23
+
24
+ var _chunk5THYJU3Gcjs = require('./chunk-5THYJU3G.cjs');
23
25
 
24
26
 
25
27
  var _chunkAXBVN5SWcjs = require('./chunk-AXBVN5SW.cjs');
@@ -28,7 +30,7 @@ var _chunkAXBVN5SWcjs = require('./chunk-AXBVN5SW.cjs');
28
30
 
29
31
 
30
32
 
31
- var _chunkQKFJ6ORKcjs = require('./chunk-QKFJ6ORK.cjs');
33
+ var _chunk3C4U4UW6cjs = require('./chunk-3C4U4UW6.cjs');
32
34
 
33
35
 
34
36
 
@@ -339,13 +341,20 @@ function toDocContent(value, requestedPath) {
339
341
  fileName: readString(value, "fileName"),
340
342
  fileSize: typeof fileSize === "number" ? fileSize : void 0,
341
343
  publishedAt: readString(value, "publishedAt"),
342
- updatedAt: readString(value, "updatedAt")
344
+ updatedAt: readString(value, "updatedAt"),
345
+ sync: toDataSync(value.sync)
343
346
  };
344
347
  }
348
+ function toDataSync(value) {
349
+ if (!isRecord(value)) return void 0;
350
+ const source = readString(value, "source");
351
+ if (!_chunk5THYJU3Gcjs.isDataSyncSource.call(void 0, source)) return void 0;
352
+ return { source, syncedAt: _nullishCoalesce(readString(value, "syncedAt"), () => ( null)) };
353
+ }
345
354
  function useDocumentTree(config, initialPath) {
346
355
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
347
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkQKFJ6ORKcjs.DEFAULT_FOLDER_INDEX_FILE));
348
- const cleanInitialPath = _chunkQKFJ6ORKcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
356
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk3C4U4UW6cjs.DEFAULT_FOLDER_INDEX_FILE));
357
+ const cleanInitialPath = _chunk3C4U4UW6cjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
349
358
  const [structure, setStructure] = _react.useState.call(void 0, []);
350
359
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
351
360
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -369,12 +378,12 @@ function useDocumentTree(config, initialPath) {
369
378
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
370
379
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
371
380
  }
372
- pathFromUrl = _chunkQKFJ6ORKcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
381
+ pathFromUrl = _chunk3C4U4UW6cjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
373
382
  if (pathFromUrl !== selectedPathRef.current) {
374
383
  setSelectedPath(pathFromUrl);
375
384
  if (pathFromUrl) {
376
385
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
377
- setExpandedNodes(new Set(_chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
386
+ setExpandedNodes(new Set(_chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
378
387
  }
379
388
  setTimeout(() => {
380
389
  scrollToContent();
@@ -392,7 +401,7 @@ function useDocumentTree(config, initialPath) {
392
401
  setSelectedPath(cleanInitialPath);
393
402
  if (cleanInitialPath) {
394
403
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
395
- setExpandedNodes(new Set(_chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
404
+ setExpandedNodes(new Set(_chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
396
405
  }
397
406
  setExternalNavCount((n) => n + 1);
398
407
  }
@@ -417,7 +426,7 @@ function useDocumentTree(config, initialPath) {
417
426
  if (cleanInitialPath) {
418
427
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
419
428
  if (pathForExpansion) {
420
- setExpandedNodes(new Set(_chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
429
+ setExpandedNodes(new Set(_chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
421
430
  }
422
431
  } else if (nodes.length > 0) {
423
432
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -457,7 +466,7 @@ function useDocumentTree(config, initialPath) {
457
466
  setContent(null);
458
467
  return;
459
468
  }
460
- const probe = _chunkQKFJ6ORKcjs.findDocNodeByPath.call(void 0, _chunkQKFJ6ORKcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
469
+ const probe = _chunk3C4U4UW6cjs.findDocNodeByPath.call(void 0, _chunk3C4U4UW6cjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
461
470
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
462
471
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
463
472
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -514,7 +523,7 @@ function useDocumentTree(config, initialPath) {
514
523
  if (selectedPath === "") {
515
524
  pathToFetch = folderIndexFile;
516
525
  } else {
517
- const node = _chunkQKFJ6ORKcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
526
+ const node = _chunk3C4U4UW6cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
518
527
  if (node && node.type === "folder" && !node.hasReadme) {
519
528
  const firstDocPath = findFirstDocPath(node);
520
529
  if (!firstDocPath) {
@@ -555,16 +564,16 @@ function useDocumentTree(config, initialPath) {
555
564
  if (node.type === "folder") {
556
565
  setExpandedNodes((prev) => {
557
566
  if (prev.has(node.id)) {
558
- const ancestorIds = _chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, node.path);
567
+ const ancestorIds = _chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, node.path);
559
568
  ancestorIds.pop();
560
569
  return new Set(ancestorIds);
561
570
  }
562
- return new Set(_chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, node.path));
571
+ return new Set(_chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, node.path));
563
572
  });
564
573
  } else {
565
574
  const lastSlash = node.path.lastIndexOf("/");
566
575
  if (lastSlash > 0) {
567
- setExpandedNodes(new Set(_chunkQKFJ6ORKcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
576
+ setExpandedNodes(new Set(_chunk3C4U4UW6cjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
568
577
  }
569
578
  }
570
579
  lastFetchedPath.current = null;
@@ -579,7 +588,7 @@ function useDocumentTree(config, initialPath) {
579
588
  const hashIndex = path.indexOf("#");
580
589
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
581
590
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
582
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkQKFJ6ORKcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
591
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk3C4U4UW6cjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
583
592
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
584
593
  _chunkCSJO7ZGNcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
585
594
  return;
@@ -643,15 +652,15 @@ function useDocumentTree(config, initialPath) {
643
652
  return docNavigation.register({
644
653
  baseRoute: normalizedBaseRoute,
645
654
  findNodeByPath: (path) => {
646
- const clean = _chunkQKFJ6ORKcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
647
- return _nullishCoalesce(_chunkQKFJ6ORKcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
655
+ const clean = _chunk3C4U4UW6cjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
656
+ return _nullishCoalesce(_chunk3C4U4UW6cjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
648
657
  },
649
658
  selectNode
650
659
  });
651
660
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
652
661
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
653
662
  if (!selectedPath || structure.length === 0) return false;
654
- const node = _chunkQKFJ6ORKcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
663
+ const node = _chunk3C4U4UW6cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
655
664
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
656
665
  }, [selectedPath, structure]);
657
666
  return {
@@ -705,6 +714,7 @@ function DocViewerContent({
705
714
  baseRoute,
706
715
  emptyStateText,
707
716
  showAIChat = false,
717
+ synced = false,
708
718
  folderIndexFile,
709
719
  backButton
710
720
  }) {
@@ -731,14 +741,14 @@ function DocViewerContent({
731
741
  },
732
742
  docPath
733
743
  );
734
- const { activeSection, handleSectionClick } = _chunkKNNJ4WLFcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
744
+ const { activeSection, handleSectionClick } = _chunkJEIAB7JQcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
735
745
  const docNav = useDocNavigation();
736
746
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
737
747
  const backCfg = backButton === false ? null : {
738
748
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
739
749
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
740
750
  };
741
- const docSearch = _chunkW5MEHJRQcjs.useDocSearch.call(void 0, {
751
+ const docSearch = _chunkU2UVB4IFcjs.useDocSearch.call(void 0, {
742
752
  source: chatSource,
743
753
  baseRoute,
744
754
  searchEndpoint,
@@ -762,7 +772,7 @@ function DocViewerContent({
762
772
  onResolveLink: resolveLink
763
773
  });
764
774
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
765
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkQKFJ6ORKcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
775
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk3C4U4UW6cjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
766
776
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
767
777
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
768
778
  const showStickyNav = isMarkdownContent;
@@ -774,10 +784,11 @@ function DocViewerContent({
774
784
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
775
785
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
776
786
  const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAXBVN5SWcjs.PageLayout, { title, subtitle, titleSize: "h1", titleWrap: true, backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-10", children: [
787
+ synced && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.DataSyncLine, { sync: _optionalChain([content, 'optionalAccess', _19 => _19.sync]), loading: isLoadingContent && !content }),
777
788
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
778
- _chunkW5MEHJRQcjs.DocSearchBar,
789
+ _chunkU2UVB4IFcjs.DocSearchBar,
779
790
  {
780
- placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _19 => _19.toLowerCase, 'call', _20 => _20()]) || "documents"}...`,
791
+ placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _20 => _20.toLowerCase, 'call', _21 => _21()]) || "documents"}...`,
781
792
  query: docSearch.query,
782
793
  onQueryChange: docSearch.setQuery,
783
794
  results: docSearch.results,
@@ -794,9 +805,9 @@ function DocViewerContent({
794
805
  ] })
795
806
  ] }) }),
796
807
  !error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-start gap-6 content-lg:flex-row content-lg:gap-10", children: [
797
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-lg:w-[320px] content-lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "content-lg:sticky content-lg:top-20", children: isLoadingStructure ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
808
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-lg:w-[320px] content-lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "content-lg:sticky content-lg:top-20", children: isLoadingStructure ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
798
809
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
799
- _chunkKNNJ4WLFcjs.MobileNavigationDropdown,
810
+ _chunkJEIAB7JQcjs.MobileNavigationDropdown,
800
811
  {
801
812
  nodes: structure,
802
813
  selectedPath,
@@ -810,7 +821,7 @@ function DocViewerContent({
810
821
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentSidebar, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
811
822
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
812
823
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
813
- _chunkKNNJ4WLFcjs.MultiLevelNavigation,
824
+ _chunkJEIAB7JQcjs.MultiLevelNavigation,
814
825
  {
815
826
  nodes: structure,
816
827
  selectedPath,
@@ -849,7 +860,7 @@ function DocViewerContent({
849
860
  showStickyNav && content && stickyNavSections.length > 0 && !isLoadingContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-24", children: [
850
861
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
851
862
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunkKNNJ4WLFcjs.StickySectionNav,
863
+ _chunkJEIAB7JQcjs.StickySectionNav,
853
864
  {
854
865
  sections: stickyNavSections,
855
866
  activeSection,
@@ -864,7 +875,7 @@ function DocViewerContent({
864
875
  ) })
865
876
  ] })
866
877
  ] }) }) });
867
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
878
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
868
879
  }
869
880
 
870
881
  // src/components/docs/skeletons.tsx
@@ -950,7 +961,7 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
950
961
  ] }),
951
962
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center gap-2 content-sm:w-auto", children: Array.from({ length: buttonCount }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-10 w-full flex-1 rounded content-sm:w-32 content-sm:flex-initial" }, i)) })
952
963
  ] }),
953
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.EmbedLoadingSkeleton, { region: false })
964
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.EmbedLoadingSkeleton, { region: false })
954
965
  ] });
955
966
  }
956
967
 
@@ -958,11 +969,11 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
958
969
 
959
970
  var DEFAULT_TITLE = "Documents";
960
971
  var defaultFallbackRenderer = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-16 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "Unsupported document type" }) });
961
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKSU3CXKYcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
962
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKSU3CXKYcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
963
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57JA37HPcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
972
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYBOA5GZVcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
973
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYBOA5GZVcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
974
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5THYJU3Gcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
964
975
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
965
- _chunkKSU3CXKYcjs.FileDownloadCard,
976
+ _chunkYBOA5GZVcjs.FileDownloadCard,
966
977
  {
967
978
  fileName: content.fileName,
968
979
  mimeType: content.mimeType,
@@ -5,7 +5,7 @@ var _chunkVUWPLQBYcjs = require('./chunk-VUWPLQBY.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkQKFJ6ORKcjs = require('./chunk-QKFJ6ORK.cjs');
8
+ var _chunk3C4U4UW6cjs = require('./chunk-3C4U4UW6.cjs');
9
9
 
10
10
 
11
11
 
@@ -116,14 +116,14 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
116
116
 
117
117
  var PICK_ROOT_MARGIN = "600px";
118
118
  function faqAskCardShown(assistant) {
119
- return _chunkQKFJ6ORKcjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
119
+ return _chunk3C4U4UW6cjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
120
120
  }
121
121
  function FaqAskCard({ topic, exclude, count, title, description, onOpen }) {
122
122
  const { ref, inView } = _chunkCSJO7ZGNcjs.useInView.call(void 0, { rootMargin: PICK_ROOT_MARGIN });
123
123
  const [reached, setReached] = _react.useState.call(void 0, false);
124
124
  if (inView && !reached) setReached(true);
125
125
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
126
- _chunkQKFJ6ORKcjs.AssistantAskPrompts,
126
+ _chunk3C4U4UW6cjs.AssistantAskPrompts,
127
127
  {
128
128
  variant: "card",
129
129
  topic,