@flamingo-stack/openframe-frontend-core 0.0.551 → 0.0.552-snapshot.20260817220121

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 (150) hide show
  1. package/dist/{chunk-2YLMNXLB.js → chunk-25BXB4SH.js} +4 -4
  2. package/dist/{chunk-TXFJFO4A.js → chunk-3OBWO6N6.js} +2 -2
  3. package/dist/{chunk-NRTKEPUX.cjs → chunk-6WA3RI55.cjs} +18 -18
  4. package/dist/{chunk-NRTKEPUX.cjs.map → chunk-6WA3RI55.cjs.map} +1 -1
  5. package/dist/{chunk-MEY3PYOL.cjs → chunk-B5N2IG4Z.cjs} +7 -7
  6. package/dist/{chunk-MEY3PYOL.cjs.map → chunk-B5N2IG4Z.cjs.map} +1 -1
  7. package/dist/{chunk-EZIKNMYV.js → chunk-B7TI3RYG.js} +2 -2
  8. package/dist/{chunk-SWDTM5O6.js → chunk-BUNDMGAD.js} +7 -7
  9. package/dist/{chunk-7OPWSWEJ.cjs → chunk-CEAAOVCV.cjs} +1 -1
  10. package/dist/{chunk-7OPWSWEJ.cjs.map → chunk-CEAAOVCV.cjs.map} +1 -1
  11. package/dist/{chunk-H4RHXJHF.js → chunk-CGIZ4UGO.js} +2 -2
  12. package/dist/{chunk-YA5JDHWE.cjs → chunk-EGPI3SFI.cjs} +101 -101
  13. package/dist/{chunk-YA5JDHWE.cjs.map → chunk-EGPI3SFI.cjs.map} +1 -1
  14. package/dist/{chunk-O24VSDVN.cjs → chunk-LL6EPMAD.cjs} +42 -42
  15. package/dist/{chunk-O24VSDVN.cjs.map → chunk-LL6EPMAD.cjs.map} +1 -1
  16. package/dist/{chunk-YEXTFNVE.js → chunk-LZGHXN2E.js} +10 -10
  17. package/dist/chunk-LZGHXN2E.js.map +1 -0
  18. package/dist/{chunk-EFNDA2CG.js → chunk-MSNTPZJ3.js} +3 -3
  19. package/dist/{chunk-NVK7YZHN.js → chunk-N22NG622.js} +2 -2
  20. package/dist/{chunk-V3HNIPTE.cjs → chunk-NFQEDT43.cjs} +23 -23
  21. package/dist/{chunk-V3HNIPTE.cjs.map → chunk-NFQEDT43.cjs.map} +1 -1
  22. package/dist/{chunk-AK4LW6PF.cjs → chunk-OI56TF4Y.cjs} +42 -42
  23. package/dist/{chunk-AK4LW6PF.cjs.map → chunk-OI56TF4Y.cjs.map} +1 -1
  24. package/dist/{chunk-LQPHB2YF.js → chunk-OR67WC32.js} +2 -2
  25. package/dist/{chunk-H4OIDXP4.cjs → chunk-PWWMA3EJ.cjs} +36 -36
  26. package/dist/{chunk-H4OIDXP4.cjs.map → chunk-PWWMA3EJ.cjs.map} +1 -1
  27. package/dist/{chunk-4QYUNDS3.cjs → chunk-Q6RC3YGW.cjs} +3 -3
  28. package/dist/{chunk-4QYUNDS3.cjs.map → chunk-Q6RC3YGW.cjs.map} +1 -1
  29. package/dist/{chunk-IFH47QXW.js → chunk-QOS27D5S.js} +3 -3
  30. package/dist/{chunk-5RJUHUCI.cjs → chunk-QTO3WYB2.cjs} +5 -5
  31. package/dist/{chunk-5RJUHUCI.cjs.map → chunk-QTO3WYB2.cjs.map} +1 -1
  32. package/dist/{chunk-ZDWWXME5.cjs → chunk-S7ATADRE.cjs} +14 -14
  33. package/dist/{chunk-ZDWWXME5.cjs.map → chunk-S7ATADRE.cjs.map} +1 -1
  34. package/dist/{chunk-MKDL3S4U.cjs → chunk-T7UUDSDW.cjs} +3 -3
  35. package/dist/{chunk-MKDL3S4U.cjs.map → chunk-T7UUDSDW.cjs.map} +1 -1
  36. package/dist/{chunk-MVK7SNVO.js → chunk-UVAB3XAB.js} +6 -6
  37. package/dist/{chunk-Y2HKHGEW.js → chunk-UWY722RH.js} +1 -1
  38. package/dist/{chunk-Y2HKHGEW.js.map → chunk-UWY722RH.js.map} +1 -1
  39. package/dist/{chunk-ZYQAFJLF.cjs → chunk-V643QZFI.cjs} +4 -4
  40. package/dist/{chunk-ZYQAFJLF.cjs.map → chunk-V643QZFI.cjs.map} +1 -1
  41. package/dist/{chunk-4A736Z6S.js → chunk-VGLDA77S.js} +2 -2
  42. package/dist/{chunk-RJFD55SK.js → chunk-VYVOER73.js} +4 -4
  43. package/dist/{chunk-V5PDJFZS.js → chunk-WLQER7GC.js} +18 -13
  44. package/dist/chunk-WLQER7GC.js.map +1 -0
  45. package/dist/{chunk-T2JKOG6K.cjs → chunk-XBKBBKPR.cjs} +7 -7
  46. package/dist/{chunk-T2JKOG6K.cjs.map → chunk-XBKBBKPR.cjs.map} +1 -1
  47. package/dist/{chunk-PPPIBTCO.cjs → chunk-XPRFVYES.cjs} +14 -14
  48. package/dist/{chunk-PPPIBTCO.cjs.map → chunk-XPRFVYES.cjs.map} +1 -1
  49. package/dist/{chunk-72ZPQTPN.cjs → chunk-Y2WE2GOL.cjs} +96 -91
  50. package/dist/chunk-Y2WE2GOL.cjs.map +1 -0
  51. package/dist/{chunk-OMSEQDCU.js → chunk-YI2735PG.js} +3 -3
  52. package/dist/{chunk-CPADTPX4.cjs → chunk-ZGQZLUO6.cjs} +1035 -940
  53. package/dist/chunk-ZGQZLUO6.cjs.map +1 -0
  54. package/dist/{chunk-JI4JR3KC.js → chunk-ZS7VC5SX.js} +387 -292
  55. package/dist/chunk-ZS7VC5SX.js.map +1 -0
  56. package/dist/components/case-studies/index.cjs +10 -10
  57. package/dist/components/case-studies/index.js +4 -4
  58. package/dist/components/chat/entity-cards/chat-video-entity-card.d.ts.map +1 -1
  59. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  60. package/dist/components/chat/index.cjs +4 -4
  61. package/dist/components/chat/index.js +3 -3
  62. package/dist/components/contact/index.cjs +5 -5
  63. package/dist/components/contact/index.js +4 -4
  64. package/dist/components/docs/index.cjs +7 -7
  65. package/dist/components/docs/index.js +6 -6
  66. package/dist/components/embeds/index.cjs +5 -5
  67. package/dist/components/embeds/index.js +4 -4
  68. package/dist/components/faq/index.cjs +6 -6
  69. package/dist/components/faq/index.js +5 -5
  70. package/dist/components/features/captions-url.cjs +39 -1
  71. package/dist/components/features/captions-url.cjs.map +1 -1
  72. package/dist/components/features/captions-url.d.ts +59 -0
  73. package/dist/components/features/captions-url.d.ts.map +1 -1
  74. package/dist/components/features/captions-url.js +35 -2
  75. package/dist/components/features/captions-url.js.map +1 -1
  76. package/dist/components/features/entity-video-section.d.ts +12 -1
  77. package/dist/components/features/entity-video-section.d.ts.map +1 -1
  78. package/dist/components/features/index.cjs +16 -4
  79. package/dist/components/features/index.cjs.map +1 -1
  80. package/dist/components/features/index.d.ts +1 -0
  81. package/dist/components/features/index.d.ts.map +1 -1
  82. package/dist/components/features/index.js +15 -3
  83. package/dist/components/features/use-captions.d.ts +11 -0
  84. package/dist/components/features/use-captions.d.ts.map +1 -0
  85. package/dist/components/features/use-ios-native-video-fullscreen.d.ts +4 -0
  86. package/dist/components/features/use-ios-native-video-fullscreen.d.ts.map +1 -0
  87. package/dist/components/features/use-walkthrough-video.d.ts +4 -1
  88. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
  89. package/dist/components/features/video.d.ts.map +1 -1
  90. package/dist/components/help-center-pages/index.cjs +25 -25
  91. package/dist/components/help-center-pages/index.js +16 -16
  92. package/dist/components/index.cjs +153 -141
  93. package/dist/components/index.cjs.map +1 -1
  94. package/dist/components/index.js +26 -14
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/meeting-scheduler/index.cjs +35 -35
  97. package/dist/components/meeting-scheduler/index.js +5 -5
  98. package/dist/components/navigation/index.cjs +4 -4
  99. package/dist/components/navigation/index.js +3 -3
  100. package/dist/components/onboarding-guides/index.cjs +8 -8
  101. package/dist/components/onboarding-guides/index.js +7 -7
  102. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  103. package/dist/components/related-content/index.cjs +6 -6
  104. package/dist/components/related-content/index.js +5 -5
  105. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  106. package/dist/components/tickets/index.cjs +8 -8
  107. package/dist/components/tickets/index.js +7 -7
  108. package/dist/components/ui/index.cjs +4 -4
  109. package/dist/components/ui/index.js +3 -3
  110. package/dist/contexts/chat-runtime-context.d.ts +8 -0
  111. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  112. package/dist/contexts/index.cjs +2 -2
  113. package/dist/contexts/index.js +1 -1
  114. package/dist/hooks/index.cjs +3 -3
  115. package/dist/hooks/index.js +2 -2
  116. package/dist/index.cjs +16 -4
  117. package/dist/index.cjs.map +1 -1
  118. package/dist/index.js +15 -3
  119. package/package.json +1 -1
  120. package/src/components/chat/entity-cards/chat-video-entity-card.tsx +4 -0
  121. package/src/components/chat/entity-cards/dispatch.tsx +2 -0
  122. package/src/components/features/__tests__/use-ios-native-video-fullscreen.test.tsx +116 -0
  123. package/src/components/features/captions-url.ts +115 -1
  124. package/src/components/features/entity-video-section.tsx +22 -2
  125. package/src/components/features/index.ts +1 -0
  126. package/src/components/features/use-captions.ts +46 -0
  127. package/src/components/features/use-ios-native-video-fullscreen.ts +89 -0
  128. package/src/components/features/use-walkthrough-video.ts +17 -5
  129. package/src/components/features/video.tsx +5 -0
  130. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +5 -3
  131. package/src/components/shared/product-release/release-detail-page.tsx +14 -4
  132. package/src/contexts/chat-runtime-context.tsx +8 -0
  133. package/dist/chunk-72ZPQTPN.cjs.map +0 -1
  134. package/dist/chunk-CPADTPX4.cjs.map +0 -1
  135. package/dist/chunk-JI4JR3KC.js.map +0 -1
  136. package/dist/chunk-V5PDJFZS.js.map +0 -1
  137. package/dist/chunk-YEXTFNVE.js.map +0 -1
  138. /package/dist/{chunk-2YLMNXLB.js.map → chunk-25BXB4SH.js.map} +0 -0
  139. /package/dist/{chunk-TXFJFO4A.js.map → chunk-3OBWO6N6.js.map} +0 -0
  140. /package/dist/{chunk-EZIKNMYV.js.map → chunk-B7TI3RYG.js.map} +0 -0
  141. /package/dist/{chunk-SWDTM5O6.js.map → chunk-BUNDMGAD.js.map} +0 -0
  142. /package/dist/{chunk-H4RHXJHF.js.map → chunk-CGIZ4UGO.js.map} +0 -0
  143. /package/dist/{chunk-EFNDA2CG.js.map → chunk-MSNTPZJ3.js.map} +0 -0
  144. /package/dist/{chunk-NVK7YZHN.js.map → chunk-N22NG622.js.map} +0 -0
  145. /package/dist/{chunk-LQPHB2YF.js.map → chunk-OR67WC32.js.map} +0 -0
  146. /package/dist/{chunk-IFH47QXW.js.map → chunk-QOS27D5S.js.map} +0 -0
  147. /package/dist/{chunk-MVK7SNVO.js.map → chunk-UVAB3XAB.js.map} +0 -0
  148. /package/dist/{chunk-4A736Z6S.js.map → chunk-VGLDA77S.js.map} +0 -0
  149. /package/dist/{chunk-RJFD55SK.js.map → chunk-VYVOER73.js.map} +0 -0
  150. /package/dist/{chunk-OMSEQDCU.js.map → chunk-YI2735PG.js.map} +0 -0
@@ -1,19 +1,19 @@
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 _chunkMKDL3S4Ucjs = require('./chunk-MKDL3S4U.cjs');
4
+ var _chunkT7UUDSDWcjs = require('./chunk-T7UUDSDW.cjs');
5
5
 
6
6
 
7
- var _chunkZDWWXME5cjs = require('./chunk-ZDWWXME5.cjs');
7
+ var _chunkS7ATADREcjs = require('./chunk-S7ATADRE.cjs');
8
8
 
9
9
 
10
- var _chunkZYQAFJLFcjs = require('./chunk-ZYQAFJLF.cjs');
10
+ var _chunkV643QZFIcjs = require('./chunk-V643QZFI.cjs');
11
11
 
12
12
 
13
- var _chunkT2JKOG6Kcjs = require('./chunk-T2JKOG6K.cjs');
13
+ var _chunkXBKBBKPRcjs = require('./chunk-XBKBBKPR.cjs');
14
14
 
15
15
 
16
- var _chunk4QYUNDS3cjs = require('./chunk-4QYUNDS3.cjs');
16
+ var _chunkQ6RC3YGWcjs = require('./chunk-Q6RC3YGW.cjs');
17
17
 
18
18
 
19
19
 
@@ -45,12 +45,13 @@ var _chunk4QYUNDS3cjs = require('./chunk-4QYUNDS3.cjs');
45
45
 
46
46
 
47
47
 
48
- var _chunkCPADTPX4cjs = require('./chunk-CPADTPX4.cjs');
49
48
 
49
+ var _chunkZGQZLUO6cjs = require('./chunk-ZGQZLUO6.cjs');
50
50
 
51
51
 
52
52
 
53
- var _chunk5RJUHUCIcjs = require('./chunk-5RJUHUCI.cjs');
53
+
54
+ var _chunkQTO3WYB2cjs = require('./chunk-QTO3WYB2.cjs');
54
55
 
55
56
 
56
57
 
@@ -62,7 +63,7 @@ var _chunkSSJNN5BScjs = require('./chunk-SSJNN5BS.cjs');
62
63
  var _chunk3M2MFP2Ycjs = require('./chunk-3M2MFP2Y.cjs');
63
64
 
64
65
 
65
- var _chunk7OPWSWEJcjs = require('./chunk-7OPWSWEJ.cjs');
66
+ var _chunkCEAAOVCVcjs = require('./chunk-CEAAOVCV.cjs');
66
67
 
67
68
 
68
69
 
@@ -76,27 +77,27 @@ var _chunkKI4EGKNVcjs = require('./chunk-KI4EGKNV.cjs');
76
77
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
77
78
  var _jsxruntime = require('react/jsx-runtime');
78
79
  var DEFAULT_ENDPOINT = "/api/releases";
79
- var DEFAULT_SEARCH_PARAM_KEY = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.search;
80
- var DEFAULT_STATUS_PARAM_KEY = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.releaseStatus;
80
+ var DEFAULT_SEARCH_PARAM_KEY = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.search;
81
+ var DEFAULT_STATUS_PARAM_KEY = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.releaseStatus;
81
82
  var DEFAULT_PAGE_PARAM_KEY = "page";
82
83
  function ReleaseRow({
83
84
  release,
84
85
  basePath,
85
86
  buildCardProps
86
87
  }) {
87
- const runtime = _chunk7OPWSWEJcjs.useChatRuntime.call(void 0, );
88
+ const runtime = _chunkCEAAOVCVcjs.useChatRuntime.call(void 0, );
88
89
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
89
- const cta = _chunkCPADTPX4cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _2 => _2.composeContentUrl]), {
90
+ const cta = _chunkZGQZLUO6cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _2 => _2.composeContentUrl]), {
90
91
  type: "product_release",
91
92
  slug: release.slug,
92
93
  basePath,
93
94
  platforms: release.product_release_platforms
94
95
  });
95
- const { target, rel } = _chunkCPADTPX4cjs.useEntityCardLink.call(void 0, { href: cta.href, targetPlatform: cta.targetPlatform });
96
+ const { target, rel } = _chunkZGQZLUO6cjs.useEntityCardLink.call(void 0, { href: cta.href, targetPlatform: cta.targetPlatform });
96
97
  const onClick = (e) => {
97
- if (e.defaultPrevented || _chunkCPADTPX4cjs.isModifierClick.call(void 0, e) || target === "_blank") return;
98
+ if (e.defaultPrevented || _chunkZGQZLUO6cjs.isModifierClick.call(void 0, e) || target === "_blank") return;
98
99
  e.preventDefault();
99
- _chunkCPADTPX4cjs.executeNavigationImperative.call(void 0, {
100
+ _chunkZGQZLUO6cjs.executeNavigationImperative.call(void 0, {
100
101
  runtime,
101
102
  href: cta.href,
102
103
  targetPlatform: cta.targetPlatform,
@@ -104,7 +105,7 @@ function ReleaseRow({
104
105
  });
105
106
  };
106
107
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
107
- _chunkCPADTPX4cjs.ProductReleaseCard,
108
+ _chunkZGQZLUO6cjs.ProductReleaseCard,
108
109
  {
109
110
  size: "lg",
110
111
  title: release.title,
@@ -120,7 +121,7 @@ function ProductReleasesView({
120
121
  initialData,
121
122
  itemsPerPage = 5,
122
123
  basePath = "/releases",
123
- buildCardProps = _chunkCPADTPX4cjs.buildProductReleaseCardProps,
124
+ buildCardProps = _chunkZGQZLUO6cjs.buildProductReleaseCardProps,
124
125
  searchParamKey = DEFAULT_SEARCH_PARAM_KEY,
125
126
  statusParamKey = DEFAULT_STATUS_PARAM_KEY,
126
127
  pageParamKey = DEFAULT_PAGE_PARAM_KEY,
@@ -136,7 +137,7 @@ function ProductReleasesView({
136
137
  const listParams = new URLSearchParams({ limit: String(itemsPerPage), offset: String(offset) });
137
138
  if (search) listParams.set(searchParamKey, search);
138
139
  if (status && status !== "all") listParams.set(statusParamKey, status);
139
- const { data, isLoading, error, reload } = _chunk4QYUNDS3cjs.useSelfFetch.call(void 0,
140
+ const { data, isLoading, error, reload } = _chunkQ6RC3YGWcjs.useSelfFetch.call(void 0,
140
141
  `${endpoint}?${listParams.toString()}`,
141
142
  { initialData }
142
143
  );
@@ -158,10 +159,10 @@ function ProductReleasesView({
158
159
  router.replace(`${pathname}?${params.toString()}`, { scroll: false });
159
160
  };
160
161
  if (error) {
161
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.LoadError, { message: "Failed to load releases.", onRetry: reload }) });
162
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.LoadError, { message: "Failed to load releases.", onRetry: reload }) });
162
163
  }
163
164
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "w-full flex 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: "h-[600px] flex items-center justify-center", children: hasActiveFilters ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
164
- _chunkZYQAFJLFcjs.EmptyState,
165
+ _chunkV643QZFIcjs.EmptyState,
165
166
  {
166
167
  type: "search",
167
168
  title: "No releases found",
@@ -171,7 +172,7 @@ function ProductReleasesView({
171
172
  onCtaClick: resetFilters
172
173
  }
173
174
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
174
- _chunkZYQAFJLFcjs.EmptyState,
175
+ _chunkV643QZFIcjs.EmptyState,
175
176
  {
176
177
  type: "generic",
177
178
  title: "No releases available",
@@ -186,13 +187,13 @@ function ProductReleasesView({
186
187
  "div",
187
188
  {
188
189
  style: { visibility: isLoading || hasData ? "visible" : "hidden" },
189
- children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.ProductReleaseCardSkeleton, { size: "lg" })
190
+ children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.ProductReleaseCardSkeleton, { size: "lg" })
190
191
  },
191
192
  _nullishCoalesce(_optionalChain([release, 'optionalAccess', _5 => _5.id]), () => ( `slot-${i}`))
192
193
  );
193
194
  }) }),
194
195
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-6 md:mt-8 flex justify-center", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-12 m-3 w-64" }) : releases.length > 0 && totalPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
195
- _chunkMKDL3S4Ucjs.PersistentPaginationWrapper,
196
+ _chunkT7UUDSDWcjs.PersistentPaginationWrapper,
196
197
  {
197
198
  isLoading: false,
198
199
  currentPage,
@@ -234,10 +235,10 @@ function MediaGalleryStrip({ items, className }) {
234
235
  mediaItem.id || index
235
236
  );
236
237
  }
237
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
238
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
238
239
  }) }),
239
240
  galleryImages.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
240
- _chunkCPADTPX4cjs.ImageGalleryModal,
241
+ _chunkZGQZLUO6cjs.ImageGalleryModal,
241
242
  {
242
243
  images: galleryImages,
243
244
  isOpen: galleryOpen,
@@ -254,7 +255,7 @@ _chunkSSJNN5BScjs.init_next_navigation.call(void 0, );
254
255
 
255
256
  var _lucidereact = require('lucide-react');
256
257
 
257
- var DefaultMarkdownRenderer = _chunkCPADTPX4cjs.RichMarkdownRenderer;
258
+ var DefaultMarkdownRenderer = _chunkZGQZLUO6cjs.RichMarkdownRenderer;
258
259
  function ReleaseDetailPage({
259
260
  authorHref,
260
261
  slug,
@@ -271,7 +272,8 @@ function ReleaseDetailPage({
271
272
  shell = true
272
273
  }) {
273
274
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
274
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
275
+ const captions = _chunkZGQZLUO6cjs.useCaptions.call(void 0, );
276
+ const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
275
277
  const { data: fetchedRelease, error, isLoading } = useRelease(initialData ? void 0 : slug);
276
278
  const release = initialData || fetchedRelease;
277
279
  const showBackButton = backButton !== false;
@@ -289,7 +291,7 @@ function ReleaseDetailPage({
289
291
  if (roadmapTasksData && roadmapTasksData.length > 0 && RoadmapSection) {
290
292
  setRoadmapLoading(true);
291
293
  const roadmapIds = roadmapTasksData.map((t) => t.clickup_task_id).join(",");
292
- const roadmapResponse = await _chunk5RJUHUCIcjs.contentFetch.call(void 0, `${roadmapApiEndpoint}?task_ids=${roadmapIds}`);
294
+ const roadmapResponse = await _chunkQTO3WYB2cjs.contentFetch.call(void 0, `${roadmapApiEndpoint}?task_ids=${roadmapIds}`);
293
295
  const roadmapData = await roadmapResponse.json();
294
296
  setRoadmapTasks(roadmapData.items || []);
295
297
  setRoadmapLoading(false);
@@ -298,7 +300,7 @@ function ReleaseDetailPage({
298
300
  if (deliveryTasksData && deliveryTasksData.length > 0 && DeliverySection) {
299
301
  setDeliveryLoading(true);
300
302
  const deliveryIds = deliveryTasksData.map((t) => t.clickup_task_id).join(",");
301
- const deliveryResponse = await _chunk5RJUHUCIcjs.contentFetch.call(void 0, `${deliveryApiEndpoint}?task_ids=${deliveryIds}`);
303
+ const deliveryResponse = await _chunkQTO3WYB2cjs.contentFetch.call(void 0, `${deliveryApiEndpoint}?task_ids=${deliveryIds}`);
302
304
  const deliveryResponseData = await deliveryResponse.json();
303
305
  setDeliveryData(deliveryResponseData);
304
306
  setDeliveryLoading(false);
@@ -315,7 +317,7 @@ function ReleaseDetailPage({
315
317
  return renderShell(
316
318
  // Match the loaded page's top offset (TitleBlock's
317
319
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
318
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT2JKOG6Kcjs.DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) })
320
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXBKBBKPRcjs.DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) })
319
321
  );
320
322
  }
321
323
  if (error || !release) {
@@ -345,13 +347,16 @@ function ReleaseDetailPage({
345
347
  const videoBites = release.video_bites;
346
348
  const highlightVideoUrl = release.highlight_video_url;
347
349
  const highlightVideoThumbnail = release.highlight_video_thumbnail;
350
+ const entityCaptions = captions.forEntity("product_release", release);
351
+ const captionsUrl = _nullishCoalesce(release.captionsUrl, () => ( entityCaptions.captionsUrl));
352
+ const highlightCaptionsUrl = _nullishCoalesce(release.highlightCaptionsUrl, () => ( entityCaptions.highlightCaptionsUrl));
348
353
  const breakingChanges = release.breaking_changes;
349
354
  const featuresAdded = release.features_added;
350
355
  const bugFixed = release.bugs_fixed;
351
356
  const improvements = release.improvements;
352
357
  return renderShell(
353
358
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
354
- _chunkCPADTPX4cjs.PageLayout,
359
+ _chunkZGQZLUO6cjs.PageLayout,
355
360
  {
356
361
  title: releaseTitle,
357
362
  subtitle: `Version: ${releaseVersion}`,
@@ -360,7 +365,7 @@ function ReleaseDetailPage({
360
365
  backButton: showBackButton ? { label: backLabel, onClick: () => router.push(backHref) } : void 0,
361
366
  children: [
362
367
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-6 md:space-y-8", children: [
363
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.EntityTagBadges, { tags: release.product_release_tags }),
368
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.EntityTagBadges, { tags: release.product_release_tags }),
364
369
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
365
370
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
366
371
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: releaseType.toLocaleUpperCase() }),
@@ -371,11 +376,11 @@ function ReleaseDetailPage({
371
376
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: "Release Status" })
372
377
  ] }) }),
373
378
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
374
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: _chunkCPADTPX4cjs.formatReleaseDate.call(void 0, releaseDate) }),
379
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: _chunkZGQZLUO6cjs.formatReleaseDate.call(void 0, releaseDate) }),
375
380
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary", children: "Release Date" })
376
381
  ] }) }),
377
382
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
378
- _chunkCPADTPX4cjs.EntityMetadataAuthorCell,
383
+ _chunkZGQZLUO6cjs.EntityMetadataAuthorCell,
379
384
  {
380
385
  author: _nullishCoalesce(author, () => ( { full_name: null, avatar_url: null })),
381
386
  authorHref: _optionalChain([author, 'optionalAccess', _6 => _6.full_name]) ? authorHref : void 0
@@ -393,17 +398,17 @@ function ReleaseDetailPage({
393
398
  highlightVideoThumbnail,
394
399
  title: releaseTitle,
395
400
  videoBites,
396
- bitesTitle: _chunkCPADTPX4cjs.DEFAULT_VIDEO_BITES_TITLE,
401
+ bitesTitle: _chunkZGQZLUO6cjs.DEFAULT_VIDEO_BITES_TITLE,
397
402
  filterPublishedBites: true,
398
- bitesProfile: _chunkCPADTPX4cjs.toStripProfile.call(void 0, author),
403
+ bitesProfile: _chunkZGQZLUO6cjs.toStripProfile.call(void 0, author),
399
404
  bitesHref: typeof release.slug === "string" ? `/releases/${release.slug}` : void 0,
400
405
  srtContent: _optionalChain([release, 'optionalAccess', _7 => _7.srt_content]),
401
- captionsUrl: _optionalChain([release, 'optionalAccess', _8 => _8.captionsUrl]),
402
- highlightCaptionsUrl: _optionalChain([release, 'optionalAccess', _9 => _9.highlightCaptionsUrl])
406
+ captionsUrl,
407
+ highlightCaptionsUrl
403
408
  }
404
409
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
405
410
  youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
406
- _chunkCPADTPX4cjs.Video,
411
+ _chunkZGQZLUO6cjs.Video,
407
412
  {
408
413
  kind: "youtube",
409
414
  url: youtubeUrl,
@@ -412,26 +417,26 @@ function ReleaseDetailPage({
412
417
  }
413
418
  ),
414
419
  !youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
415
- _chunkCPADTPX4cjs.Video,
420
+ _chunkZGQZLUO6cjs.Video,
416
421
  {
417
422
  url: mainVideoUrl,
418
- srtContent: _optionalChain([release, 'optionalAccess', _10 => _10.srt_content]),
419
- captionsUrl: _optionalChain([release, 'optionalAccess', _11 => _11.captionsUrl]),
423
+ srtContent: _optionalChain([release, 'optionalAccess', _8 => _8.srt_content]),
424
+ captionsUrl,
420
425
  layout: "centered"
421
426
  }
422
427
  ),
423
428
  highlightVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
424
- _chunkCPADTPX4cjs.Video,
429
+ _chunkZGQZLUO6cjs.Video,
425
430
  {
426
431
  url: highlightVideoUrl,
427
432
  poster: highlightVideoThumbnail,
428
- captionsUrl: _optionalChain([release, 'optionalAccess', _12 => _12.highlightCaptionsUrl]),
433
+ captionsUrl: highlightCaptionsUrl,
429
434
  layout: "centered"
430
435
  }
431
436
  )
432
437
  ] }),
433
438
  releaseContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: releaseContent }) }),
434
- hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.Card, { className: "border-ods-error bg-ods-error/10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.CardContent, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
439
+ hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.Card, { className: "border-ods-error bg-ods-error/10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.CardContent, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
435
440
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-6 w-6 text-ods-error" }),
436
441
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
437
442
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-error", children: "Breaking Changes" }),
@@ -439,7 +444,7 @@ function ReleaseDetailPage({
439
444
  ] })
440
445
  ] }) }) }),
441
446
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
442
- _chunkCPADTPX4cjs.ReleaseChangelogSection,
447
+ _chunkZGQZLUO6cjs.ReleaseChangelogSection,
443
448
  {
444
449
  title: "Breaking Changes",
445
450
  entries: breakingChanges || [],
@@ -450,7 +455,7 @@ function ReleaseDetailPage({
450
455
  }
451
456
  ),
452
457
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
453
- _chunkCPADTPX4cjs.ReleaseChangelogSection,
458
+ _chunkZGQZLUO6cjs.ReleaseChangelogSection,
454
459
  {
455
460
  title: "Features Added",
456
461
  entries: featuresAdded || [],
@@ -460,7 +465,7 @@ function ReleaseDetailPage({
460
465
  }
461
466
  ),
462
467
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
463
- _chunkCPADTPX4cjs.ReleaseChangelogSection,
468
+ _chunkZGQZLUO6cjs.ReleaseChangelogSection,
464
469
  {
465
470
  title: "Bugs Fixed",
466
471
  entries: bugFixed || [],
@@ -470,7 +475,7 @@ function ReleaseDetailPage({
470
475
  }
471
476
  ),
472
477
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
473
- _chunkCPADTPX4cjs.ReleaseChangelogSection,
478
+ _chunkZGQZLUO6cjs.ReleaseChangelogSection,
474
479
  {
475
480
  title: "Improvements",
476
481
  entries: improvements || [],
@@ -501,7 +506,7 @@ function ReleaseDetailPage({
501
506
  (() => {
502
507
  const deliveryCount = deliveryData ? deliveryData.completed.length + deliveryData.inProgress.length : 0;
503
508
  return deliveryLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: deliveryLoading }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
504
- _chunkCPADTPX4cjs.FadePreview,
509
+ _chunkZGQZLUO6cjs.FadePreview,
505
510
  {
506
511
  hiddenCount: deliveryCount - 1,
507
512
  collapsedHeight: 300,
@@ -511,9 +516,9 @@ function ReleaseDetailPage({
511
516
  );
512
517
  })()
513
518
  ] }),
514
- (_optionalChain([githubReleases, 'optionalAccess', _13 => _13.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _14 => _14.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
519
+ (_optionalChain([githubReleases, 'optionalAccess', _9 => _9.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _10 => _10.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
515
520
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
516
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
521
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
517
522
  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: [
518
523
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3M2MFP2Ycjs.GitHubIcon, { className: "shrink-0", width: 24, height: 24, color: "var(--color-text-secondary)" }),
519
524
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary", children: "Github Release" }),
@@ -540,7 +545,7 @@ function ReleaseDetailPage({
540
545
  {
541
546
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
542
547
  className: "text-h4 text-ods-accent hover:underline",
543
- children: _optionalChain([path, 'access', _15 => _15.replace, 'call', _16 => _16(/^\//, ""), 'access', _17 => _17.split, 'call', _18 => _18("/"), 'access', _19 => _19.pop, 'call', _20 => _20(), 'optionalAccess', _21 => _21.replace, 'call', _22 => _22(/-/g, " ")]) || "View Article"
548
+ children: _optionalChain([path, 'access', _11 => _11.replace, 'call', _12 => _12(/^\//, ""), 'access', _13 => _13.split, 'call', _14 => _14("/"), 'access', _15 => _15.pop, 'call', _16 => _16(), 'optionalAccess', _17 => _17.replace, 'call', _18 => _18(/-/g, " ")]) || "View Article"
544
549
  }
545
550
  ),
546
551
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-ods-accent shrink-0" })
@@ -587,7 +592,7 @@ function ReleaseDetailPage({
587
592
  // src/components/shared/product-release/release-detail-skeleton.tsx
588
593
 
589
594
  function ReleaseDetailSkeleton() {
590
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT2JKOG6Kcjs.DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
595
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXBKBBKPRcjs.DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
591
596
  }
592
597
 
593
598
  // src/components/shared/roadmap/use-roadmap-voting.ts
@@ -638,7 +643,7 @@ function useRoadmapVoting(options = {}) {
638
643
  action = "remove";
639
644
  } else {
640
645
  if (currentVote) {
641
- await _chunk5RJUHUCIcjs.contentFetch.call(void 0, voteApiEndpoint, {
646
+ await _chunkQTO3WYB2cjs.contentFetch.call(void 0, voteApiEndpoint, {
642
647
  method: "POST",
643
648
  headers: { "Content-Type": "application/json" },
644
649
  body: JSON.stringify({
@@ -656,7 +661,7 @@ function useRoadmapVoting(options = {}) {
656
661
  [taskId]: newVote
657
662
  }));
658
663
  try {
659
- const response = await _chunk5RJUHUCIcjs.contentFetch.call(void 0, voteApiEndpoint, {
664
+ const response = await _chunkQTO3WYB2cjs.contentFetch.call(void 0, voteApiEndpoint, {
660
665
  method: "POST",
661
666
  headers: { "Content-Type": "application/json" },
662
667
  body: JSON.stringify({ taskId, voteType, action })
@@ -748,10 +753,10 @@ function RoadmapGridSingle({
748
753
  // `useScrollToHash` in `roadmap-view.tsx` finds the card by id
749
754
  // and scrolls.
750
755
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
751
- _chunkCPADTPX4cjs.RoadmapCard,
756
+ _chunkZGQZLUO6cjs.RoadmapCard,
752
757
  {
753
758
  item,
754
- id: _chunkCPADTPX4cjs.devSectionAnchorId.call(void 0, "roadmap", item.id),
759
+ id: _chunkZGQZLUO6cjs.devSectionAnchorId.call(void 0, "roadmap", item.id),
755
760
  userVote: getVote(item.id),
756
761
  onVote: (voteType) => onVote(item.id, voteType),
757
762
  isVoting: votingTasks.has(item.id)
@@ -778,7 +783,7 @@ function RoadmapGrid({
778
783
  try {
779
784
  const result = await toggleVote(taskId, voteType);
780
785
  if (result.success) {
781
- const response = await _chunk5RJUHUCIcjs.contentFetch.call(void 0, buildRefreshUrl(taskId));
786
+ const response = await _chunkQTO3WYB2cjs.contentFetch.call(void 0, buildRefreshUrl(taskId));
782
787
  if (response.ok) {
783
788
  const data = await response.json();
784
789
  if (data.item && onItemUpdate) onItemUpdate(data.item);
@@ -831,7 +836,7 @@ function RoadmapGrid({
831
836
  }, [hasActiveFilters, sortedQuartersKey, isInitialized, quartersToKeepClosed]);
832
837
  if (items.length === 0) {
833
838
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
834
- _chunkZYQAFJLFcjs.EmptyState,
839
+ _chunkV643QZFIcjs.EmptyState,
835
840
  {
836
841
  type: "generic",
837
842
  title: "No roadmap items",
@@ -852,23 +857,23 @@ function RoadmapGrid({
852
857
  );
853
858
  }
854
859
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
855
- _chunkCPADTPX4cjs.Accordion,
860
+ _chunkZGQZLUO6cjs.Accordion,
856
861
  {
857
862
  type: "multiple",
858
863
  value: expandedQuarters,
859
864
  onValueChange: setExpandedQuarters,
860
865
  className: "flex flex-col gap-10",
861
866
  children: sortedQuarters.map((quarter) => {
862
- const itemCount = _optionalChain([itemsByQuarter, 'access', _23 => _23[quarter], 'optionalAccess', _24 => _24.length]) || 0;
867
+ const itemCount = _optionalChain([itemsByQuarter, 'access', _19 => _19[quarter], 'optionalAccess', _20 => _20.length]) || 0;
863
868
  const isExpanded = expandedQuarters.includes(quarter);
864
869
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
865
- _chunkCPADTPX4cjs.AccordionItem,
870
+ _chunkZGQZLUO6cjs.AccordionItem,
866
871
  {
867
872
  value: quarter,
868
873
  id: `quarter-${quarter.replace(/\s+/g, "-").toLowerCase()}`,
869
874
  className: "border-0",
870
875
  children: [
871
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:h-5 [&>svg]:w-5 [&>svg]:text-ods-text-secondary [&>svg]:ml-auto [&>svg]:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
876
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:h-5 [&>svg]:w-5 [&>svg]:text-ods-text-secondary [&>svg]:ml-auto [&>svg]:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
872
877
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
873
878
  "h3",
874
879
  {
@@ -898,7 +903,7 @@ function RoadmapGrid({
898
903
  }
899
904
  )
900
905
  ] }) }),
901
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.AccordionContent, { className: "pt-4 pb-0 overflow-hidden data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
906
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.AccordionContent, { className: "pt-4 pb-0 overflow-hidden data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
902
907
  RoadmapGridSingle,
903
908
  {
904
909
  items: itemsByQuarter[quarter],
@@ -949,8 +954,8 @@ function RoadmapGridSkeleton({ count = 4, showLeftMargin = true }) {
949
954
 
950
955
 
951
956
  var DEFAULT_ENDPOINT2 = "/api/roadmap";
952
- var DEFAULT_SEARCH_PARAM_KEY2 = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.search;
953
- var DEFAULT_STATUS_PARAM_KEY2 = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.status;
957
+ var DEFAULT_SEARCH_PARAM_KEY2 = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.search;
958
+ var DEFAULT_STATUS_PARAM_KEY2 = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.status;
954
959
  function RoadmapView({
955
960
  endpoint = DEFAULT_ENDPOINT2,
956
961
  initialItems,
@@ -969,14 +974,14 @@ function RoadmapView({
969
974
  const qs = listParams.toString();
970
975
  const url = qs ? `${endpoint}?${qs}` : endpoint;
971
976
  const initialData = _react.useMemo.call(void 0, () => initialItems ? { items: initialItems } : void 0, [initialItems]);
972
- const { data, setData, isLoading, error, reload } = _chunk4QYUNDS3cjs.useSelfFetch.call(void 0,
977
+ const { data, setData, isLoading, error, reload } = _chunkQ6RC3YGWcjs.useSelfFetch.call(void 0,
973
978
  url,
974
979
  { initialData }
975
980
  );
976
- const items = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _25 => _25.items]), () => ( []));
977
- _chunk5RJUHUCIcjs.useScrollToHash.call(void 0, data, { headerOffset: _chunk5RJUHUCIcjs.STICKY_HEADER_OFFSET_PX });
981
+ const items = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _21 => _21.items]), () => ( []));
982
+ _chunkQTO3WYB2cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkQTO3WYB2cjs.STICKY_HEADER_OFFSET_PX });
978
983
  if (error) {
979
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.LoadError, { message: "Failed to load roadmap.", onRetry: reload });
984
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.LoadError, { message: "Failed to load roadmap.", onRetry: reload });
980
985
  }
981
986
  if (isLoading && !data) {
982
987
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapGridSkeleton, { showLeftMargin });
@@ -1033,7 +1038,7 @@ function DeliveryTable({ items, isLoading = false }) {
1033
1038
  "div",
1034
1039
  {
1035
1040
  className: "border-b border-ods-border last:border-b-0",
1036
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZDWWXME5cjs.DeliveryRow, { item, id: _chunkCPADTPX4cjs.devSectionAnchorId.call(void 0, "delivery", item.id) })
1041
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkS7ATADREcjs.DeliveryRow, { item, id: _chunkZGQZLUO6cjs.devSectionAnchorId.call(void 0, "delivery", item.id) })
1037
1042
  },
1038
1043
  item.id
1039
1044
  )
@@ -1045,8 +1050,8 @@ function DeliveryTable({ items, isLoading = false }) {
1045
1050
 
1046
1051
  var DEFAULT_COMPLETED_ENDPOINT = "/api/delivery/completed";
1047
1052
  var DEFAULT_IN_PROGRESS_ENDPOINT = "/api/delivery/in-progress";
1048
- var DEFAULT_SEARCH_PARAM_KEY3 = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.search;
1049
- var DEFAULT_TASK_TYPE_PARAM_KEY = _chunkCPADTPX4cjs.DEV_SECTION_PARAM_KEYS.deliveryTaskType;
1053
+ var DEFAULT_SEARCH_PARAM_KEY3 = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.search;
1054
+ var DEFAULT_TASK_TYPE_PARAM_KEY = _chunkZGQZLUO6cjs.DEV_SECTION_PARAM_KEYS.deliveryTaskType;
1050
1055
  function DeliveryLists({
1051
1056
  completedApiEndpoint = DEFAULT_COMPLETED_ENDPOINT,
1052
1057
  inProgressApiEndpoint = DEFAULT_IN_PROGRESS_ENDPOINT,
@@ -1076,8 +1081,8 @@ function DeliveryLists({
1076
1081
  const queryString = params.toString();
1077
1082
  const queryParam = queryString ? `?${queryString}` : "";
1078
1083
  const [completedResponse, inProgressResponse] = await Promise.all([
1079
- _chunk5RJUHUCIcjs.contentFetch.call(void 0, `${completedApiEndpoint}${queryParam}`),
1080
- _chunk5RJUHUCIcjs.contentFetch.call(void 0, `${inProgressApiEndpoint}${queryParam}`)
1084
+ _chunkQTO3WYB2cjs.contentFetch.call(void 0, `${completedApiEndpoint}${queryParam}`),
1085
+ _chunkQTO3WYB2cjs.contentFetch.call(void 0, `${inProgressApiEndpoint}${queryParam}`)
1081
1086
  ]);
1082
1087
  if (!completedResponse.ok || !inProgressResponse.ok) {
1083
1088
  throw new Error("Failed to fetch delivery items");
@@ -1099,19 +1104,19 @@ function DeliveryLists({
1099
1104
  }
1100
1105
  fetchDeliveryData();
1101
1106
  }, [searchQuery, taskTypeFilter, completedApiEndpoint, inProgressApiEndpoint, searchParamKey, taskTypeParamKey]);
1102
- const filteredCompleted = _optionalChain([data, 'optionalAccess', _26 => _26.completed]) || [];
1103
- const filteredInProgress = _optionalChain([data, 'optionalAccess', _27 => _27.inProgress]) || [];
1104
- _chunk5RJUHUCIcjs.useScrollToHash.call(void 0, data, { headerOffset: _chunk5RJUHUCIcjs.STICKY_HEADER_OFFSET_PX });
1107
+ const filteredCompleted = _optionalChain([data, 'optionalAccess', _22 => _22.completed]) || [];
1108
+ const filteredInProgress = _optionalChain([data, 'optionalAccess', _23 => _23.inProgress]) || [];
1109
+ _chunkQTO3WYB2cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunkQTO3WYB2cjs.STICKY_HEADER_OFFSET_PX });
1105
1110
  const showCompleted = true;
1106
1111
  const showInProgress = true;
1107
1112
  const hasActiveFilters = searchQuery !== "" || taskTypeFilter !== "all";
1108
1113
  const hasResults = showCompleted && filteredCompleted.length > 0 || showInProgress && filteredInProgress.length > 0;
1109
1114
  if (error) {
1110
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.LoadError, { message: error, onRetry: () => window.location.reload() }) });
1115
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.LoadError, { message: error, onRetry: () => window.location.reload() }) });
1111
1116
  }
1112
1117
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full flex flex-col gap-[40px]", children: [
1113
1118
  !isLoading && !hasResults && (hasActiveFilters ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1114
- _chunkZYQAFJLFcjs.EmptyState,
1119
+ _chunkV643QZFIcjs.EmptyState,
1115
1120
  {
1116
1121
  type: "search",
1117
1122
  title: "No tasks found",
@@ -1126,7 +1131,7 @@ function DeliveryLists({
1126
1131
  }
1127
1132
  }
1128
1133
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1129
- _chunkZYQAFJLFcjs.EmptyState,
1134
+ _chunkV643QZFIcjs.EmptyState,
1130
1135
  {
1131
1136
  type: "generic",
1132
1137
  title: "No tasks available",
@@ -1175,7 +1180,7 @@ function useLegalDocs(docType, options = {}) {
1175
1180
  try {
1176
1181
  setIsLoading(true);
1177
1182
  setError(null);
1178
- const response = await _chunk5RJUHUCIcjs.contentFetch.call(void 0, effectiveEndpoint);
1183
+ const response = await _chunkQTO3WYB2cjs.contentFetch.call(void 0, effectiveEndpoint);
1179
1184
  if (!response.ok) {
1180
1185
  throw new Error(
1181
1186
  `Failed to fetch ${docType} document: ${response.status} ${response.statusText}`
@@ -1228,21 +1233,21 @@ function LegalDocumentPage({
1228
1233
  initialData = null,
1229
1234
  initialLastUpdatedLabel = null,
1230
1235
  apiEndpoint,
1231
- MarkdownRenderer = _chunkCPADTPX4cjs.RichMarkdownRenderer,
1236
+ MarkdownRenderer = _chunkZGQZLUO6cjs.RichMarkdownRenderer,
1232
1237
  backButton,
1233
1238
  shell = true
1234
1239
  }) {
1235
1240
  const router = _chunkSSJNN5BScjs.useRouter.call(void 0, );
1236
1241
  const { data, isLoading, error } = useLegalDocs(docType, { initialData, apiEndpoint });
1237
1242
  const backCfg = backButton === false ? void 0 : {
1238
- label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _28 => _28.label]), () => ( "Back to home")),
1239
- onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _29 => _29.href]), () => ( "/")))
1243
+ label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _24 => _24.label]), () => ( "Back to home")),
1244
+ onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _25 => _25.href]), () => ( "/")))
1240
1245
  };
1241
- const fallbackLastUpdatedLabel = _optionalChain([data, 'optionalAccess', _30 => _30.lastSynced]) != null ? _chunkCPADTPX4cjs.formatLegalDate.call(void 0, data.lastSynced) : null;
1246
+ const fallbackLastUpdatedLabel = _optionalChain([data, 'optionalAccess', _26 => _26.lastSynced]) != null ? _chunkZGQZLUO6cjs.formatLegalDate.call(void 0, data.lastSynced) : null;
1242
1247
  const effectiveLastUpdatedLabel = _nullishCoalesce(initialLastUpdatedLabel, () => ( fallbackLastUpdatedLabel));
1243
1248
  const subtitle = effectiveLastUpdatedLabel ? `Last Updated: ${effectiveLastUpdatedLabel}` : fallbackDescription;
1244
- const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkCPADTPX4cjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: [
1245
- _optionalChain([data, 'optionalAccess', _31 => _31.sourceFile]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary opacity-75", children: [
1249
+ const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkZGQZLUO6cjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: [
1250
+ _optionalChain([data, 'optionalAccess', _27 => _27.sourceFile]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h6 text-ods-text-secondary opacity-75", children: [
1246
1251
  "Source: ",
1247
1252
  data.sourceFile
1248
1253
  ] }),
@@ -1288,7 +1293,7 @@ function LegalDocumentPage({
1288
1293
  ] })
1289
1294
  ] }) }) }) }) })
1290
1295
  ] });
1291
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCPADTPX4cjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
1296
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGQZLUO6cjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
1292
1297
  }
1293
1298
 
1294
1299
 
@@ -1305,4 +1310,4 @@ function LegalDocumentPage({
1305
1310
 
1306
1311
 
1307
1312
  exports.ProductReleasesView = ProductReleasesView; exports.MediaGalleryStrip = MediaGalleryStrip; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.useRoadmapVoting = useRoadmapVoting; exports.RoadmapGrid = RoadmapGrid; exports.RoadmapGridSkeleton = RoadmapGridSkeleton; exports.RoadmapView = RoadmapView; exports.DeliveryTable = DeliveryTable; exports.DeliveryLists = DeliveryLists; exports.useLegalDocs = useLegalDocs; exports.LegalDocumentPage = LegalDocumentPage;
1308
- //# sourceMappingURL=chunk-72ZPQTPN.cjs.map
1313
+ //# sourceMappingURL=chunk-Y2WE2GOL.cjs.map