@flamingo-stack/openframe-frontend-core 0.0.705 → 0.0.706-snapshot.20261006190707

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 (206) hide show
  1. package/dist/{chunk-4KX6OED2.cjs → chunk-2G7UYK35.cjs} +46 -46
  2. package/dist/{chunk-KOWVJD4V.cjs → chunk-2KXTOP6G.cjs} +70 -57
  3. package/dist/{chunk-A75QY6CD.cjs → chunk-2RNB5DTN.cjs} +21 -21
  4. package/dist/{chunk-PN2RKPDF.js → chunk-36BCTE7D.js} +10 -10
  5. package/dist/{chunk-ZSAGLQOD.cjs → chunk-3AHTOSXJ.cjs} +17 -17
  6. package/dist/{chunk-VR2ZLFCP.js → chunk-4IBPRIQH.js} +1 -1
  7. package/dist/{chunk-FCGC42TS.js → chunk-4L6XCMOU.js} +66 -62
  8. package/dist/{chunk-X5MQ7JRP.js → chunk-4UM2ETLM.js} +9 -9
  9. package/dist/{chunk-6NJKKO73.cjs → chunk-6I4ZAFO2.cjs} +15 -15
  10. package/dist/{chunk-RBDP4WDE.js → chunk-6IW7TWPV.js} +6 -6
  11. package/dist/{chunk-MMOODW57.cjs → chunk-6NTPY5QA.cjs} +1887 -94
  12. package/dist/{chunk-QFXRPRFT.js → chunk-6YKAT7NV.js} +3 -3
  13. package/dist/{chunk-HPWWNJE7.cjs → chunk-AOWDNSTM.cjs} +89 -89
  14. package/dist/{chunk-IHERL5V4.cjs → chunk-B73373AG.cjs} +34 -34
  15. package/dist/{chunk-DENB2XJC.js → chunk-CNWOMQQJ.js} +2 -2
  16. package/dist/{chunk-MP2C3LJ4.js → chunk-CUME3VTQ.js} +1 -1
  17. package/dist/{chunk-PDWVPI3S.js → chunk-CZ7Y7UG4.js} +4 -72
  18. package/dist/{chunk-YHM5AWTT.js → chunk-CZSZSDD4.js} +6 -6
  19. package/dist/{chunk-F6I6XZMN.js → chunk-DA5UDTLG.js} +5 -5
  20. package/dist/{chunk-MFFCUVWG.js → chunk-F57ECE2I.js} +1 -1
  21. package/dist/{chunk-CH5232HV.js → chunk-FI6GMDO7.js} +2455 -662
  22. package/dist/{chunk-NDESEPW5.js → chunk-FXJ3WWUB.js} +68 -0
  23. package/dist/{chunk-G5A3PSPV.js → chunk-HDOYSEOJ.js} +1080 -691
  24. package/dist/{chunk-VA5T32XA.js → chunk-I3ST4PLM.js} +2 -2
  25. package/dist/{chunk-5HBHO5TB.js → chunk-JPG7OHEG.js} +1 -1
  26. package/dist/{chunk-YFBM2K6X.cjs → chunk-JRU2CXLB.cjs} +4 -4
  27. package/dist/{chunk-MKXO4Q5P.js → chunk-KUC673HM.js} +383 -142
  28. package/dist/{chunk-JEZKGCZI.cjs → chunk-L6Y6OOKG.cjs} +26 -26
  29. package/dist/{chunk-F6AFPNDF.js → chunk-LFFB6EMB.js} +29 -16
  30. package/dist/{chunk-X72J4ACL.cjs → chunk-LLSUVPQC.cjs} +252 -8
  31. package/dist/{chunk-RKV5B7EU.cjs → chunk-LM7TXMLU.cjs} +72 -4
  32. package/dist/{chunk-6SEANMOU.js → chunk-LNW45N2C.js} +11 -11
  33. package/dist/{chunk-OUY3HHW6.cjs → chunk-LRQTJOF2.cjs} +928 -539
  34. package/dist/{chunk-DW7G4KG3.js → chunk-MR3A4MZV.js} +3 -3
  35. package/dist/{chunk-2YXVWZVF.js → chunk-N45D4ZXQ.js} +959 -715
  36. package/dist/{chunk-Z2VNQQ74.js → chunk-NCPTID44.js} +978 -942
  37. package/dist/{chunk-WA6GUYQ4.cjs → chunk-NSGXARGJ.cjs} +104 -104
  38. package/dist/{chunk-ABU3TGXA.cjs → chunk-OF6GEI5A.cjs} +3 -3
  39. package/dist/{chunk-IKTQ3ZAG.cjs → chunk-OJLR5MEO.cjs} +6 -6
  40. package/dist/{chunk-VESKITRQ.cjs → chunk-P42V6N34.cjs} +736 -732
  41. package/dist/{chunk-OHFS7VOU.cjs → chunk-PLYEKV3N.cjs} +2 -2
  42. package/dist/{chunk-7VVFKJY5.js → chunk-PO33GZVY.js} +1799 -3449
  43. package/dist/{chunk-7LS22BZU.cjs → chunk-QAOFMK2A.cjs} +14 -14
  44. package/dist/{chunk-VHCACDKP.cjs → chunk-RQRX4YC3.cjs} +39 -39
  45. package/dist/{chunk-3MX5S4CF.cjs → chunk-SEXWHIMS.cjs} +899 -2549
  46. package/dist/{chunk-AQWZNP6A.js → chunk-SS5MBHDP.js} +4 -4
  47. package/dist/{chunk-ZSAO2HBW.js → chunk-TDYIREDJ.js} +15 -15
  48. package/dist/{chunk-XOYH2YQE.cjs → chunk-UDFRUKLC.cjs} +2 -2
  49. package/dist/{chunk-TYWLNCNH.cjs → chunk-UVTD52MD.cjs} +14 -82
  50. package/dist/{chunk-N3COXDBH.cjs → chunk-VX4E6YSB.cjs} +41 -5
  51. package/dist/{chunk-2QEUFXNS.cjs → chunk-WCVZCGK5.cjs} +312 -71
  52. package/dist/{chunk-6XIF2Z7I.js → chunk-WMX26HB5.js} +3 -3
  53. package/dist/{chunk-D7BTSVMS.cjs → chunk-Y2GSOUCS.cjs} +2 -2
  54. package/dist/{chunk-4I45Y3DN.cjs → chunk-YBUT4AMG.cjs} +6 -6
  55. package/dist/components/case-studies/index.cjs +30 -32
  56. package/dist/components/case-studies/index.js +14 -16
  57. package/dist/components/chat/entity-cards/case-study-card.d.ts +11 -4
  58. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  59. package/dist/components/chat/index.cjs +11 -11
  60. package/dist/components/chat/index.d.ts +1 -1
  61. package/dist/components/chat/index.d.ts.map +1 -1
  62. package/dist/components/chat/index.js +16 -16
  63. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts +34 -5
  64. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
  65. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  66. package/dist/components/contact/index.cjs +12 -14
  67. package/dist/components/contact/index.js +11 -13
  68. package/dist/components/docs/index.cjs +15 -17
  69. package/dist/components/docs/index.js +14 -16
  70. package/dist/components/embeds/index.cjs +12 -14
  71. package/dist/components/embeds/index.js +11 -13
  72. package/dist/components/faq/index.cjs +13 -15
  73. package/dist/components/faq/index.js +12 -14
  74. package/dist/components/features/index.cjs +12 -14
  75. package/dist/components/features/index.js +21 -23
  76. package/dist/components/help-center-pages/index.cjs +118 -120
  77. package/dist/components/help-center-pages/index.js +33 -35
  78. package/dist/components/icons/index.cjs +3 -5
  79. package/dist/components/icons/index.js +9 -11
  80. package/dist/components/icons-v2-generated/index.cjs +3 -5
  81. package/dist/components/icons-v2-generated/index.js +2 -4
  82. package/dist/components/index.cjs +87 -158
  83. package/dist/components/index.d.ts +0 -2
  84. package/dist/components/index.d.ts.map +1 -1
  85. package/dist/components/index.js +331 -402
  86. package/dist/components/loading/page-layout-skeleton.d.ts +1 -1
  87. package/dist/components/meeting-scheduler/index.cjs +62 -64
  88. package/dist/components/meeting-scheduler/index.js +12 -14
  89. package/dist/components/navigation/index.cjs +28 -16
  90. package/dist/components/navigation/index.d.ts +14 -10
  91. package/dist/components/navigation/index.d.ts.map +1 -1
  92. package/dist/components/navigation/index.js +38 -26
  93. package/dist/components/navigation/mingo-ai-button.d.ts +38 -3
  94. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  95. package/dist/components/navigation/mobile-nav-sheet-id.d.ts +3 -0
  96. package/dist/components/navigation/mobile-nav-sheet-id.d.ts.map +1 -0
  97. package/dist/components/navigation/mobile-nav-sheet.d.ts +48 -0
  98. package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -0
  99. package/dist/components/navigation/nav-item-row.d.ts +27 -0
  100. package/dist/components/navigation/nav-item-row.d.ts.map +1 -0
  101. package/dist/components/navigation/nav-panel.d.ts +43 -0
  102. package/dist/components/navigation/nav-panel.d.ts.map +1 -0
  103. package/dist/components/navigation/navigation-sidebar-item.d.ts +1 -2
  104. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  105. package/dist/components/navigation/site-footer.d.ts +28 -0
  106. package/dist/components/navigation/site-footer.d.ts.map +1 -0
  107. package/dist/components/navigation/site-header.d.ts +61 -0
  108. package/dist/components/navigation/site-header.d.ts.map +1 -0
  109. package/dist/components/navigation/site-nav-link.d.ts +26 -0
  110. package/dist/components/navigation/site-nav-link.d.ts.map +1 -0
  111. package/dist/components/navigation/top-navigation.d.ts +2 -2
  112. package/dist/components/navigation/top-navigation.d.ts.map +1 -1
  113. package/dist/components/onboarding-guides/index.cjs +15 -17
  114. package/dist/components/onboarding-guides/index.js +14 -16
  115. package/dist/components/platform/ToolBadge.d.ts +6 -0
  116. package/dist/components/platform/ToolBadge.d.ts.map +1 -1
  117. package/dist/components/related-content/index.cjs +10 -8
  118. package/dist/components/related-content/index.js +9 -7
  119. package/dist/components/tickets/index.cjs +16 -18
  120. package/dist/components/tickets/index.js +15 -17
  121. package/dist/components/ui/brand-association-card.d.ts +7 -0
  122. package/dist/components/ui/brand-association-card.d.ts.map +1 -1
  123. package/dist/components/ui/index.cjs +14 -14
  124. package/dist/components/ui/index.js +19 -19
  125. package/dist/hooks/index.cjs +19 -11
  126. package/dist/hooks/index.d.ts +1 -0
  127. package/dist/hooks/index.d.ts.map +1 -1
  128. package/dist/hooks/index.js +19 -11
  129. package/dist/hooks/ui/index.d.ts +3 -0
  130. package/dist/hooks/ui/index.d.ts.map +1 -1
  131. package/dist/hooks/ui/use-active-section.d.ts +10 -0
  132. package/dist/hooks/ui/use-active-section.d.ts.map +1 -0
  133. package/dist/hooks/ui/use-nav-menus.d.ts +48 -0
  134. package/dist/hooks/ui/use-nav-menus.d.ts.map +1 -0
  135. package/dist/hooks/ui/use-visitor-os.d.ts +15 -0
  136. package/dist/hooks/ui/use-visitor-os.d.ts.map +1 -0
  137. package/dist/hooks/use-location-hash.d.ts +9 -0
  138. package/dist/hooks/use-location-hash.d.ts.map +1 -0
  139. package/dist/index.cjs +56 -21
  140. package/dist/index.js +231 -196
  141. package/dist/types/case-study.d.ts +9 -0
  142. package/dist/types/case-study.d.ts.map +1 -1
  143. package/dist/types/navigation.d.ts +95 -65
  144. package/dist/types/navigation.d.ts.map +1 -1
  145. package/dist/utils/index.cjs +55 -0
  146. package/dist/utils/index.d.ts +1 -0
  147. package/dist/utils/index.d.ts.map +1 -1
  148. package/dist/utils/index.js +50 -1
  149. package/dist/utils/source-icons.d.ts.map +1 -1
  150. package/dist/utils/visitor-os.d.ts +45 -0
  151. package/dist/utils/visitor-os.d.ts.map +1 -0
  152. package/package.json +1 -1
  153. package/src/components/chat/entity-cards/case-study-card.tsx +115 -5
  154. package/src/components/chat/index.ts +7 -1
  155. package/src/components/chat/nav-link-anchor-via-runtime.tsx +62 -9
  156. package/src/components/chat/utils/icon-library.tsx +35 -1
  157. package/src/components/index.ts +0 -2
  158. package/src/components/loading/page-layout-skeleton.tsx +1 -1
  159. package/src/components/navigation/index.ts +21 -14
  160. package/src/components/navigation/mingo-ai-button.tsx +139 -63
  161. package/src/components/navigation/mobile-nav-sheet-id.ts +2 -0
  162. package/src/components/navigation/mobile-nav-sheet.tsx +241 -0
  163. package/src/components/navigation/nav-item-row.tsx +129 -0
  164. package/src/components/navigation/nav-panel.tsx +196 -0
  165. package/src/components/navigation/navigation-sidebar-item.tsx +1 -2
  166. package/src/components/navigation/site-footer.tsx +256 -0
  167. package/src/components/navigation/site-header.tsx +339 -0
  168. package/src/components/navigation/site-nav-link.tsx +41 -0
  169. package/src/components/navigation/ticket-alerts-button.tsx +2 -2
  170. package/src/components/navigation/top-navigation.tsx +2 -2
  171. package/src/components/platform/ToolBadge.tsx +18 -1
  172. package/src/components/ui/brand-association-card.tsx +25 -3
  173. package/src/hooks/index.ts +1 -0
  174. package/src/hooks/ui/index.ts +3 -0
  175. package/src/hooks/ui/use-active-section.ts +44 -0
  176. package/src/hooks/ui/use-nav-menus.ts +200 -0
  177. package/src/hooks/ui/use-visitor-os.ts +33 -0
  178. package/src/hooks/use-location-hash.ts +34 -0
  179. package/src/styles/chat-animations.css +57 -2
  180. package/src/types/case-study.ts +16 -0
  181. package/src/types/navigation.ts +80 -66
  182. package/src/utils/index.ts +1 -0
  183. package/src/utils/source-icons.ts +13 -0
  184. package/src/utils/visitor-os.ts +84 -0
  185. package/dist/chunk-LMBC5FFP.js +0 -43
  186. package/dist/chunk-O43V3EOS.js +0 -252
  187. package/dist/chunk-QZVSJF2K.cjs +0 -252
  188. package/dist/chunk-RALRPFDW.cjs +0 -43
  189. package/dist/components/footer-waitlist-button.d.ts +0 -29
  190. package/dist/components/footer-waitlist-button.d.ts.map +0 -1
  191. package/dist/components/footer.d.ts +0 -47
  192. package/dist/components/footer.d.ts.map +0 -1
  193. package/dist/components/navigation/client-only-header.d.ts +0 -8
  194. package/dist/components/navigation/client-only-header.d.ts.map +0 -1
  195. package/dist/components/navigation/header-skeleton.d.ts +0 -12
  196. package/dist/components/navigation/header-skeleton.d.ts.map +0 -1
  197. package/dist/components/navigation/header.d.ts +0 -9
  198. package/dist/components/navigation/header.d.ts.map +0 -1
  199. package/dist/components/navigation/mobile-nav-panel.d.ts +0 -10
  200. package/dist/components/navigation/mobile-nav-panel.d.ts.map +0 -1
  201. package/src/components/footer-waitlist-button.tsx +0 -53
  202. package/src/components/footer.tsx +0 -195
  203. package/src/components/navigation/client-only-header.tsx +0 -22
  204. package/src/components/navigation/header-skeleton.tsx +0 -74
  205. package/src/components/navigation/header.tsx +0 -429
  206. package/src/components/navigation/mobile-nav-panel.tsx +0 -155
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  createSseSubscription
4
- } from "./chunk-FCGC42TS.js";
4
+ } from "./chunk-4L6XCMOU.js";
5
5
  import {
6
6
  useChatIdentity
7
- } from "./chunk-7VVFKJY5.js";
7
+ } from "./chunk-PO33GZVY.js";
8
8
  import {
9
9
  embedAuthedFetch
10
- } from "./chunk-NDESEPW5.js";
10
+ } from "./chunk-FXJ3WWUB.js";
11
11
  import {
12
12
  useChatRuntime
13
13
  } from "./chunk-E4ABZWTJ.js";
@@ -1,20 +1,20 @@
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 _chunkD7BTSVMScjs = require('./chunk-D7BTSVMS.cjs');
4
+ var _chunkY2GSOUCScjs = require('./chunk-Y2GSOUCS.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkZSAGLQODcjs = require('./chunk-ZSAGLQOD.cjs');
8
+ var _chunk3AHTOSXJcjs = require('./chunk-3AHTOSXJ.cjs');
9
9
 
10
10
 
11
- var _chunkOHFS7VOUcjs = require('./chunk-OHFS7VOU.cjs');
11
+ var _chunkPLYEKV3Ncjs = require('./chunk-PLYEKV3N.cjs');
12
12
 
13
13
 
14
- var _chunk4I45Y3DNcjs = require('./chunk-4I45Y3DN.cjs');
14
+ var _chunkYBUT4AMGcjs = require('./chunk-YBUT4AMG.cjs');
15
15
 
16
16
 
17
- var _chunkXOYH2YQEcjs = require('./chunk-XOYH2YQE.cjs');
17
+ var _chunkUDFRUKLCcjs = require('./chunk-UDFRUKLC.cjs');
18
18
 
19
19
 
20
20
 
@@ -30,26 +30,25 @@ var _chunkXOYH2YQEcjs = require('./chunk-XOYH2YQE.cjs');
30
30
 
31
31
 
32
32
 
33
- var _chunkVESKITRQcjs = require('./chunk-VESKITRQ.cjs');
33
+ var _chunkP42V6N34cjs = require('./chunk-P42V6N34.cjs');
34
34
 
35
35
 
36
36
 
37
- var _chunk2QEUFXNScjs = require('./chunk-2QEUFXNS.cjs');
37
+ var _chunkWCVZCGK5cjs = require('./chunk-WCVZCGK5.cjs');
38
38
 
39
39
 
40
40
 
41
41
 
42
- var _chunkABU3TGXAcjs = require('./chunk-ABU3TGXA.cjs');
42
+ var _chunkOF6GEI5Acjs = require('./chunk-OF6GEI5A.cjs');
43
43
 
44
44
 
45
45
 
46
46
 
47
47
 
48
+ var _chunkSEXWHIMScjs = require('./chunk-SEXWHIMS.cjs');
48
49
 
49
- var _chunk3MX5S4CFcjs = require('./chunk-3MX5S4CF.cjs');
50
50
 
51
-
52
- var _chunkTYWLNCNHcjs = require('./chunk-TYWLNCNH.cjs');
51
+ var _chunkUVTD52MDcjs = require('./chunk-UVTD52MD.cjs');
53
52
 
54
53
 
55
54
 
@@ -57,8 +56,6 @@ var _chunkTYWLNCNHcjs = require('./chunk-TYWLNCNH.cjs');
57
56
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
58
57
 
59
58
 
60
- var _chunkX72J4ACLcjs = require('./chunk-X72J4ACL.cjs');
61
-
62
59
 
63
60
 
64
61
 
@@ -73,12 +70,15 @@ var _chunkX72J4ACLcjs = require('./chunk-X72J4ACL.cjs');
73
70
 
74
71
 
75
72
 
76
- var _chunkMMOODW57cjs = require('./chunk-MMOODW57.cjs');
73
+ var _chunk6NTPY5QAcjs = require('./chunk-6NTPY5QA.cjs');
77
74
 
78
75
 
79
76
  var _chunkMGHIV4L6cjs = require('./chunk-MGHIV4L6.cjs');
80
77
 
81
78
 
79
+ var _chunkLLSUVPQCcjs = require('./chunk-LLSUVPQC.cjs');
80
+
81
+
82
82
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
83
83
 
84
84
 
@@ -90,8 +90,8 @@ var _chunk3ATAYP36cjs = require('./chunk-3ATAYP36.cjs');
90
90
  // src/components/shared/product-release/product-releases-view.tsx
91
91
  var _jsxruntime = require('react/jsx-runtime');
92
92
  var DEFAULT_ENDPOINT = "/api/releases";
93
- var DEFAULT_SEARCH_PARAM_KEY = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.search;
94
- var DEFAULT_STATUS_PARAM_KEY = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.releaseStatus;
93
+ var DEFAULT_SEARCH_PARAM_KEY = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.search;
94
+ var DEFAULT_STATUS_PARAM_KEY = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.releaseStatus;
95
95
  var DEFAULT_PAGE_PARAM_KEY = "page";
96
96
  function ReleaseRow({
97
97
  release,
@@ -100,17 +100,17 @@ function ReleaseRow({
100
100
  }) {
101
101
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
102
102
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
103
- const cta = _chunkVESKITRQcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _2 => _2.composeContentUrl]), {
103
+ const cta = _chunkP42V6N34cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _2 => _2.composeContentUrl]), {
104
104
  type: "product_release",
105
105
  slug: release.slug,
106
106
  basePath,
107
107
  platforms: release.product_release_platforms
108
108
  });
109
- const { target, rel } = _chunkMMOODW57cjs.useEntityCardLink.call(void 0, { href: cta.href, targetPlatform: cta.targetPlatform });
109
+ const { target, rel } = _chunk6NTPY5QAcjs.useEntityCardLink.call(void 0, { href: cta.href, targetPlatform: cta.targetPlatform });
110
110
  const onClick = (e) => {
111
- if (e.defaultPrevented || _chunk3MX5S4CFcjs.isModifierClick.call(void 0, e) || target === "_blank") return;
111
+ if (e.defaultPrevented || _chunkSEXWHIMScjs.isModifierClick.call(void 0, e) || target === "_blank") return;
112
112
  e.preventDefault();
113
- _chunk3MX5S4CFcjs.executeNavigationImperative.call(void 0, {
113
+ _chunkSEXWHIMScjs.executeNavigationImperative.call(void 0, {
114
114
  runtime,
115
115
  href: cta.href,
116
116
  targetPlatform: cta.targetPlatform,
@@ -118,7 +118,7 @@ function ReleaseRow({
118
118
  });
119
119
  };
120
120
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
121
- _chunkMMOODW57cjs.ProductReleaseCard,
121
+ _chunk6NTPY5QAcjs.ProductReleaseCard,
122
122
  {
123
123
  size: "lg",
124
124
  title: release.title,
@@ -134,7 +134,7 @@ function ProductReleasesView({
134
134
  initialData,
135
135
  itemsPerPage = 5,
136
136
  basePath = "/releases",
137
- buildCardProps = _chunkMMOODW57cjs.buildProductReleaseCardProps,
137
+ buildCardProps = _chunk6NTPY5QAcjs.buildProductReleaseCardProps,
138
138
  searchParamKey = DEFAULT_SEARCH_PARAM_KEY,
139
139
  statusParamKey = DEFAULT_STATUS_PARAM_KEY,
140
140
  pageParamKey = DEFAULT_PAGE_PARAM_KEY,
@@ -145,18 +145,18 @@ function ProductReleasesView({
145
145
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
146
146
  const search = searchParams.get(searchParamKey) || "";
147
147
  const status = searchParams.get(statusParamKey) || "all";
148
- const currentPage = _chunkABU3TGXAcjs.positiveInt.call(void 0, searchParams.get(pageParamKey), 1);
148
+ const currentPage = _chunkOF6GEI5Acjs.positiveInt.call(void 0, searchParams.get(pageParamKey), 1);
149
149
  const offset = (currentPage - 1) * itemsPerPage;
150
150
  const listParams = new URLSearchParams({ limit: String(itemsPerPage), offset: String(offset) });
151
151
  if (search) listParams.set(searchParamKey, search);
152
152
  if (status && status !== "all") listParams.set(statusParamKey, status);
153
- const { data, isLoading, error, reload } = _chunkXOYH2YQEcjs.useSelfFetch.call(void 0,
153
+ const { data, isLoading, error, reload } = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0,
154
154
  `${endpoint}?${listParams.toString()}`,
155
155
  { initialData }
156
156
  );
157
157
  const releases = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _3 => _3.data]), () => ( []));
158
158
  const totalCount = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _4 => _4.count]), () => ( 0));
159
- const totalPages = _chunkABU3TGXAcjs.pageCount.call(void 0, totalCount, itemsPerPage);
159
+ const totalPages = _chunkOF6GEI5Acjs.pageCount.call(void 0, totalCount, itemsPerPage);
160
160
  const hasActiveFilters = search !== "" || status !== "all";
161
161
  const showEmpty = !isLoading && !error && releases.length === 0;
162
162
  const goToPage = (page) => {
@@ -172,10 +172,10 @@ function ProductReleasesView({
172
172
  router.replace(`${pathname}?${params.toString()}`, { scroll: false });
173
173
  };
174
174
  if (error) {
175
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.LoadError, { message: "Failed to load releases.", onRetry: reload }) });
175
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.LoadError, { message: "Failed to load releases.", onRetry: reload }) });
176
176
  }
177
177
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[40px]", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[600px]", children: showEmpty ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[600px] items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
178
- _chunkZSAGLQODcjs.ListEmptyState,
178
+ _chunk3AHTOSXJcjs.ListEmptyState,
179
179
  {
180
180
  isFiltered: hasActiveFilters,
181
181
  filtered: {
@@ -194,13 +194,13 @@ function ProductReleasesView({
194
194
  "div",
195
195
  {
196
196
  style: { visibility: isLoading || hasData ? "visible" : "hidden" },
197
- children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMOODW57cjs.ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMOODW57cjs.ProductReleaseCardSkeleton, { size: "lg" })
197
+ children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.ProductReleaseCardSkeleton, { size: "lg" })
198
198
  },
199
199
  _nullishCoalesce(_optionalChain([release, 'optionalAccess', _5 => _5.id]), () => ( `slot-${i}`))
200
200
  );
201
201
  }) }),
202
202
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-6 flex justify-center content-md:mt-8", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "m-3 h-12 w-64" }) : releases.length > 0 && totalPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
203
- _chunkD7BTSVMScjs.PersistentPaginationWrapper,
203
+ _chunkY2GSOUCScjs.PersistentPaginationWrapper,
204
204
  {
205
205
  isLoading: false,
206
206
  currentPage,
@@ -252,10 +252,10 @@ function MediaGalleryStrip({ items, className }) {
252
252
  mediaItem.id || index
253
253
  );
254
254
  }
255
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3MX5S4CFcjs.Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
255
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
256
256
  }) }),
257
257
  galleryImages.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
258
- _chunkMMOODW57cjs.ImageGalleryModal,
258
+ _chunk6NTPY5QAcjs.ImageGalleryModal,
259
259
  {
260
260
  images: galleryImages,
261
261
  isOpen: galleryOpen,
@@ -270,7 +270,7 @@ function MediaGalleryStrip({ items, className }) {
270
270
  var _lucidereact = require('lucide-react');
271
271
 
272
272
 
273
- var DefaultMarkdownRenderer = _chunkVESKITRQcjs.RichMarkdownRenderer;
273
+ var DefaultMarkdownRenderer = _chunkP42V6N34cjs.RichMarkdownRenderer;
274
274
  var DEFAULT_ENDPOINT2 = "/api/releases";
275
275
  function ReleaseDetailPage({
276
276
  authorHref,
@@ -288,14 +288,14 @@ function ReleaseDetailPage({
288
288
  shell = true
289
289
  }) {
290
290
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
291
- const captions = _chunk3MX5S4CFcjs.useCaptions.call(void 0, );
292
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
291
+ const captions = _chunkSEXWHIMScjs.useCaptions.call(void 0, );
292
+ 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 });
293
293
  const seed = initialData == null ? void 0 : initialData;
294
294
  const {
295
295
  data: release,
296
296
  isLoading,
297
297
  error
298
- } = _chunkXOYH2YQEcjs.useSelfFetch.call(void 0, slug ? `${endpoint}/${encodeURIComponent(slug)}` : null, {
298
+ } = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0, slug ? `${endpoint}/${encodeURIComponent(slug)}` : null, {
299
299
  initialData: seed
300
300
  });
301
301
  const showBackButton = backButton !== false;
@@ -314,7 +314,7 @@ function ReleaseDetailPage({
314
314
  if (roadmapTasksData && roadmapTasksData.length > 0 && RoadmapSection) {
315
315
  setRoadmapLoading(true);
316
316
  const roadmapIds = roadmapTasksData.map((t) => t.clickup_task_id).join(",");
317
- const roadmapResponse = await _chunkABU3TGXAcjs.contentFetch.call(void 0, `${roadmapApiEndpoint}?task_ids=${roadmapIds}`);
317
+ const roadmapResponse = await _chunkOF6GEI5Acjs.contentFetch.call(void 0, `${roadmapApiEndpoint}?task_ids=${roadmapIds}`);
318
318
  const roadmapData = roadmapResponse.ok ? await roadmapResponse.json() : null;
319
319
  if (cancelled) return;
320
320
  setRoadmapTasks(_nullishCoalesce(_optionalChain([roadmapData, 'optionalAccess', _6 => _6.items]), () => ( [])));
@@ -324,7 +324,7 @@ function ReleaseDetailPage({
324
324
  if (deliveryTasksData && deliveryTasksData.length > 0 && DeliverySection) {
325
325
  setDeliveryLoading(true);
326
326
  const deliveryIds = deliveryTasksData.map((t) => t.clickup_task_id).join(",");
327
- const deliveryResponse = await _chunkABU3TGXAcjs.contentFetch.call(void 0, `${deliveryApiEndpoint}?task_ids=${deliveryIds}`);
327
+ const deliveryResponse = await _chunkOF6GEI5Acjs.contentFetch.call(void 0, `${deliveryApiEndpoint}?task_ids=${deliveryIds}`);
328
328
  const deliveryPayload = deliveryResponse.ok ? await deliveryResponse.json() : null;
329
329
  if (cancelled) return;
330
330
  setDeliveryData(
@@ -348,7 +348,7 @@ function ReleaseDetailPage({
348
348
  return renderShell(
349
349
  // Match the loaded page's top offset (TitleBlock's
350
350
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
351
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4I45Y3DNcjs.DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) })
351
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYBUT4AMGcjs.DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) })
352
352
  );
353
353
  }
354
354
  if (error || !release) {
@@ -387,7 +387,7 @@ function ReleaseDetailPage({
387
387
  const improvements = release.improvements;
388
388
  return renderShell(
389
389
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
390
- _chunkVESKITRQcjs.PageLayout,
390
+ _chunkP42V6N34cjs.PageLayout,
391
391
  {
392
392
  title: releaseTitle,
393
393
  subtitle: `Version: ${releaseVersion}`,
@@ -396,7 +396,7 @@ function ReleaseDetailPage({
396
396
  backButton: showBackButton ? { label: backLabel, onClick: () => router.push(backHref) } : void 0,
397
397
  children: [
398
398
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6 content-md:space-y-8", children: [
399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.EntityTagBadges, { tags: release.product_release_tags }),
399
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.EntityTagBadges, { tags: release.product_release_tags }),
400
400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border content-md:grid-cols-4", children: [
401
401
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-3 border-b border-ods-border bg-ods-card p-4 content-md:border-b-0 content-md:border-r", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
402
402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: releaseType.toLocaleUpperCase() }),
@@ -407,11 +407,11 @@ function ReleaseDetailPage({
407
407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "Release Status" })
408
408
  ] }) }),
409
409
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-3 border-b border-ods-border bg-ods-card p-4 content-md:border-b-0 content-md:border-r", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
410
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: _chunkMMOODW57cjs.formatReleaseDate.call(void 0, releaseDate) }),
410
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: _chunk6NTPY5QAcjs.formatReleaseDate.call(void 0, releaseDate) }),
411
411
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "Release Date" })
412
412
  ] }) }),
413
413
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
414
- _chunkMMOODW57cjs.EntityMetadataAuthorCell,
414
+ _chunk6NTPY5QAcjs.EntityMetadataAuthorCell,
415
415
  {
416
416
  author: _nullishCoalesce(author, () => ( { full_name: null, avatar_url: null })),
417
417
  authorHref: _optionalChain([author, 'optionalAccess', _7 => _7.full_name]) ? authorHref : void 0
@@ -429,18 +429,18 @@ function ReleaseDetailPage({
429
429
  highlightVideoThumbnail,
430
430
  title: releaseTitle,
431
431
  videoBites,
432
- bitesTitle: _chunkMMOODW57cjs.DEFAULT_VIDEO_BITES_TITLE,
432
+ bitesTitle: _chunk6NTPY5QAcjs.DEFAULT_VIDEO_BITES_TITLE,
433
433
  filterPublishedBites: true,
434
- bitesProfile: _chunkMMOODW57cjs.toStripProfile.call(void 0, author),
434
+ bitesProfile: _chunk6NTPY5QAcjs.toStripProfile.call(void 0, author),
435
435
  bitesHref: typeof release.slug === "string" ? `/releases/${release.slug}` : void 0,
436
436
  srtContent: _optionalChain([release, 'optionalAccess', _8 => _8.srt_content]),
437
437
  captionsUrl,
438
438
  highlightCaptionsUrl
439
439
  }
440
440
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
441
- youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3MX5S4CFcjs.Video, { kind: "youtube", url: youtubeUrl, title: `${releaseTitle} - Video`, layout: "native" }),
441
+ youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Video, { kind: "youtube", url: youtubeUrl, title: `${releaseTitle} - Video`, layout: "native" }),
442
442
  !youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
443
- _chunk3MX5S4CFcjs.Video,
443
+ _chunk6NTPY5QAcjs.Video,
444
444
  {
445
445
  url: mainVideoUrl,
446
446
  srtContent: _optionalChain([release, 'optionalAccess', _9 => _9.srt_content]),
@@ -449,7 +449,7 @@ function ReleaseDetailPage({
449
449
  }
450
450
  ),
451
451
  highlightVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
452
- _chunk3MX5S4CFcjs.Video,
452
+ _chunk6NTPY5QAcjs.Video,
453
453
  {
454
454
  url: highlightVideoUrl,
455
455
  poster: highlightVideoThumbnail,
@@ -459,7 +459,7 @@ function ReleaseDetailPage({
459
459
  )
460
460
  ] }),
461
461
  releaseContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: releaseContent }) }),
462
- hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMOODW57cjs.Card, { className: "border-ods-error bg-ods-error/10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMOODW57cjs.CardContent, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
462
+ hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Card, { className: "border-ods-error bg-ods-error/10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.CardContent, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
463
463
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-6 w-6 text-ods-error" }),
464
464
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
465
465
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-error text-h3", children: "Breaking Changes" }),
@@ -467,7 +467,7 @@ function ReleaseDetailPage({
467
467
  ] })
468
468
  ] }) }) }),
469
469
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
470
- _chunkVESKITRQcjs.ReleaseChangelogSection,
470
+ _chunkP42V6N34cjs.ReleaseChangelogSection,
471
471
  {
472
472
  title: "Breaking Changes",
473
473
  entries: breakingChanges || [],
@@ -478,7 +478,7 @@ function ReleaseDetailPage({
478
478
  }
479
479
  ),
480
480
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
481
- _chunkVESKITRQcjs.ReleaseChangelogSection,
481
+ _chunkP42V6N34cjs.ReleaseChangelogSection,
482
482
  {
483
483
  title: "Features Added",
484
484
  entries: featuresAdded || [],
@@ -488,7 +488,7 @@ function ReleaseDetailPage({
488
488
  }
489
489
  ),
490
490
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
491
- _chunkVESKITRQcjs.ReleaseChangelogSection,
491
+ _chunkP42V6N34cjs.ReleaseChangelogSection,
492
492
  {
493
493
  title: "Bugs Fixed",
494
494
  entries: bugFixed || [],
@@ -498,7 +498,7 @@ function ReleaseDetailPage({
498
498
  }
499
499
  ),
500
500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
501
- _chunkVESKITRQcjs.ReleaseChangelogSection,
501
+ _chunkP42V6N34cjs.ReleaseChangelogSection,
502
502
  {
503
503
  title: "Improvements",
504
504
  entries: improvements || [],
@@ -524,14 +524,14 @@ function ReleaseDetailPage({
524
524
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "tracking-[-0.28px] text-ods-text-secondary text-h5", children: "Related Enhancements and Bug-fixes" }),
525
525
  (() => {
526
526
  const deliveryCount = deliveryData ? deliveryData.completed.length + deliveryData.inProgress.length : 0;
527
- return deliveryLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: deliveryLoading }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.FadePreview, { hiddenCount: deliveryCount - 1, collapsedHeight: 300, resetKey: deliveryCount, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: false }) }) });
527
+ return deliveryLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: deliveryLoading }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.FadePreview, { hiddenCount: deliveryCount - 1, collapsedHeight: 300, resetKey: deliveryCount, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: false }) }) });
528
528
  })()
529
529
  ] }),
530
530
  (_optionalChain([githubReleases, 'optionalAccess', _10 => _10.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _11 => _11.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", children: [
531
531
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "tracking-[-0.28px] text-ods-text-secondary text-h5", children: "Related Links" }),
532
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMOODW57cjs.Card, { className: "border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
532
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6NTPY5QAcjs.Card, { className: "border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
533
533
  githubReleases && githubReleases.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-1", children: [
534
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX72J4ACLcjs.GitHubIcon, { className: "shrink-0", width: 24, height: 24, color: "var(--color-text-secondary)" }),
534
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLLSUVPQCcjs.GitHubIcon, { className: "shrink-0", width: 24, height: 24, color: "var(--color-text-secondary)" }),
535
535
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: "Github Release" }),
536
536
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
537
537
  "a",
@@ -603,7 +603,7 @@ function ReleaseDetailPage({
603
603
  // src/components/shared/product-release/release-detail-skeleton.tsx
604
604
 
605
605
  function ReleaseDetailSkeleton() {
606
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4I45Y3DNcjs.DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
606
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYBUT4AMGcjs.DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
607
607
  }
608
608
 
609
609
  // src/components/shared/roadmap/use-roadmap-voting.ts
@@ -623,10 +623,10 @@ function readStoredVotes(storageKey) {
623
623
  function useRoadmapVoting(options = {}) {
624
624
  const voteApiEndpoint = _nullishCoalesce(options.voteApiEndpoint, () => ( DEFAULT_VOTE_ENDPOINT));
625
625
  const storageKey = _nullishCoalesce(options.storageKey, () => ( DEFAULT_STORAGE_KEY));
626
- const { getSignals } = _chunk2QEUFXNScjs.useHumanitySignals.call(void 0, );
626
+ const { getSignals } = _chunkWCVZCGK5cjs.useHumanitySignals.call(void 0, );
627
627
  const [votes, setVotes] = _react.useState.call(void 0, NO_VOTES);
628
628
  const [loadedKey, setLoadedKey] = _react.useState.call(void 0, null);
629
- const hydrated = _chunk3MX5S4CFcjs.useIsHydrated.call(void 0, );
629
+ const hydrated = _chunkSEXWHIMScjs.useIsHydrated.call(void 0, );
630
630
  if (hydrated && loadedKey !== storageKey) {
631
631
  setLoadedKey(storageKey);
632
632
  setVotes(readStoredVotes(storageKey));
@@ -657,7 +657,7 @@ function useRoadmapVoting(options = {}) {
657
657
  action = "remove";
658
658
  } else {
659
659
  if (currentVote) {
660
- await _chunkABU3TGXAcjs.contentFetch.call(void 0, voteApiEndpoint, {
660
+ await _chunkOF6GEI5Acjs.contentFetch.call(void 0, voteApiEndpoint, {
661
661
  method: "POST",
662
662
  headers: { "Content-Type": "application/json" },
663
663
  body: JSON.stringify({
@@ -676,7 +676,7 @@ function useRoadmapVoting(options = {}) {
676
676
  [taskId]: newVote
677
677
  }));
678
678
  try {
679
- const response = await _chunkABU3TGXAcjs.contentFetch.call(void 0, voteApiEndpoint, {
679
+ const response = await _chunkOF6GEI5Acjs.contentFetch.call(void 0, voteApiEndpoint, {
680
680
  method: "POST",
681
681
  headers: { "Content-Type": "application/json" },
682
682
  body: JSON.stringify({ taskId, voteType, action, ...getSignals() })
@@ -775,10 +775,10 @@ function RoadmapGridSingle({
775
775
  // `useScrollToHash` in `roadmap-view.tsx` finds the card by id
776
776
  // and scrolls.
777
777
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
778
- _chunkMMOODW57cjs.RoadmapCard,
778
+ _chunk6NTPY5QAcjs.RoadmapCard,
779
779
  {
780
780
  item,
781
- id: _chunkVESKITRQcjs.devSectionAnchorId.call(void 0, "roadmap", item.id),
781
+ id: _chunkP42V6N34cjs.devSectionAnchorId.call(void 0, "roadmap", item.id),
782
782
  userVote: getVote(item.id),
783
783
  onVote: (voteType) => onVote(item.id, voteType),
784
784
  isVoting: votingTasks.has(item.id)
@@ -809,7 +809,7 @@ function RoadmapGrid({
809
809
  try {
810
810
  const result = await toggleVote(taskId, voteType);
811
811
  if (result.success) {
812
- const response = await _chunkABU3TGXAcjs.contentFetch.call(void 0, buildRefreshUrl(taskId));
812
+ const response = await _chunkOF6GEI5Acjs.contentFetch.call(void 0, buildRefreshUrl(taskId));
813
813
  if (response.ok) {
814
814
  const data = await response.json();
815
815
  if (data.item && onItemUpdate) onItemUpdate(data.item);
@@ -872,7 +872,7 @@ function RoadmapGrid({
872
872
  }, [hasActiveFilters, sortedQuartersKey, isInitialized, quartersToKeepClosed]);
873
873
  if (items.length === 0) {
874
874
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
875
- _chunkOHFS7VOUcjs.EmptyState,
875
+ _chunkPLYEKV3Ncjs.EmptyState,
876
876
  {
877
877
  type: "generic",
878
878
  title: "No roadmap items",
@@ -894,7 +894,7 @@ function RoadmapGrid({
894
894
  );
895
895
  }
896
896
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
897
- _chunkVESKITRQcjs.Accordion,
897
+ _chunkP42V6N34cjs.Accordion,
898
898
  {
899
899
  type: "multiple",
900
900
  value: expandedQuarters,
@@ -904,13 +904,13 @@ function RoadmapGrid({
904
904
  const itemCount = _optionalChain([itemsByQuarter, 'access', _20 => _20[quarter], 'optionalAccess', _21 => _21.length]) || 0;
905
905
  const isExpanded = expandedQuarters.includes(quarter);
906
906
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
907
- _chunkVESKITRQcjs.AccordionItem,
907
+ _chunkP42V6N34cjs.AccordionItem,
908
908
  {
909
909
  value: quarter,
910
910
  id: `quarter-${quarter.replace(/\s+/g, "-").toLowerCase()}`,
911
911
  className: "border-0",
912
912
  children: [
913
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:ml-auto [&>svg]:h-5 [&>svg]:w-5 [&>svg]:shrink-0 [&>svg]:text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
913
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:ml-auto [&>svg]:h-5 [&>svg]:w-5 [&>svg]:shrink-0 [&>svg]:text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
914
914
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
915
915
  "h3",
916
916
  {
@@ -940,7 +940,7 @@ function RoadmapGrid({
940
940
  }
941
941
  )
942
942
  ] }) }),
943
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.AccordionContent, { className: "overflow-hidden pb-0 pt-4 data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
943
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.AccordionContent, { className: "overflow-hidden pb-0 pt-4 data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
944
944
  RoadmapGridSingle,
945
945
  {
946
946
  items: itemsByQuarter[quarter],
@@ -992,8 +992,8 @@ function RoadmapGridSkeleton({ count = 4, showLeftMargin = true }) {
992
992
 
993
993
 
994
994
  var DEFAULT_ENDPOINT3 = "/api/roadmap";
995
- var DEFAULT_SEARCH_PARAM_KEY2 = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.search;
996
- var DEFAULT_STATUS_PARAM_KEY2 = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.status;
995
+ var DEFAULT_SEARCH_PARAM_KEY2 = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.search;
996
+ var DEFAULT_STATUS_PARAM_KEY2 = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.status;
997
997
  function RoadmapView({
998
998
  endpoint = DEFAULT_ENDPOINT3,
999
999
  initialItems,
@@ -1012,11 +1012,11 @@ function RoadmapView({
1012
1012
  const qs = listParams.toString();
1013
1013
  const url = qs ? `${endpoint}?${qs}` : endpoint;
1014
1014
  const initialData = _react.useMemo.call(void 0, () => initialItems ? { items: initialItems } : void 0, [initialItems]);
1015
- const { data, setData, isLoading, error, reload } = _chunkXOYH2YQEcjs.useSelfFetch.call(void 0, url, { initialData });
1015
+ const { data, setData, isLoading, error, reload } = _chunkUDFRUKLCcjs.useSelfFetch.call(void 0, url, { initialData });
1016
1016
  const items = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _22 => _22.items]), () => ( []));
1017
- _chunk2QEUFXNScjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkTYWLNCNHcjs.STICKY_HEADER_OFFSET_PX });
1017
+ _chunkWCVZCGK5cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkUVTD52MDcjs.STICKY_HEADER_OFFSET_PX });
1018
1018
  if (error) {
1019
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.LoadError, { message: "Failed to load roadmap.", onRetry: reload });
1019
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.LoadError, { message: "Failed to load roadmap.", onRetry: reload });
1020
1020
  }
1021
1021
  if (isLoading && !data) {
1022
1022
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapGridSkeleton, { showLeftMargin });
@@ -1058,18 +1058,18 @@ function SkeletonRow() {
1058
1058
  }
1059
1059
  function DeliveryTable({ items, isLoading = false }) {
1060
1060
  if (isLoading) {
1061
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunkMMOODW57cjs.CONTENT_CARD_SKELETON_FRAME_CLASS}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonRow, {}, i)) }) });
1061
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunk6NTPY5QAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonRow, {}, i)) }) });
1062
1062
  }
1063
1063
  if (items.length === 0) {
1064
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunkMMOODW57cjs.CONTENT_CARD_SKELETON_FRAME_CLASS} p-[var(--spacing-system-xlf)] text-center`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No tasks available" }) });
1064
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunk6NTPY5QAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS} p-[var(--spacing-system-xlf)] text-center`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "No tasks available" }) });
1065
1065
  }
1066
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunkMMOODW57cjs.CONTENT_CARD_SKELETON_FRAME_CLASS}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: items.map((item) => (
1066
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `w-full ${_chunk6NTPY5QAcjs.CONTENT_CARD_SKELETON_FRAME_CLASS}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: items.map((item) => (
1067
1067
  // DOM id lives on DeliveryRow's own outer element (no wrapper
1068
1068
  // div). Anchor mirrors `buildDevSectionUrl('delivery', <id>)`
1069
1069
  // → `#delivery-<external_id>`; `useScrollToHash` in
1070
1070
  // `delivery-lists.tsx` finds the row by id and scrolls. The
1071
1071
  // outer wrapper here ONLY exists for the row separators.
1072
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border last:border-b-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZSAGLQODcjs.DeliveryRow, { item, id: _chunkVESKITRQcjs.devSectionAnchorId.call(void 0, "delivery", item.id) }) }, item.id)
1072
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border last:border-b-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3AHTOSXJcjs.DeliveryRow, { item, id: _chunkP42V6N34cjs.devSectionAnchorId.call(void 0, "delivery", item.id) }) }, item.id)
1073
1073
  )) }) });
1074
1074
  }
1075
1075
 
@@ -1078,8 +1078,8 @@ function DeliveryTable({ items, isLoading = false }) {
1078
1078
 
1079
1079
  var DEFAULT_COMPLETED_ENDPOINT = "/api/delivery/completed";
1080
1080
  var DEFAULT_IN_PROGRESS_ENDPOINT = "/api/delivery/in-progress";
1081
- var DEFAULT_SEARCH_PARAM_KEY3 = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.search;
1082
- var DEFAULT_TASK_TYPE_PARAM_KEY = _chunkVESKITRQcjs.DEV_SECTION_PARAM_KEYS.deliveryTaskType;
1081
+ var DEFAULT_SEARCH_PARAM_KEY3 = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.search;
1082
+ var DEFAULT_TASK_TYPE_PARAM_KEY = _chunkP42V6N34cjs.DEV_SECTION_PARAM_KEYS.deliveryTaskType;
1083
1083
  function DeliveryLists({
1084
1084
  completedApiEndpoint = DEFAULT_COMPLETED_ENDPOINT,
1085
1085
  inProgressApiEndpoint = DEFAULT_IN_PROGRESS_ENDPOINT,
@@ -1110,8 +1110,8 @@ function DeliveryLists({
1110
1110
  const queryString = params.toString();
1111
1111
  const queryParam = queryString ? `?${queryString}` : "";
1112
1112
  const [completedResponse, inProgressResponse] = await Promise.all([
1113
- _chunkABU3TGXAcjs.contentFetch.call(void 0, `${completedApiEndpoint}${queryParam}`),
1114
- _chunkABU3TGXAcjs.contentFetch.call(void 0, `${inProgressApiEndpoint}${queryParam}`)
1113
+ _chunkOF6GEI5Acjs.contentFetch.call(void 0, `${completedApiEndpoint}${queryParam}`),
1114
+ _chunkOF6GEI5Acjs.contentFetch.call(void 0, `${inProgressApiEndpoint}${queryParam}`)
1115
1115
  ]);
1116
1116
  if (!completedResponse.ok || !inProgressResponse.ok) {
1117
1117
  throw new Error("Failed to fetch delivery items");
@@ -1140,17 +1140,17 @@ function DeliveryLists({
1140
1140
  }, [searchQuery, taskTypeFilter, completedApiEndpoint, inProgressApiEndpoint, searchParamKey, taskTypeParamKey]);
1141
1141
  const filteredCompleted = _optionalChain([data, 'optionalAccess', _23 => _23.completed]) || [];
1142
1142
  const filteredInProgress = _optionalChain([data, 'optionalAccess', _24 => _24.inProgress]) || [];
1143
- _chunk2QEUFXNScjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkTYWLNCNHcjs.STICKY_HEADER_OFFSET_PX });
1143
+ _chunkWCVZCGK5cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkUVTD52MDcjs.STICKY_HEADER_OFFSET_PX });
1144
1144
  const showCompleted = true;
1145
1145
  const showInProgress = true;
1146
1146
  const hasActiveFilters = searchQuery !== "" || taskTypeFilter !== "all";
1147
1147
  const hasResults = showCompleted && filteredCompleted.length > 0 || showInProgress && filteredInProgress.length > 0;
1148
1148
  if (error) {
1149
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.LoadError, { message: error, onRetry: () => window.location.reload() }) });
1149
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.LoadError, { message: error, onRetry: () => window.location.reload() }) });
1150
1150
  }
1151
1151
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[40px]", children: [
1152
1152
  !isLoading && !hasResults && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1153
- _chunkZSAGLQODcjs.ListEmptyState,
1153
+ _chunk3AHTOSXJcjs.ListEmptyState,
1154
1154
  {
1155
1155
  isFiltered: hasActiveFilters,
1156
1156
  filtered: {
@@ -1256,7 +1256,7 @@ function useLegalDocs(docType, options = {}) {
1256
1256
  const isCurrent = () => requestId === requestIdRef.current;
1257
1257
  const fetchDocument = async () => {
1258
1258
  try {
1259
- const response = await _chunkABU3TGXAcjs.contentFetch.call(void 0, effectiveEndpoint);
1259
+ const response = await _chunkOF6GEI5Acjs.contentFetch.call(void 0, effectiveEndpoint);
1260
1260
  if (!response.ok) {
1261
1261
  throw new Error(`Failed to fetch ${docType} document: ${response.status} ${response.statusText}`);
1262
1262
  }
@@ -1304,7 +1304,7 @@ function LegalDocumentPage({
1304
1304
  initialData = null,
1305
1305
  initialLastUpdatedLabel = null,
1306
1306
  apiEndpoint,
1307
- MarkdownRenderer = _chunkVESKITRQcjs.RichMarkdownRenderer,
1307
+ MarkdownRenderer = _chunkP42V6N34cjs.RichMarkdownRenderer,
1308
1308
  backButton,
1309
1309
  shell = true
1310
1310
  }) {
@@ -1314,10 +1314,10 @@ function LegalDocumentPage({
1314
1314
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _25 => _25.label]), () => ( "Back to home")),
1315
1315
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _26 => _26.href]), () => ( "/")))
1316
1316
  };
1317
- const fallbackLastUpdatedLabel = _optionalChain([data, 'optionalAccess', _27 => _27.lastSynced]) != null ? _chunkMMOODW57cjs.formatLegalDate.call(void 0, data.lastSynced) : null;
1317
+ const fallbackLastUpdatedLabel = _optionalChain([data, 'optionalAccess', _27 => _27.lastSynced]) != null ? _chunk6NTPY5QAcjs.formatLegalDate.call(void 0, data.lastSynced) : null;
1318
1318
  const effectiveLastUpdatedLabel = _nullishCoalesce(initialLastUpdatedLabel, () => ( fallbackLastUpdatedLabel));
1319
1319
  const subtitle = effectiveLastUpdatedLabel ? `Last Updated: ${effectiveLastUpdatedLabel}` : fallbackDescription;
1320
- const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVESKITRQcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: [
1320
+ const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkP42V6N34cjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: [
1321
1321
  _optionalChain([data, 'optionalAccess', _28 => _28.sourceFile]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-ods-text-secondary opacity-75 text-h6", children: [
1322
1322
  "Source: ",
1323
1323
  data.sourceFile
@@ -1357,7 +1357,7 @@ function LegalDocumentPage({
1357
1357
  ] })
1358
1358
  ] }) }) }) }) })
1359
1359
  ] });
1360
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVESKITRQcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
1360
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkP42V6N34cjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
1361
1361
  }
1362
1362
 
1363
1363