@flamingo-stack/openframe-frontend-core 0.0.720 → 0.0.721

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 (164) hide show
  1. package/dist/assets/index.cjs +6 -0
  2. package/dist/assets/index.d.ts +1 -0
  3. package/dist/assets/index.d.ts.map +1 -1
  4. package/dist/assets/index.js +5 -1
  5. package/dist/assets/mobile-app-qr.d.ts +17 -0
  6. package/dist/assets/mobile-app-qr.d.ts.map +1 -0
  7. package/dist/{chunk-7IOU6BJE.js → chunk-2P2M27EW.js} +2393 -2367
  8. package/dist/{chunk-3HZ6XSZC.js → chunk-2TXGR7IK.js} +136 -59
  9. package/dist/{chunk-LO3KCLEF.js → chunk-3LY7V3RF.js} +3 -3
  10. package/dist/{chunk-6BLN5WDS.cjs → chunk-3R32ZNA2.cjs} +40 -40
  11. package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
  12. package/dist/{chunk-XW3Q623Q.js → chunk-44Q6MV7C.js} +2 -2
  13. package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
  14. package/dist/{chunk-4SIZCHVZ.cjs → chunk-4LY6R4TN.cjs} +126 -49
  15. package/dist/{chunk-TORERAXD.js → chunk-57UTI7ZH.js} +6 -6
  16. package/dist/{chunk-K2BYVPGR.js → chunk-5QXE5HMV.js} +4 -4
  17. package/dist/{chunk-QF464PPL.cjs → chunk-6AJIOW3S.cjs} +57 -57
  18. package/dist/{chunk-B2N4YX66.js → chunk-6YBUQAOH.js} +1 -1
  19. package/dist/{chunk-6W46LVK4.js → chunk-74N742ZG.js} +6 -6
  20. package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
  21. package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
  22. package/dist/{chunk-VF2CJXZ2.cjs → chunk-BYVVE7HP.cjs} +58 -58
  23. package/dist/{chunk-AZRI4XBP.js → chunk-CO3FOZIH.js} +1 -1
  24. package/dist/{chunk-XSM46FHD.cjs → chunk-D2DH6VZL.cjs} +3 -3
  25. package/dist/{chunk-KSGMZHVV.cjs → chunk-DFM572VH.cjs} +2 -2
  26. package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
  27. package/dist/{chunk-VBHGJFA3.js → chunk-E6SMMMKV.js} +12 -12
  28. package/dist/{chunk-DHNJSQGX.cjs → chunk-F7ORKKEF.cjs} +103 -103
  29. package/dist/{chunk-RFUOIQSG.cjs → chunk-GCK75D7F.cjs} +9 -9
  30. package/dist/{chunk-ZHD3F2TH.cjs → chunk-GGBYZKMS.cjs} +11 -11
  31. package/dist/{chunk-YK3X74SF.js → chunk-GYAXV3MZ.js} +3 -3
  32. package/dist/{chunk-RDP5UZXQ.cjs → chunk-HJMSNOBT.cjs} +344 -323
  33. package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
  34. package/dist/{chunk-PXAKSPLZ.js → chunk-HXB7SEYG.js} +27 -6
  35. package/dist/{chunk-HTS46FFY.cjs → chunk-I2254QN6.cjs} +16 -16
  36. package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
  37. package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
  38. package/dist/{chunk-URW23QUM.js → chunk-K76ACBR3.js} +2 -2
  39. package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
  40. package/dist/{chunk-Q5327DXK.js → chunk-LAXKEBDD.js} +10 -10
  41. package/dist/{chunk-O3MKJU6A.js → chunk-LGKMR7NZ.js} +4 -4
  42. package/dist/{chunk-5XDCCQ4A.cjs → chunk-LODMNSQY.cjs} +13 -13
  43. package/dist/{chunk-V6B2FBZK.js → chunk-NJ5TBTJG.js} +7 -7
  44. package/dist/{chunk-HFEYEPOG.cjs → chunk-NMPVK53I.cjs} +29 -29
  45. package/dist/{chunk-GANIUMRU.js → chunk-NPSJE7J3.js} +1 -1
  46. package/dist/{chunk-IL3ZWNM2.cjs → chunk-O5EHOJZD.cjs} +4 -4
  47. package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
  48. package/dist/{chunk-RZQGIWK3.cjs → chunk-QLTXT562.cjs} +2 -2
  49. package/dist/{chunk-PSMJYZMV.js → chunk-QQCFPMAA.js} +2 -2
  50. package/dist/{chunk-7LPR4RZ3.cjs → chunk-QYS4YVEP.cjs} +31 -31
  51. package/dist/{chunk-VYVPII4W.js → chunk-RCI3PALX.js} +6 -6
  52. package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
  53. package/dist/{chunk-2C72EWQR.cjs → chunk-RJMWJAJO.cjs} +26 -26
  54. package/dist/{chunk-ISCZ6UNF.cjs → chunk-RQZQHLNS.cjs} +73 -73
  55. package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
  56. package/dist/{chunk-7HYEQKN6.js → chunk-S63QBBT7.js} +5 -5
  57. package/dist/{chunk-B5LNX4GZ.js → chunk-UXU7Y5BH.js} +2 -2
  58. package/dist/{chunk-DYDDAA6O.cjs → chunk-UZTOI6FJ.cjs} +766 -740
  59. package/dist/{chunk-EVMM3JE6.cjs → chunk-VFICDEYJ.cjs} +43 -43
  60. package/dist/{chunk-DOPOHO6H.cjs → chunk-XE2K53GH.cjs} +18 -18
  61. package/dist/{chunk-UWJMDFDO.cjs → chunk-XXO52RZR.cjs} +26 -26
  62. package/dist/{chunk-VYZCKY5K.js → chunk-ZLUFEWZZ.js} +7 -7
  63. package/dist/{chunk-NYSMDM4J.cjs → chunk-ZSOFLPQN.cjs} +7 -7
  64. package/dist/{chunk-ZPHOQDAE.js → chunk-ZZEKXGFS.js} +1 -1
  65. package/dist/{cloud-tenants-UQZASXUB.cjs → cloud-tenants-HZHKRUIW.cjs} +13 -13
  66. package/dist/{cloud-tenants-RKQRSDNE.js → cloud-tenants-Q4TCJS5Y.js} +12 -12
  67. package/dist/components/calendar.cjs +4 -4
  68. package/dist/components/calendar.js +1 -1
  69. package/dist/components/case-studies/index.cjs +27 -27
  70. package/dist/components/case-studies/index.js +13 -13
  71. package/dist/components/chat/index.cjs +8 -8
  72. package/dist/components/chat/index.js +7 -7
  73. package/dist/components/contact/index.cjs +14 -14
  74. package/dist/components/contact/index.js +13 -13
  75. package/dist/components/docs/index.cjs +17 -17
  76. package/dist/components/docs/index.js +16 -16
  77. package/dist/components/embeds/index.cjs +14 -14
  78. package/dist/components/embeds/index.js +13 -13
  79. package/dist/components/faq/index.cjs +14 -14
  80. package/dist/components/faq/index.js +13 -13
  81. package/dist/components/features/index.cjs +13 -13
  82. package/dist/components/features/index.js +12 -12
  83. package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
  84. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
  85. package/dist/components/help-center-pages/index.cjs +329 -114
  86. package/dist/components/help-center-pages/index.d.ts +1 -0
  87. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  88. package/dist/components/help-center-pages/index.js +243 -28
  89. package/dist/components/index.cjs +81 -79
  90. package/dist/components/index.js +28 -26
  91. package/dist/components/meeting-scheduler/index.cjs +51 -51
  92. package/dist/components/meeting-scheduler/index.js +14 -14
  93. package/dist/components/navigation/index.cjs +16 -16
  94. package/dist/components/navigation/index.js +15 -15
  95. package/dist/components/onboarding-guides/index.cjs +16 -16
  96. package/dist/components/onboarding-guides/index.js +15 -15
  97. package/dist/components/product-demo/index.cjs +8 -8
  98. package/dist/components/product-demo/index.js +8 -8
  99. package/dist/components/related-content/index.cjs +5 -5
  100. package/dist/components/related-content/index.js +4 -4
  101. package/dist/components/tickets/index.cjs +18 -18
  102. package/dist/components/tickets/index.js +17 -17
  103. package/dist/components/ui/button/button.d.ts.map +1 -1
  104. package/dist/components/ui/file-manager/index.cjs +11 -11
  105. package/dist/components/ui/file-manager/index.js +1 -1
  106. package/dist/components/ui/index.cjs +15 -13
  107. package/dist/components/ui/index.d.ts +1 -0
  108. package/dist/components/ui/index.d.ts.map +1 -1
  109. package/dist/components/ui/index.js +14 -12
  110. package/dist/components/ui/mobile-app-qr.d.ts +23 -0
  111. package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
  112. package/dist/components/ui/store-badges.d.ts +7 -4
  113. package/dist/components/ui/store-badges.d.ts.map +1 -1
  114. package/dist/{devices-7Q2EUM7B.cjs → devices-6XHUFIC6.cjs} +14 -14
  115. package/dist/{devices-U3Y4IIW4.js → devices-NOUGVTES.js} +12 -12
  116. package/dist/hooks/index.cjs +9 -3
  117. package/dist/hooks/index.d.ts +1 -0
  118. package/dist/hooks/index.d.ts.map +1 -1
  119. package/dist/hooks/index.js +8 -2
  120. package/dist/hooks/use-downloads.d.ts +41 -0
  121. package/dist/hooks/use-downloads.d.ts.map +1 -0
  122. package/dist/index.cjs +57 -17
  123. package/dist/index.js +56 -16
  124. package/dist/{knowledge-NST53EXE.js → knowledge-2YTUXQ2Z.js} +12 -12
  125. package/dist/{knowledge-UYIZ74MA.cjs → knowledge-ANEKPMO2.cjs} +14 -14
  126. package/dist/{logs-HTH7X7KV.cjs → logs-U3IB3HUM.cjs} +22 -22
  127. package/dist/{logs-JVTRG232.js → logs-WVQIONUT.js} +12 -12
  128. package/dist/{policies-DTXTRK56.js → policies-66EGDW2H.js} +12 -12
  129. package/dist/{policies-MXK2HB4W.cjs → policies-UFRN2EQF.cjs} +17 -17
  130. package/dist/{remote-session-LAJZKQBN.js → remote-session-6WEUJZDC.js} +4 -4
  131. package/dist/{remote-session-SKKF4PBV.cjs → remote-session-A75X5NPC.cjs} +6 -6
  132. package/dist/{software-update-P6BSM6HX.cjs → software-update-2MHKL76D.cjs} +17 -17
  133. package/dist/{software-update-6RHMPM3W.js → software-update-3ZD3MXF3.js} +12 -12
  134. package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
  135. package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
  136. package/dist/types/downloads.d.ts +67 -0
  137. package/dist/types/downloads.d.ts.map +1 -0
  138. package/dist/types/index.cjs +24 -0
  139. package/dist/types/index.d.ts +1 -0
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/dist/types/index.js +16 -1
  142. package/dist/utils/index.cjs +20 -0
  143. package/dist/utils/index.d.ts +1 -0
  144. package/dist/utils/index.d.ts.map +1 -1
  145. package/dist/utils/index.js +16 -1
  146. package/dist/utils/mobile-app.cjs +46 -0
  147. package/dist/utils/mobile-app.d.ts +40 -0
  148. package/dist/utils/mobile-app.d.ts.map +1 -0
  149. package/dist/utils/mobile-app.js +40 -0
  150. package/package.json +7 -1
  151. package/src/assets/index.ts +1 -0
  152. package/src/assets/mobile-app-qr.ts +19 -0
  153. package/src/components/help-center-pages/download-apps-page.tsx +364 -0
  154. package/src/components/help-center-pages/index.ts +1 -0
  155. package/src/components/ui/button/button.tsx +3 -0
  156. package/src/components/ui/index.ts +1 -0
  157. package/src/components/ui/mobile-app-qr.tsx +40 -0
  158. package/src/components/ui/store-badges.tsx +17 -9
  159. package/src/hooks/index.ts +1 -0
  160. package/src/hooks/use-downloads.ts +138 -0
  161. package/src/types/downloads.ts +82 -0
  162. package/src/types/index.ts +1 -0
  163. package/src/utils/index.ts +2 -0
  164. package/src/utils/mobile-app.ts +57 -0
@@ -314,6 +314,7 @@ var Button = _react2.default.forwardRef(function ButtonImpl({
314
314
  download,
315
315
  prefetch: false,
316
316
  className: _chunk3ATAYP36cjs.cn.call(void 0, shellClasses, isDisabled && "pointer-events-none"),
317
+ onClick,
317
318
  "aria-label": props["aria-label"],
318
319
  children: splitContent
319
320
  }
@@ -364,6 +365,7 @@ var Button = _react2.default.forwardRef(function ButtonImpl({
364
365
  download,
365
366
  prefetch: false,
366
367
  className: _chunk3ATAYP36cjs.cn.call(void 0, classes, isDisabled && "pointer-events-none"),
368
+ onClick,
367
369
  "aria-label": props["aria-label"],
368
370
  children: content
369
371
  }
@@ -17,7 +17,7 @@ import {
17
17
  resolveStatusTagProps,
18
18
  resolveTicketStatus,
19
19
  useCollapsible
20
- } from "./chunk-2NASBO7O.js";
20
+ } from "./chunk-KFOAV77K.js";
21
21
  import {
22
22
  AssistantRuntimeContext,
23
23
  useAssistantRuntime
@@ -34,7 +34,7 @@ import {
34
34
  OWNER_TYPE,
35
35
  formatDate,
36
36
  formatTime
37
- } from "./chunk-ZPHOQDAE.js";
37
+ } from "./chunk-ZZEKXGFS.js";
38
38
  import {
39
39
  ActionsMenuDropdown,
40
40
  OverlayOpenRegistryProvider,
@@ -43,12 +43,13 @@ import {
43
43
  TooltipProvider,
44
44
  TooltipTrigger,
45
45
  useIsInActionsMenuHeader
46
- } from "./chunk-P3JMAMHP.js";
46
+ } from "./chunk-REETLEL5.js";
47
47
  import {
48
48
  HUB_HEADER_OFFSET_PX,
49
49
  STICKY_HEADER_OFFSET_PX,
50
50
  createFenceTracker,
51
51
  createHeadingIdDeduper,
52
+ detectVisitorOs,
52
53
  getHashTargetElement,
53
54
  isBlankLine,
54
55
  navigateSamePageHash,
@@ -66,7 +67,7 @@ import {
66
67
  useSuppressCloneFocus,
67
68
  useVisitorOs,
68
69
  usesCommandKey
69
- } from "./chunk-CMZ3QTFQ.js";
70
+ } from "./chunk-4I3K6LEH.js";
70
71
  import {
71
72
  ToolIcon,
72
73
  clamp,
@@ -139,7 +140,7 @@ import {
139
140
  trustFrameworksSummary,
140
141
  useSelfFetch,
141
142
  useVideoWarmup
142
- } from "./chunk-GANIUMRU.js";
143
+ } from "./chunk-NPSJE7J3.js";
143
144
  import {
144
145
  AgentMark
145
146
  } from "./chunk-H3PKYE4N.js";
@@ -292,7 +293,7 @@ import {
292
293
  } from "./chunk-INS7KZJB.js";
293
294
  import {
294
295
  Button
295
- } from "./chunk-YDPKUAP4.js";
296
+ } from "./chunk-DJ4IFQNQ.js";
296
297
  import {
297
298
  acquireClient,
298
299
  releaseClient,
@@ -6399,6 +6400,21 @@ function isOSPlatform(deviceOS, targetPlatform) {
6399
6400
  return platformId === targetPlatform;
6400
6401
  }
6401
6402
 
6403
+ // src/utils/mobile-app.ts
6404
+ var DOWNLOAD_PAGE_PATH = "/download";
6405
+ var DOWNLOAD_PAGE_STORE_PARAM = "store";
6406
+ var MOBILE_APP_INSTALL_URL = `https://www.flamingo.run${DOWNLOAD_PAGE_PATH}?${DOWNLOAD_PAGE_STORE_PARAM}=1`;
6407
+ var MOBILE_APP_INSTALL_HOST_PATH = MOBILE_APP_INSTALL_URL.replace(/^https:\/\/(www\.)?/, "").replace(
6408
+ /\?.*$/,
6409
+ ""
6410
+ );
6411
+ function resolveMobileStoreUrl(links, userAgent, maxTouchPoints) {
6412
+ const os = detectVisitorOs(userAgent, { maxTouchPoints });
6413
+ if (os === "ios") return links.appStoreUrl;
6414
+ if (os === "android") return links.googlePlayUrl;
6415
+ return null;
6416
+ }
6417
+
6402
6418
  // src/utils/country-phone-utils.ts
6403
6419
  import { getCountries, getCountryCallingCode, isValidPhoneNumber, parsePhoneNumber } from "libphonenumber-js";
6404
6420
  var PRIORITY_CODES = ["US", "CA", "GB", "AU"];
@@ -26340,6 +26356,11 @@ export {
26340
26356
  socialPlatformHosts,
26341
26357
  classifySocialHost,
26342
26358
  pickSocialLink,
26359
+ DOWNLOAD_PAGE_PATH,
26360
+ DOWNLOAD_PAGE_STORE_PARAM,
26361
+ MOBILE_APP_INSTALL_URL,
26362
+ MOBILE_APP_INSTALL_HOST_PATH,
26363
+ resolveMobileStoreUrl,
26343
26364
  HoverDropdown,
26344
26365
  ChatAppearanceContext,
26345
26366
  useChatAppearance,
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkRDP5UZXQcjs = require('./chunk-RDP5UZXQ.cjs');
5
+ var _chunkHJMSNOBTcjs = require('./chunk-HJMSNOBT.cjs');
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@ var _chunkRDP5UZXQcjs = require('./chunk-RDP5UZXQ.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkGQ7JJUITcjs = require('./chunk-GQ7JJUIT.cjs');
15
+ var _chunkK2JUJ37Dcjs = require('./chunk-K2JUJ37D.cjs');
16
16
 
17
17
 
18
18
  var _chunkLLRGR4I5cjs = require('./chunk-LLRGR4I5.cjs');
@@ -45,7 +45,7 @@ function HorizontalSectionNav({
45
45
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { ref: navRef, "aria-label": label, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-14 items-stretch gap-6 bg-ods-bg", className), children: [
46
46
  brand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden shrink-0 items-center gap-2.5 border-r border-ods-border pr-6 text-ods-text-primary text-h4 content-lg:flex", children: brand }),
47
47
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48
- _chunkRDP5UZXQcjs.ScrollShadow,
48
+ _chunkHJMSNOBTcjs.ScrollShadow,
49
49
  {
50
50
  axis: "horizontal",
51
51
  className: "min-w-0 flex-1",
@@ -164,7 +164,7 @@ function useSectionNavigation(sections, options) {
164
164
  if (!targetElement) return;
165
165
  isScrollingFromClick.current = true;
166
166
  setActiveSection(sectionId);
167
- _chunkGQ7JJUITcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset });
167
+ _chunkK2JUJ37Dcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset });
168
168
  setTimeout(() => {
169
169
  isScrollingFromClick.current = false;
170
170
  }, 500);
@@ -217,13 +217,13 @@ var SCROLL_OFFSET = 100;
217
217
  var ID_SEPARATOR = "\n";
218
218
  var LINE_TOLERANCE_PX = 1;
219
219
  function currentHashId() {
220
- return _chunkGQ7JJUITcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
220
+ return _chunkK2JUJ37Dcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
221
221
  }
222
222
  function activeChildAnchor(section) {
223
- return _nullishCoalesce(_optionalChain([section, 'access', _9 => _9.querySelector, 'call', _10 => _10(`[${_chunkGQ7JJUITcjs.ACTIVE_ANCHOR_ATTRIBUTE}][id]`), 'optionalAccess', _11 => _11.id]), () => ( null));
223
+ return _nullishCoalesce(_optionalChain([section, 'access', _9 => _9.querySelector, 'call', _10 => _10(`[${_chunkK2JUJ37Dcjs.ACTIVE_ANCHOR_ATTRIBUTE}][id]`), 'optionalAccess', _11 => _11.id]), () => ( null));
224
224
  }
225
225
  function hashIsWithin(section) {
226
- return section.contains(_chunkGQ7JJUITcjs.getHashTargetElement.call(void 0, currentHashId()));
226
+ return section.contains(_chunkK2JUJ37Dcjs.getHashTargetElement.call(void 0, currentHashId()));
227
227
  }
228
228
  function hashForSection(sectionId) {
229
229
  const section = document.getElementById(sectionId);
@@ -231,7 +231,7 @@ function hashForSection(sectionId) {
231
231
  return _nullishCoalesce(activeChildAnchor(section), () => ( (hashIsWithin(section) ? currentHashId() : sectionId)));
232
232
  }
233
233
  function resolveScroller(firstSection) {
234
- const container = firstSection ? _chunkGQ7JJUITcjs.getScrollableAncestor.call(void 0, firstSection) : null;
234
+ const container = firstSection ? _chunkK2JUJ37Dcjs.getScrollableAncestor.call(void 0, firstSection) : null;
235
235
  if (container) {
236
236
  return {
237
237
  target: container,
@@ -261,8 +261,8 @@ function useScrollSpy(sections, options = {}) {
261
261
  if (!targetElement) return;
262
262
  isScrollingFromClick.current = true;
263
263
  setActiveSection(sectionId);
264
- if (syncHash) _chunkGQ7JJUITcjs.replaceLocationHash.call(void 0, _nullishCoalesce(activeChildAnchor(targetElement), () => ( sectionId)));
265
- _chunkGQ7JJUITcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset });
264
+ if (syncHash) _chunkK2JUJ37Dcjs.replaceLocationHash.call(void 0, _nullishCoalesce(activeChildAnchor(targetElement), () => ( sectionId)));
265
+ _chunkK2JUJ37Dcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset });
266
266
  setTimeout(() => {
267
267
  isScrollingFromClick.current = false;
268
268
  }, 800);
@@ -278,7 +278,7 @@ function useScrollSpy(sections, options = {}) {
278
278
  const scrollTop = scroller.scrollTop();
279
279
  const viewportTop = scroller.viewportTop();
280
280
  const sectionTop = (element) => element.getBoundingClientRect().top - viewportTop + scrollTop;
281
- const reached = (element) => scrollTop + Math.max(headerOffset, _chunkGQ7JJUITcjs.declaredScrollMarginTop.call(void 0, element)) + LINE_TOLERANCE_PX >= sectionTop(element);
281
+ const reached = (element) => scrollTop + Math.max(headerOffset, _chunkK2JUJ37Dcjs.declaredScrollMarginTop.call(void 0, element)) + LINE_TOLERANCE_PX >= sectionTop(element);
282
282
  const first = document.getElementById(_nullishCoalesce(sectionIds[0], () => ( "")));
283
283
  let currentSection = _nullishCoalesce(sectionIds[0], () => ( ""));
284
284
  const scrollHeight = scroller.scrollHeight();
@@ -301,16 +301,16 @@ function useScrollSpy(sections, options = {}) {
301
301
  setActiveSection((prev) => prev !== active ? active : prev);
302
302
  if (!syncHash) return;
303
303
  if (fromScroll) {
304
- _chunkGQ7JJUITcjs.replaceLocationHash.call(void 0, isAboveFirst ? null : hashForSection(currentSection));
304
+ _chunkK2JUJ37Dcjs.replaceLocationHash.call(void 0, isAboveFirst ? null : hashForSection(currentSection));
305
305
  return;
306
306
  }
307
- if (restoredChecked.current || !_chunkGQ7JJUITcjs.isScrollSyncedHash.call(void 0, )) return;
308
- const target = _chunkGQ7JJUITcjs.getHashTargetElement.call(void 0, currentHashId());
307
+ if (restoredChecked.current || !_chunkK2JUJ37Dcjs.isScrollSyncedHash.call(void 0, )) return;
308
+ const target = _chunkK2JUJ37Dcjs.getHashTargetElement.call(void 0, currentHashId());
309
309
  const tracked = sectionIds.some((id) => _nullishCoalesce(_optionalChain([document, 'access', _16 => _16.getElementById, 'call', _17 => _17(id), 'optionalAccess', _18 => _18.contains, 'call', _19 => _19(target)]), () => ( false)));
310
310
  if (!target || !tracked) return;
311
311
  restoredChecked.current = true;
312
312
  const section = isAboveFirst ? null : document.getElementById(currentSection);
313
- if (!_optionalChain([section, 'optionalAccess', _20 => _20.contains, 'call', _21 => _21(target)])) _chunkGQ7JJUITcjs.scrollElementIntoView.call(void 0, target, { headerOffset, behavior: "instant" });
313
+ if (!_optionalChain([section, 'optionalAccess', _20 => _20.contains, 'call', _21 => _21(target)])) _chunkK2JUJ37Dcjs.scrollElementIntoView.call(void 0, target, { headerOffset, behavior: "instant" });
314
314
  };
315
315
  let scrollTimer;
316
316
  const throttledScroll = () => {
@@ -330,7 +330,7 @@ function useScrollSpy(sections, options = {}) {
330
330
  // src/components/navigation/multi-level-navigation.tsx
331
331
  var _lucidereact = require('lucide-react');
332
332
 
333
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkRDP5UZXQcjs.DEFAULT_FOLDER_INDEX_FILE;
333
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunkHJMSNOBTcjs.DEFAULT_FOLDER_INDEX_FILE;
334
334
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
335
335
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
336
336
  if (selectedPath === node.path) {
@@ -12,13 +12,13 @@ import {
12
12
  getReadableTextColor,
13
13
  resolveTicketStatus,
14
14
  useCollapsible
15
- } from "./chunk-2NASBO7O.js";
15
+ } from "./chunk-KFOAV77K.js";
16
16
  import {
17
17
  Tooltip,
18
18
  TooltipContent,
19
19
  TooltipProvider,
20
20
  TooltipTrigger
21
- } from "./chunk-P3JMAMHP.js";
21
+ } from "./chunk-REETLEL5.js";
22
22
  import {
23
23
  AgentMark
24
24
  } from "./chunk-H3PKYE4N.js";
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-OSIKGEBU.js";
53
53
  import {
54
54
  Button
55
- } from "./chunk-YDPKUAP4.js";
55
+ } from "./chunk-DJ4IFQNQ.js";
56
56
  import {
57
57
  next_link_default
58
58
  } from "./chunk-DAAVMYUT.js";
@@ -429,6 +429,21 @@ function getPlatformColorClass(platformName) {
429
429
  return _chunkULWVKHSIcjs.getPlatformBrandClasses.call(void 0, platformName).accentBg;
430
430
  }
431
431
 
432
+ // src/types/downloads.ts
433
+ var DOWNLOADS_API_PATH = "/api/downloads";
434
+ var DOWNLOADS_CACHE_SECONDS = 300;
435
+ var DOWNLOADS_TITLE = "Download OpenFrame";
436
+ var DOWNLOADS_TAGLINE = "Install it on the computer you manage IT from, and on your phone. One account everywhere.";
437
+ var DOWNLOADS_MOBILE_TITLE = "Get the OpenFrame app";
438
+ var DOWNLOADS_MOBILE_TAGLINE = "Alerts and tickets on your phone, signed in with the account you already have.";
439
+ var APP_DOWNLOAD_KINDS = ["binary", "command"];
440
+ var DESKTOP_OS_LABELS = { mac: "Mac", windows: "Windows", linux: "Linux" };
441
+ var DOWNLOAD_ARCHITECTURE_LABELS = {
442
+ universal: "Apple Silicon and Intel",
443
+ x64: "x64",
444
+ arm64: "ARM"
445
+ };
446
+
432
447
  // src/utils/access-code-client.ts
433
448
  async function validateAccessCode(email, code, endpoints) {
434
449
  try {
@@ -1204,4 +1219,13 @@ function captureFormRescueEvent(event, properties) {
1204
1219
 
1205
1220
 
1206
1221
 
1207
- exports.useDebounce = useDebounce; exports.useHeaderHeight = useHeaderHeight; exports.useMarqueeEngine = useMarqueeEngine; exports.useResetOnPageHidden = useResetOnPageHidden; exports.useSuppressCloneFocus = useSuppressCloneFocus; exports.PREFERS_REDUCED_MOTION_QUERY = PREFERS_REDUCED_MOTION_QUERY; exports.usePrefersReducedMotion = usePrefersReducedMotion; exports.usePrefersReducedMotionState = usePrefersReducedMotionState; exports.useInView = useInView; exports.useAutoplay = useAutoplay; exports.DESKTOP_OSES = DESKTOP_OSES; exports.detectVisitorOs = detectVisitorOs; exports.desktopOsOf = desktopOsOf; exports.detectDesktopOs = detectDesktopOs; exports.usesCommandKey = usesCommandKey; exports.shortcutLabel = shortcutLabel; exports.useVisitorOs = useVisitorOs; exports.platformIcons = platformIcons; exports.transformPlatformConfigsToOptions = transformPlatformConfigsToOptions; exports.getPlatformIcon = getPlatformIcon; exports.getSmallPlatformIcon = getSmallPlatformIcon; exports.getPlatformIconComponent = getPlatformIconComponent; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.toClaudeMirrorPath = toClaudeMirrorPath; exports.toClaudeEmbedUrl = toClaudeEmbedUrl; exports.isBlankLine = isBlankLine; exports.createFenceTracker = createFenceTracker; exports.HEADING_EMOJI_RE = HEADING_EMOJI_RE; exports.stripHeadingEmojis = stripHeadingEmojis; exports.slugifyHeadingBase = slugifyHeadingBase; exports.slugifyHeadingText = slugifyHeadingText; exports.scanHeadings = scanHeadings; exports.createHeadingIdDeduper = createHeadingIdDeduper; exports.normalizeAnchorId = normalizeAnchorId; exports.findAnchorElementByNormalizedId = findAnchorElementByNormalizedId; exports.getScrollableAncestor = getScrollableAncestor; exports.declaredScrollMarginTop = declaredScrollMarginTop; exports.scrollElementIntoView = scrollElementIntoView; exports.STICKY_HEADER_OFFSET_PX = STICKY_HEADER_OFFSET_PX; exports.HUB_HEADER_OFFSET_PX = HUB_HEADER_OFFSET_PX; exports.normalizeHashFragment = normalizeHashFragment; exports.getHashTargetElement = getHashTargetElement; exports.LOCATION_HASH_SYNC_EVENT = LOCATION_HASH_SYNC_EVENT; exports.ACTIVE_ANCHOR_ATTRIBUTE = ACTIVE_ANCHOR_ATTRIBUTE; exports.replaceLocationHash = replaceLocationHash; exports.isScrollSyncedHash = isScrollSyncedHash; exports.navigateSamePageHash = navigateSamePageHash; exports.HONEYPOT_FIELD = HONEYPOT_FIELD; exports.ELAPSED_MS_FIELD = ELAPSED_MS_FIELD; exports.DEFAULT_MIN_FILL_MS = DEFAULT_MIN_FILL_MS; exports.HUMANITY_SIGNAL_KEYS = HUMANITY_SIGNAL_KEYS; exports.isHumanitySignalKey = isHumanitySignalKey; exports.extractHumanitySignals = extractHumanitySignals; exports.findHoneypotCopySource = findHoneypotCopySource; exports.evaluateHumanitySignals = evaluateHumanitySignals; exports.splitCsvEnv = splitCsvEnv; exports.defineRescueForm = defineRescueForm; exports.getRescueForm = getRescueForm; exports.listRescueForms = listRescueForms; exports.RESCUE_FORMS = RESCUE_FORMS; exports.FORM_RESCUE_VALUE_FIELDS = FORM_RESCUE_VALUE_FIELDS; exports.isExcludedRescueField = isExcludedRescueField; exports.FORM_RESCUE_MAX_VALUE_CHARS = FORM_RESCUE_MAX_VALUE_CHARS; exports.FORM_RESCUE_DEBOUNCE_MS = FORM_RESCUE_DEBOUNCE_MS; exports.FORM_RESCUE_MAX_FIELDS = FORM_RESCUE_MAX_FIELDS; exports.FORM_RESCUE_ATTEMPT_FIELD = FORM_RESCUE_ATTEMPT_FIELD; exports.FORM_RESCUE_RESUME_FIELD = FORM_RESCUE_RESUME_FIELD; exports.FORM_RESCUE_SUBMIT_KEYS = FORM_RESCUE_SUBMIT_KEYS; exports.FORM_RESCUE_RESUME_PARAM = FORM_RESCUE_RESUME_PARAM; exports.isResumeToken = isResumeToken; exports.FORM_DRAFT_STATUSES = FORM_DRAFT_STATUSES; exports.FORM_RESCUE_SKIP_REASONS = FORM_RESCUE_SKIP_REASONS; exports.isRescueEmail = isRescueEmail; exports.isFormAttemptId = isFormAttemptId; exports.sanitizeRescueValues = sanitizeRescueValues; exports.filledRescueFields = filledRescueFields; exports.rescueCompletionPct = rescueCompletionPct; exports.sanitizeRescueFieldName = sanitizeRescueFieldName; exports.parseFormDraftSaveRequest = parseFormDraftSaveRequest; exports.FORM_RESCUE_EVENTS = FORM_RESCUE_EVENTS; exports.captureFormRescueEvent = captureFormRescueEvent;
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+ exports.useDebounce = useDebounce; exports.useHeaderHeight = useHeaderHeight; exports.useMarqueeEngine = useMarqueeEngine; exports.useResetOnPageHidden = useResetOnPageHidden; exports.useSuppressCloneFocus = useSuppressCloneFocus; exports.PREFERS_REDUCED_MOTION_QUERY = PREFERS_REDUCED_MOTION_QUERY; exports.usePrefersReducedMotion = usePrefersReducedMotion; exports.usePrefersReducedMotionState = usePrefersReducedMotionState; exports.useInView = useInView; exports.useAutoplay = useAutoplay; exports.DESKTOP_OSES = DESKTOP_OSES; exports.detectVisitorOs = detectVisitorOs; exports.desktopOsOf = desktopOsOf; exports.detectDesktopOs = detectDesktopOs; exports.usesCommandKey = usesCommandKey; exports.shortcutLabel = shortcutLabel; exports.useVisitorOs = useVisitorOs; exports.platformIcons = platformIcons; exports.transformPlatformConfigsToOptions = transformPlatformConfigsToOptions; exports.getPlatformIcon = getPlatformIcon; exports.getSmallPlatformIcon = getSmallPlatformIcon; exports.getPlatformIconComponent = getPlatformIconComponent; exports.DOWNLOADS_API_PATH = DOWNLOADS_API_PATH; exports.DOWNLOADS_CACHE_SECONDS = DOWNLOADS_CACHE_SECONDS; exports.DOWNLOADS_TITLE = DOWNLOADS_TITLE; exports.DOWNLOADS_TAGLINE = DOWNLOADS_TAGLINE; exports.DOWNLOADS_MOBILE_TITLE = DOWNLOADS_MOBILE_TITLE; exports.DOWNLOADS_MOBILE_TAGLINE = DOWNLOADS_MOBILE_TAGLINE; exports.APP_DOWNLOAD_KINDS = APP_DOWNLOAD_KINDS; exports.DESKTOP_OS_LABELS = DESKTOP_OS_LABELS; exports.DOWNLOAD_ARCHITECTURE_LABELS = DOWNLOAD_ARCHITECTURE_LABELS; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.toClaudeMirrorPath = toClaudeMirrorPath; exports.toClaudeEmbedUrl = toClaudeEmbedUrl; exports.isBlankLine = isBlankLine; exports.createFenceTracker = createFenceTracker; exports.HEADING_EMOJI_RE = HEADING_EMOJI_RE; exports.stripHeadingEmojis = stripHeadingEmojis; exports.slugifyHeadingBase = slugifyHeadingBase; exports.slugifyHeadingText = slugifyHeadingText; exports.scanHeadings = scanHeadings; exports.createHeadingIdDeduper = createHeadingIdDeduper; exports.normalizeAnchorId = normalizeAnchorId; exports.findAnchorElementByNormalizedId = findAnchorElementByNormalizedId; exports.getScrollableAncestor = getScrollableAncestor; exports.declaredScrollMarginTop = declaredScrollMarginTop; exports.scrollElementIntoView = scrollElementIntoView; exports.STICKY_HEADER_OFFSET_PX = STICKY_HEADER_OFFSET_PX; exports.HUB_HEADER_OFFSET_PX = HUB_HEADER_OFFSET_PX; exports.normalizeHashFragment = normalizeHashFragment; exports.getHashTargetElement = getHashTargetElement; exports.LOCATION_HASH_SYNC_EVENT = LOCATION_HASH_SYNC_EVENT; exports.ACTIVE_ANCHOR_ATTRIBUTE = ACTIVE_ANCHOR_ATTRIBUTE; exports.replaceLocationHash = replaceLocationHash; exports.isScrollSyncedHash = isScrollSyncedHash; exports.navigateSamePageHash = navigateSamePageHash; exports.HONEYPOT_FIELD = HONEYPOT_FIELD; exports.ELAPSED_MS_FIELD = ELAPSED_MS_FIELD; exports.DEFAULT_MIN_FILL_MS = DEFAULT_MIN_FILL_MS; exports.HUMANITY_SIGNAL_KEYS = HUMANITY_SIGNAL_KEYS; exports.isHumanitySignalKey = isHumanitySignalKey; exports.extractHumanitySignals = extractHumanitySignals; exports.findHoneypotCopySource = findHoneypotCopySource; exports.evaluateHumanitySignals = evaluateHumanitySignals; exports.splitCsvEnv = splitCsvEnv; exports.defineRescueForm = defineRescueForm; exports.getRescueForm = getRescueForm; exports.listRescueForms = listRescueForms; exports.RESCUE_FORMS = RESCUE_FORMS; exports.FORM_RESCUE_VALUE_FIELDS = FORM_RESCUE_VALUE_FIELDS; exports.isExcludedRescueField = isExcludedRescueField; exports.FORM_RESCUE_MAX_VALUE_CHARS = FORM_RESCUE_MAX_VALUE_CHARS; exports.FORM_RESCUE_DEBOUNCE_MS = FORM_RESCUE_DEBOUNCE_MS; exports.FORM_RESCUE_MAX_FIELDS = FORM_RESCUE_MAX_FIELDS; exports.FORM_RESCUE_ATTEMPT_FIELD = FORM_RESCUE_ATTEMPT_FIELD; exports.FORM_RESCUE_RESUME_FIELD = FORM_RESCUE_RESUME_FIELD; exports.FORM_RESCUE_SUBMIT_KEYS = FORM_RESCUE_SUBMIT_KEYS; exports.FORM_RESCUE_RESUME_PARAM = FORM_RESCUE_RESUME_PARAM; exports.isResumeToken = isResumeToken; exports.FORM_DRAFT_STATUSES = FORM_DRAFT_STATUSES; exports.FORM_RESCUE_SKIP_REASONS = FORM_RESCUE_SKIP_REASONS; exports.isRescueEmail = isRescueEmail; exports.isFormAttemptId = isFormAttemptId; exports.sanitizeRescueValues = sanitizeRescueValues; exports.filledRescueFields = filledRescueFields; exports.rescueCompletionPct = rescueCompletionPct; exports.sanitizeRescueFieldName = sanitizeRescueFieldName; exports.parseFormDraftSaveRequest = parseFormDraftSaveRequest; exports.FORM_RESCUE_EVENTS = FORM_RESCUE_EVENTS; exports.captureFormRescueEvent = captureFormRescueEvent;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Pagination
4
- } from "./chunk-WSDT7LYL.js";
4
+ } from "./chunk-3UBWDR65.js";
5
5
  import {
6
6
  usePathname,
7
7
  useRouter,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-FSQQZFVG.js";
13
13
  import {
14
14
  Button
15
- } from "./chunk-YDPKUAP4.js";
15
+ } from "./chunk-DJ4IFQNQ.js";
16
16
 
17
17
  // src/components/empty-state.tsx
18
18
  import { Search, FileText, Package } from "lucide-react";
@@ -5,7 +5,7 @@ import {
5
5
  TooltipContent,
6
6
  TooltipProvider,
7
7
  TooltipTrigger
8
- } from "./chunk-P3JMAMHP.js";
8
+ } from "./chunk-REETLEL5.js";
9
9
  import {
10
10
  ToolIcon,
11
11
  clamp
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-NCPTID44.js";
29
29
  import {
30
30
  Button
31
- } from "./chunk-YDPKUAP4.js";
31
+ } from "./chunk-DJ4IFQNQ.js";
32
32
  import {
33
33
  cn
34
34
  } from "./chunk-7RXWKTAP.js";
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  PersistentPaginationWrapper
4
- } from "./chunk-B2N4YX66.js";
4
+ } from "./chunk-6YBUQAOH.js";
5
5
  import {
6
6
  DeliveryRow,
7
7
  ListEmptyState
8
- } from "./chunk-7HYEQKN6.js";
8
+ } from "./chunk-S63QBBT7.js";
9
9
  import {
10
10
  EmptyState
11
- } from "./chunk-URW23QUM.js";
11
+ } from "./chunk-K76ACBR3.js";
12
12
  import {
13
13
  DetailPageSkeleton
14
- } from "./chunk-B5LNX4GZ.js";
14
+ } from "./chunk-UXU7Y5BH.js";
15
15
  import {
16
16
  Accordion,
17
17
  AccordionContent,
@@ -23,14 +23,14 @@ import {
23
23
  PageShell,
24
24
  ReleaseChangelogSection,
25
25
  RichMarkdownRenderer
26
- } from "./chunk-7IOU6BJE.js";
26
+ } from "./chunk-2P2M27EW.js";
27
27
  import {
28
28
  PageLayout
29
- } from "./chunk-YK3X74SF.js";
29
+ } from "./chunk-GYAXV3MZ.js";
30
30
  import {
31
31
  useHumanitySignals,
32
32
  useScrollToHash
33
- } from "./chunk-3HZ6XSZC.js";
33
+ } from "./chunk-2TXGR7IK.js";
34
34
  import {
35
35
  DEV_SECTION_PARAM_KEYS,
36
36
  devSectionAnchorId,
@@ -39,10 +39,10 @@ import {
39
39
  resolveContentHref,
40
40
  useCaptions,
41
41
  useIsHydrated
42
- } from "./chunk-PXAKSPLZ.js";
42
+ } from "./chunk-HXB7SEYG.js";
43
43
  import {
44
44
  STICKY_HEADER_OFFSET_PX
45
- } from "./chunk-CMZ3QTFQ.js";
45
+ } from "./chunk-4I3K6LEH.js";
46
46
  import {
47
47
  usePathname,
48
48
  useRouter,
@@ -64,7 +64,7 @@ import {
64
64
  toStripProfile,
65
65
  useEntityCardLink,
66
66
  useSelfFetch
67
- } from "./chunk-GANIUMRU.js";
67
+ } from "./chunk-NPSJE7J3.js";
68
68
  import {
69
69
  formatLegalDate
70
70
  } from "./chunk-IYVFSLWJ.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  SearchInput
4
- } from "./chunk-7IOU6BJE.js";
4
+ } from "./chunk-2P2M27EW.js";
5
5
  import {
6
6
  NEW_TAB_FEATURES,
7
7
  getSourceLabel,
@@ -9,16 +9,16 @@ import {
9
9
  resolveExternalNavigation,
10
10
  resolveSourceIcon,
11
11
  stripSameOriginToPath
12
- } from "./chunk-PXAKSPLZ.js";
12
+ } from "./chunk-HXB7SEYG.js";
13
13
  import {
14
14
  useDebounce
15
- } from "./chunk-CMZ3QTFQ.js";
15
+ } from "./chunk-4I3K6LEH.js";
16
16
  import {
17
17
  useRouter
18
18
  } from "./chunk-GY4IZG22.js";
19
19
  import {
20
20
  decideNewTab
21
- } from "./chunk-GANIUMRU.js";
21
+ } from "./chunk-NPSJE7J3.js";
22
22
  import {
23
23
  contentFetch
24
24
  } from "./chunk-FSQQZFVG.js";
@@ -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 _chunkDYDDAA6Ocjs = require('./chunk-DYDDAA6O.cjs');
4
+ var _chunkUZTOI6FJcjs = require('./chunk-UZTOI6FJ.cjs');
5
5
 
6
6
 
7
7
 
@@ -9,16 +9,16 @@ var _chunkDYDDAA6Ocjs = require('./chunk-DYDDAA6O.cjs');
9
9
 
10
10
 
11
11
 
12
- var _chunkRDP5UZXQcjs = require('./chunk-RDP5UZXQ.cjs');
12
+ var _chunkHJMSNOBTcjs = require('./chunk-HJMSNOBT.cjs');
13
13
 
14
14
 
15
- var _chunkGQ7JJUITcjs = require('./chunk-GQ7JJUIT.cjs');
15
+ var _chunkK2JUJ37Dcjs = require('./chunk-K2JUJ37D.cjs');
16
16
 
17
17
 
18
18
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
19
19
 
20
20
 
21
- var _chunkRFUOIQSGcjs = require('./chunk-RFUOIQSG.cjs');
21
+ var _chunkGCK75D7Fcjs = require('./chunk-GCK75D7F.cjs');
22
22
 
23
23
 
24
24
  var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
@@ -39,7 +39,7 @@ var _jsxruntime = require('react/jsx-runtime');
39
39
  function DocSearchResultRow({ result, isHighlighted }) {
40
40
  const docType = _optionalChain([result, 'access', _ => _.metadata, 'optionalAccess', _2 => _2.documentType]) || void 0;
41
41
  const sourceRepo = _optionalChain([result, 'access', _3 => _3.metadata, 'optionalAccess', _4 => _4.sourceRepo]) || void 0;
42
- const { Icon: SourceIcon, label: iconLabel } = _chunkRDP5UZXQcjs.resolveSourceIcon.call(void 0, {
42
+ const { Icon: SourceIcon, label: iconLabel } = _chunkHJMSNOBTcjs.resolveSourceIcon.call(void 0, {
43
43
  sourceRepo,
44
44
  documentType: docType
45
45
  });
@@ -69,7 +69,7 @@ function DocSearchBar({
69
69
  renderResult
70
70
  }) {
71
71
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
72
- _chunkDYDDAA6Ocjs.SearchInput,
72
+ _chunkUZTOI6FJcjs.SearchInput,
73
73
  {
74
74
  placeholder,
75
75
  value: query,
@@ -119,7 +119,7 @@ function mapDocSearchResults(docs) {
119
119
  results.push({
120
120
  id: `group-${entry.repo}`,
121
121
  // Same table label and count as the chat's grouped chip: one owner each.
122
- title: `${_chunkRDP5UZXQcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkRDP5UZXQcjs.recordCountLabel.call(void 0, rows.length)}`,
122
+ title: `${_chunkHJMSNOBTcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkHJMSNOBTcjs.recordCountLabel.call(void 0, rows.length)}`,
123
123
  path: rows[0].path,
124
124
  type: "file",
125
125
  metadata: {
@@ -182,7 +182,7 @@ function resolveSearchResultAction(result, source, runtimeMode, composeContentUr
182
182
  if (composed && !isAbsoluteHref(href)) {
183
183
  return { kind: "navigate-same-tab", href };
184
184
  }
185
- const isNewTab = _chunkRFUOIQSGcjs.decideNewTab.call(void 0, {
185
+ const isNewTab = _chunkGCK75D7Fcjs.decideNewTab.call(void 0, {
186
186
  href,
187
187
  targetPlatform: composed ? composed.targetPlatform : targetPlatform,
188
188
  surface: "useUnifiedNav",
@@ -254,7 +254,7 @@ function useDocSearch(config) {
254
254
  const [query, setQuery] = _react.useState.call(void 0, "");
255
255
  const [results, setResults] = _react.useState.call(void 0, NO_RESULTS);
256
256
  const [isFetching, setIsFetching] = _react.useState.call(void 0, false);
257
- const debouncedQuery = _chunkGQ7JJUITcjs.useDebounce.call(void 0, query, 300);
257
+ const debouncedQuery = _chunkK2JUJ37Dcjs.useDebounce.call(void 0, query, 300);
258
258
  const searchable = debouncedQuery.trim().length >= 2;
259
259
  const [wasSearchable, setWasSearchable] = _react.useState.call(void 0, searchable);
260
260
  if (wasSearchable !== searchable) {
@@ -311,27 +311,27 @@ function useDocSearch(config) {
311
311
  case "navigate-same-tab": {
312
312
  if (wantsNewTab) {
313
313
  setKeepOpen(true);
314
- window.open(action.href, "_blank", _chunkRDP5UZXQcjs.NEW_TAB_FEATURES);
314
+ window.open(action.href, "_blank", _chunkHJMSNOBTcjs.NEW_TAB_FEATURES);
315
315
  return;
316
316
  }
317
317
  setKeepOpen(false);
318
318
  const path = baseRoute && action.href.startsWith(`${baseRoute}/`) ? action.href.slice(baseRoute.length + 1) : null;
319
319
  if (path && _optionalChain([onInPageSwap, 'optionalCall', _16 => _16(path)])) return;
320
- router.push(_chunkRDP5UZXQcjs.stripSameOriginToPath.call(void 0, action.href));
320
+ router.push(_chunkHJMSNOBTcjs.stripSameOriginToPath.call(void 0, action.href));
321
321
  return;
322
322
  }
323
323
  case "navigate-new-tab":
324
324
  setKeepOpen(true);
325
325
  if (_optionalChain([runtime, 'optionalAccess', _17 => _17.navigation, 'access', _18 => _18.mode]) === "embed") {
326
326
  const targetPlatform = _nullishCoalesce(_optionalChain([result, 'access', _19 => _19.metadata, 'optionalAccess', _20 => _20.targetPlatform]), () => ( null));
327
- _chunkRDP5UZXQcjs.resolveExternalNavigation.call(void 0, {
327
+ _chunkHJMSNOBTcjs.resolveExternalNavigation.call(void 0, {
328
328
  href: action.href,
329
329
  targetPlatform,
330
330
  runtime
331
331
  }).open();
332
332
  return;
333
333
  }
334
- window.open(action.href, "_blank", _chunkRDP5UZXQcjs.NEW_TAB_FEATURES);
334
+ window.open(action.href, "_blank", _chunkHJMSNOBTcjs.NEW_TAB_FEATURES);
335
335
  return;
336
336
  case "ask-ai":
337
337
  setKeepOpen(false);
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useOptionalTicketLive
4
- } from "./chunk-AZRI4XBP.js";
4
+ } from "./chunk-CO3FOZIH.js";
5
5
  import {
6
6
  AppLayoutDrawerContainerContext,
7
7
  AppLayoutDrawerCoordinationContext,
@@ -12,13 +12,13 @@ import {
12
12
  UnreadCountBadge,
13
13
  UnreadDot,
14
14
  useOptionalNotifications
15
- } from "./chunk-7IOU6BJE.js";
15
+ } from "./chunk-2P2M27EW.js";
16
16
  import {
17
17
  resolveActiveSection,
18
18
  useActiveSection,
19
19
  useFocusTrap,
20
20
  useNavMenus
21
- } from "./chunk-3HZ6XSZC.js";
21
+ } from "./chunk-2TXGR7IK.js";
22
22
  import {
23
23
  useLocalStorage
24
24
  } from "./chunk-3K5ZLZE7.js";
@@ -28,14 +28,14 @@ import {
28
28
  OVERLAY_BACKDROP_CLASS,
29
29
  buildTicketOpenHref,
30
30
  useIsHydrated
31
- } from "./chunk-PXAKSPLZ.js";
31
+ } from "./chunk-HXB7SEYG.js";
32
32
  import {
33
33
  useHeaderHeight
34
- } from "./chunk-CMZ3QTFQ.js";
34
+ } from "./chunk-4I3K6LEH.js";
35
35
  import {
36
36
  CaseStudyCard,
37
37
  EntityIcon
38
- } from "./chunk-GANIUMRU.js";
38
+ } from "./chunk-NPSJE7J3.js";
39
39
  import {
40
40
  SquareAvatar,
41
41
  Tag
@@ -81,7 +81,7 @@ import {
81
81
  } from "./chunk-INS7KZJB.js";
82
82
  import {
83
83
  Button
84
- } from "./chunk-YDPKUAP4.js";
84
+ } from "./chunk-DJ4IFQNQ.js";
85
85
  import {
86
86
  next_link_default
87
87
  } from "./chunk-DAAVMYUT.js";