@flamingo-stack/openframe-frontend-core 0.0.853 → 0.0.855
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-2W22LY3W.cjs → chunk-2JCA7BRK.cjs} +19 -19
- package/dist/{chunk-53QPG7SJ.cjs → chunk-2MCPK6AX.cjs} +28 -28
- package/dist/{chunk-QOW2GP3V.cjs → chunk-2P72KAG5.cjs} +23 -23
- package/dist/{chunk-NMWLXHFH.cjs → chunk-3GJ75OUL.cjs} +183 -183
- package/dist/{chunk-P63CRPWI.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-EIACEY2L.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-EF2FZ7GT.cjs → chunk-6VVQJU76.cjs} +54 -54
- package/dist/{chunk-G7GF4PWA.cjs → chunk-77GX573I.cjs} +9 -9
- package/dist/{chunk-7RZHSBNX.cjs → chunk-AOOHJLXS.cjs} +90 -90
- package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
- package/dist/{chunk-67CZ2Q5K.cjs → chunk-BSPIGZCC.cjs} +36 -36
- package/dist/{chunk-FW7RKWPY.cjs → chunk-D6GEMVHD.cjs} +3 -3
- package/dist/{chunk-KEV6F3QN.cjs → chunk-DPNFI5XM.cjs} +100 -100
- package/dist/{chunk-6V2M2X3M.cjs → chunk-DTZ6KASI.cjs} +6 -6
- package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
- package/dist/{chunk-IO6NN3SL.cjs → chunk-EOUEUYCQ.cjs} +54 -54
- package/dist/{chunk-5RMBLOJ5.cjs → chunk-ESGE7CUX.cjs} +14 -14
- package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
- package/dist/{chunk-IC4IJJB2.cjs → chunk-F33EAPD2.cjs} +124 -124
- package/dist/{chunk-COWMXUHN.cjs → chunk-GK577ZLJ.cjs} +6 -14
- package/dist/{chunk-E4MFQKPC.cjs → chunk-GZYRDLJW.cjs} +103 -103
- package/dist/{chunk-LFEURIZN.cjs → chunk-HML3JUXF.cjs} +324 -322
- package/dist/{chunk-BNHTBLAG.cjs → chunk-J3CFRGZ2.cjs} +17 -17
- package/dist/{chunk-USPUZO53.cjs → chunk-KZAQPRTA.cjs} +9 -11
- package/dist/{chunk-HTYJUMFB.cjs → chunk-LSLRJJFP.cjs} +2 -2
- package/dist/{chunk-TBGQMHCG.cjs → chunk-MINFN3IG.cjs} +8 -8
- package/dist/{chunk-KHOB3TES.cjs → chunk-MX52LZ6M.cjs} +6 -6
- package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
- package/dist/{chunk-HF3V6WBJ.cjs → chunk-OTHQ2KQW.cjs} +3 -3
- package/dist/{chunk-IUDBG3HJ.cjs → chunk-PCQ2HKU3.cjs} +5 -5
- package/dist/{chunk-BNG6JOGZ.cjs → chunk-QPHXYE5P.cjs} +27 -27
- package/dist/{chunk-UO2EJGRJ.cjs → chunk-QZXCUY36.cjs} +53 -53
- package/dist/{chunk-COJG2ATY.cjs → chunk-RIJU4HZ2.cjs} +51 -55
- package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
- package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
- package/dist/{chunk-U767P4JU.cjs → chunk-STV6VJ3U.cjs} +21 -21
- package/dist/chunk-T54I5ZZY.cjs +62 -0
- package/dist/{chunk-UV45EPXN.cjs → chunk-TW5Y4D5I.cjs} +7 -7
- package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
- package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
- package/dist/{chunk-W7OFAROY.cjs → chunk-YSXVRTGT.cjs} +9 -12
- package/dist/{chunk-GI6ECCWB.cjs → chunk-ZUGJLCYP.cjs} +1272 -856
- package/dist/{chunk-KNN2GCMW.cjs → chunk-ZYAVIRQV.cjs} +25 -25
- package/dist/{cloud-tenants-QUL2XPAS.cjs → cloud-tenants-2XFIDDGU.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/cloud-tenants/index.d.ts +7 -5
- package/dist/components/features/cloud-tenants/index.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/index.js +8 -1
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.d.ts +26 -0
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/single-customer-tenants-table-view.js +176 -0
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts +4 -2
- package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-access-cell.js +3 -2
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts +12 -5
- package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-customer-cell.js +38 -7
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.d.ts +7 -0
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.d.ts.map +1 -0
- package/dist/components/features/cloud-tenants/tenant-licenses-cell.js +17 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts +19 -0
- package/dist/components/features/cloud-tenants/tenant-presentation.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenant-presentation.js +24 -3
- package/dist/components/features/cloud-tenants/tenant-row.d.ts +35 -8
- package/dist/components/features/cloud-tenants/tenant-row.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts +9 -3
- package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-columns.js +5 -3
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts +27 -6
- package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -1
- package/dist/components/features/cloud-tenants/tenants-table-view.js +75 -17
- package/dist/components/features/devices/device-directory.d.ts +18 -0
- package/dist/components/features/devices/device-directory.d.ts.map +1 -0
- package/dist/components/features/devices/device-directory.js +35 -0
- package/dist/components/features/devices/devices-filter-toolbar.d.ts +3 -1
- package/dist/components/features/devices/devices-filter-toolbar.d.ts.map +1 -1
- package/dist/components/features/devices/devices-filter-toolbar.js +2 -1
- package/dist/components/features/devices/devices-panel-view.d.ts +3 -1
- package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -1
- package/dist/components/features/devices/devices-panel-view.js +11 -2
- package/dist/components/features/devices/devices-table-columns.d.ts +17 -3
- package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
- package/dist/components/features/devices/devices-table-columns.js +80 -10
- package/dist/components/features/devices/index.d.ts +1 -0
- package/dist/components/features/devices/index.d.ts.map +1 -1
- package/dist/components/features/devices/index.js +8 -0
- package/dist/components/features/devices/types.d.ts +14 -0
- package/dist/components/features/devices/types.d.ts.map +1 -1
- package/dist/components/features/devices/use-tag-filter-modal.d.ts +1 -0
- package/dist/components/features/devices/use-tag-filter-modal.d.ts.map +1 -1
- package/dist/components/features/devices/use-tag-filter-modal.js +13 -8
- package/dist/components/features/index.cjs +42 -29
- package/dist/components/help-center-pages/index.cjs +134 -135
- package/dist/components/index.cjs +126 -113
- package/dist/components/meeting-scheduler/index.cjs +102 -103
- package/dist/components/navigation/app-layout.js +2 -2
- 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/date-picker.d.ts +2 -0
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/date-picker.js +19 -6
- 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-LNB4CYPP.cjs → devices-O3DYGIZB.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-SJEEJI4N.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
- package/dist/hooks/index.cjs +27 -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/ui/use-content-breakpoint.d.ts +8 -0
- package/dist/hooks/ui/use-content-breakpoint.d.ts.map +1 -1
- package/dist/hooks/ui/use-content-breakpoint.js +17 -3
- package/dist/hooks/ui/use-media-query.d.ts +1 -0
- package/dist/hooks/ui/use-media-query.d.ts.map +1 -1
- package/dist/hooks/ui/use-media-query.js +3 -1
- 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 +58 -36
- package/dist/{knowledge-UTWKB6XG.cjs → knowledge-K7AFNZNO.cjs} +29 -30
- package/dist/{logs-PMXIWMBQ.cjs → logs-MZ3BR2FR.cjs} +35 -36
- package/dist/{policies-6DCMFDL7.cjs → policies-XVKQ2W7S.cjs} +32 -33
- package/dist/{remote-session-SG44CNOK.cjs → remote-session-VOZJXDM4.cjs} +13 -14
- package/dist/{scripts-2G7LXW7Z.cjs → scripts-IBPMBS6G.cjs} +35 -36
- package/dist/{software-update-MYLKHDHC.cjs → software-update-PXTANMAO.cjs} +32 -33
- package/dist/{tickets-board-SQY2Y6QV.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/utils/presentation-for.d.ts +6 -0
- package/dist/utils/presentation-for.d.ts.map +1 -0
- package/dist/utils/presentation-for.js +7 -0
- 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/cloud-tenants/index.ts +8 -3
- package/src/components/features/cloud-tenants/single-customer-tenants-table-view.tsx +234 -0
- package/src/components/features/cloud-tenants/tenant-access-cell.tsx +12 -5
- package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +48 -12
- package/src/components/features/cloud-tenants/tenant-licenses-cell.tsx +28 -0
- package/src/components/features/cloud-tenants/tenant-presentation.ts +46 -4
- package/src/components/features/cloud-tenants/tenant-row.ts +38 -8
- package/src/components/features/cloud-tenants/tenants-table-columns.ts +8 -5
- package/src/components/features/cloud-tenants/tenants-table-view.tsx +123 -28
- package/src/components/features/devices/device-directory.ts +55 -0
- package/src/components/features/devices/devices-filter-toolbar.tsx +4 -1
- package/src/components/features/devices/devices-panel-view.tsx +12 -2
- package/src/components/features/devices/devices-table-columns.tsx +123 -8
- package/src/components/features/devices/index.ts +7 -0
- package/src/components/features/devices/types.ts +14 -0
- package/src/components/features/devices/use-tag-filter-modal.ts +32 -14
- package/src/components/navigation/app-layout.tsx +4 -4
- package/src/components/ui/date-picker.tsx +21 -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/ui/use-content-breakpoint.ts +21 -2
- package/src/hooks/ui/use-media-query.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/src/utils/presentation-for.ts +10 -0
- package/dist/chunk-UAI4VMEF.cjs +0 -46
- package/dist/chunk-YSDB6HGQ.cjs +0 -102
|
@@ -1,5 +1,9 @@
|
|
|
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
|
+
// src/hooks/ui/use-isomorphic-layout-effect.ts
|
|
4
|
+
var _react = require('react');
|
|
5
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? _react.useLayoutEffect : _react.useEffect;
|
|
6
|
+
|
|
3
7
|
// src/utils/app-config.ts
|
|
4
8
|
function getAppType() {
|
|
5
9
|
try {
|
|
@@ -195,6 +199,12 @@ function readAppOrigins() {
|
|
|
195
199
|
return snapshot;
|
|
196
200
|
}
|
|
197
201
|
var subscribeAppOrigins = subscribeRegisteredAdapter;
|
|
202
|
+
function isOnPage(target, page) {
|
|
203
|
+
return target.protocol === page.protocol && target.host === page.host;
|
|
204
|
+
}
|
|
205
|
+
function isPageOriginUrl(target, origins = readAppOrigins()) {
|
|
206
|
+
return isOnPage(target, new URL(_nullishCoalesce(origins.pageUrl, () => ( SERVER_PAGE_URL))));
|
|
207
|
+
}
|
|
198
208
|
function resolveAppOriginUrl(url, origins = readAppOrigins()) {
|
|
199
209
|
let page;
|
|
200
210
|
let target;
|
|
@@ -204,7 +214,7 @@ function resolveAppOriginUrl(url, origins = readAppOrigins()) {
|
|
|
204
214
|
} catch (e4) {
|
|
205
215
|
return null;
|
|
206
216
|
}
|
|
207
|
-
if (target
|
|
217
|
+
if (isOnPage(target, page)) return target;
|
|
208
218
|
if (target.protocol !== "http:" && target.protocol !== "https:") return null;
|
|
209
219
|
return origins.allowedOrigins.includes(target.origin) ? target : null;
|
|
210
220
|
}
|
|
@@ -239,12 +249,20 @@ function subscribeEmbedCredentialChange(listener) {
|
|
|
239
249
|
return _nullishCoalesce(_optionalChain([getRegisteredAuthAdapter, 'call', _13 => _13(), 'optionalAccess', _14 => _14.subscribe, 'optionalCall', _15 => _15(listener)]), () => ( (() => {
|
|
240
250
|
})));
|
|
241
251
|
}
|
|
242
|
-
function
|
|
243
|
-
if (typeof window === "undefined") return
|
|
252
|
+
function assetLoadMode(url) {
|
|
253
|
+
if (typeof window === "undefined") return "native";
|
|
244
254
|
const adapter2 = getRegisteredAuthAdapter();
|
|
245
|
-
if (!adapter2
|
|
246
|
-
const
|
|
247
|
-
|
|
255
|
+
if (!adapter2) return "native";
|
|
256
|
+
const origins = readAppOrigins();
|
|
257
|
+
const target = resolveAppOriginUrl(url, origins);
|
|
258
|
+
if (!target || target.protocol !== "http:" && target.protocol !== "https:") return "native";
|
|
259
|
+
if (!adapter2.hasCredential) return _optionalChain([adapter2, 'access', _16 => _16.getHeaders, 'optionalCall', _17 => _17(), 'access', _18 => _18.Authorization]) !== void 0 ? "bearer" : "native";
|
|
260
|
+
if (adapter2.hasCredential()) return "bearer";
|
|
261
|
+
return isPageOriginUrl(target, origins) ? "native" : "awaiting-credential";
|
|
262
|
+
}
|
|
263
|
+
function resolveAssetUrl(url) {
|
|
264
|
+
const resolve = _optionalChain([getRegisteredAuthAdapter, 'call', _19 => _19(), 'optionalAccess', _20 => _20.resolveAssetUrl]);
|
|
265
|
+
return resolve ? resolve(url) : url;
|
|
248
266
|
}
|
|
249
267
|
function embedAuthedFetch(url, init = {}) {
|
|
250
268
|
assertSameOrigin(url);
|
|
@@ -276,7 +294,7 @@ function setInFlightRefresh(refresh) {
|
|
|
276
294
|
}
|
|
277
295
|
function dedupedRefresh() {
|
|
278
296
|
const adapter2 = getRegisteredAuthAdapter();
|
|
279
|
-
const refresh = _optionalChain([adapter2, 'optionalAccess',
|
|
297
|
+
const refresh = _optionalChain([adapter2, 'optionalAccess', _21 => _21.refresh, 'optionalAccess', _22 => _22.bind, 'call', _23 => _23(adapter2)]);
|
|
280
298
|
if (!refresh) return Promise.resolve(false);
|
|
281
299
|
let inFlightRefresh = getInFlightRefresh();
|
|
282
300
|
if (!inFlightRefresh) {
|
|
@@ -287,16 +305,20 @@ function dedupedRefresh() {
|
|
|
287
305
|
}
|
|
288
306
|
return inFlightRefresh;
|
|
289
307
|
}
|
|
308
|
+
var answersAfterRefresh = /* @__PURE__ */ new WeakSet();
|
|
309
|
+
function answeredAfterRefresh(response) {
|
|
310
|
+
return answersAfterRefresh.has(response);
|
|
311
|
+
}
|
|
290
312
|
async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
291
313
|
const adapter2 = getRegisteredAuthAdapter();
|
|
292
|
-
await _optionalChain([adapter2, 'optionalAccess',
|
|
314
|
+
await _optionalChain([adapter2, 'optionalAccess', _24 => _24.beforeRequest, 'optionalCall', _25 => _25()]);
|
|
293
315
|
const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
|
|
294
|
-
if (_optionalChain([adapter2, 'optionalAccess',
|
|
316
|
+
if (_optionalChain([adapter2, 'optionalAccess', _26 => _26.getHeaders])) {
|
|
295
317
|
for (const [k, v] of Object.entries(adapter2.getHeaders())) {
|
|
296
318
|
if (v !== void 0) headers[k] = v;
|
|
297
319
|
}
|
|
298
320
|
}
|
|
299
|
-
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess',
|
|
321
|
+
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _27 => _27.credentials]), () => ( init.credentials)), () => ( "same-origin"));
|
|
300
322
|
const response = await fetch(authedUrl, {
|
|
301
323
|
...init,
|
|
302
324
|
headers,
|
|
@@ -307,11 +329,13 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
|
307
329
|
// `SameSite=None` must be configured server-side for that to work).
|
|
308
330
|
credentials
|
|
309
331
|
});
|
|
310
|
-
await _optionalChain([adapter2, 'optionalAccess',
|
|
311
|
-
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess',
|
|
332
|
+
await _optionalChain([adapter2, 'optionalAccess', _28 => _28.onResponse, 'optionalCall', _29 => _29(response)]);
|
|
333
|
+
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _30 => _30.refresh])) {
|
|
312
334
|
const refreshed = await dedupedRefresh();
|
|
313
335
|
if (refreshed) {
|
|
314
|
-
|
|
336
|
+
const retried = await fetchWithRefresh(url, init, baseHeaders, true);
|
|
337
|
+
answersAfterRefresh.add(retried);
|
|
338
|
+
return retried;
|
|
315
339
|
}
|
|
316
340
|
}
|
|
317
341
|
return response;
|
|
@@ -332,7 +356,7 @@ function assertSameOrigin(url) {
|
|
|
332
356
|
);
|
|
333
357
|
}
|
|
334
358
|
if (target.origin !== pageOrigin) {
|
|
335
|
-
if (_optionalChain([getRegisteredAuthAdapter, 'call',
|
|
359
|
+
if (_optionalChain([getRegisteredAuthAdapter, 'call', _31 => _31(), 'optionalAccess', _32 => _32.allowedOrigins, 'optionalAccess', _33 => _33.includes, 'call', _34 => _34(target.origin)])) {
|
|
336
360
|
return;
|
|
337
361
|
}
|
|
338
362
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -347,6 +371,195 @@ function assertSameOrigin(url) {
|
|
|
347
371
|
}
|
|
348
372
|
}
|
|
349
373
|
|
|
374
|
+
// src/hooks/use-authed-asset-src.ts
|
|
375
|
+
|
|
376
|
+
var RELEASE_DELAY_MS = 6e4;
|
|
377
|
+
var IDLE = { status: "idle" };
|
|
378
|
+
var AssetResponseError = class extends Error {
|
|
379
|
+
constructor(response) {
|
|
380
|
+
super(`asset fetch failed: ${response.status}`);
|
|
381
|
+
this.status = response.status;
|
|
382
|
+
this.afterRefresh = answeredAfterRefresh(response);
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
var entries = /* @__PURE__ */ new Map();
|
|
386
|
+
var listeners2 = /* @__PURE__ */ new Set();
|
|
387
|
+
var cacheGeneration = 0;
|
|
388
|
+
var notifyScheduled = false;
|
|
389
|
+
var detachSources = null;
|
|
390
|
+
function notify() {
|
|
391
|
+
if (notifyScheduled) return;
|
|
392
|
+
notifyScheduled = true;
|
|
393
|
+
queueMicrotask(() => {
|
|
394
|
+
notifyScheduled = false;
|
|
395
|
+
for (const listener of [...listeners2]) listener();
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
function settle(url, entry, generation, state) {
|
|
399
|
+
const current = entries.get(url);
|
|
400
|
+
if (generation !== cacheGeneration || current !== entry) return false;
|
|
401
|
+
current.state = state;
|
|
402
|
+
notify();
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
function due(state, trigger) {
|
|
406
|
+
if (state.status === "idle") return true;
|
|
407
|
+
if (state.status !== "failed") return false;
|
|
408
|
+
switch (trigger) {
|
|
409
|
+
case "mount":
|
|
410
|
+
return true;
|
|
411
|
+
case "credential":
|
|
412
|
+
return state.retryOn !== "remount";
|
|
413
|
+
case "online":
|
|
414
|
+
return state.retryOn === "credential-or-online";
|
|
415
|
+
default:
|
|
416
|
+
return false;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
function retryOnFor(error) {
|
|
420
|
+
if (error instanceof TypeError) return "credential-or-online";
|
|
421
|
+
if (error instanceof AssetResponseError && error.status === 401 && !error.afterRefresh) return "credential";
|
|
422
|
+
return "remount";
|
|
423
|
+
}
|
|
424
|
+
function kick(url, trigger) {
|
|
425
|
+
const entry = entries.get(url);
|
|
426
|
+
if (!entry || !due(entry.state, trigger) || assetLoadMode(url) !== "bearer") return;
|
|
427
|
+
const generation = cacheGeneration;
|
|
428
|
+
settle(url, entry, generation, { status: "loading", afterFailure: entry.state.status === "failed" });
|
|
429
|
+
Promise.resolve().then(() => embedAuthedFetch(url, { headers: { Accept: entry.accept } })).then(async (response) => {
|
|
430
|
+
if (!response.ok || /^\s*text\/html\b/i.test(_nullishCoalesce(response.headers.get("Content-Type"), () => ( "")))) {
|
|
431
|
+
throw new AssetResponseError(response);
|
|
432
|
+
}
|
|
433
|
+
return URL.createObjectURL(await response.blob());
|
|
434
|
+
}).then(
|
|
435
|
+
(blobUrl) => {
|
|
436
|
+
if (!settle(url, entry, generation, { status: "ready", blobUrl })) URL.revokeObjectURL(blobUrl);
|
|
437
|
+
},
|
|
438
|
+
(error) => {
|
|
439
|
+
settle(url, entry, generation, { status: "failed", retryOn: retryOnFor(error) });
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
}
|
|
443
|
+
function sweep(trigger) {
|
|
444
|
+
for (const [url, entry] of entries) if (entry.refs > 0) kick(url, trigger);
|
|
445
|
+
notify();
|
|
446
|
+
}
|
|
447
|
+
function onCredentialChange() {
|
|
448
|
+
sweep("credential");
|
|
449
|
+
}
|
|
450
|
+
function onOnline() {
|
|
451
|
+
sweep("online");
|
|
452
|
+
}
|
|
453
|
+
function attachSources() {
|
|
454
|
+
let detachCredential = subscribeEmbedCredentialChange(onCredentialChange);
|
|
455
|
+
const detachAdapter = subscribeRegisteredAdapter(() => {
|
|
456
|
+
detachCredential();
|
|
457
|
+
detachCredential = subscribeEmbedCredentialChange(onCredentialChange);
|
|
458
|
+
onCredentialChange();
|
|
459
|
+
});
|
|
460
|
+
window.addEventListener("online", onOnline);
|
|
461
|
+
return () => {
|
|
462
|
+
detachCredential();
|
|
463
|
+
detachAdapter();
|
|
464
|
+
window.removeEventListener("online", onOnline);
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
function subscribeNothing() {
|
|
468
|
+
return () => {
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
function subscribe(listener) {
|
|
472
|
+
listeners2.add(listener);
|
|
473
|
+
_nullishCoalesce(detachSources, () => ( (detachSources = attachSources())));
|
|
474
|
+
return () => {
|
|
475
|
+
listeners2.delete(listener);
|
|
476
|
+
if (listeners2.size === 0 && detachSources) {
|
|
477
|
+
detachSources();
|
|
478
|
+
detachSources = null;
|
|
479
|
+
}
|
|
480
|
+
};
|
|
481
|
+
}
|
|
482
|
+
function acquire(url, accept) {
|
|
483
|
+
let entry = entries.get(url);
|
|
484
|
+
if (!entry) {
|
|
485
|
+
entry = { state: IDLE, accept, refs: 0, releaseTimer: void 0 };
|
|
486
|
+
entries.set(url, entry);
|
|
487
|
+
}
|
|
488
|
+
clearTimeout(entry.releaseTimer);
|
|
489
|
+
entry.releaseTimer = void 0;
|
|
490
|
+
entry.refs++;
|
|
491
|
+
kick(url, entry.refs === 1 ? "mount" : "join");
|
|
492
|
+
}
|
|
493
|
+
function release(url) {
|
|
494
|
+
const entry = entries.get(url);
|
|
495
|
+
if (!entry) return;
|
|
496
|
+
entry.refs = Math.max(0, entry.refs - 1);
|
|
497
|
+
if (entry.refs > 0) return;
|
|
498
|
+
clearTimeout(entry.releaseTimer);
|
|
499
|
+
entry.releaseTimer = setTimeout(() => {
|
|
500
|
+
if (entries.get(url) !== entry || entry.refs > 0) return;
|
|
501
|
+
if (entry.state.status === "ready") URL.revokeObjectURL(entry.state.blobUrl);
|
|
502
|
+
entries.delete(url);
|
|
503
|
+
}, RELEASE_DELAY_MS);
|
|
504
|
+
}
|
|
505
|
+
function clearAuthedAssetCache() {
|
|
506
|
+
cacheGeneration++;
|
|
507
|
+
for (const [url, entry] of entries) {
|
|
508
|
+
if (entry.state.status === "ready") URL.revokeObjectURL(entry.state.blobUrl);
|
|
509
|
+
clearTimeout(entry.releaseTimer);
|
|
510
|
+
entry.releaseTimer = void 0;
|
|
511
|
+
if (entry.refs > 0) entry.state = IDLE;
|
|
512
|
+
else entries.delete(url);
|
|
513
|
+
}
|
|
514
|
+
notify();
|
|
515
|
+
}
|
|
516
|
+
var NO_ASSET = Object.freeze({ src: void 0, url: void 0, status: "native" });
|
|
517
|
+
function readAsset(src) {
|
|
518
|
+
if (!src) return NO_ASSET;
|
|
519
|
+
const url = resolveAssetUrl(src);
|
|
520
|
+
const mode = assetLoadMode(url);
|
|
521
|
+
if (mode === "native") return { src: url, url, status: "native" };
|
|
522
|
+
const state = mode === "bearer" ? _optionalChain([entries, 'access', _35 => _35.get, 'call', _36 => _36(url), 'optionalAccess', _37 => _37.state]) : void 0;
|
|
523
|
+
if (_optionalChain([state, 'optionalAccess', _38 => _38.status]) === "ready") return { src: state.blobUrl, url, status: "ready" };
|
|
524
|
+
if (_optionalChain([state, 'optionalAccess', _39 => _39.status]) === "failed" || _optionalChain([state, 'optionalAccess', _40 => _40.status]) === "loading" && state.afterFailure) {
|
|
525
|
+
return { src: void 0, url, status: "failed" };
|
|
526
|
+
}
|
|
527
|
+
return { src: void 0, url, status: "pending" };
|
|
528
|
+
}
|
|
529
|
+
function encode(asset) {
|
|
530
|
+
return JSON.stringify([asset.status, _nullishCoalesce(asset.url, () => ( null)), _nullishCoalesce(asset.src, () => ( null))]);
|
|
531
|
+
}
|
|
532
|
+
function decode(snapshot2) {
|
|
533
|
+
const [status, url, src] = JSON.parse(snapshot2);
|
|
534
|
+
return { status, url: _nullishCoalesce(url, () => ( void 0)), src: _nullishCoalesce(src, () => ( void 0)) };
|
|
535
|
+
}
|
|
536
|
+
function useAuthedAsset(src, accept = "*/*") {
|
|
537
|
+
const snapshot2 = _react.useSyncExternalStore.call(void 0,
|
|
538
|
+
src ? subscribe : subscribeNothing,
|
|
539
|
+
() => encode(readAsset(src)),
|
|
540
|
+
// The server has no adapter: it draws the URL as given, and the client takes over after hydration.
|
|
541
|
+
() => encode(src ? { src, url: src, status: "native" } : NO_ASSET)
|
|
542
|
+
);
|
|
543
|
+
const asset = decode(snapshot2);
|
|
544
|
+
const tracked = asset.status === "native" ? void 0 : asset.url;
|
|
545
|
+
useIsomorphicLayoutEffect(() => {
|
|
546
|
+
if (!tracked) return void 0;
|
|
547
|
+
acquire(tracked, accept);
|
|
548
|
+
return () => release(tracked);
|
|
549
|
+
}, [tracked, accept]);
|
|
550
|
+
const waiting = tracked !== void 0 && asset.status === "pending";
|
|
551
|
+
_react.useEffect.call(void 0, () => {
|
|
552
|
+
if (waiting) kick(tracked, "join");
|
|
553
|
+
});
|
|
554
|
+
return asset;
|
|
555
|
+
}
|
|
556
|
+
function useAuthedAssetSrc(src, accept = "*/*") {
|
|
557
|
+
return useAuthedAsset(src, accept).src;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
350
563
|
|
|
351
564
|
|
|
352
565
|
|
|
@@ -366,4 +579,4 @@ function assertSameOrigin(url) {
|
|
|
366
579
|
|
|
367
580
|
|
|
368
581
|
|
|
369
|
-
exports.
|
|
582
|
+
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect; exports.SERVER_APP_ORIGINS = SERVER_APP_ORIGINS; exports.readAppOrigins = readAppOrigins; exports.subscribeAppOrigins = subscribeAppOrigins; exports.isAppOriginUrl = isAppOriginUrl; exports.absoluteHttpUrl = absoluteHttpUrl; exports.getAppType = getAppType; exports.createLocalStorageAdapter = createLocalStorageAdapter; exports.EMBED_PROXY_OPTIONAL_HEADERS = EMBED_PROXY_OPTIONAL_HEADERS; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.hasEmbedAuthAdapter = hasEmbedAuthAdapter; exports.subscribeEmbedCredentialChange = subscribeEmbedCredentialChange; exports.embedAuthedFetch = embedAuthedFetch; exports.clearAuthedAssetCache = clearAuthedAssetCache; exports.useAuthedAsset = useAuthedAsset; exports.useAuthedAssetSrc = useAuthedAssetSrc;
|
|
@@ -30,7 +30,7 @@ var _chunk7AAW6L5Ucjs = require('./chunk-7AAW6L5U.cjs');
|
|
|
30
30
|
var _chunk7WT2C5YYcjs = require('./chunk-7WT2C5YY.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunk6C4OR4MZcjs = require('./chunk-6C4OR4MZ.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
@@ -39,7 +39,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
var
|
|
42
|
+
var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
|
|
@@ -47,17 +47,17 @@ var _chunkW7OFAROYcjs = require('./chunk-W7OFAROY.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkDXVGGWLGcjs = require('./chunk-DXVGGWLG.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
var
|
|
57
|
+
var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
var
|
|
60
|
+
var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
var _chunkVCFQHPOOcjs = require('./chunk-VCFQHPOO.cjs');
|
|
@@ -94,12 +94,12 @@ function formatTicketRelativeTime(iso) {
|
|
|
94
94
|
if (diffMin < 60) return `${diffMin} min ago`;
|
|
95
95
|
const diffHours = Math.floor(diffMin / 60);
|
|
96
96
|
if (diffHours < 24) return diffHours === 1 ? "1 hour ago" : `${diffHours} hours ago`;
|
|
97
|
-
return
|
|
97
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, date, _chunkYSXVRTGTcjs.VIEWER_TIMEZONE, "numeric", { viewerLocale: true });
|
|
98
98
|
}
|
|
99
99
|
function formatTicketFullTimestamp(iso) {
|
|
100
|
-
return
|
|
100
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0,
|
|
101
101
|
iso,
|
|
102
|
-
|
|
102
|
+
_chunkYSXVRTGTcjs.VIEWER_TIMEZONE,
|
|
103
103
|
{ year: "numeric", month: "2-digit", day: "2-digit", hour: "numeric", minute: "2-digit" },
|
|
104
104
|
{ viewerLocale: true }
|
|
105
105
|
);
|
|
@@ -128,7 +128,7 @@ function formatRelativeTimeFrom(timestamp, now) {
|
|
|
128
128
|
const weeks = Math.floor(diffInDays / 7);
|
|
129
129
|
return `${weeks}w ago`;
|
|
130
130
|
}
|
|
131
|
-
return
|
|
131
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, targetTime, null, {
|
|
132
132
|
month: "short",
|
|
133
133
|
day: "numeric",
|
|
134
134
|
year: targetTime.getUTCFullYear() !== now.getUTCFullYear() ? "numeric" : void 0
|
|
@@ -140,7 +140,7 @@ function formatAbsoluteDate(timestamp, options = {}) {
|
|
|
140
140
|
console.warn("\u26A0\uFE0F Invalid timestamp in formatAbsoluteDate:", timestamp);
|
|
141
141
|
return "Invalid date";
|
|
142
142
|
}
|
|
143
|
-
return
|
|
143
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
|
|
144
144
|
year: "numeric",
|
|
145
145
|
month: "short",
|
|
146
146
|
day: "numeric",
|
|
@@ -153,7 +153,7 @@ function formatDateTime(timestamp, options = {}) {
|
|
|
153
153
|
console.warn("\u26A0\uFE0F Invalid timestamp in formatDateTime:", timestamp);
|
|
154
154
|
return "Invalid date";
|
|
155
155
|
}
|
|
156
|
-
return
|
|
156
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, targetTime, _nullishCoalesce(options.timeZone, () => ( null)), {
|
|
157
157
|
...ZONED_DATE_FIELDS_MEDIUM_DATETIME,
|
|
158
158
|
...options
|
|
159
159
|
});
|
|
@@ -312,13 +312,13 @@ function TicketStatusTag({
|
|
|
312
312
|
const config = getTicketStatusConfig(status);
|
|
313
313
|
const customStyle = color ? {
|
|
314
314
|
"--tag-bg": color,
|
|
315
|
-
"--tag-bg-hover":
|
|
316
|
-
"--tag-bg-active":
|
|
317
|
-
color:
|
|
315
|
+
"--tag-bg-hover": _chunkDXVGGWLGcjs.deriveHoverColor.call(void 0, color),
|
|
316
|
+
"--tag-bg-active": _chunkDXVGGWLGcjs.deriveActiveColor.call(void 0, color),
|
|
317
|
+
color: _chunkDXVGGWLGcjs.getReadableTextColor.call(void 0, color)
|
|
318
318
|
} : void 0;
|
|
319
319
|
const customColorClasses = color ? "bg-[var(--tag-bg)] hover:bg-[var(--tag-bg-hover)] active:bg-[var(--tag-bg-active)]" : void 0;
|
|
320
320
|
const tag = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
321
|
-
|
|
321
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
322
322
|
{
|
|
323
323
|
loading,
|
|
324
324
|
label: _nullishCoalesce(label, () => ( config.label)),
|
|
@@ -371,7 +371,7 @@ function TicketStatusTag({
|
|
|
371
371
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
372
372
|
// The tag's variant styling, split into a label section and a separated chevron section (the common
|
|
373
373
|
// dropdown-button seam). Custom color: bg/hover/active from the CSS vars set above.
|
|
374
|
-
|
|
374
|
+
_chunkYSXVRTGTcjs.tagVariants.call(void 0, { variant: _nullishCoalesce(variant, () => ( config.variant)) }),
|
|
375
375
|
"items-stretch justify-start gap-0 overflow-hidden p-0",
|
|
376
376
|
customColorClasses
|
|
377
377
|
),
|
|
@@ -1019,7 +1019,7 @@ function ToolCallRow({
|
|
|
1019
1019
|
const hasExpandableBody = args.length > 0 || reviewRows || typeof result === "string" && result.length > 0;
|
|
1020
1020
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start border-b border-ods-border bg-ods-card last:border-b-0", children: [
|
|
1021
1021
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "row", type: "button", onClick: onToggle, "aria-expanded": expanded, className: "rounded-none", children: [
|
|
1022
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1022
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6C4OR4MZcjs.ToolIcon, { toolType, size: 16 }) }),
|
|
1023
1023
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1024
1024
|
"div",
|
|
1025
1025
|
{
|
|
@@ -1269,13 +1269,13 @@ ApprovalBatchMessage.displayName = "ApprovalBatchMessage";
|
|
|
1269
1269
|
// src/components/agent-mark.tsx
|
|
1270
1270
|
|
|
1271
1271
|
|
|
1272
|
-
function AgentMark({ agent, className = "", color =
|
|
1273
|
-
const identity =
|
|
1272
|
+
function AgentMark({ agent, className = "", color = _chunkDXVGGWLGcjs.AGENT_GLYPH_COLOR }) {
|
|
1273
|
+
const identity = _chunkDXVGGWLGcjs.useAgentIdentityIcon.call(void 0, agent);
|
|
1274
1274
|
if (_optionalChain([identity, 'optionalAccess', _16 => _16.url])) {
|
|
1275
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: _chunk63A4GZMBcjs.cn.call(void 0, "relative inline-block overflow-hidden rounded-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1275
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: _chunk63A4GZMBcjs.cn.call(void 0, "relative inline-block overflow-hidden rounded-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6DMH4GXNcjs.next_image_default, { src: identity.url, alt: "", fill: true, sizes: _chunkRY7INTYUcjs.fixedImageSlot.call(void 0, "mark"), className: _chunkDXVGGWLGcjs.AGENT_PICTURE_CLASS }) });
|
|
1276
1276
|
}
|
|
1277
1277
|
if (_optionalChain([identity, 'optionalAccess', _17 => _17.name])) {
|
|
1278
|
-
return _react.createElement.call(void 0,
|
|
1278
|
+
return _react.createElement.call(void 0, _chunkRY7INTYUcjs.resolveIcon.call(void 0, identity.name), {
|
|
1279
1279
|
className,
|
|
1280
1280
|
"aria-hidden": true,
|
|
1281
1281
|
color,
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkGK577ZLJcjs = require('./chunk-GK577ZLJ.cjs');
|
|
9
|
+
|
|
10
|
+
// src/hooks/ui/use-content-breakpoint.ts
|
|
11
|
+
var _react = require('react');
|
|
12
|
+
var CONTENT_BREAKPOINTS = {
|
|
13
|
+
md: _chunkGK577ZLJcjs.LAYOUT_STEPS.md.content,
|
|
14
|
+
lg: _chunkGK577ZLJcjs.LAYOUT_STEPS.lg.content,
|
|
15
|
+
xl: _chunkGK577ZLJcjs.LAYOUT_STEPS.xl.content
|
|
16
|
+
};
|
|
17
|
+
function contentStepFor(width) {
|
|
18
|
+
return [CONTENT_BREAKPOINTS.md, CONTENT_BREAKPOINTS.lg, CONTENT_BREAKPOINTS.xl].filter((step) => width >= step).length;
|
|
19
|
+
}
|
|
20
|
+
var ContentAreaWidthContext = _react.createContext.call(void 0, null);
|
|
21
|
+
function ViewportBreakpoints({ children }) {
|
|
22
|
+
return _react.createElement.call(void 0, ContentAreaWidthContext.Provider, { value: null }, children);
|
|
23
|
+
}
|
|
24
|
+
function contentBreakpointFor(width) {
|
|
25
|
+
if (width >= CONTENT_BREAKPOINTS.lg) return "desktop";
|
|
26
|
+
if (width >= CONTENT_BREAKPOINTS.md) return "tablet";
|
|
27
|
+
return "mobile";
|
|
28
|
+
}
|
|
29
|
+
function useContentBreakpoint() {
|
|
30
|
+
const width = _react.useContext.call(void 0, ContentAreaWidthContext);
|
|
31
|
+
const mdUp = _chunkGK577ZLJcjs.useMdUp.call(void 0, );
|
|
32
|
+
const lgUp = _chunkGK577ZLJcjs.useLgUp.call(void 0, );
|
|
33
|
+
if (width !== null) return contentBreakpointFor(width);
|
|
34
|
+
if (mdUp === void 0) return void 0;
|
|
35
|
+
if (lgUp) return "desktop";
|
|
36
|
+
return mdUp ? "tablet" : "mobile";
|
|
37
|
+
}
|
|
38
|
+
function useContentMdUp() {
|
|
39
|
+
const breakpoint = useContentBreakpoint();
|
|
40
|
+
return breakpoint === void 0 ? void 0 : breakpoint !== "mobile";
|
|
41
|
+
}
|
|
42
|
+
function useContentLgUp() {
|
|
43
|
+
const breakpoint = useContentBreakpoint();
|
|
44
|
+
return breakpoint === void 0 ? void 0 : breakpoint === "desktop";
|
|
45
|
+
}
|
|
46
|
+
function useContentXlUp() {
|
|
47
|
+
const width = _react.useContext.call(void 0, ContentAreaWidthContext);
|
|
48
|
+
const viewportXlUp = _chunkGK577ZLJcjs.useMediaQuery.call(void 0, _chunkGK577ZLJcjs.breakpoints.xl);
|
|
49
|
+
return width === null ? viewportXlUp : width >= CONTENT_BREAKPOINTS.xl;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
exports.CONTENT_BREAKPOINTS = CONTENT_BREAKPOINTS; exports.contentStepFor = contentStepFor; exports.ContentAreaWidthContext = ContentAreaWidthContext; exports.ViewportBreakpoints = ViewportBreakpoints; exports.contentBreakpointFor = contentBreakpointFor; exports.useContentBreakpoint = useContentBreakpoint; exports.useContentMdUp = useContentMdUp; exports.useContentLgUp = useContentLgUp; exports.useContentXlUp = useContentXlUp;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk3GJ75OULcjs = require('./chunk-3GJ75OUL.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -38,7 +38,7 @@ var NAME_CLASS = "text-ods-text-primary text-h5";
|
|
|
38
38
|
var JOB_TITLE_CLASS = "mt-0.5 font-body text-ods-text-secondary";
|
|
39
39
|
var BIO_CLASS = "mt-2 font-body leading-relaxed text-ods-text-secondary";
|
|
40
40
|
function formatDate(value) {
|
|
41
|
-
return
|
|
41
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, value, null, "long");
|
|
42
42
|
}
|
|
43
43
|
function ArticleAuthorByline({
|
|
44
44
|
author,
|
|
@@ -52,18 +52,18 @@ function ArticleAuthorByline({
|
|
|
52
52
|
proxyImageUrl,
|
|
53
53
|
className
|
|
54
54
|
}) {
|
|
55
|
-
const proxiedAvatar =
|
|
55
|
+
const proxiedAvatar = _chunk3GJ75OULcjs.useProxiedImageUrl.call(void 0, avatar, { proxyImageUrl });
|
|
56
56
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
57
57
|
if (loading && !author) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArticleAuthorBylineSkeleton, { size, className });
|
|
58
58
|
if (!author) return null;
|
|
59
59
|
const avatarSizeClass = _chunkPMUCEUFQcjs.AVATAR_SIZE[BYLINE_AVATAR_SIZE[size]];
|
|
60
60
|
const avatarIconClass = size === "lg" ? "w-8 h-8" : "w-7 h-7";
|
|
61
61
|
const avatarDim = _chunkPMUCEUFQcjs.AVATAR_SIZE_PX[BYLINE_AVATAR_SIZE[size]];
|
|
62
|
-
const formattedBio =
|
|
62
|
+
const formattedBio = _chunkYSXVRTGTcjs.formatBioText.call(void 0, _nullishCoalesce(bio, () => ( null)));
|
|
63
63
|
const dateLabel = publishedAt ? formatDate(publishedAt) : "";
|
|
64
64
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, BYLINE_FRAME_CLASS, className), children: [
|
|
65
65
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", children: avatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
66
|
-
|
|
66
|
+
_chunk6DMH4GXNcjs.next_image_default,
|
|
67
67
|
{
|
|
68
68
|
src: proxiedAvatar || avatar,
|
|
69
69
|
alt: author,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkSQ7YHWEPcjs = require('./chunk-SQ7YHWEP.cjs');
|
|
6
6
|
|
|
7
7
|
// src/utils/common.ts
|
|
8
8
|
var _clsx = require('clsx');
|
|
@@ -69,9 +69,9 @@ var _reactquery = require('@tanstack/react-query');
|
|
|
69
69
|
|
|
70
70
|
// src/utils/embed-content-fetch.ts
|
|
71
71
|
var contentFetch = (input, init) => {
|
|
72
|
-
if (!
|
|
72
|
+
if (!_chunkSQ7YHWEPcjs.hasEmbedAuthAdapter.call(void 0, )) return fetch(input, init);
|
|
73
73
|
const url = typeof input === "string" ? input : input instanceof URL ? input.href : input.url;
|
|
74
|
-
return
|
|
74
|
+
return _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url, init);
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
// src/hooks/use-agent-identities.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk5NK3FUHYcjs = require('./chunk-5NK3FUHY.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -118,7 +118,7 @@ function PersistentPaginationWrapper({
|
|
|
118
118
|
},
|
|
119
119
|
"aria-hidden": isPaginationDisabled,
|
|
120
120
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
121
|
-
|
|
121
|
+
_chunk5NK3FUHYcjs.UnifiedPagination,
|
|
122
122
|
{
|
|
123
123
|
currentPage: displayCurrentPage,
|
|
124
124
|
totalPages: displayTotalPages,
|