@flamingo-stack/openframe-frontend-core 0.0.709 → 0.0.711

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 (76) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-36BCTE7D.js → chunk-2JTGK64G.js} +4 -4
  3. package/dist/{chunk-YBUT4AMG.cjs → chunk-3UNL26CD.cjs} +2 -2
  4. package/dist/{chunk-4L6XCMOU.js → chunk-5HB7FLCV.js} +1 -1
  5. package/dist/{chunk-6IW7TWPV.js → chunk-62KNLDXK.js} +1 -1
  6. package/dist/{chunk-AOWDNSTM.cjs → chunk-6AMIRXKM.cjs} +40 -40
  7. package/dist/{chunk-LNW45N2C.js → chunk-6GLQLTJI.js} +5 -5
  8. package/dist/{chunk-QAOFMK2A.cjs → chunk-6K7QZDA6.cjs} +3 -3
  9. package/dist/{chunk-SEXWHIMS.cjs → chunk-7AM6C6XH.cjs} +42 -37
  10. package/dist/{chunk-CNWOMQQJ.js → chunk-AGDVEUVL.js} +1 -1
  11. package/dist/{chunk-3AHTOSXJ.cjs → chunk-C4HRRB3V.cjs} +9 -9
  12. package/dist/{chunk-NSGXARGJ.cjs → chunk-CDM7OSFB.cjs} +70 -70
  13. package/dist/{chunk-4UM2ETLM.js → chunk-EQWD4IJE.js} +2 -2
  14. package/dist/{chunk-6I4ZAFO2.cjs → chunk-EX6GGCAC.cjs} +9 -9
  15. package/dist/{chunk-L6Y6OOKG.cjs → chunk-FEMAJES4.cjs} +20 -20
  16. package/dist/{chunk-P42V6N34.cjs → chunk-FYOKS5RI.cjs} +313 -313
  17. package/dist/{chunk-B73373AG.cjs → chunk-G47AP6LX.cjs} +20 -20
  18. package/dist/{chunk-I3ST4PLM.js → chunk-IFWLJ66M.js} +1 -1
  19. package/dist/{chunk-F5FF4DME.js → chunk-K4PTDK34.js} +3 -3
  20. package/dist/{chunk-ZCLBYT2V.cjs → chunk-K6Y5NX6L.cjs} +24 -24
  21. package/dist/{chunk-6YKAT7NV.js → chunk-NF7GNGYG.js} +2 -2
  22. package/dist/{chunk-2G7UYK35.cjs → chunk-P6G3JZNC.cjs} +32 -32
  23. package/dist/{chunk-JRU2CXLB.cjs → chunk-PRX7HVLE.cjs} +2 -2
  24. package/dist/{chunk-CZSZSDD4.js → chunk-Q6B35Y7O.js} +4 -4
  25. package/dist/{chunk-2KXTOP6G.cjs → chunk-QA6TROME.cjs} +14 -14
  26. package/dist/{chunk-LFFB6EMB.js → chunk-QGZPZ3RL.js} +2 -2
  27. package/dist/{chunk-PO33GZVY.js → chunk-SMAAV3HL.js} +8 -3
  28. package/dist/{chunk-DA5UDTLG.js → chunk-TKZXHVBG.js} +2 -2
  29. package/dist/{chunk-SS5MBHDP.js → chunk-VMMHJFHG.js} +2 -2
  30. package/dist/{chunk-MR3A4MZV.js → chunk-VWFZRMQR.js} +1 -1
  31. package/dist/{chunk-TDYIREDJ.js → chunk-WJUIXU6Y.js} +4 -4
  32. package/dist/{chunk-2RNB5DTN.cjs → chunk-XWEBHS7O.cjs} +7 -7
  33. package/dist/{chunk-OJLR5MEO.cjs → chunk-YD4LJZV4.cjs} +4 -4
  34. package/dist/components/case-studies/index.cjs +14 -14
  35. package/dist/components/case-studies/index.js +3 -3
  36. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +4 -1
  37. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  38. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  39. package/dist/components/chat/index.cjs +2 -2
  40. package/dist/components/chat/index.js +1 -1
  41. package/dist/components/chat/types/component.types.d.ts +4 -0
  42. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  43. package/dist/components/chat/types/unified-chat-state.types.d.ts +12 -0
  44. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  45. package/dist/components/contact/index.cjs +4 -4
  46. package/dist/components/contact/index.js +3 -3
  47. package/dist/components/docs/index.cjs +7 -7
  48. package/dist/components/docs/index.js +6 -6
  49. package/dist/components/embeds/index.cjs +4 -4
  50. package/dist/components/embeds/index.js +3 -3
  51. package/dist/components/faq/index.cjs +4 -4
  52. package/dist/components/faq/index.js +3 -3
  53. package/dist/components/features/index.cjs +3 -3
  54. package/dist/components/features/index.js +2 -2
  55. package/dist/components/help-center-pages/index.cjs +70 -70
  56. package/dist/components/help-center-pages/index.js +14 -14
  57. package/dist/components/index.cjs +36 -36
  58. package/dist/components/index.js +13 -13
  59. package/dist/components/meeting-scheduler/index.cjs +25 -25
  60. package/dist/components/meeting-scheduler/index.js +2 -2
  61. package/dist/components/navigation/index.cjs +6 -6
  62. package/dist/components/navigation/index.js +5 -5
  63. package/dist/components/onboarding-guides/index.cjs +6 -6
  64. package/dist/components/onboarding-guides/index.js +5 -5
  65. package/dist/components/tickets/index.cjs +7 -7
  66. package/dist/components/tickets/index.js +6 -6
  67. package/dist/components/ui/index.cjs +3 -3
  68. package/dist/components/ui/index.js +2 -2
  69. package/dist/index.cjs +7 -7
  70. package/dist/index.js +6 -6
  71. package/package.json +1 -1
  72. package/src/components/chat/embeddable-chat.tsx +2 -0
  73. package/src/components/chat/hooks/use-chat-dialog-manager.ts +22 -4
  74. package/src/components/chat/hooks/use-unified-chat.ts +1 -0
  75. package/src/components/chat/types/component.types.ts +4 -0
  76. package/src/components/chat/types/unified-chat-state.types.ts +13 -0
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkYBUT4AMGcjs = require('./chunk-YBUT4AMG.cjs');
5
+ var _chunk3UNL26CDcjs = require('./chunk-3UNL26CD.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunk6I4ZAFO2cjs = require('./chunk-6I4ZAFO2.cjs');
9
+ var _chunkEX6GGCACcjs = require('./chunk-EX6GGCAC.cjs');
10
10
 
11
11
 
12
12
  var _chunkUDFRUKLCcjs = require('./chunk-UDFRUKLC.cjs');
@@ -18,12 +18,12 @@ var _chunkUDFRUKLCcjs = require('./chunk-UDFRUKLC.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
21
+ var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
22
22
 
23
23
 
24
24
 
25
25
 
26
- var _chunkSEXWHIMScjs = require('./chunk-SEXWHIMS.cjs');
26
+ var _chunk7AM6C6XHcjs = require('./chunk-7AM6C6XH.cjs');
27
27
 
28
28
 
29
29
 
@@ -132,14 +132,14 @@ function OnboardingGuidesCatalogView({
132
132
  });
133
133
  };
134
134
  const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
135
- const docSearch = _chunk6I4ZAFO2cjs.useDocSearch.call(void 0, {
135
+ const docSearch = _chunkEX6GGCACcjs.useDocSearch.call(void 0, {
136
136
  source,
137
137
  baseRoute: basePath,
138
138
  onNavigate: (path) => router.push(path),
139
139
  tableIds: ["onboarding-guides"]
140
140
  });
141
141
  const defaultRenderCard = (guide) => {
142
- const cta = _chunkP42V6N34cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
142
+ const cta = _chunkFYOKS5RIcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
143
143
  type: "onboarding_guide",
144
144
  slug: guide.slug,
145
145
  basePath,
@@ -150,7 +150,7 @@ function OnboardingGuidesCatalogView({
150
150
  const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
151
151
  const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
152
152
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
153
- _chunk6I4ZAFO2cjs.DocSearchBar,
153
+ _chunkEX6GGCACcjs.DocSearchBar,
154
154
  {
155
155
  placeholder: "Search onboarding guides, releases, case studies\u2026",
156
156
  query: docSearch.query,
@@ -162,7 +162,7 @@ function OnboardingGuidesCatalogView({
162
162
  }
163
163
  ),
164
164
  sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
165
- _chunkP42V6N34cjs.FilterPillRow,
165
+ _chunkFYOKS5RIcjs.FilterPillRow,
166
166
  {
167
167
  label: "Section",
168
168
  selectedValue: activeSection,
@@ -172,7 +172,7 @@ function OnboardingGuidesCatalogView({
172
172
  )
173
173
  ] });
174
174
  if (selfFetch && guidesRes.error) {
175
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
175
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
176
176
  }
177
177
  if (selfFetch && guidesRes.data == null && isLoading) {
178
178
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
@@ -204,7 +204,7 @@ function OnboardingGuideDetailView({
204
204
  slug,
205
205
  guideEndpoint,
206
206
  related = [],
207
- MarkdownRenderer = _chunkP42V6N34cjs.RichMarkdownRenderer,
207
+ MarkdownRenderer = _chunkFYOKS5RIcjs.RichMarkdownRenderer,
208
208
  renderRelatedCard,
209
209
  backHref,
210
210
  backLabel = "Back to Getting Started",
@@ -214,9 +214,9 @@ function OnboardingGuideDetailView({
214
214
  }) {
215
215
  const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
216
216
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
217
- const captions = _chunkSEXWHIMScjs.useCaptions.call(void 0, );
217
+ const captions = _chunk7AM6C6XHcjs.useCaptions.call(void 0, );
218
218
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
219
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
219
+ const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
220
220
  const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
221
221
  const { data: guide, isLoading, error, reload } = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0, url, { initialData });
222
222
  const { ref: videoWarmupRef } = _chunk6NTPY5QAcjs.useVideoWarmup.call(void 0, {
@@ -224,13 +224,13 @@ function OnboardingGuideDetailView({
224
224
  supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
225
225
  });
226
226
  if (error || !guide && !isLoading) {
227
- return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.LoadError, { message: "Guide not found.", onRetry: reload }));
227
+ return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
228
228
  }
229
229
  if (!guide) {
230
230
  return renderShell(
231
231
  // Match the loaded page's top offset (TitleBlock's
232
232
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYBUT4AMGcjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
233
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UNL26CDcjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
234
234
  );
235
235
  }
236
236
  const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", guide);
@@ -238,7 +238,7 @@ function OnboardingGuideDetailView({
238
238
  // worst), so it's the terminal fallback — no trailing `|| undefined` needed.
239
239
  _chunkLM7TXMLUcjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
240
240
  const defaultRenderRelatedCard = (g) => {
241
- const cta = _chunkP42V6N34cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
241
+ const cta = _chunkFYOKS5RIcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
242
242
  type: "onboarding_guide",
243
243
  slug: g.slug,
244
244
  basePath,
@@ -249,14 +249,14 @@ function OnboardingGuideDetailView({
249
249
  const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
250
250
  return renderShell(
251
251
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
252
- _chunkP42V6N34cjs.PageLayout,
252
+ _chunkFYOKS5RIcjs.PageLayout,
253
253
  {
254
254
  title: guide.title,
255
255
  titleSize: "h1",
256
256
  titleWrap: true,
257
257
  backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
258
258
  children: [
259
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
259
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
260
260
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
261
261
  _chunk6NTPY5QAcjs.EntityAuthorCard,
262
262
  {
@@ -273,7 +273,7 @@ function OnboardingGuideDetailView({
273
273
  }
274
274
  ),
275
275
  (guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
276
- _chunkSEXWHIMScjs.EntityVideoSection,
276
+ _chunk7AM6C6XHcjs.EntityVideoSection,
277
277
  {
278
278
  mainVideoUrl: guide.main_video_url,
279
279
  youtubeUrl: guide.youtube_url || void 0,
@@ -291,7 +291,7 @@ function OnboardingGuideDetailView({
291
291
  ) }),
292
292
  guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
293
293
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
294
- _chunkSEXWHIMScjs.VideoBitesStrip,
294
+ _chunk7AM6C6XHcjs.VideoBitesStrip,
295
295
  {
296
296
  bites: _nullishCoalesce(guide.video_bites, () => ( [])),
297
297
  filterPublished: true,
@@ -301,7 +301,7 @@ function OnboardingGuideDetailView({
301
301
  }
302
302
  ),
303
303
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
304
- _chunkYBUT4AMGcjs.ArticleAuthorByline,
304
+ _chunk3UNL26CDcjs.ArticleAuthorByline,
305
305
  {
306
306
  author: _nullishCoalesce(_optionalChain([guide, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
307
307
  avatar: _optionalChain([guide, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  PageLayout
4
- } from "./chunk-4L6XCMOU.js";
4
+ } from "./chunk-5HB7FLCV.js";
5
5
  import {
6
6
  formatBioText,
7
7
  formatDateWithTimezone,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useOptionalTicketLive
4
- } from "./chunk-6YKAT7NV.js";
4
+ } from "./chunk-NF7GNGYG.js";
5
5
  import {
6
6
  AppLayoutDrawerContainerContext,
7
7
  AppLayoutDrawerCoordinationContext,
@@ -14,7 +14,7 @@ import {
14
14
  UnreadDot,
15
15
  buildTicketOpenHref,
16
16
  useOptionalNotifications
17
- } from "./chunk-4L6XCMOU.js";
17
+ } from "./chunk-5HB7FLCV.js";
18
18
  import {
19
19
  resolveActiveSection,
20
20
  shortcutLabel,
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  OVERLAY_BACKDROP_CLASS,
30
30
  useIsHydrated
31
- } from "./chunk-PO33GZVY.js";
31
+ } from "./chunk-SMAAV3HL.js";
32
32
  import {
33
33
  useHeaderHeight
34
34
  } from "./chunk-CZ7Y7UG4.js";
@@ -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 _chunkOJLR5MEOcjs = require('./chunk-OJLR5MEO.cjs');
4
+ var _chunkYD4LJZV4cjs = require('./chunk-YD4LJZV4.cjs');
5
5
 
6
6
 
7
7
 
@@ -14,7 +14,7 @@ var _chunkOJLR5MEOcjs = require('./chunk-OJLR5MEO.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
17
+ var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
18
18
 
19
19
 
20
20
 
@@ -28,7 +28,7 @@ var _chunkWCVZCGK5cjs = require('./chunk-WCVZCGK5.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunkSEXWHIMScjs = require('./chunk-SEXWHIMS.cjs');
31
+ var _chunk7AM6C6XHcjs = require('./chunk-7AM6C6XH.cjs');
32
32
 
33
33
 
34
34
  var _chunkUVTD52MDcjs = require('./chunk-UVTD52MD.cjs');
@@ -250,7 +250,7 @@ function NavItemRow({
250
250
  className
251
251
  }) {
252
252
  const label = navLinkLabel(link);
253
- const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
253
+ const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
254
254
  const singleLine = !link.description && !link.builtOn;
255
255
  const rowClassName = _chunk3ATAYP36cjs.cn.call(void 0,
256
256
  ROW_CLASSES[variant],
@@ -638,7 +638,7 @@ function SiteHeader({
638
638
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
639
639
  leading,
640
640
  mobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
641
- _chunkP42V6N34cjs.HeaderButton,
641
+ _chunkFYOKS5RIcjs.HeaderButton,
642
642
  {
643
643
  className: "border-r border-ods-border lg:hidden",
644
644
  onClick: mobile.onToggle,
@@ -944,7 +944,7 @@ function SiteFooter({
944
944
  const columns = nav.footerColumns;
945
945
  const accordion = columns.length > ACCORDION_OVER;
946
946
  const socialRow = _nullishCoalesce(social, () => ( (nav.brand.social.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
947
- _chunkP42V6N34cjs.SocialIconRow,
947
+ _chunkFYOKS5RIcjs.SocialIconRow,
948
948
  {
949
949
  compact: true,
950
950
  links: nav.brand.social.map((link) => ({
@@ -1047,7 +1047,7 @@ var _framermotion = require('framer-motion');
1047
1047
 
1048
1048
  function SlidingSidebar({ config }) {
1049
1049
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
1050
- const mounted = _chunkSEXWHIMScjs.useIsHydrated.call(void 0, );
1050
+ const mounted = _chunk7AM6C6XHcjs.useIsHydrated.call(void 0, );
1051
1051
  const headerHeight = _chunkUVTD52MDcjs.useHeaderHeight.call(void 0, );
1052
1052
  const asideRef = _react.useRef.call(void 0, null);
1053
1053
  const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
@@ -1179,7 +1179,7 @@ function SlidingSidebar({ config }) {
1179
1179
  duration: 0.3,
1180
1180
  ease: [0.4, 0, 0.2, 1]
1181
1181
  },
1182
- className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunkSEXWHIMScjs.OVERLAY_BACKDROP_CLASS),
1182
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "fixed inset-0 z-[45]", _chunk7AM6C6XHcjs.OVERLAY_BACKDROP_CLASS),
1183
1183
  onClick: () => config.onClose()
1184
1184
  }
1185
1185
  ) }),
@@ -1320,7 +1320,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
1320
1320
  _react.cloneElement.call(void 0, item.icon, {
1321
1321
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
1322
1322
  }),
1323
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.UnreadDot, { size: "fixed" })
1323
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.UnreadDot, { size: "fixed" })
1324
1324
  ] }),
1325
1325
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1326
1326
  "span",
@@ -1421,7 +1421,7 @@ function NavigationSidebar({ config, disabled = false, pushOnTablet = false }) {
1421
1421
  setTabletFor(isTablet);
1422
1422
  if (isTablet) setTabletMinimized(true);
1423
1423
  }
1424
- const hydrated = _chunkSEXWHIMScjs.useIsHydrated.call(void 0, );
1424
+ const hydrated = _chunk7AM6C6XHcjs.useIsHydrated.call(void 0, );
1425
1425
  const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
1426
1426
  const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
1427
1427
  const isOverlayOpen = isTablet && !minimized;
@@ -1613,7 +1613,7 @@ function HeaderGlobalSearch({
1613
1613
  "form",
1614
1614
  {
1615
1615
  onSubmit: handleSubmit,
1616
- ..._chunkP42V6N34cjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1616
+ ..._chunkFYOKS5RIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1617
1617
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1618
1618
  "flex h-full flex-1 items-center gap-2 px-3",
1619
1619
  // Transparent so the cell inherits the bar's background
@@ -1746,16 +1746,16 @@ function HeaderOrganizationFilter({
1746
1746
  // src/components/navigation/ticket-alerts-button.tsx
1747
1747
 
1748
1748
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1749
- const live = _chunkOJLR5MEOcjs.useOptionalTicketLive.call(void 0, );
1749
+ const live = _chunkYD4LJZV4cjs.useOptionalTicketLive.call(void 0, );
1750
1750
  if (!live || !live.authed || live.unreadTotal === 0) return null;
1751
1751
  const targetId = live.nextUnreadTicketId;
1752
- const target = targetId ? _chunkP42V6N34cjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1752
+ const target = targetId ? _chunkFYOKS5RIcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1753
1753
  const handleClick = () => {
1754
1754
  if (onNavigate) onNavigate(target);
1755
1755
  else window.location.assign(target);
1756
1756
  };
1757
1757
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1758
- _chunkP42V6N34cjs.HeaderButton,
1758
+ _chunkFYOKS5RIcjs.HeaderButton,
1759
1759
  {
1760
1760
  icon: (
1761
1761
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -1765,7 +1765,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1765
1765
  // existing while updates are unread — never by tinting the glyph.
1766
1766
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
1767
1767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
1768
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.UnreadCountBadge, { count: live.unreadTotal })
1768
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.UnreadCountBadge, { count: live.unreadTotal })
1769
1769
  ] })
1770
1770
  ),
1771
1771
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -1841,7 +1841,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1841
1841
  leading: (
1842
1842
  // Mobile: Burger Menu Button
1843
1843
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1844
- _chunkP42V6N34cjs.HeaderButton,
1844
+ _chunkFYOKS5RIcjs.HeaderButton,
1845
1845
  {
1846
1846
  onClick: onToggleMobileMenu,
1847
1847
  isActive: isMobileMenuOpen,
@@ -1867,7 +1867,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1867
1867
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1868
1868
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1869
1869
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1870
- _chunkP42V6N34cjs.HeaderButton,
1870
+ _chunkFYOKS5RIcjs.HeaderButton,
1871
1871
  {
1872
1872
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4GFNWALLcjs.SearchIcon, { className: "h-6 w-6" }),
1873
1873
  "aria-label": "Search",
@@ -1884,7 +1884,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1884
1884
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1885
1885
  }
1886
1886
  ),
1887
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1887
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1888
1888
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1889
1889
  NotificationsHeaderButton,
1890
1890
  {
@@ -1904,7 +1904,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1904
1904
  ),
1905
1905
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBM5MVGH3cjs.DropdownMenu, { children: [
1906
1906
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBM5MVGH3cjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1907
- _chunkP42V6N34cjs.HeaderButton,
1907
+ _chunkFYOKS5RIcjs.HeaderButton,
1908
1908
  {
1909
1909
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1910
1910
  _chunk6NTPY5QAcjs.SquareAvatar,
@@ -1989,12 +1989,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1989
1989
  );
1990
1990
  });
1991
1991
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1992
- const ctx = _chunkP42V6N34cjs.useOptionalNotifications.call(void 0, );
1992
+ const ctx = _chunkFYOKS5RIcjs.useOptionalNotifications.call(void 0, );
1993
1993
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _53 => _53.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1994
1994
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _54 => _54.isOpen]), () => ( false));
1995
1995
  const onClick = _optionalChain([ctx, 'optionalAccess', _55 => _55.toggle]);
1996
1996
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1997
- _chunkP42V6N34cjs.HeaderButton,
1997
+ _chunkFYOKS5RIcjs.HeaderButton,
1998
1998
  {
1999
1999
  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" }),
2000
2000
  showUnreadDot: !isActive && hasUnread,
@@ -2511,7 +2511,7 @@ var MobileBurgerMenu = _react2.default.memo(function MobileBurgerMenuImpl({
2511
2511
  {
2512
2512
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2513
2513
  "absolute inset-0 z-[100] md:hidden",
2514
- _chunkSEXWHIMScjs.OVERLAY_BACKDROP_CLASS,
2514
+ _chunk7AM6C6XHcjs.OVERLAY_BACKDROP_CLASS,
2515
2515
  "transition-all duration-300 motion-reduce:transition-none",
2516
2516
  isOpen ? "opacity-100" : "pointer-events-none opacity-0"
2517
2517
  ),
@@ -2667,7 +2667,7 @@ function AppLayout({
2667
2667
  }),
2668
2668
  []
2669
2669
  );
2670
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.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: [
2670
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.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: [
2671
2671
  topBar,
2672
2672
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2673
2673
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2691,7 +2691,7 @@ function AppLayout({
2691
2691
  disabled
2692
2692
  }
2693
2693
  ),
2694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.NotificationDrawer, {}),
2694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.NotificationDrawer, {}),
2695
2695
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2696
2696
  "div",
2697
2697
  {
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  createSseSubscription
4
- } from "./chunk-4L6XCMOU.js";
4
+ } from "./chunk-5HB7FLCV.js";
5
5
  import {
6
6
  useChatIdentity
7
- } from "./chunk-PO33GZVY.js";
7
+ } from "./chunk-SMAAV3HL.js";
8
8
  import {
9
9
  embedAuthedFetch
10
10
  } from "./chunk-FXJ3WWUB.js";
@@ -3,16 +3,16 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkQAOFMK2Acjs = require('./chunk-QAOFMK2A.cjs');
6
+ var _chunk6K7QZDA6cjs = require('./chunk-6K7QZDA6.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunkJRU2CXLBcjs = require('./chunk-JRU2CXLB.cjs');
11
+ var _chunkPRX7HVLEcjs = require('./chunk-PRX7HVLE.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunk6I4ZAFO2cjs = require('./chunk-6I4ZAFO2.cjs');
15
+ var _chunkEX6GGCACcjs = require('./chunk-EX6GGCAC.cjs');
16
16
 
17
17
 
18
18
 
@@ -22,7 +22,7 @@ var _chunk6I4ZAFO2cjs = require('./chunk-6I4ZAFO2.cjs');
22
22
 
23
23
 
24
24
 
25
- var _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
25
+ var _chunkFYOKS5RIcjs = require('./chunk-FYOKS5RI.cjs');
26
26
 
27
27
 
28
28
  var _chunkOF6GEI5Acjs = require('./chunk-OF6GEI5A.cjs');
@@ -333,8 +333,8 @@ function toDocContent(value, requestedPath) {
333
333
  }
334
334
  function useDocumentTree(config, initialPath) {
335
335
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
336
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkP42V6N34cjs.DEFAULT_FOLDER_INDEX_FILE));
337
- const cleanInitialPath = _chunkP42V6N34cjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
336
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkFYOKS5RIcjs.DEFAULT_FOLDER_INDEX_FILE));
337
+ const cleanInitialPath = _chunkFYOKS5RIcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
338
338
  const [structure, setStructure] = _react.useState.call(void 0, []);
339
339
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
340
340
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -358,12 +358,12 @@ function useDocumentTree(config, initialPath) {
358
358
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
359
359
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
360
360
  }
361
- pathFromUrl = _chunkP42V6N34cjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
361
+ pathFromUrl = _chunkFYOKS5RIcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
362
362
  if (pathFromUrl !== selectedPathRef.current) {
363
363
  setSelectedPath(pathFromUrl);
364
364
  if (pathFromUrl) {
365
365
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
366
- setExpandedNodes(new Set(_chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
366
+ setExpandedNodes(new Set(_chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
367
367
  }
368
368
  setTimeout(() => {
369
369
  scrollToContent();
@@ -381,7 +381,7 @@ function useDocumentTree(config, initialPath) {
381
381
  setSelectedPath(cleanInitialPath);
382
382
  if (cleanInitialPath) {
383
383
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
384
- setExpandedNodes(new Set(_chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
384
+ setExpandedNodes(new Set(_chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
385
385
  }
386
386
  setExternalNavCount((n) => n + 1);
387
387
  }
@@ -406,7 +406,7 @@ function useDocumentTree(config, initialPath) {
406
406
  if (cleanInitialPath) {
407
407
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
408
408
  if (pathForExpansion) {
409
- setExpandedNodes(new Set(_chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
409
+ setExpandedNodes(new Set(_chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
410
410
  }
411
411
  } else if (nodes.length > 0) {
412
412
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -446,7 +446,7 @@ function useDocumentTree(config, initialPath) {
446
446
  setContent(null);
447
447
  return;
448
448
  }
449
- const probe = _chunkP42V6N34cjs.findDocNodeByPath.call(void 0, _chunkP42V6N34cjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
449
+ const probe = _chunkFYOKS5RIcjs.findDocNodeByPath.call(void 0, _chunkFYOKS5RIcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
450
450
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
451
451
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
452
452
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -503,7 +503,7 @@ function useDocumentTree(config, initialPath) {
503
503
  if (selectedPath === "") {
504
504
  pathToFetch = folderIndexFile;
505
505
  } else {
506
- const node = _chunkP42V6N34cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
506
+ const node = _chunkFYOKS5RIcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
507
507
  if (node && node.type === "folder" && !node.hasReadme) {
508
508
  const firstDocPath = findFirstDocPath(node);
509
509
  if (!firstDocPath) {
@@ -544,16 +544,16 @@ function useDocumentTree(config, initialPath) {
544
544
  if (node.type === "folder") {
545
545
  setExpandedNodes((prev) => {
546
546
  if (prev.has(node.id)) {
547
- const ancestorIds = _chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, node.path);
547
+ const ancestorIds = _chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, node.path);
548
548
  ancestorIds.pop();
549
549
  return new Set(ancestorIds);
550
550
  }
551
- return new Set(_chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, node.path));
551
+ return new Set(_chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, node.path));
552
552
  });
553
553
  } else {
554
554
  const lastSlash = node.path.lastIndexOf("/");
555
555
  if (lastSlash > 0) {
556
- setExpandedNodes(new Set(_chunkP42V6N34cjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
556
+ setExpandedNodes(new Set(_chunkFYOKS5RIcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
557
557
  }
558
558
  }
559
559
  lastFetchedPath.current = null;
@@ -568,7 +568,7 @@ function useDocumentTree(config, initialPath) {
568
568
  const hashIndex = path.indexOf("#");
569
569
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
570
570
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
571
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkP42V6N34cjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
571
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkFYOKS5RIcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
572
572
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
573
573
  _chunkUVTD52MDcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkUVTD52MDcjs.HUB_HEADER_OFFSET_PX });
574
574
  return;
@@ -632,15 +632,15 @@ function useDocumentTree(config, initialPath) {
632
632
  return docNavigation.register({
633
633
  baseRoute: normalizedBaseRoute,
634
634
  findNodeByPath: (path) => {
635
- const clean = _chunkP42V6N34cjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
636
- return _nullishCoalesce(_chunkP42V6N34cjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
635
+ const clean = _chunkFYOKS5RIcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
636
+ return _nullishCoalesce(_chunkFYOKS5RIcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
637
637
  },
638
638
  selectNode
639
639
  });
640
640
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
641
641
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
642
642
  if (!selectedPath || structure.length === 0) return false;
643
- const node = _chunkP42V6N34cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
643
+ const node = _chunkFYOKS5RIcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
644
644
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
645
645
  }, [selectedPath, structure]);
646
646
  return {
@@ -823,7 +823,7 @@ function DocViewerContent({
823
823
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _16 => _16.label]), () => ( "Back to home")),
824
824
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _17 => _17.href]), () => ( "/")))
825
825
  };
826
- const docSearch = _chunk6I4ZAFO2cjs.useDocSearch.call(void 0, {
826
+ const docSearch = _chunkEX6GGCACcjs.useDocSearch.call(void 0, {
827
827
  source: chatSource,
828
828
  baseRoute,
829
829
  searchEndpoint,
@@ -847,7 +847,7 @@ function DocViewerContent({
847
847
  onResolveLink: resolveLink
848
848
  });
849
849
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
850
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkP42V6N34cjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _18 => _18.documentType]) : void 0;
850
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkFYOKS5RIcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _18 => _18.documentType]) : void 0;
851
851
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _19 => _19.documentType]), () => ( selectedNodeDocType));
852
852
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
853
853
  const showStickyNav = isMarkdownContent;
@@ -858,9 +858,9 @@ function DocViewerContent({
858
858
  const containerBgStyle = colorPalette.containerBackground !== "transparent" ? { backgroundColor: colorPalette.containerBackground } : {};
859
859
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
860
860
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
861
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.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: [
861
+ const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.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: [
862
862
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
863
- _chunk6I4ZAFO2cjs.DocSearchBar,
863
+ _chunkEX6GGCACcjs.DocSearchBar,
864
864
  {
865
865
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _23 => _23.toLowerCase, 'call', _24 => _24()]) || "documents"}...`,
866
866
  query: docSearch.query,
@@ -879,9 +879,9 @@ function DocViewerContent({
879
879
  ] })
880
880
  ] }) }),
881
881
  !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: [
882
- /* @__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, _chunkP42V6N34cjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
882
+ /* @__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, _chunkFYOKS5RIcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
883
883
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
884
- _chunkJRU2CXLBcjs.MobileNavigationDropdown,
884
+ _chunkPRX7HVLEcjs.MobileNavigationDropdown,
885
885
  {
886
886
  nodes: structure,
887
887
  selectedPath,
@@ -895,7 +895,7 @@ function DocViewerContent({
895
895
  /* @__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: [
896
896
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
897
897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
898
- _chunkJRU2CXLBcjs.MultiLevelNavigation,
898
+ _chunkPRX7HVLEcjs.MultiLevelNavigation,
899
899
  {
900
900
  nodes: structure,
901
901
  selectedPath,
@@ -934,7 +934,7 @@ function DocViewerContent({
934
934
  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: [
935
935
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
936
936
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
937
- _chunkJRU2CXLBcjs.StickySectionNav,
937
+ _chunkPRX7HVLEcjs.StickySectionNav,
938
938
  {
939
939
  sections: stickyNavSections,
940
940
  activeSection,
@@ -949,7 +949,7 @@ function DocViewerContent({
949
949
  ) })
950
950
  ] })
951
951
  ] }) }) });
952
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
952
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
953
953
  }
954
954
 
955
955
  // src/components/docs/skeletons.tsx
@@ -1045,11 +1045,11 @@ function EmbedSkeleton({ documentType } = {}) {
1045
1045
 
1046
1046
  var DEFAULT_TITLE = "Documents";
1047
1047
  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" }) });
1048
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQAOFMK2Acjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1049
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQAOFMK2Acjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1050
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
1048
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6K7QZDA6cjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1049
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6K7QZDA6cjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1050
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFYOKS5RIcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
1051
1051
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1052
- _chunkQAOFMK2Acjs.FileDownloadCard,
1052
+ _chunk6K7QZDA6cjs.FileDownloadCard,
1053
1053
  {
1054
1054
  fileName: content.fileName,
1055
1055
  mimeType: content.mimeType,