@flamingo-stack/openframe-frontend-core 0.0.854 → 0.0.856
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.
- package/dist/build/export-map.json +1 -1
- package/dist/{case-study-card-WP5Z234Q.cjs → case-study-card-6VAMNHLU.cjs} +8 -8
- package/dist/{chunk-ZDPPNHA2.cjs → chunk-2BTEERLH.cjs} +3 -3
- package/dist/{chunk-FBANHIAG.cjs → chunk-2JCA7BRK.cjs} +19 -19
- package/dist/{chunk-GVHCQRUE.cjs → chunk-2P72KAG5.cjs} +23 -23
- package/dist/{chunk-YY3WP2YQ.cjs → chunk-3GJ75OUL.cjs} +183 -183
- package/dist/{chunk-FJXSKMQJ.cjs → chunk-4H3J57AN.cjs} +25 -25
- package/dist/{chunk-6GWRPW6B.cjs → chunk-5NK3FUHY.cjs} +4 -4
- package/dist/{chunk-DLTPSP5F.cjs → chunk-5TYG5JNB.cjs} +2 -2
- package/dist/{chunk-63ZV3UGG.cjs → chunk-65NMKAPQ.cjs} +12 -12
- package/dist/{chunk-IGVAPIEW.cjs → chunk-6C4OR4MZ.cjs} +2 -2
- package/dist/{chunk-GG466XFQ.cjs → chunk-6DMH4GXN.cjs} +30 -5
- package/dist/{chunk-2IJMHBOK.cjs → chunk-77GX573I.cjs} +9 -9
- package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
- package/dist/{chunk-JKBNK5U6.cjs → chunk-D6GEMVHD.cjs} +3 -3
- package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
- package/dist/{chunk-S5P6CF5R.cjs → chunk-E5OQHFM6.cjs} +54 -54
- package/dist/{chunk-5TXE7BXT.cjs → chunk-EOUEUYCQ.cjs} +54 -54
- package/dist/{chunk-EIHMPQRQ.cjs → chunk-ESGE7CUX.cjs} +14 -14
- package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
- package/dist/{chunk-3WXHPD6N.cjs → chunk-F33EAPD2.cjs} +124 -124
- package/dist/{chunk-4SSJ3T3N.cjs → chunk-GK577ZLJ.cjs} +3 -13
- package/dist/{chunk-ETQNMR2K.cjs → chunk-GTUQGVXH.cjs} +8 -8
- package/dist/{chunk-7MOBD44H.cjs → chunk-HGM7WDJT.cjs} +28 -28
- package/dist/{chunk-VMAOZA2V.cjs → chunk-HML3JUXF.cjs} +324 -322
- package/dist/{chunk-4O5N5CGK.cjs → chunk-J3CFRGZ2.cjs} +17 -17
- package/dist/{chunk-LQDAB5V5.cjs → chunk-KZAQPRTA.cjs} +9 -11
- package/dist/{chunk-6DCUGIGU.cjs → chunk-LSLRJJFP.cjs} +2 -2
- package/dist/{chunk-ONYANAMA.cjs → chunk-MX52LZ6M.cjs} +6 -6
- package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
- package/dist/{chunk-BAA3YCLT.cjs → chunk-OW5MQKCI.cjs} +103 -103
- package/dist/{chunk-5HMENXSR.cjs → chunk-PCQ2HKU3.cjs} +5 -5
- package/dist/{chunk-D2XGRWPW.cjs → chunk-QLFNMWBP.cjs} +90 -90
- package/dist/{chunk-UPQ4MAR7.cjs → chunk-QZXCUY36.cjs} +53 -53
- package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
- package/dist/{chunk-PRJZMZ3X.cjs → chunk-SJZWVMBF.cjs} +678 -678
- package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
- package/dist/{chunk-ACPOJE32.cjs → chunk-STV6VJ3U.cjs} +21 -21
- package/dist/{chunk-QD727QFI.cjs → chunk-T54I5ZZY.cjs} +7 -7
- package/dist/{chunk-4LTLEUY5.cjs → chunk-TW5Y4D5I.cjs} +7 -7
- package/dist/{chunk-6XU3RCK3.cjs → chunk-UHGARY3S.cjs} +27 -27
- package/dist/{chunk-7J5NSWJG.cjs → chunk-UZIGMLTH.cjs} +100 -100
- package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
- package/dist/{chunk-5OENPMRU.cjs → chunk-XI3AMOW6.cjs} +65 -62
- package/dist/{chunk-TMPLHUUU.cjs → chunk-XTLMWLFB.cjs} +6 -6
- package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
- package/dist/{chunk-RMI6O3AE.cjs → chunk-YB244RRB.cjs} +36 -36
- package/dist/{chunk-KA3L6D5N.cjs → chunk-YSXVRTGT.cjs} +9 -12
- package/dist/{chunk-H3GBPYPS.cjs → chunk-ZYAVIRQV.cjs} +25 -25
- package/dist/{cloud-tenants-5RNK4ZAT.cjs → cloud-tenants-J5T4YL2P.cjs} +28 -29
- package/dist/components/case-studies/index.cjs +44 -45
- package/dist/components/chat/chat-message-row.d.ts +1 -1
- package/dist/components/chat/chat-message-row.d.ts.map +1 -1
- package/dist/components/chat/chat-message-row.js +4 -4
- package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts +7 -13
- package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/use-cover-image-fallback.js +2 -8
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.js +8 -4
- package/dist/components/chat/index.cjs +22 -23
- package/dist/components/contact/index.cjs +29 -30
- package/dist/components/docs/index.cjs +32 -33
- package/dist/components/embeds/index.cjs +29 -30
- package/dist/components/faq/index.cjs +30 -31
- package/dist/components/features/index.cjs +28 -29
- package/dist/components/features/remote-session/remote-session-viewers.d.ts +6 -1
- package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-viewers.js +10 -3
- package/dist/components/help-center-pages/index.cjs +134 -135
- package/dist/components/index.cjs +112 -113
- package/dist/components/meeting-scheduler/index.cjs +102 -103
- package/dist/components/navigation/index.cjs +31 -32
- package/dist/components/onboarding-guides/index.cjs +31 -32
- package/dist/components/product-demo/index.cjs +39 -40
- package/dist/components/related-content/index.cjs +16 -17
- package/dist/components/tickets/index.cjs +35 -36
- package/dist/components/ui/entity-image.d.ts +1 -2
- package/dist/components/ui/entity-image.d.ts.map +1 -1
- package/dist/components/ui/entity-image.js +4 -8
- package/dist/components/ui/index.cjs +28 -29
- package/dist/components/ui/markdown/base-components.d.ts +0 -13
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
- package/dist/components/ui/markdown/base-components.js +7 -7
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.js +3 -8
- package/dist/{devices-44O5PZOW.cjs → devices-IJDF7SSK.cjs} +29 -30
- package/dist/embed-shims/index.cjs +3 -2
- package/dist/embed-shims/next-image.cjs +3 -2
- package/dist/embed-shims/next-image.d.ts +2 -0
- package/dist/embed-shims/next-image.d.ts.map +1 -1
- package/dist/embed-shims/next-image.js +14 -4
- package/dist/{embeddable-chat-W3CLMGC3.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
- package/dist/hooks/index.cjs +23 -16
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/use-authed-asset-src.d.ts +77 -2
- package/dist/hooks/use-authed-asset-src.d.ts.map +1 -1
- package/dist/hooks/use-authed-asset-src.js +185 -73
- package/dist/hooks/use-authed-image-src.d.ts +11 -4
- package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
- package/dist/hooks/use-authed-image-src.js +6 -2
- package/dist/hooks/use-image-fallback.d.ts +16 -0
- package/dist/hooks/use-image-fallback.d.ts.map +1 -0
- package/dist/hooks/use-image-fallback.js +14 -0
- package/dist/index.cjs +40 -36
- package/dist/{knowledge-UUU3WVO3.cjs → knowledge-5LIK6Q4E.cjs} +29 -30
- package/dist/{logs-DFHNSODA.cjs → logs-FMENCAXT.cjs} +35 -36
- package/dist/{policies-RGFUGDBP.cjs → policies-DKQEEKB4.cjs} +32 -33
- package/dist/{remote-session-U3H77HKR.cjs → remote-session-6X7CAHBC.cjs} +13 -14
- package/dist/{scripts-KOVO5DHW.cjs → scripts-4EPUIFHF.cjs} +35 -36
- package/dist/{software-update-4EKHVV5W.cjs → software-update-IMNRXBAI.cjs} +32 -33
- package/dist/{tickets-board-YIFOVMDX.cjs → tickets-board-POYZS7BW.cjs} +16 -17
- package/dist/utils/app-origins.d.ts +3 -6
- package/dist/utils/app-origins.d.ts.map +1 -1
- package/dist/utils/app-origins.js +8 -1
- package/dist/utils/embed-authed-fetch.d.ts +46 -26
- package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
- package/dist/utils/embed-authed-fetch.js +24 -8
- package/dist/utils/index.cjs +4 -1
- package/dist/{video-file-player-XMOB234V.cjs → video-file-player-RIOT24NT.cjs} +3 -4
- package/package.json +1 -1
- package/src/components/chat/chat-message-row.tsx +8 -7
- package/src/components/chat/entity-cards/use-cover-image-fallback.ts +8 -28
- package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +19 -8
- package/src/components/features/remote-session/remote-session-viewers.tsx +16 -3
- package/src/components/ui/entity-image.tsx +4 -12
- package/src/components/ui/markdown/base-components.tsx +15 -20
- package/src/components/ui/square-avatar.tsx +5 -8
- package/src/embed-shims/next-image.tsx +34 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-authed-asset-src.ts +323 -107
- package/src/hooks/use-authed-image-src.ts +15 -5
- package/src/hooks/use-image-fallback.ts +31 -0
- package/src/utils/app-origins.ts +12 -7
- package/src/utils/embed-authed-fetch.ts +71 -32
- package/dist/chunk-YSDB6HGQ.cjs +0 -102
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkUHGARY3Scjs = require('./chunk-UHGARY3S.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunk5NK3FUHYcjs = require('./chunk-5NK3FUHY.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunk2P72KAG5cjs = require('./chunk-2P72KAG5.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,32 +23,32 @@ var _chunkGVHCQRUEcjs = require('./chunk-GVHCQRUE.cjs');
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkSJZWVMBFcjs = require('./chunk-SJZWVMBF.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var _chunkXI3AMOW6cjs = require('./chunk-XI3AMOW6.cjs');
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunkQZXCUY36cjs = require('./chunk-QZXCUY36.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkF33EAPD2cjs = require('./chunk-F33EAPD2.cjs');
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var _chunkHML3JUXFcjs = require('./chunk-HML3JUXF.cjs');
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
var _chunkEWCFJLNUcjs = require('./chunk-EWCFJLNU.cjs');
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
var
|
|
51
|
+
var _chunk77GX573Icjs = require('./chunk-77GX573I.cjs');
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
@@ -56,7 +56,7 @@ var _chunk2IJMHBOKcjs = require('./chunk-2IJMHBOK.cjs');
|
|
|
56
56
|
var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
var
|
|
59
|
+
var _chunk2JCA7BRKcjs = require('./chunk-2JCA7BRK.cjs');
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
@@ -65,7 +65,7 @@ var _chunkFBANHIAGcjs = require('./chunk-FBANHIAG.cjs');
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
var
|
|
68
|
+
var _chunk3GJ75OULcjs = require('./chunk-3GJ75OUL.cjs');
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
@@ -74,23 +74,23 @@ var _chunkYY3WP2YQcjs = require('./chunk-YY3WP2YQ.cjs');
|
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
var
|
|
77
|
+
var _chunkAYMY2VNBcjs = require('./chunk-AYMY2VNB.cjs');
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
var
|
|
84
|
+
var _chunkEXQSIX2Icjs = require('./chunk-EXQSIX2I.cjs');
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
var
|
|
87
|
+
var _chunkXCQ5I27Zcjs = require('./chunk-XCQ5I27Z.cjs');
|
|
88
88
|
|
|
89
89
|
|
|
90
|
-
var
|
|
90
|
+
var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
var
|
|
93
|
+
var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
@@ -118,8 +118,8 @@ var _jsxruntime = require('react/jsx-runtime');
|
|
|
118
118
|
var DEFAULT_ENDPOINT = "/api/releases";
|
|
119
119
|
var PRODUCT_RELEASES_PAGE_SIZE = 5;
|
|
120
120
|
var PAGER_ROW_CLASS = "flex w-full justify-center";
|
|
121
|
-
var DEFAULT_SEARCH_PARAM_KEY =
|
|
122
|
-
var DEFAULT_STATUS_PARAM_KEY =
|
|
121
|
+
var DEFAULT_SEARCH_PARAM_KEY = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.search;
|
|
122
|
+
var DEFAULT_STATUS_PARAM_KEY = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.releaseStatus;
|
|
123
123
|
var DEFAULT_PAGE_PARAM_KEY = "page";
|
|
124
124
|
function ReleaseRow({
|
|
125
125
|
release,
|
|
@@ -127,24 +127,24 @@ function ReleaseRow({
|
|
|
127
127
|
buildCardProps
|
|
128
128
|
}) {
|
|
129
129
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
130
|
-
const cta =
|
|
130
|
+
const cta = _chunkF33EAPD2cjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _2 => _2.composeContentUrl]), {
|
|
131
131
|
type: "product_release",
|
|
132
132
|
slug: release.slug,
|
|
133
133
|
basePath,
|
|
134
134
|
platforms: release.product_release_platforms
|
|
135
135
|
});
|
|
136
|
-
const { target, rel } =
|
|
136
|
+
const { target, rel } = _chunkAYMY2VNBcjs.useEntityCardLink.call(void 0, { href: cta.href, targetPlatform: cta.targetPlatform });
|
|
137
137
|
const onClick = (e) => {
|
|
138
|
-
if (e.defaultPrevented ||
|
|
138
|
+
if (e.defaultPrevented || _chunkEXQSIX2Icjs.isModifierClick.call(void 0, e) || target === "_blank") return;
|
|
139
139
|
e.preventDefault();
|
|
140
|
-
|
|
140
|
+
_chunk77GX573Icjs.executeNavigationImperative.call(void 0, {
|
|
141
141
|
runtime,
|
|
142
142
|
href: cta.href,
|
|
143
143
|
targetPlatform: cta.targetPlatform
|
|
144
144
|
});
|
|
145
145
|
};
|
|
146
146
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
147
|
-
|
|
147
|
+
_chunk3GJ75OULcjs.ProductReleaseCard,
|
|
148
148
|
{
|
|
149
149
|
size: "lg",
|
|
150
150
|
title: release.title,
|
|
@@ -160,7 +160,7 @@ function ProductReleasesView({
|
|
|
160
160
|
initialData,
|
|
161
161
|
itemsPerPage = PRODUCT_RELEASES_PAGE_SIZE,
|
|
162
162
|
basePath = "/releases",
|
|
163
|
-
buildCardProps =
|
|
163
|
+
buildCardProps = _chunk3GJ75OULcjs.buildProductReleaseCardProps,
|
|
164
164
|
searchParamKey = DEFAULT_SEARCH_PARAM_KEY,
|
|
165
165
|
statusParamKey = DEFAULT_STATUS_PARAM_KEY,
|
|
166
166
|
pageParamKey = DEFAULT_PAGE_PARAM_KEY,
|
|
@@ -182,11 +182,11 @@ function ProductReleasesView({
|
|
|
182
182
|
isLoading: fetching,
|
|
183
183
|
error,
|
|
184
184
|
reload
|
|
185
|
-
} =
|
|
185
|
+
} = _chunk2JCA7BRKcjs.useSelfFetch.call(void 0, inScope ? null : `${endpoint}?${listParams.toString()}`, {
|
|
186
186
|
initialData
|
|
187
187
|
});
|
|
188
188
|
const isLoading = inScope || fetching;
|
|
189
|
-
|
|
189
|
+
_chunkUHGARY3Scjs.usePageDataSync.call(void 0, _optionalChain([data, 'optionalAccess', _3 => _3.sync]), isLoading && !data);
|
|
190
190
|
const releases = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _4 => _4.data]), () => ( []));
|
|
191
191
|
const totalCount = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _5 => _5.count]), () => ( 0));
|
|
192
192
|
const totalPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, totalCount, itemsPerPage);
|
|
@@ -205,10 +205,10 @@ function ProductReleasesView({
|
|
|
205
205
|
router.replace(`${pathname}?${params.toString()}`, { scroll: false });
|
|
206
206
|
};
|
|
207
207
|
if (error) {
|
|
208
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
208
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.LoadError, { message: "Failed to load releases.", onRetry: reload }) });
|
|
209
209
|
}
|
|
210
210
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.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,
|
|
211
|
-
|
|
211
|
+
_chunkUHGARY3Scjs.ListEmptyState,
|
|
212
212
|
{
|
|
213
213
|
isFiltered: hasActiveFilters,
|
|
214
214
|
filtered: {
|
|
@@ -229,13 +229,13 @@ function ProductReleasesView({
|
|
|
229
229
|
style: { visibility: isLoading || release ? "visible" : "hidden" },
|
|
230
230
|
children: !isLoading && release ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReleaseRow, { release, basePath, buildCardProps }) : (
|
|
231
231
|
// Read, or a hidden slot past the page's last release: the card draws its own skeleton.
|
|
232
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.ProductReleaseCard, { loading: true, size: "lg", title: "", version: "", formattedDate: "" })
|
|
233
233
|
)
|
|
234
234
|
}
|
|
235
235
|
);
|
|
236
236
|
} }) }),
|
|
237
237
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-6 flex justify-center content-md:mt-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
238
|
-
|
|
238
|
+
_chunk5NK3FUHYcjs.UnifiedPagination,
|
|
239
239
|
{
|
|
240
240
|
loading: isLoading,
|
|
241
241
|
currentPage,
|
|
@@ -283,13 +283,13 @@ function MediaGalleryStrip({ items, className }) {
|
|
|
283
283
|
setGalleryOpen(true);
|
|
284
284
|
},
|
|
285
285
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "block h-full w-full", TILE_FRAME_CLASS), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
286
|
-
|
|
286
|
+
_chunk6DMH4GXNcjs.next_image_default,
|
|
287
287
|
{
|
|
288
288
|
src: mediaItem.media_url,
|
|
289
289
|
alt: mediaItem.title || `Media ${index + 1}`,
|
|
290
290
|
className: "h-full w-full object-cover",
|
|
291
|
-
width:
|
|
292
|
-
height:
|
|
291
|
+
width: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.cover,
|
|
292
|
+
height: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.cover * 5 / 6,
|
|
293
293
|
unoptimized: true
|
|
294
294
|
}
|
|
295
295
|
) })
|
|
@@ -297,10 +297,10 @@ function MediaGalleryStrip({ items, className }) {
|
|
|
297
297
|
mediaItem.id || index
|
|
298
298
|
);
|
|
299
299
|
}
|
|
300
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
300
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: tileClass, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
|
|
301
301
|
}) }),
|
|
302
302
|
galleryImages.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
303
|
-
|
|
303
|
+
_chunk3GJ75OULcjs.ImageGalleryModal,
|
|
304
304
|
{
|
|
305
305
|
images: galleryImages,
|
|
306
306
|
isOpen: galleryOpen,
|
|
@@ -321,7 +321,7 @@ function MediaGalleryStripSkeleton({
|
|
|
321
321
|
var _lucidereact = require('lucide-react');
|
|
322
322
|
|
|
323
323
|
|
|
324
|
-
var DefaultMarkdownRenderer =
|
|
324
|
+
var DefaultMarkdownRenderer = _chunkSJZWVMBFcjs.RichMarkdownRenderer;
|
|
325
325
|
var CONTENT_STACK_CLASS = "space-y-6 content-md:space-y-8";
|
|
326
326
|
var RELEASE_TITLE_SKELETON_LINES = { phone: 7, md: 4, lg: 2 };
|
|
327
327
|
var METADATA_GRID_CLASS = "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border content-md:grid-cols-4";
|
|
@@ -370,14 +370,14 @@ function ReleaseDetailPage({
|
|
|
370
370
|
shell = true
|
|
371
371
|
}) {
|
|
372
372
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
373
|
-
const captions =
|
|
374
|
-
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
373
|
+
const captions = _chunkHML3JUXFcjs.useCaptions.call(void 0, );
|
|
374
|
+
const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
|
|
375
375
|
const seed = initialData == null ? void 0 : initialData;
|
|
376
376
|
const {
|
|
377
377
|
data: release,
|
|
378
378
|
isLoading,
|
|
379
379
|
error
|
|
380
|
-
} =
|
|
380
|
+
} = _chunk2JCA7BRKcjs.useSelfFetch.call(void 0, slug ? `${endpoint}/${encodeURIComponent(slug)}` : null, {
|
|
381
381
|
initialData: seed
|
|
382
382
|
});
|
|
383
383
|
const showBackButton = backButton !== false;
|
|
@@ -397,7 +397,7 @@ function ReleaseDetailPage({
|
|
|
397
397
|
if (roadmapTasksData && roadmapTasksData.length > 0 && RoadmapSection) {
|
|
398
398
|
setRoadmapLoading(true);
|
|
399
399
|
const roadmapIds = roadmapTasksData.map((t) => t.clickup_task_id).join(",");
|
|
400
|
-
const roadmapResponse = await
|
|
400
|
+
const roadmapResponse = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, `${roadmapApiEndpoint}?task_ids=${roadmapIds}`);
|
|
401
401
|
const roadmapData = roadmapResponse.ok ? await roadmapResponse.json() : null;
|
|
402
402
|
if (cancelled) return;
|
|
403
403
|
setRoadmapTasks(_nullishCoalesce(_optionalChain([roadmapData, 'optionalAccess', _7 => _7.items]), () => ( [])));
|
|
@@ -407,7 +407,7 @@ function ReleaseDetailPage({
|
|
|
407
407
|
if (deliveryTasksData && deliveryTasksData.length > 0 && DeliverySection) {
|
|
408
408
|
setDeliveryLoading(true);
|
|
409
409
|
const deliveryIds = deliveryTasksData.map((t) => t.clickup_task_id).join(",");
|
|
410
|
-
const deliveryResponse = await
|
|
410
|
+
const deliveryResponse = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, `${deliveryApiEndpoint}?task_ids=${deliveryIds}`);
|
|
411
411
|
const deliveryPayload = deliveryResponse.ok ? await deliveryResponse.json() : null;
|
|
412
412
|
if (cancelled) return;
|
|
413
413
|
setDeliveryData(
|
|
@@ -464,7 +464,7 @@ function ReleaseDetailPage({
|
|
|
464
464
|
const bugFixed = view.bugs_fixed;
|
|
465
465
|
const improvements = view.improvements;
|
|
466
466
|
const page = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
467
|
-
|
|
467
|
+
_chunkXI3AMOW6cjs.PageLayout,
|
|
468
468
|
{
|
|
469
469
|
title: releaseTitle,
|
|
470
470
|
subtitle: loading ? void 0 : `Version: ${releaseVersion}`,
|
|
@@ -477,7 +477,7 @@ function ReleaseDetailPage({
|
|
|
477
477
|
children: [
|
|
478
478
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CONTENT_STACK_CLASS, children: [
|
|
479
479
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
480
|
-
|
|
480
|
+
_chunkSJZWVMBFcjs.EntityTagBadges,
|
|
481
481
|
{
|
|
482
482
|
tags: view.product_release_tags,
|
|
483
483
|
max: RELEASE_TAG_ROW_MAX,
|
|
@@ -486,7 +486,7 @@ function ReleaseDetailPage({
|
|
|
486
486
|
),
|
|
487
487
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: METADATA_GRID_CLASS, children: [
|
|
488
488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
489
|
-
|
|
489
|
+
_chunk3GJ75OULcjs.EntityMetadataValueCell,
|
|
490
490
|
{
|
|
491
491
|
value: releaseType,
|
|
492
492
|
label: RELEASE_TYPE_LABEL,
|
|
@@ -494,7 +494,7 @@ function ReleaseDetailPage({
|
|
|
494
494
|
}
|
|
495
495
|
),
|
|
496
496
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
497
|
-
|
|
497
|
+
_chunk3GJ75OULcjs.EntityMetadataValueCell,
|
|
498
498
|
{
|
|
499
499
|
value: releaseStatus,
|
|
500
500
|
label: RELEASE_STATUS_LABEL,
|
|
@@ -502,16 +502,16 @@ function ReleaseDetailPage({
|
|
|
502
502
|
}
|
|
503
503
|
),
|
|
504
504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
505
|
-
|
|
505
|
+
_chunk3GJ75OULcjs.EntityMetadataValueCell,
|
|
506
506
|
{
|
|
507
|
-
value: releaseDate ?
|
|
507
|
+
value: releaseDate ? _chunk3GJ75OULcjs.formatReleaseDate.call(void 0, releaseDate) : "",
|
|
508
508
|
label: RELEASE_DATE_LABEL,
|
|
509
509
|
className: METADATA_CELL_EDGE_CLASS,
|
|
510
510
|
uppercase: false
|
|
511
511
|
}
|
|
512
512
|
),
|
|
513
513
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
514
|
-
|
|
514
|
+
_chunk3GJ75OULcjs.EntityMetadataAuthorCell,
|
|
515
515
|
{
|
|
516
516
|
author: _nullishCoalesce(author, () => ( { full_name: null, avatar_url: null })),
|
|
517
517
|
authorHref: _optionalChain([author, 'optionalAccess', _8 => _8.full_name]) ? authorHref : void 0
|
|
@@ -529,18 +529,18 @@ function ReleaseDetailPage({
|
|
|
529
529
|
highlightVideoThumbnail,
|
|
530
530
|
title: releaseTitle,
|
|
531
531
|
videoBites,
|
|
532
|
-
bitesTitle:
|
|
532
|
+
bitesTitle: _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
533
533
|
filterPublishedBites: true,
|
|
534
|
-
bitesProfile:
|
|
534
|
+
bitesProfile: _chunkAYMY2VNBcjs.toStripProfile.call(void 0, author),
|
|
535
535
|
bitesHref: typeof view.slug === "string" ? `/releases/${view.slug}` : void 0,
|
|
536
536
|
captionsUrl,
|
|
537
537
|
highlightCaptionsUrl
|
|
538
538
|
}
|
|
539
539
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
540
|
-
youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
541
|
-
!youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
540
|
+
youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { kind: "youtube", url: youtubeUrl, title: `${releaseTitle} - Video`, layout: "native" }),
|
|
541
|
+
!youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { url: mainVideoUrl, captionsUrl, layout: "centered" }),
|
|
542
542
|
highlightVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
543
|
-
|
|
543
|
+
_chunkAYMY2VNBcjs.Video,
|
|
544
544
|
{
|
|
545
545
|
url: highlightVideoUrl,
|
|
546
546
|
poster: highlightVideoThumbnail,
|
|
@@ -550,7 +550,7 @@ function ReleaseDetailPage({
|
|
|
550
550
|
)
|
|
551
551
|
] }) }),
|
|
552
552
|
releaseContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-primary text-h4", "data-loading-optional": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: releaseContent }) }),
|
|
553
|
-
hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
553
|
+
hasBreakingChanges && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Card, { className: "border-ods-error bg-ods-error/10", "data-loading-optional": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.CardContent, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
554
554
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-6 w-6 text-ods-error" }),
|
|
555
555
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
556
556
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-error text-h3", children: "Breaking Changes" }),
|
|
@@ -558,7 +558,7 @@ function ReleaseDetailPage({
|
|
|
558
558
|
] })
|
|
559
559
|
] }) }) }),
|
|
560
560
|
loading ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
561
|
-
|
|
561
|
+
_chunkSJZWVMBFcjs.ReleaseChangelogSection,
|
|
562
562
|
{
|
|
563
563
|
title: "Breaking Changes",
|
|
564
564
|
entries: breakingChanges || [],
|
|
@@ -570,7 +570,7 @@ function ReleaseDetailPage({
|
|
|
570
570
|
}
|
|
571
571
|
),
|
|
572
572
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
573
|
-
|
|
573
|
+
_chunkSJZWVMBFcjs.ReleaseChangelogSection,
|
|
574
574
|
{
|
|
575
575
|
title: "Features Added",
|
|
576
576
|
entries: featuresAdded || [],
|
|
@@ -580,7 +580,7 @@ function ReleaseDetailPage({
|
|
|
580
580
|
}
|
|
581
581
|
),
|
|
582
582
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
583
|
-
|
|
583
|
+
_chunkSJZWVMBFcjs.ReleaseChangelogSection,
|
|
584
584
|
{
|
|
585
585
|
title: "Bugs Fixed",
|
|
586
586
|
entries: bugFixed || [],
|
|
@@ -590,7 +590,7 @@ function ReleaseDetailPage({
|
|
|
590
590
|
}
|
|
591
591
|
),
|
|
592
592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
593
|
-
|
|
593
|
+
_chunkSJZWVMBFcjs.ReleaseChangelogSection,
|
|
594
594
|
{
|
|
595
595
|
title: "Improvements",
|
|
596
596
|
entries: improvements || [],
|
|
@@ -619,9 +619,9 @@ function ReleaseDetailPage({
|
|
|
619
619
|
return deliveryLoading ? (
|
|
620
620
|
// The loaded preview's frame, its height written into the markup (`fixedHeight`), so the tables'
|
|
621
621
|
// loading state takes the collapsed preview's place, toggle row included. Inert: nothing to open yet.
|
|
622
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { inert: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
622
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { inert: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.FadePreview, { fixedHeight: true, collapsedHeight: DELIVERY_PREVIEW_HEIGHT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DELIVERY_TABLES_STACK_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliverySection, { data: deliveryData, isLoading: deliveryLoading }) }) }) })
|
|
623
623
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
624
|
-
|
|
624
|
+
_chunkSJZWVMBFcjs.FadePreview,
|
|
625
625
|
{
|
|
626
626
|
hiddenCount: deliveryCount - 1,
|
|
627
627
|
collapsedHeight: DELIVERY_PREVIEW_HEIGHT,
|
|
@@ -633,7 +633,7 @@ function ReleaseDetailPage({
|
|
|
633
633
|
] }),
|
|
634
634
|
(_optionalChain([githubReleases, 'optionalAccess', _9 => _9.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _10 => _10.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full space-y-1", "data-loading-optional": true, children: [
|
|
635
635
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "tracking-[-0.28px] text-ods-text-secondary text-h5", children: "Related Links" }),
|
|
636
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
636
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Card, { className: "border-ods-border bg-ods-card p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
637
637
|
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: [
|
|
638
638
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWCFJLNUcjs.GithubClassicIcon, { className: "shrink-0", size: 24, color: "var(--color-text-secondary)" }),
|
|
639
639
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: "Github Release" }),
|
|
@@ -701,7 +701,7 @@ function ReleaseDetailPage({
|
|
|
701
701
|
]
|
|
702
702
|
}
|
|
703
703
|
);
|
|
704
|
-
return renderShell(loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
704
|
+
return renderShell(loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.LoadingFallback, { label: "Loading the release", children: page }) : page);
|
|
705
705
|
}
|
|
706
706
|
|
|
707
707
|
// src/components/shared/roadmap/use-roadmap-voting.ts
|
|
@@ -721,10 +721,10 @@ function readStoredVotes(storageKey) {
|
|
|
721
721
|
function useRoadmapVoting(options = {}) {
|
|
722
722
|
const voteApiEndpoint = _nullishCoalesce(options.voteApiEndpoint, () => ( DEFAULT_VOTE_ENDPOINT));
|
|
723
723
|
const storageKey = _nullishCoalesce(options.storageKey, () => ( DEFAULT_STORAGE_KEY));
|
|
724
|
-
const { getSignals } =
|
|
724
|
+
const { getSignals } = _chunkQZXCUY36cjs.useHumanitySignals.call(void 0, );
|
|
725
725
|
const [votes, setVotes] = _react.useState.call(void 0, NO_VOTES);
|
|
726
726
|
const [loadedKey, setLoadedKey] = _react.useState.call(void 0, null);
|
|
727
|
-
const hydrated =
|
|
727
|
+
const hydrated = _chunkHML3JUXFcjs.useIsHydrated.call(void 0, );
|
|
728
728
|
if (hydrated && loadedKey !== storageKey) {
|
|
729
729
|
setLoadedKey(storageKey);
|
|
730
730
|
setVotes(readStoredVotes(storageKey));
|
|
@@ -755,7 +755,7 @@ function useRoadmapVoting(options = {}) {
|
|
|
755
755
|
action = "remove";
|
|
756
756
|
} else {
|
|
757
757
|
if (currentVote) {
|
|
758
|
-
await
|
|
758
|
+
await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, voteApiEndpoint, {
|
|
759
759
|
method: "POST",
|
|
760
760
|
headers: { "Content-Type": "application/json" },
|
|
761
761
|
body: JSON.stringify({
|
|
@@ -774,7 +774,7 @@ function useRoadmapVoting(options = {}) {
|
|
|
774
774
|
[taskId]: newVote
|
|
775
775
|
}));
|
|
776
776
|
try {
|
|
777
|
-
const response = await
|
|
777
|
+
const response = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, voteApiEndpoint, {
|
|
778
778
|
method: "POST",
|
|
779
779
|
headers: { "Content-Type": "application/json" },
|
|
780
780
|
body: JSON.stringify({ taskId, voteType, action, ...getSignals() })
|
|
@@ -823,7 +823,7 @@ function RoadmapGridSkeleton({
|
|
|
823
823
|
columns = 2,
|
|
824
824
|
votes = true
|
|
825
825
|
}) {
|
|
826
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the roadmap", announce: region, className: roadmapGridClass(columns, showLeftMargin), children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
826
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the roadmap", announce: region, className: roadmapGridClass(columns, showLeftMargin), children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.RoadmapCard, { loading: true, onVote: votes ? NO_VOTE : void 0 }) }, i)) });
|
|
827
827
|
}
|
|
828
828
|
var DEFAULT_BUILD_REFRESH_URL = (taskId) => `/api/roadmap/${taskId}`;
|
|
829
829
|
var BACKLOG = "Backlog";
|
|
@@ -882,10 +882,10 @@ function RoadmapGridSingle({
|
|
|
882
882
|
// and scrolls.
|
|
883
883
|
// `data-loading-item`: how many items a quarter holds is read data (the loading-state gate measures it as a list).
|
|
884
884
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
885
|
-
|
|
885
|
+
_chunk3GJ75OULcjs.RoadmapCard,
|
|
886
886
|
{
|
|
887
887
|
item,
|
|
888
|
-
id:
|
|
888
|
+
id: _chunkF33EAPD2cjs.devSectionAnchorId.call(void 0, "roadmap", item.id),
|
|
889
889
|
userVote: getVote(item.id),
|
|
890
890
|
onVote: onVote ? (voteType) => onVote(item.id, voteType) : void 0,
|
|
891
891
|
isVoting: votingTasks.has(item.id)
|
|
@@ -950,7 +950,7 @@ function RoadmapGrid({
|
|
|
950
950
|
try {
|
|
951
951
|
const result = await toggleVote(taskId, voteType);
|
|
952
952
|
if (result.success) {
|
|
953
|
-
const response = await
|
|
953
|
+
const response = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, buildRefreshUrl(taskId));
|
|
954
954
|
if (response.ok) {
|
|
955
955
|
const data = await response.json();
|
|
956
956
|
if (data.item && onItemUpdate) onItemUpdate(data.item);
|
|
@@ -1033,7 +1033,7 @@ function RoadmapGrid({
|
|
|
1033
1033
|
}
|
|
1034
1034
|
if (items.length === 0) {
|
|
1035
1035
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1036
|
-
|
|
1036
|
+
_chunk5NK3FUHYcjs.EmptyState,
|
|
1037
1037
|
{
|
|
1038
1038
|
type: "generic",
|
|
1039
1039
|
title: "No roadmap items",
|
|
@@ -1055,7 +1055,7 @@ function RoadmapGrid({
|
|
|
1055
1055
|
);
|
|
1056
1056
|
}
|
|
1057
1057
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1058
|
-
|
|
1058
|
+
_chunkSJZWVMBFcjs.Accordion,
|
|
1059
1059
|
{
|
|
1060
1060
|
type: "multiple",
|
|
1061
1061
|
value: expandedQuarters,
|
|
@@ -1065,14 +1065,14 @@ function RoadmapGrid({
|
|
|
1065
1065
|
const itemCount = _optionalChain([itemsByQuarter, 'access', _19 => _19[quarter], 'optionalAccess', _20 => _20.length]) || 0;
|
|
1066
1066
|
const isExpanded = expandedQuarters.includes(quarter);
|
|
1067
1067
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1068
|
-
|
|
1068
|
+
_chunkSJZWVMBFcjs.AccordionItem,
|
|
1069
1069
|
{
|
|
1070
1070
|
value: quarter,
|
|
1071
1071
|
id: `quarter-${quarter.replace(/\s+/g, "-").toLowerCase()}`,
|
|
1072
1072
|
className: "border-0",
|
|
1073
1073
|
"data-loading-item": true,
|
|
1074
1074
|
children: [
|
|
1075
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1075
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.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: QUARTER_HEAD_CLASS, children: [
|
|
1076
1076
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1077
1077
|
"h3",
|
|
1078
1078
|
{
|
|
@@ -1102,7 +1102,7 @@ function RoadmapGrid({
|
|
|
1102
1102
|
}
|
|
1103
1103
|
)
|
|
1104
1104
|
] }) }),
|
|
1105
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1105
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.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,
|
|
1106
1106
|
RoadmapGridSingle,
|
|
1107
1107
|
{
|
|
1108
1108
|
items: itemsByQuarter[quarter],
|
|
@@ -1128,8 +1128,8 @@ function RoadmapGrid({
|
|
|
1128
1128
|
var DEFAULT_ENDPOINT3 = "/api/roadmap";
|
|
1129
1129
|
var NO_ITEMS = [];
|
|
1130
1130
|
var SYNCED_LIST_CLASS = "flex w-full flex-col gap-[var(--spacing-system-lf)]";
|
|
1131
|
-
var DEFAULT_SEARCH_PARAM_KEY2 =
|
|
1132
|
-
var DEFAULT_STATUS_PARAM_KEY2 =
|
|
1131
|
+
var DEFAULT_SEARCH_PARAM_KEY2 = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.search;
|
|
1132
|
+
var DEFAULT_STATUS_PARAM_KEY2 = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.status;
|
|
1133
1133
|
function RoadmapView({
|
|
1134
1134
|
endpoint = DEFAULT_ENDPOINT3,
|
|
1135
1135
|
initialItems,
|
|
@@ -1148,23 +1148,23 @@ function RoadmapView({
|
|
|
1148
1148
|
const qs = listParams.toString();
|
|
1149
1149
|
const url = qs ? `${endpoint}?${qs}` : endpoint;
|
|
1150
1150
|
const initialData = _react.useMemo.call(void 0, () => initialItems ? { items: initialItems } : void 0, [initialItems]);
|
|
1151
|
-
const { data, setData, isLoading, error, reload } =
|
|
1151
|
+
const { data, setData, isLoading, error, reload } = _chunk2JCA7BRKcjs.useSelfFetch.call(void 0, url, {
|
|
1152
1152
|
initialData
|
|
1153
1153
|
});
|
|
1154
1154
|
const items = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _21 => _21.items]), () => ( []));
|
|
1155
|
-
|
|
1156
|
-
const syncInPage =
|
|
1155
|
+
_chunkQZXCUY36cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunk77GX573Icjs.STICKY_HEADER_OFFSET_PX });
|
|
1156
|
+
const syncInPage = _chunkUHGARY3Scjs.usePageDataSync.call(void 0, _optionalChain([data, 'optionalAccess', _22 => _22.sync]), isLoading && !data);
|
|
1157
1157
|
if (error) {
|
|
1158
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1158
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.LoadError, { message: "Failed to load roadmap.", onRetry: reload });
|
|
1159
1159
|
}
|
|
1160
1160
|
if (isLoading && !data) {
|
|
1161
1161
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SYNCED_LIST_CLASS, children: [
|
|
1162
|
-
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1162
|
+
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.DataSyncLine, { loading: true }),
|
|
1163
1163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapGrid, { items: NO_ITEMS, isLoading: true, groupByQuarter: true, showLeftMargin })
|
|
1164
1164
|
] });
|
|
1165
1165
|
}
|
|
1166
1166
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SYNCED_LIST_CLASS, children: [
|
|
1167
|
-
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1167
|
+
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.DataSyncLine, { sync: _optionalChain([data, 'optionalAccess', _23 => _23.sync]) }),
|
|
1168
1168
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1169
1169
|
RoadmapGrid,
|
|
1170
1170
|
{
|
|
@@ -1184,11 +1184,11 @@ function RoadmapView({
|
|
|
1184
1184
|
|
|
1185
1185
|
// src/components/shared/delivery/delivery-table.tsx
|
|
1186
1186
|
|
|
1187
|
-
var TABLE_FRAME_CLASS = `w-full ${
|
|
1187
|
+
var TABLE_FRAME_CLASS = `w-full ${_chunkAYMY2VNBcjs.CONTENT_CARD_SKELETON_FRAME_CLASS}`;
|
|
1188
1188
|
var ROW_SEPARATOR_CLASS = "border-b border-ods-border last:border-b-0";
|
|
1189
1189
|
var DELIVERY_TABLE_SKELETON_ROWS = 5;
|
|
1190
1190
|
function DeliveryTableSkeleton() {
|
|
1191
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TABLE_FRAME_CLASS, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: DELIVERY_TABLE_SKELETON_ROWS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, className: ROW_SEPARATOR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1191
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TABLE_FRAME_CLASS, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: DELIVERY_TABLE_SKELETON_ROWS, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, className: ROW_SEPARATOR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHGARY3Scjs.DeliveryRow, { loading: true }) }) }) }) });
|
|
1192
1192
|
}
|
|
1193
1193
|
function DeliveryTable({ items, isLoading = false }) {
|
|
1194
1194
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeliveryTableSkeleton, {});
|
|
@@ -1201,7 +1201,7 @@ function DeliveryTable({ items, isLoading = false }) {
|
|
|
1201
1201
|
// → `#delivery-<external_id>`; `useScrollToHash` in
|
|
1202
1202
|
// `delivery-lists.tsx` finds the row by id and scrolls. The
|
|
1203
1203
|
// outer wrapper here ONLY exists for the row separators.
|
|
1204
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, className: ROW_SEPARATOR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1204
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-loading-item": true, className: ROW_SEPARATOR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUHGARY3Scjs.DeliveryRow, { item, id: _chunkF33EAPD2cjs.devSectionAnchorId.call(void 0, "delivery", item.id) }) }, item.id)
|
|
1205
1205
|
)) }) });
|
|
1206
1206
|
}
|
|
1207
1207
|
|
|
@@ -1210,8 +1210,8 @@ function DeliveryTable({ items, isLoading = false }) {
|
|
|
1210
1210
|
|
|
1211
1211
|
var DEFAULT_COMPLETED_ENDPOINT = "/api/delivery/completed";
|
|
1212
1212
|
var DEFAULT_IN_PROGRESS_ENDPOINT = "/api/delivery/in-progress";
|
|
1213
|
-
var DEFAULT_SEARCH_PARAM_KEY3 =
|
|
1214
|
-
var DEFAULT_TASK_TYPE_PARAM_KEY =
|
|
1213
|
+
var DEFAULT_SEARCH_PARAM_KEY3 = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.search;
|
|
1214
|
+
var DEFAULT_TASK_TYPE_PARAM_KEY = _chunkF33EAPD2cjs.DEV_SECTION_PARAM_KEYS.deliveryTaskType;
|
|
1215
1215
|
function DeliveryLists({
|
|
1216
1216
|
completedApiEndpoint = DEFAULT_COMPLETED_ENDPOINT,
|
|
1217
1217
|
inProgressApiEndpoint = DEFAULT_IN_PROGRESS_ENDPOINT,
|
|
@@ -1246,8 +1246,8 @@ function DeliveryLists({
|
|
|
1246
1246
|
const queryString = params.toString();
|
|
1247
1247
|
const queryParam = queryString ? `?${queryString}` : "";
|
|
1248
1248
|
const [completedResponse, inProgressResponse] = await Promise.all([
|
|
1249
|
-
|
|
1250
|
-
|
|
1249
|
+
_chunkXCQ5I27Zcjs.contentFetch.call(void 0, `${completedApiEndpoint}${queryParam}`),
|
|
1250
|
+
_chunkXCQ5I27Zcjs.contentFetch.call(void 0, `${inProgressApiEndpoint}${queryParam}`)
|
|
1251
1251
|
]);
|
|
1252
1252
|
if (!completedResponse.ok || !inProgressResponse.ok) {
|
|
1253
1253
|
throw new Error("Failed to fetch delivery items");
|
|
@@ -1285,19 +1285,19 @@ function DeliveryLists({
|
|
|
1285
1285
|
]);
|
|
1286
1286
|
const filteredCompleted = _optionalChain([data, 'optionalAccess', _24 => _24.completed]) || [];
|
|
1287
1287
|
const filteredInProgress = _optionalChain([data, 'optionalAccess', _25 => _25.inProgress]) || [];
|
|
1288
|
-
|
|
1289
|
-
const syncInPage =
|
|
1288
|
+
_chunkQZXCUY36cjs.useScrollToHash.call(void 0, data, { headerOffset: _chunk77GX573Icjs.STICKY_HEADER_OFFSET_PX });
|
|
1289
|
+
const syncInPage = _chunkUHGARY3Scjs.usePageDataSync.call(void 0, sync, isLoading && !data);
|
|
1290
1290
|
const showCompleted = true;
|
|
1291
1291
|
const showInProgress = true;
|
|
1292
1292
|
const hasActiveFilters = searchQuery !== "" || taskTypeFilter !== "all";
|
|
1293
1293
|
const hasResults = showCompleted && filteredCompleted.length > 0 || showInProgress && filteredInProgress.length > 0;
|
|
1294
1294
|
if (error) {
|
|
1295
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1295
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.LoadError, { message: error, onRetry: () => window.location.reload() }) });
|
|
1296
1296
|
}
|
|
1297
1297
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[40px]", children: [
|
|
1298
|
-
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1298
|
+
!syncInPage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.DataSyncLine, { sync, loading: isLoading && !data }),
|
|
1299
1299
|
!isLoading && !hasResults && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1300
|
-
|
|
1300
|
+
_chunkUHGARY3Scjs.ListEmptyState,
|
|
1301
1301
|
{
|
|
1302
1302
|
isFiltered: hasActiveFilters,
|
|
1303
1303
|
filtered: {
|
|
@@ -1407,7 +1407,7 @@ function useLegalDocs(docType, options = {}) {
|
|
|
1407
1407
|
const isCurrent = () => requestId === requestIdRef.current;
|
|
1408
1408
|
const fetchDocument = async () => {
|
|
1409
1409
|
try {
|
|
1410
|
-
const response = await
|
|
1410
|
+
const response = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, effectiveEndpoint);
|
|
1411
1411
|
if (response.status === 404) {
|
|
1412
1412
|
if (!isCurrent()) return;
|
|
1413
1413
|
setData(null);
|
|
@@ -1487,7 +1487,7 @@ function useLegalDocuments(options = {}) {
|
|
|
1487
1487
|
let current = enabled;
|
|
1488
1488
|
const load = async () => {
|
|
1489
1489
|
try {
|
|
1490
|
-
const response = await
|
|
1490
|
+
const response = await _chunkXCQ5I27Zcjs.contentFetch.call(void 0, endpoint);
|
|
1491
1491
|
if (!response.ok) throw new Error(`Failed to fetch legal documents: ${response.status} ${response.statusText}`);
|
|
1492
1492
|
const payload = await response.json();
|
|
1493
1493
|
if (current) setState({ documents: toLegalDocumentSummaries(payload), isLoading: false, error: null });
|
|
@@ -1521,7 +1521,7 @@ function legalDocumentStampLabel(doc) {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
var LEGAL_DOCUMENT_SKELETON_SECTIONS = 3;
|
|
1523
1523
|
function LegalDocumentSkeleton({ sections = LEGAL_DOCUMENT_SKELETON_SECTIONS }) {
|
|
1524
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the document", className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1524
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label: "Loading the document", className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.MarkdownEngine, { loading: true, content: "", skeletonTitle: true, skeletonSections: sections, textSize: "article" }) });
|
|
1525
1525
|
}
|
|
1526
1526
|
function LegalDocumentPage({
|
|
1527
1527
|
docType,
|
|
@@ -1533,7 +1533,7 @@ function LegalDocumentPage({
|
|
|
1533
1533
|
emptyStateMessage: emptyStateMessageProp,
|
|
1534
1534
|
initialData = null,
|
|
1535
1535
|
apiEndpoint,
|
|
1536
|
-
MarkdownRenderer =
|
|
1536
|
+
MarkdownRenderer = _chunkSJZWVMBFcjs.RichMarkdownRenderer,
|
|
1537
1537
|
documentsEndpoint,
|
|
1538
1538
|
backButton,
|
|
1539
1539
|
shell = true
|
|
@@ -1552,7 +1552,7 @@ function LegalDocumentPage({
|
|
|
1552
1552
|
const emptyStateMessage = _nullishCoalesce(emptyStateMessageProp, () => ( `${title} is not available at this time.`));
|
|
1553
1553
|
const subtitle = isLoading ? void 0 : _nullishCoalesce(legalDocumentStampLabel(data), () => ( fallbackDescription));
|
|
1554
1554
|
const inner = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1555
|
-
|
|
1555
|
+
_chunkXI3AMOW6cjs.PageLayout,
|
|
1556
1556
|
{
|
|
1557
1557
|
title,
|
|
1558
1558
|
subtitle,
|
|
@@ -1561,7 +1561,7 @@ function LegalDocumentPage({
|
|
|
1561
1561
|
titleSize: "h1",
|
|
1562
1562
|
titleWrap: true,
|
|
1563
1563
|
children: [
|
|
1564
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1564
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.DataSyncLine, { sync: data ? { source: "github", syncedAt: data.lastSynced } : null, loading: isLoading }),
|
|
1565
1565
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-1 flex-col items-start gap-6 lg:flex-row lg:gap-10", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex-1", isLoading && "w-full"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "article", { className: "space-y-2", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LegalDocumentSkeleton, {}) : error ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4 text-center", children: [
|
|
1566
1566
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-lg border border-ods-error bg-ods-error-secondary p-6", children: [
|
|
1567
1567
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mb-2 text-ods-error", children: errorTitle }),
|
|
@@ -1581,11 +1581,11 @@ function LegalDocumentPage({
|
|
|
1581
1581
|
"for more information."
|
|
1582
1582
|
] })
|
|
1583
1583
|
] }) }) }) }) }),
|
|
1584
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1584
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2P72KAG5cjs.SharedPageFaq, {})
|
|
1585
1585
|
]
|
|
1586
1586
|
}
|
|
1587
1587
|
);
|
|
1588
|
-
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1588
|
+
return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSJZWVMBFcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
|
|
1589
1589
|
}
|
|
1590
1590
|
|
|
1591
1591
|
|