@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
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunk65NMKAPQcjs = require('./chunk-65NMKAPQ.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -42,7 +42,7 @@ var _chunkEIACEY2Lcjs = require('./chunk-EIACEY2L.cjs');
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
var
|
|
45
|
+
var _chunkSTV6VJ3Ucjs = require('./chunk-STV6VJ3U.cjs');
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
@@ -277,14 +277,14 @@ var _chunk7WT2C5YYcjs = require('./chunk-7WT2C5YY.cjs');
|
|
|
277
277
|
|
|
278
278
|
|
|
279
279
|
|
|
280
|
-
var
|
|
280
|
+
var _chunk77GX573Icjs = require('./chunk-77GX573I.cjs');
|
|
281
281
|
|
|
282
282
|
|
|
283
283
|
|
|
284
|
-
var
|
|
284
|
+
var _chunkD6GEMVHDcjs = require('./chunk-D6GEMVHD.cjs');
|
|
285
285
|
|
|
286
286
|
|
|
287
|
-
var
|
|
287
|
+
var _chunk6C4OR4MZcjs = require('./chunk-6C4OR4MZ.cjs');
|
|
288
288
|
|
|
289
289
|
|
|
290
290
|
var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
@@ -327,10 +327,10 @@ var _chunkIX2E3AN7cjs = require('./chunk-IX2E3AN7.cjs');
|
|
|
327
327
|
|
|
328
328
|
|
|
329
329
|
|
|
330
|
-
var
|
|
330
|
+
var _chunk3GJ75OULcjs = require('./chunk-3GJ75OUL.cjs');
|
|
331
331
|
|
|
332
332
|
|
|
333
|
-
var
|
|
333
|
+
var _chunkLSLRJJFPcjs = require('./chunk-LSLRJJFP.cjs');
|
|
334
334
|
|
|
335
335
|
|
|
336
336
|
|
|
@@ -341,7 +341,7 @@ var _chunkHTYJUMFBcjs = require('./chunk-HTYJUMFB.cjs');
|
|
|
341
341
|
|
|
342
342
|
|
|
343
343
|
|
|
344
|
-
var
|
|
344
|
+
var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
|
|
345
345
|
|
|
346
346
|
|
|
347
347
|
|
|
@@ -366,33 +366,32 @@ var _chunkW7OFAROYcjs = require('./chunk-W7OFAROY.cjs');
|
|
|
366
366
|
|
|
367
367
|
|
|
368
368
|
|
|
369
|
-
var
|
|
369
|
+
var _chunkAYMY2VNBcjs = require('./chunk-AYMY2VNB.cjs');
|
|
370
370
|
|
|
371
371
|
|
|
372
372
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
373
373
|
|
|
374
374
|
|
|
375
|
+
var _chunkGK577ZLJcjs = require('./chunk-GK577ZLJ.cjs');
|
|
375
376
|
|
|
376
|
-
var _chunkCOWMXUHNcjs = require('./chunk-COWMXUHN.cjs');
|
|
377
377
|
|
|
378
378
|
|
|
379
|
-
var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
|
|
380
379
|
|
|
381
380
|
|
|
382
381
|
|
|
382
|
+
var _chunkEXQSIX2Icjs = require('./chunk-EXQSIX2I.cjs');
|
|
383
383
|
|
|
384
384
|
|
|
385
385
|
|
|
386
|
-
var _chunkETZFBB7Ocjs = require('./chunk-ETZFBB7O.cjs');
|
|
387
386
|
|
|
387
|
+
var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
|
|
388
388
|
|
|
389
389
|
|
|
390
|
-
|
|
391
|
-
var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
|
|
390
|
+
var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
|
|
392
391
|
|
|
393
392
|
|
|
394
|
-
var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
|
|
395
393
|
|
|
394
|
+
var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
|
|
396
395
|
|
|
397
396
|
|
|
398
397
|
|
|
@@ -401,10 +400,9 @@ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
|
|
|
401
400
|
|
|
402
401
|
|
|
403
402
|
|
|
404
|
-
var _chunkGI3MMBP3cjs = require('./chunk-GI3MMBP3.cjs');
|
|
405
403
|
|
|
406
404
|
|
|
407
|
-
var
|
|
405
|
+
var _chunkSQ7YHWEPcjs = require('./chunk-SQ7YHWEP.cjs');
|
|
408
406
|
|
|
409
407
|
|
|
410
408
|
|
|
@@ -688,14 +686,14 @@ function buildHeadingIdMap(content, sectionIds) {
|
|
|
688
686
|
for (const section of sectionIds) {
|
|
689
687
|
sectionIdMap.set(section.title, section.id);
|
|
690
688
|
sectionIdMap.set(section.title.toLowerCase(), section.id);
|
|
691
|
-
sectionIdMap.set(
|
|
689
|
+
sectionIdMap.set(_chunk77GX573Icjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
|
|
692
690
|
}
|
|
693
691
|
}
|
|
694
|
-
const dedupe =
|
|
692
|
+
const dedupe = _chunk77GX573Icjs.createHeadingIdDeduper.call(void 0, );
|
|
695
693
|
const map = /* @__PURE__ */ new Map();
|
|
696
694
|
let sectionOrdinal = 0;
|
|
697
695
|
let headingOrdinal = 0;
|
|
698
|
-
for (const { line, level: level2, text: rawText } of
|
|
696
|
+
for (const { line, level: level2, text: rawText } of _chunk77GX573Icjs.scanHeadings.call(void 0, content)) {
|
|
699
697
|
const text3 = stripInlineMarkdown(rawText).trim();
|
|
700
698
|
headingOrdinal++;
|
|
701
699
|
if (level2 <= EXTRACTOR_MAX_LEVEL) sectionOrdinal++;
|
|
@@ -704,8 +702,8 @@ function buildHeadingIdMap(content, sectionIds) {
|
|
|
704
702
|
for (const variation of [
|
|
705
703
|
text3,
|
|
706
704
|
text3.toLowerCase(),
|
|
707
|
-
|
|
708
|
-
|
|
705
|
+
_chunk77GX573Icjs.stripHeadingEmojis.call(void 0, text3),
|
|
706
|
+
_chunk77GX573Icjs.stripHeadingEmojis.call(void 0, text3).toLowerCase()
|
|
709
707
|
]) {
|
|
710
708
|
const id = sectionIdMap.get(variation);
|
|
711
709
|
if (id) {
|
|
@@ -715,7 +713,7 @@ function buildHeadingIdMap(content, sectionIds) {
|
|
|
715
713
|
}
|
|
716
714
|
}
|
|
717
715
|
if (assigned === void 0) {
|
|
718
|
-
const baseId =
|
|
716
|
+
const baseId = _chunk77GX573Icjs.slugifyHeadingText.call(void 0, text3);
|
|
719
717
|
assigned = dedupe(
|
|
720
718
|
baseId || (level2 <= EXTRACTOR_MAX_LEVEL ? `section-${sectionOrdinal}` : `heading-${headingOrdinal}`)
|
|
721
719
|
);
|
|
@@ -1235,13 +1233,13 @@ function scrubMermaidSvg(svg) {
|
|
|
1235
1233
|
}
|
|
1236
1234
|
function firstMermaidUrl(chart, origins) {
|
|
1237
1235
|
for (const [candidate] of chart.matchAll(/(?:https?:)?\/\/[^\s"'`)<>\\]+/gi)) {
|
|
1238
|
-
if (!
|
|
1236
|
+
if (!_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, candidate, origins)) return _chunkSQ7YHWEPcjs.absoluteHttpUrl.call(void 0, candidate, origins);
|
|
1239
1237
|
}
|
|
1240
1238
|
return null;
|
|
1241
1239
|
}
|
|
1242
1240
|
var MermaidDiagram = (props) => {
|
|
1243
1241
|
const media = _react.useContext.call(void 0, MarkdownMediaOriginsContext);
|
|
1244
|
-
const origins = media === void 0 ?
|
|
1242
|
+
const origins = media === void 0 ? _chunkSQ7YHWEPcjs.readAppOrigins.call(void 0, ) : media;
|
|
1245
1243
|
if (origins === null) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MermaidDiagramView, { ...props, untrusted: false });
|
|
1246
1244
|
if (MERMAID_REMOTE_LOAD_RE.test(withoutMermaidConfig(props.chart))) {
|
|
1247
1245
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalMediaNotice, { url: firstMermaidUrl(props.chart, origins), kind: "diagram" });
|
|
@@ -1256,17 +1254,16 @@ var MARKDOWN_H2_CLASS = "mb-4 mt-8 border-b border-ods-border pb-2 font-sans fon
|
|
|
1256
1254
|
var MARKDOWN_PARAGRAPH_CLASS = "mb-4 leading-relaxed text-ods-text-primary first:mt-0 last:mb-0";
|
|
1257
1255
|
var MarkdownContentImage = ({ src, alt }) => {
|
|
1258
1256
|
const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
1259
|
-
const
|
|
1260
|
-
|
|
1261
|
-
if (!resolvedSrc) return null;
|
|
1257
|
+
const drawable = _chunk6DMH4GXNcjs.useAuthedImageSrc.call(void 0, inScope ? void 0 : src);
|
|
1258
|
+
if (!inScope && !drawable) return null;
|
|
1262
1259
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1263
|
-
|
|
1260
|
+
_chunk6DMH4GXNcjs.next_image_default,
|
|
1264
1261
|
{
|
|
1265
|
-
src
|
|
1262
|
+
src,
|
|
1266
1263
|
alt: _nullishCoalesce(alt, () => ( "No image available")),
|
|
1267
1264
|
width: 400,
|
|
1268
1265
|
height: 400,
|
|
1269
|
-
sizes:
|
|
1266
|
+
sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.inline,
|
|
1270
1267
|
className: "h-auto max-h-[400px] w-auto max-w-full rounded-lg object-contain",
|
|
1271
1268
|
style: { width: "auto", height: "auto" }
|
|
1272
1269
|
}
|
|
@@ -1330,7 +1327,7 @@ function buildBaseComponents({
|
|
|
1330
1327
|
const mapped = useHeadingId(node);
|
|
1331
1328
|
const taken = useAssignedHeadingIds();
|
|
1332
1329
|
const explicit = typeof _optionalChain([node, 'optionalAccess', _27 => _27.properties, 'optionalAccess', _28 => _28.id]) === "string" && node.properties.id !== "" ? node.properties.id : void 0;
|
|
1333
|
-
const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(
|
|
1330
|
+
const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunk77GX573Icjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
|
|
1334
1331
|
const EffectiveTag = Tag2 === "h1" && demoteMarkdownH1ToH2 ? "h2" : Tag2;
|
|
1335
1332
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EffectiveTag, { id: id || void 0, className: headingClassName, children });
|
|
1336
1333
|
}
|
|
@@ -1402,10 +1399,10 @@ function buildBaseComponents({
|
|
|
1402
1399
|
const handleAnchorClick = (e) => {
|
|
1403
1400
|
if (inPageAnchorId === null) return;
|
|
1404
1401
|
if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0) return;
|
|
1405
|
-
const target =
|
|
1402
|
+
const target = _chunk77GX573Icjs.getHashTargetElement.call(void 0, inPageAnchorId);
|
|
1406
1403
|
if (!_optionalChain([target, 'optionalAccess', _29 => _29.id])) return;
|
|
1407
1404
|
e.preventDefault();
|
|
1408
|
-
|
|
1405
|
+
_chunk77GX573Icjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunk77GX573Icjs.HUB_HEADER_OFFSET_PX });
|
|
1409
1406
|
};
|
|
1410
1407
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1411
1408
|
_chunkV45KLJQPcjs.next_link_default,
|
|
@@ -1421,9 +1418,10 @@ function buildBaseComponents({
|
|
|
1421
1418
|
},
|
|
1422
1419
|
// --- images ---
|
|
1423
1420
|
// Inline content image renderer (blog, docs, chat attachments) —
|
|
1424
|
-
// delegates to `MarkdownContentImage` (above), which
|
|
1425
|
-
//
|
|
1426
|
-
// expand for full resolution
|
|
1421
|
+
// delegates to `MarkdownContentImage` (above), which draws nothing until
|
|
1422
|
+
// there is a picture to draw and applies the 400x400 cap with click-to-
|
|
1423
|
+
// expand for full resolution; the boxed `Image` it renders resolves and
|
|
1424
|
+
// authenticates it.
|
|
1427
1425
|
//
|
|
1428
1426
|
// A third-party `src` never reaches here unless the composition set
|
|
1429
1427
|
// `allowRemoteMedia`: `rehypeStripUnsafe` moves it to `data-blocked-src`,
|
|
@@ -1869,8 +1867,8 @@ var PIPELINE_CLASSES = /* @__PURE__ */ new Set([
|
|
|
1869
1867
|
]);
|
|
1870
1868
|
var isPipelineClass = (name) => PIPELINE_CLASSES.has(name) || /^language-[\w+#-]+$/.test(name);
|
|
1871
1869
|
function hasRemoteMediaUrl(attr, value, origins) {
|
|
1872
|
-
if (attr !== "srcset") return !
|
|
1873
|
-
return value.split(",").some((candidate) => !
|
|
1870
|
+
if (attr !== "srcset") return !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, value.trim(), origins);
|
|
1871
|
+
return value.split(",").some((candidate) => !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, _nullishCoalesce(candidate.trim().split(/\s+/)[0], () => ( "")), origins));
|
|
1874
1872
|
}
|
|
1875
1873
|
function scrubProperties(properties, tag, media) {
|
|
1876
1874
|
if (!properties || typeof properties !== "object") return properties;
|
|
@@ -1905,7 +1903,7 @@ function scrubProperties(properties, tag, media) {
|
|
|
1905
1903
|
if (typeof v === "string" && hasRemoteMediaUrl(lower, v, media)) {
|
|
1906
1904
|
_nullishCoalesce(next, () => ( (next = { ...properties })));
|
|
1907
1905
|
delete next[key];
|
|
1908
|
-
if (tag === "img" && lower === "src") blockedSrc =
|
|
1906
|
+
if (tag === "img" && lower === "src") blockedSrc = _chunkSQ7YHWEPcjs.absoluteHttpUrl.call(void 0, v, media);
|
|
1909
1907
|
continue;
|
|
1910
1908
|
}
|
|
1911
1909
|
}
|
|
@@ -1980,7 +1978,7 @@ function scrubElementChildren(children, media) {
|
|
|
1980
1978
|
return changed ? out : children;
|
|
1981
1979
|
}
|
|
1982
1980
|
function rehypeStripUnsafe({ allowRemoteMedia = false, appOrigins } = {}) {
|
|
1983
|
-
const media = allowRemoteMedia ? null : _nullishCoalesce(appOrigins, () => (
|
|
1981
|
+
const media = allowRemoteMedia ? null : _nullishCoalesce(appOrigins, () => ( _chunkSQ7YHWEPcjs.readAppOrigins.call(void 0, )));
|
|
1984
1982
|
return (tree) => {
|
|
1985
1983
|
const out = [];
|
|
1986
1984
|
let changed = false;
|
|
@@ -2014,7 +2012,7 @@ function findInlineCodeRanges(source) {
|
|
|
2014
2012
|
while (pos <= len) {
|
|
2015
2013
|
let end = source.indexOf("\n", pos);
|
|
2016
2014
|
if (end === -1) end = len;
|
|
2017
|
-
const blank =
|
|
2015
|
+
const blank = _chunk77GX573Icjs.isBlankLine.call(void 0, source.slice(pos, end));
|
|
2018
2016
|
if (blank && segStart !== -1) break;
|
|
2019
2017
|
if (!blank) {
|
|
2020
2018
|
if (segStart === -1) segStart = pos;
|
|
@@ -2096,7 +2094,7 @@ function toMaskLines(source) {
|
|
|
2096
2094
|
return out;
|
|
2097
2095
|
}
|
|
2098
2096
|
function blankFencedRegions(masked, lines) {
|
|
2099
|
-
const fences =
|
|
2097
|
+
const fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
|
|
2100
2098
|
const ranges = [];
|
|
2101
2099
|
let openStart = null;
|
|
2102
2100
|
let lastEnd = 0;
|
|
@@ -2135,7 +2133,7 @@ function blankIndentedCode(masked, lines) {
|
|
|
2135
2133
|
const listContentCols = [];
|
|
2136
2134
|
const ranges = [];
|
|
2137
2135
|
for (const line of lines) {
|
|
2138
|
-
if (
|
|
2136
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, line.content)) continue;
|
|
2139
2137
|
const indent = leadingIndent(line.content);
|
|
2140
2138
|
const top = listContentCols.length ? listContentCols[listContentCols.length - 1] : 0;
|
|
2141
2139
|
if (indent >= top + 4) {
|
|
@@ -2226,7 +2224,7 @@ function contPrefixLen(c) {
|
|
|
2226
2224
|
function findLabelClose(lines, i, from) {
|
|
2227
2225
|
for (let j = i; j < lines.length; j++) {
|
|
2228
2226
|
const c = stripCr(lines[j].content);
|
|
2229
|
-
if (j > i &&
|
|
2227
|
+
if (j > i && _chunk77GX573Icjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
|
|
2230
2228
|
for (let q = j === i ? from : contPrefixLen(c); q < c.length; q = skipEscaped(c, q)) {
|
|
2231
2229
|
if (c[q] === "[") return { stoppedAt: j };
|
|
2232
2230
|
if (c[q] !== "]") continue;
|
|
@@ -2244,7 +2242,7 @@ function blankLinkDefinitions(masked, lines) {
|
|
|
2244
2242
|
let k = from;
|
|
2245
2243
|
for (; k < lines.length; k++) {
|
|
2246
2244
|
const c = stripCr(lines[k].content);
|
|
2247
|
-
if (
|
|
2245
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) break;
|
|
2248
2246
|
blankLine(lines[k]);
|
|
2249
2247
|
if (stop(c)) {
|
|
2250
2248
|
k++;
|
|
@@ -2287,7 +2285,7 @@ function blankLinkDefinitions(masked, lines) {
|
|
|
2287
2285
|
const k = j + 1;
|
|
2288
2286
|
if (k >= lines.length) break;
|
|
2289
2287
|
const c = stripCr(lines[k].content);
|
|
2290
|
-
if (
|
|
2288
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) break;
|
|
2291
2289
|
const at = contPrefixLen(c);
|
|
2292
2290
|
const next = tail.k === "needDest" ? parseDefTail(c, at) : parseTitleTail(c, skipSpaces(c, at));
|
|
2293
2291
|
if (next.k === "decline") break;
|
|
@@ -2357,7 +2355,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
|
|
|
2357
2355
|
let sawBlank = false;
|
|
2358
2356
|
for (let k = i + 1; k < lines.length; k++) {
|
|
2359
2357
|
const c = text3(lines[k]);
|
|
2360
|
-
if (
|
|
2358
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) {
|
|
2361
2359
|
sawBlank = true;
|
|
2362
2360
|
continue;
|
|
2363
2361
|
}
|
|
@@ -2457,7 +2455,7 @@ function paragraphEnd(s, from) {
|
|
|
2457
2455
|
lineStart += 1;
|
|
2458
2456
|
const next = s.indexOf("\n", lineStart);
|
|
2459
2457
|
const line = s.slice(lineStart, next === -1 ? s.length : next);
|
|
2460
|
-
if (
|
|
2458
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, line)) return lineStart;
|
|
2461
2459
|
if (next === -1) break;
|
|
2462
2460
|
lineStart = next;
|
|
2463
2461
|
}
|
|
@@ -2611,7 +2609,7 @@ function blankListItemCode(masked, lines, depth = 0) {
|
|
|
2611
2609
|
run = [];
|
|
2612
2610
|
};
|
|
2613
2611
|
for (const line of lines) {
|
|
2614
|
-
if (
|
|
2612
|
+
if (_chunk77GX573Icjs.isBlankLine.call(void 0, line.content)) {
|
|
2615
2613
|
if (run.length > 0) run.push({ ...line, content: "" });
|
|
2616
2614
|
continue;
|
|
2617
2615
|
}
|
|
@@ -2836,7 +2834,7 @@ function htmlBlockStartKind(line, inParagraph) {
|
|
|
2836
2834
|
function computeHtmlBlockRanges(text3) {
|
|
2837
2835
|
if (text3.indexOf("<") === -1) return [];
|
|
2838
2836
|
const ranges = [];
|
|
2839
|
-
const fences =
|
|
2837
|
+
const fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
|
|
2840
2838
|
let kind = null;
|
|
2841
2839
|
let start = 0;
|
|
2842
2840
|
let lastEnd = 0;
|
|
@@ -2851,9 +2849,9 @@ function computeHtmlBlockRanges(text3) {
|
|
|
2851
2849
|
const expanded = expandTabs(line);
|
|
2852
2850
|
const norm = stripContainerPrefix(expanded, listContentCol);
|
|
2853
2851
|
if (norm.openedListCol >= 0) listContentCol = norm.openedListCol;
|
|
2854
|
-
else if (!
|
|
2855
|
-
const normBlank =
|
|
2856
|
-
const blank = openPrefixLen > 0 ?
|
|
2852
|
+
else if (!_chunk77GX573Icjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
|
|
2853
|
+
const normBlank = _chunk77GX573Icjs.isBlankLine.call(void 0, norm.text);
|
|
2854
|
+
const blank = openPrefixLen > 0 ? _chunk77GX573Icjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunk77GX573Icjs.isBlankLine.call(void 0, line);
|
|
2857
2855
|
if (kind !== null) {
|
|
2858
2856
|
if (kind >= 6) {
|
|
2859
2857
|
if (blank) {
|
|
@@ -3007,7 +3005,7 @@ var ScanState = class {
|
|
|
3007
3005
|
* `FENCE_RE` plus its own open/close state machine, cross-referenced by a
|
|
3008
3006
|
* comment) is precisely the drift that produced the `~~~` bug.
|
|
3009
3007
|
*/
|
|
3010
|
-
this.fences =
|
|
3008
|
+
this.fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
|
|
3011
3009
|
/** Depth of currently open raw HTML block containers. */
|
|
3012
3010
|
this.htmlDepth = 0;
|
|
3013
3011
|
/** Raw-block tag name of a start tag still waiting for its `>`, or null. */
|
|
@@ -3080,7 +3078,7 @@ function splitStreamingBlocks(content) {
|
|
|
3080
3078
|
const isListOrQuote = (line) => /^\s{0,3}(?:[-+*]\s|\d{1,9}[.)]\s|>)/.test(line);
|
|
3081
3079
|
const firstNonBlank = (arr) => {
|
|
3082
3080
|
for (const line of arr) {
|
|
3083
|
-
if (!
|
|
3081
|
+
if (!_chunk77GX573Icjs.isBlankLine.call(void 0, line)) return line;
|
|
3084
3082
|
}
|
|
3085
3083
|
return void 0;
|
|
3086
3084
|
};
|
|
@@ -3090,10 +3088,10 @@ function splitStreamingBlocks(content) {
|
|
|
3090
3088
|
state.scanLine(line);
|
|
3091
3089
|
if (state.htmlMark() !== markBefore || state.htmlLatched()) currentTouchedHtml = true;
|
|
3092
3090
|
current.push(line);
|
|
3093
|
-
const isBlank =
|
|
3091
|
+
const isBlank = _chunk77GX573Icjs.isBlankLine.call(void 0, line);
|
|
3094
3092
|
if (!isBlank || state.fences.openChar() !== null || state.htmlBlocksCut()) continue;
|
|
3095
3093
|
let j = i + 1;
|
|
3096
|
-
while (j < lines.length &&
|
|
3094
|
+
while (j < lines.length && _chunk77GX573Icjs.isBlankLine.call(void 0, lines[j])) j++;
|
|
3097
3095
|
if (j >= lines.length) continue;
|
|
3098
3096
|
const next = lines[j];
|
|
3099
3097
|
if (/^\s/.test(next)) continue;
|
|
@@ -3101,7 +3099,7 @@ function splitStreamingBlocks(content) {
|
|
|
3101
3099
|
if (isListOrQuote(next) && unitOpener !== void 0 && isListOrQuote(unitOpener)) {
|
|
3102
3100
|
continue;
|
|
3103
3101
|
}
|
|
3104
|
-
if (current.every(
|
|
3102
|
+
if (current.every(_chunk77GX573Icjs.isBlankLine)) continue;
|
|
3105
3103
|
units.push(current);
|
|
3106
3104
|
unitTouchedHtml.push(currentTouchedHtml);
|
|
3107
3105
|
current = [];
|
|
@@ -3332,7 +3330,7 @@ var MarkdownEngineImpl = ({
|
|
|
3332
3330
|
() => [_remarkgfm2.default, _remarkbreaks2.default, ..._nullishCoalesce(additionalRemarkPlugins, () => ( []))],
|
|
3333
3331
|
[additionalRemarkPlugins]
|
|
3334
3332
|
);
|
|
3335
|
-
const appOrigins = _react.useSyncExternalStore.call(void 0,
|
|
3333
|
+
const appOrigins = _react.useSyncExternalStore.call(void 0, _chunkSQ7YHWEPcjs.subscribeAppOrigins, _chunkSQ7YHWEPcjs.readAppOrigins, () => _chunkSQ7YHWEPcjs.SERVER_APP_ORIGINS);
|
|
3336
3334
|
const rehypeHighlight = useHighlightPlugin(processedContent);
|
|
3337
3335
|
const { rehypePlugins, liveRehypePlugins } = _react.useMemo.call(void 0, () => {
|
|
3338
3336
|
const schema = buildSanitizeSchema({
|
|
@@ -3511,7 +3509,7 @@ function onAskAiIntent(run) {
|
|
|
3511
3509
|
|
|
3512
3510
|
// src/components/chat/chat-appearance-context.tsx
|
|
3513
3511
|
|
|
3514
|
-
var ChatAppearanceContext = _react.createContext.call(void 0,
|
|
3512
|
+
var ChatAppearanceContext = _react.createContext.call(void 0, _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC);
|
|
3515
3513
|
function useChatAppearance() {
|
|
3516
3514
|
return _react.useContext.call(void 0, ChatAppearanceContext);
|
|
3517
3515
|
}
|
|
@@ -3550,7 +3548,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3550
3548
|
...props
|
|
3551
3549
|
}, ref) => {
|
|
3552
3550
|
const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
|
|
3553
|
-
const isV2 = useChatAppearance() ===
|
|
3551
|
+
const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
3554
3552
|
const handleApprove = async () => {
|
|
3555
3553
|
setIsProcessing(true);
|
|
3556
3554
|
try {
|
|
@@ -3573,7 +3571,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3573
3571
|
{
|
|
3574
3572
|
ref,
|
|
3575
3573
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
3576
|
-
|
|
3574
|
+
_chunkSTV6VJ3Ucjs.CHAT_BLOCK_CLASS,
|
|
3577
3575
|
// v2: the thread owns the space below the card.
|
|
3578
3576
|
!isV2 && "mb-[var(--spacing-system-xsf)]",
|
|
3579
3577
|
className
|
|
@@ -3581,7 +3579,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3581
3579
|
...props,
|
|
3582
3580
|
children: [
|
|
3583
3581
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full whitespace-pre-line break-words text-ods-text-primary text-h4", children: _optionalChain([data, 'access', _51 => _51.explanation, 'optionalAccess', _52 => _52.trim, 'call', _53 => _53()]) || "Approval required" }),
|
|
3584
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3582
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalWaitingLine, {}),
|
|
3585
3583
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3586
3584
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3587
3585
|
_chunkFCZAUK4Dcjs.Button,
|
|
@@ -3613,14 +3611,14 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3613
3611
|
children: "Reject"
|
|
3614
3612
|
}
|
|
3615
3613
|
)
|
|
3616
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3614
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3617
3615
|
]
|
|
3618
3616
|
}
|
|
3619
3617
|
);
|
|
3620
3618
|
}
|
|
3621
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]",
|
|
3619
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]", _chunkSTV6VJ3Ucjs.CHAT_BLOCK_CLASS, className), ...props, children: [
|
|
3622
3620
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalCardBody, { data }),
|
|
3623
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3621
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalWaitingLine, {}),
|
|
3624
3622
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3625
3623
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3626
3624
|
_chunkFCZAUK4Dcjs.Button,
|
|
@@ -3652,7 +3650,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3652
3650
|
children: "Reject"
|
|
3653
3651
|
}
|
|
3654
3652
|
)
|
|
3655
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3653
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3656
3654
|
] });
|
|
3657
3655
|
}
|
|
3658
3656
|
);
|
|
@@ -3682,7 +3680,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
|
|
|
3682
3680
|
|
|
3683
3681
|
var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
3684
3682
|
({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
|
|
3685
|
-
const isV2 = useChatAppearance() ===
|
|
3683
|
+
const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
3686
3684
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3687
3685
|
"div",
|
|
3688
3686
|
{
|
|
@@ -3698,7 +3696,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
|
3698
3696
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
3699
3697
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
|
|
3700
3698
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
|
|
3701
|
-
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children:
|
|
3699
|
+
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunk65NMKAPQcjs.formatTime.call(void 0, timestamp) })
|
|
3702
3700
|
] }),
|
|
3703
3701
|
body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
|
|
3704
3702
|
] })
|
|
@@ -3813,7 +3811,7 @@ var SystemEventMessage = _react.forwardRef.call(void 0, ({ text: text3, timestam
|
|
|
3813
3811
|
AiAssistantInfo,
|
|
3814
3812
|
{
|
|
3815
3813
|
ref,
|
|
3816
|
-
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3814
|
+
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { alt: joined, fallback: joined, size: "lg", variant: "round", className: "shrink-0" }),
|
|
3817
3815
|
title: "Technician Joined",
|
|
3818
3816
|
body: `You're now chatting with ${joined}.`,
|
|
3819
3817
|
timestamp,
|
|
@@ -3988,7 +3986,7 @@ function nullableText(value) {
|
|
|
3988
3986
|
}
|
|
3989
3987
|
function httpsUrl(value) {
|
|
3990
3988
|
const candidate = text2(value);
|
|
3991
|
-
if (!candidate ||
|
|
3989
|
+
if (!candidate || _chunkAYMY2VNBcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
|
|
3992
3990
|
try {
|
|
3993
3991
|
return new URL(candidate).protocol === "https:" ? candidate : void 0;
|
|
3994
3992
|
} catch (e4) {
|
|
@@ -4598,7 +4596,7 @@ var thoughtMdClasses = [
|
|
|
4598
4596
|
var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
4599
4597
|
({ className, text: text3, isStreaming = false, ...props }, ref) => {
|
|
4600
4598
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
4601
|
-
const { innerRef, isOverflowing, containerStyle } =
|
|
4599
|
+
const { innerRef, isOverflowing, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, {
|
|
4602
4600
|
expanded,
|
|
4603
4601
|
collapsedHeight: 19,
|
|
4604
4602
|
disableTransition: isStreaming
|
|
@@ -4613,7 +4611,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
4613
4611
|
setExpanded(!expanded);
|
|
4614
4612
|
}
|
|
4615
4613
|
};
|
|
4616
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
4614
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkSTV6VJ3Ucjs.CHAT_BLOCK_FRAME_CLASS, "p-1.5", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4617
4615
|
"div",
|
|
4618
4616
|
{
|
|
4619
4617
|
role: "button",
|
|
@@ -4631,7 +4629,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
4631
4629
|
isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOEP5KAT6cjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
|
|
4632
4630
|
] }),
|
|
4633
4631
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: _chunk63A4GZMBcjs.cn.call(void 0, "text-sm leading-snug text-ods-text-secondary", thoughtMdClasses), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SimpleMarkdownRenderer, { content: escapeThinkingTags(text3), textSize: "compact" }) }) }),
|
|
4634
|
-
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4632
|
+
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded }) })
|
|
4635
4633
|
]
|
|
4636
4634
|
}
|
|
4637
4635
|
) });
|
|
@@ -4770,7 +4768,7 @@ function renderQuickActionIcon(icon) {
|
|
|
4770
4768
|
if (!spec.name && !spec.url) return void 0;
|
|
4771
4769
|
const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
|
|
4772
4770
|
const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
|
|
4773
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4771
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
|
|
4774
4772
|
}
|
|
4775
4773
|
function composeChipLabel(label, lozenge) {
|
|
4776
4774
|
if (!lozenge) return label;
|
|
@@ -4810,7 +4808,7 @@ function QuickActionChipSkeleton({
|
|
|
4810
4808
|
}) {
|
|
4811
4809
|
const question = variant === "question";
|
|
4812
4810
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4813
|
-
|
|
4811
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
4814
4812
|
{
|
|
4815
4813
|
..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props),
|
|
4816
4814
|
variant: "outline",
|
|
@@ -4877,7 +4875,7 @@ function QuickActionChipButton({
|
|
|
4877
4875
|
const tagSize = question || fill ? "sentence" : size;
|
|
4878
4876
|
if (!interactive) {
|
|
4879
4877
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4880
|
-
|
|
4878
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
4881
4879
|
{
|
|
4882
4880
|
...markers,
|
|
4883
4881
|
variant: tagVariant,
|
|
@@ -4906,7 +4904,7 @@ function QuickActionChipButton({
|
|
|
4906
4904
|
className
|
|
4907
4905
|
),
|
|
4908
4906
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4909
|
-
|
|
4907
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
4910
4908
|
{
|
|
4911
4909
|
variant: tagVariant,
|
|
4912
4910
|
size: tagSize,
|
|
@@ -4982,9 +4980,9 @@ var iconTint = {
|
|
|
4982
4980
|
var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
4983
4981
|
({ className, title, details, type = "error", ...props }, ref) => {
|
|
4984
4982
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
4985
|
-
const { innerRef, containerStyle } =
|
|
4983
|
+
const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded });
|
|
4986
4984
|
const hasDetails = Boolean(details);
|
|
4987
|
-
const isV2 = useChatAppearance() ===
|
|
4985
|
+
const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
4988
4986
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4989
4987
|
"div",
|
|
4990
4988
|
{
|
|
@@ -5018,7 +5016,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
5018
5016
|
children: title
|
|
5019
5017
|
}
|
|
5020
5018
|
),
|
|
5021
|
-
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5019
|
+
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded })
|
|
5022
5020
|
]
|
|
5023
5021
|
}
|
|
5024
5022
|
),
|
|
@@ -5066,7 +5064,7 @@ function MspOrganizationCard({
|
|
|
5066
5064
|
const trailing = action && loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { children: action }) : action;
|
|
5067
5065
|
if (footer) {
|
|
5068
5066
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, FOOTER_FRAME_CLASS, className), children: [
|
|
5069
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5067
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "sm", variant: "square" }),
|
|
5070
5068
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TEXT_STACK_CLASS, children: [
|
|
5071
5069
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: FOOTER_CAPTION_CLASS, children: FOOTER_CAPTION }),
|
|
5072
5070
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-3/5" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: _nullishCoalesce(title, () => ( name)) })
|
|
@@ -5075,7 +5073,7 @@ function MspOrganizationCard({
|
|
|
5075
5073
|
] });
|
|
5076
5074
|
}
|
|
5077
5075
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, CARD_FRAME_CLASS, className), children: [
|
|
5078
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
|
|
5079
5077
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TEXT_STACK_CLASS, children: loading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
5080
5078
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h3", className: "w-3/5" }),
|
|
5081
5079
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-2/5" })
|
|
@@ -5185,7 +5183,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
5185
5183
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
|
|
5186
5184
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
5187
5185
|
userIcon && !isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent", children: userIcon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5188
|
-
|
|
5186
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
5189
5187
|
{
|
|
5190
5188
|
loading: isLoading,
|
|
5191
5189
|
src: userAvatar,
|
|
@@ -5267,9 +5265,9 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
5267
5265
|
)
|
|
5268
5266
|
] }),
|
|
5269
5267
|
(ticketInfo.status || ticketInfo.statusName) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5270
|
-
|
|
5268
|
+
_chunkSTV6VJ3Ucjs.TicketStatusTag,
|
|
5271
5269
|
{
|
|
5272
|
-
...
|
|
5270
|
+
..._chunkSTV6VJ3Ucjs.resolveStatusTagProps.call(void 0, {
|
|
5273
5271
|
status: ticketInfo.status,
|
|
5274
5272
|
statusKind: ticketInfo.statusKind,
|
|
5275
5273
|
statusName: ticketInfo.statusName,
|
|
@@ -5807,7 +5805,7 @@ function InlineChip({
|
|
|
5807
5805
|
loading
|
|
5808
5806
|
}) {
|
|
5809
5807
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5810
|
-
|
|
5808
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
5811
5809
|
{
|
|
5812
5810
|
as: "span",
|
|
5813
5811
|
variant: "badge",
|
|
@@ -5908,11 +5906,11 @@ var remarkMentionChips = () => {
|
|
|
5908
5906
|
// src/components/chat/tool-execution-display.tsx
|
|
5909
5907
|
|
|
5910
5908
|
|
|
5911
|
-
var COMMAND_BODY_KEYS = new Set(
|
|
5909
|
+
var COMMAND_BODY_KEYS = new Set(_chunkSTV6VJ3Ucjs.COMMAND_BODY_ARG_KEYS);
|
|
5912
5910
|
var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
5913
5911
|
({ className, message, assistantType, variant = "admin", ...props }, ref) => {
|
|
5914
5912
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
5915
|
-
const { innerRef, containerStyle } =
|
|
5913
|
+
const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded });
|
|
5916
5914
|
const isClient = assistantType === "fae";
|
|
5917
5915
|
const isClientView = variant === "client";
|
|
5918
5916
|
const isExecuting = message.type === "EXECUTING_TOOL";
|
|
@@ -5931,8 +5929,8 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5931
5929
|
}, [message.parameters, variant]);
|
|
5932
5930
|
const hasResult = isExecuted && typeof message.result === "string" && message.result.length > 0;
|
|
5933
5931
|
const review = message.policyReview;
|
|
5934
|
-
const reviewRows =
|
|
5935
|
-
const isConciseRemoteRead = !message.integratedToolType && !!previewText && argEntries.length === 0 && !hasResult && !reviewRows && !
|
|
5932
|
+
const reviewRows = _chunkSTV6VJ3Ucjs.hasPolicyReviewRows.call(void 0, review);
|
|
5933
|
+
const isConciseRemoteRead = !message.integratedToolType && !!previewText && argEntries.length === 0 && !hasResult && !reviewRows && !_chunkSTV6VJ3Ucjs.isPolicyEscalated.call(void 0, review);
|
|
5936
5934
|
const isStaticRow = isClientView || isConciseRemoteRead;
|
|
5937
5935
|
const hasBody = argEntries.length > 0 || reviewRows || hasResult || isExecuting;
|
|
5938
5936
|
const isExpanded = expanded && hasBody;
|
|
@@ -5945,7 +5943,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5945
5943
|
const statusTone = isExecuting ? "working" : message.success === false ? "error" : "success";
|
|
5946
5944
|
const statusLabel = _optionalChain([message, 'access', _98 => _98.statusLabel, 'optionalAccess', _99 => _99.trim, 'call', _100 => _100()]) || (isExecuting ? "Working on it" : message.success === false ? "Failed" : "Done");
|
|
5947
5945
|
const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
5948
|
-
!isClient && /* @__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,
|
|
5946
|
+
!isClient && /* @__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: integratedToolType, size: 16 }) }),
|
|
5949
5947
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5950
5948
|
"div",
|
|
5951
5949
|
{
|
|
@@ -5957,7 +5955,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5957
5955
|
}
|
|
5958
5956
|
),
|
|
5959
5957
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: renderStatusIcon() }),
|
|
5960
|
-
!isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5958
|
+
!isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded: isExpanded }) })
|
|
5961
5959
|
] });
|
|
5962
5960
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5963
5961
|
"div",
|
|
@@ -5967,7 +5965,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5967
5965
|
// The command running block keeps its bordered box in both chats
|
|
5968
5966
|
// (Figma 1972-6109). CLIENT (Fae) only drops the tool icon below.
|
|
5969
5967
|
"flex w-full flex-col overflow-hidden",
|
|
5970
|
-
|
|
5968
|
+
_chunkSTV6VJ3Ucjs.CHAT_BLOCK_FRAME_CLASS,
|
|
5971
5969
|
className
|
|
5972
5970
|
),
|
|
5973
5971
|
...props,
|
|
@@ -5978,7 +5976,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5978
5976
|
// It reads as a card: what was done, then one status line under it.
|
|
5979
5977
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-sf)] text-left", children: [
|
|
5980
5978
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 whitespace-pre-wrap break-words text-ods-text-primary text-h4", children: previewText }),
|
|
5981
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5979
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.StatusLine, { tone: statusTone, label: statusLabel })
|
|
5982
5980
|
] })
|
|
5983
5981
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
5984
5982
|
hasBody ? (
|
|
@@ -5997,16 +5995,16 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5997
5995
|
)
|
|
5998
5996
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-start gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)] text-left", children: headerContent }),
|
|
5999
5997
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: hasBody && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start gap-0 border-t border-ods-border p-[var(--spacing-system-sf)] text-h6", children: [
|
|
6000
|
-
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5998
|
+
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ArgRow, { argKey: key, value }, key)),
|
|
6001
5999
|
reviewRows && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6002
|
-
|
|
6000
|
+
_chunkSTV6VJ3Ucjs.PolicyReviewRows,
|
|
6003
6001
|
{
|
|
6004
6002
|
review,
|
|
6005
6003
|
className: argEntries.length > 0 ? "mt-[var(--spacing-system-xsf)]" : void 0
|
|
6006
6004
|
}
|
|
6007
6005
|
),
|
|
6008
6006
|
hasResult && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6009
|
-
|
|
6007
|
+
_chunkSTV6VJ3Ucjs.ResultBlock,
|
|
6010
6008
|
{
|
|
6011
6009
|
result: message.result,
|
|
6012
6010
|
className: argEntries.length > 0 || reviewRows ? "mt-[var(--spacing-system-xsf)]" : void 0
|
|
@@ -6026,7 +6024,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
6026
6024
|
}
|
|
6027
6025
|
)
|
|
6028
6026
|
] }) }) }),
|
|
6029
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6027
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.PolicyEscalationAlert, { review, className: "border-t border-ods-border" })
|
|
6030
6028
|
] })
|
|
6031
6029
|
}
|
|
6032
6030
|
);
|
|
@@ -6047,7 +6045,7 @@ function ChatMarkdownLink({
|
|
|
6047
6045
|
...anchorProps
|
|
6048
6046
|
}) {
|
|
6049
6047
|
const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
|
|
6050
|
-
if (!runtime ||
|
|
6048
|
+
if (!runtime || _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, href).isNewTab) {
|
|
6051
6049
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Anchor2, { href, className, ...anchorProps, children });
|
|
6052
6050
|
}
|
|
6053
6051
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Anchor2, { href, ...anchorProps, className: "no-underline", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InlineChip, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRD4RFX3Kcjs.BrowserWindowIcon, {}), label: children, className: "hover:bg-ods-bg-hover" }) });
|
|
@@ -6055,8 +6053,8 @@ function ChatMarkdownLink({
|
|
|
6055
6053
|
|
|
6056
6054
|
// src/components/chat/chat-message-layout.ts
|
|
6057
6055
|
var CHAT_MESSAGE_ROW_PADDING_CLASS = {
|
|
6058
|
-
[
|
|
6059
|
-
[
|
|
6056
|
+
[_chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC]: "py-[var(--spacing-system-s)]",
|
|
6057
|
+
[_chunk65NMKAPQcjs.CHAT_APPEARANCE.V2]: "py-[calc(var(--spacing-system-m)/2)]"
|
|
6060
6058
|
};
|
|
6061
6059
|
var CHAT_MESSAGE_STACK_CLASS = "grid min-w-0 grid-cols-1 gap-[var(--spacing-system-xxs)]";
|
|
6062
6060
|
var CHAT_MESSAGE_HEADER_CLASS = "flex items-center gap-[var(--spacing-system-xs)]";
|
|
@@ -6113,8 +6111,8 @@ var remarkStripCitations = () => {
|
|
|
6113
6111
|
var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
|
|
6114
6112
|
var CARD_MARKER_REGEX = createCardMarkerScanner();
|
|
6115
6113
|
function formatMessageTimestamp(timestamp) {
|
|
6116
|
-
const time =
|
|
6117
|
-
return
|
|
6114
|
+
const time = _chunk65NMKAPQcjs.formatTime.call(void 0, timestamp);
|
|
6115
|
+
return _chunkSTV6VJ3Ucjs.isToday.call(void 0, timestamp) ? time : `${_chunk65NMKAPQcjs.formatDate.call(void 0, timestamp)} ${time}`;
|
|
6118
6116
|
}
|
|
6119
6117
|
function normalizeContent(content) {
|
|
6120
6118
|
if (typeof content === "string") {
|
|
@@ -6170,7 +6168,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
6170
6168
|
const isError = role === "error";
|
|
6171
6169
|
const inheritedAppearance = useChatAppearance();
|
|
6172
6170
|
const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
|
|
6173
|
-
const isV2 = appearance ===
|
|
6171
|
+
const isV2 = appearance === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
6174
6172
|
const authorType = _nullishCoalesce(authorTypeProp, () => ( (isHuman ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
|
|
6175
6173
|
const isOtherPerson = isHuman && selfAuthorType !== void 0 && authorType !== "system" && authorType !== selfAuthorType;
|
|
6176
6174
|
const isUser = isHuman && !isOtherPerson;
|
|
@@ -6358,9 +6356,9 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
6358
6356
|
const faceBox = "h-5 w-5 flex-shrink-0";
|
|
6359
6357
|
const face = !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "flex items-center justify-center", faceBox), children: assistantIcon }) : !isHuman && !avatar && assistantType ? (
|
|
6360
6358
|
// An agent with no picture shows its packaged mark, never initials.
|
|
6361
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6359
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: assistantType, className: "h-full w-full rounded-full" }) })
|
|
6362
6360
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: "inline-flex flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6363
|
-
|
|
6361
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
6364
6362
|
{
|
|
6365
6363
|
src: avatar || void 0,
|
|
6366
6364
|
alt: displayName,
|
|
@@ -6376,7 +6374,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
6376
6374
|
"div",
|
|
6377
6375
|
{
|
|
6378
6376
|
ref,
|
|
6379
|
-
className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[
|
|
6377
|
+
className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[_chunk65NMKAPQcjs.CHAT_APPEARANCE.V2], className),
|
|
6380
6378
|
...props,
|
|
6381
6379
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SystemEventMessage, { text: name, timestamp }) })
|
|
6382
6380
|
}
|
|
@@ -6388,7 +6386,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
6388
6386
|
ref,
|
|
6389
6387
|
className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
6390
6388
|
"relative",
|
|
6391
|
-
CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ?
|
|
6389
|
+
CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ? _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2 : _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC],
|
|
6392
6390
|
className
|
|
6393
6391
|
),
|
|
6394
6392
|
...props,
|
|
@@ -6445,7 +6443,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
6445
6443
|
);
|
|
6446
6444
|
} else if (segment.type === "approval_batch") {
|
|
6447
6445
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6448
|
-
|
|
6446
|
+
_chunkSTV6VJ3Ucjs.ApprovalBatchMessage,
|
|
6449
6447
|
{
|
|
6450
6448
|
data: segment.data,
|
|
6451
6449
|
status: segment.status,
|
|
@@ -6531,7 +6529,7 @@ function ChatMessageSkeleton({
|
|
|
6531
6529
|
const lines = Math.max(1, bodyLines);
|
|
6532
6530
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[appearance], className), ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CHAT_MESSAGE_STACK_CLASS, children: [
|
|
6533
6531
|
(showAvatar || showName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, CHAT_MESSAGE_HEADER_CLASS, isUser && "justify-end"), children: [
|
|
6534
|
-
showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6532
|
+
showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading: true, sizePx: CHAT_MESSAGE_FACE_PX, variant: "round" }),
|
|
6535
6533
|
showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-24" }),
|
|
6536
6534
|
showName && showTime && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: _chunk63A4GZMBcjs.cn.call(void 0, "ml-auto", TIME_BAR_CLASS) })
|
|
6537
6535
|
] }),
|
|
@@ -6719,7 +6717,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6719
6717
|
approvalVariant,
|
|
6720
6718
|
selfAuthorType,
|
|
6721
6719
|
nameEveryTurn,
|
|
6722
|
-
appearance =
|
|
6720
|
+
appearance = _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC,
|
|
6723
6721
|
assistantIcon,
|
|
6724
6722
|
pendingApprovals,
|
|
6725
6723
|
hasNextPage,
|
|
@@ -7584,7 +7582,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
|
|
|
7584
7582
|
|
|
7585
7583
|
[Attached: ${safeName}](${url})`;
|
|
7586
7584
|
}
|
|
7587
|
-
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED =
|
|
7585
|
+
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunk3GJ75OULcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
|
|
7588
7586
|
var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
|
|
7589
7587
|
`^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
|
|
7590
7588
|
"gm"
|
|
@@ -7848,7 +7846,7 @@ function MarqueeWallFades({
|
|
|
7848
7846
|
}) });
|
|
7849
7847
|
}
|
|
7850
7848
|
function CloneCopy({ className, style, children }) {
|
|
7851
|
-
const ref =
|
|
7849
|
+
const ref = _chunk77GX573Icjs.useSuppressCloneFocus.call(void 0, true);
|
|
7852
7850
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
|
|
7853
7851
|
}
|
|
7854
7852
|
function MarqueeWall({
|
|
@@ -7875,7 +7873,7 @@ function MarqueeWall({
|
|
|
7875
7873
|
const containerRef = _react.useRef.call(void 0, null);
|
|
7876
7874
|
const trackRef = _react.useRef.call(void 0, null);
|
|
7877
7875
|
const copyRef = _react.useRef.call(void 0, null);
|
|
7878
|
-
const reducedMotion = _nullishCoalesce(
|
|
7876
|
+
const reducedMotion = _nullishCoalesce(_chunkGK577ZLJcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
|
|
7879
7877
|
const [overflows, setOverflows] = _react.useState.call(void 0, false);
|
|
7880
7878
|
const copySizeRef = _react.useRef.call(void 0, 0);
|
|
7881
7879
|
const wrapSizeRef = _react.useRef.call(void 0, 0);
|
|
@@ -7902,7 +7900,7 @@ function MarqueeWall({
|
|
|
7902
7900
|
ro.observe(copy);
|
|
7903
7901
|
return () => ro.disconnect();
|
|
7904
7902
|
}, [measure, marqueeMounted]);
|
|
7905
|
-
const { ref: observe, inView: nearViewport } =
|
|
7903
|
+
const { ref: observe, inView: nearViewport } = _chunk77GX573Icjs.useInView.call(void 0, {
|
|
7906
7904
|
rootMargin: _chunkNTPX5GXIcjs.NEAR_VIEWPORT_ROOT_MARGIN,
|
|
7907
7905
|
initial: true
|
|
7908
7906
|
});
|
|
@@ -7910,7 +7908,7 @@ function MarqueeWall({
|
|
|
7910
7908
|
observe(containerRef.current);
|
|
7911
7909
|
return () => observe(null);
|
|
7912
7910
|
}, [observe]);
|
|
7913
|
-
const autoplay =
|
|
7911
|
+
const autoplay = _chunk77GX573Icjs.useAutoplay.call(void 0, nearViewport);
|
|
7914
7912
|
const pointerInsideRef = _react.useRef.call(void 0, false);
|
|
7915
7913
|
const clearPointerInside = _react.useCallback.call(void 0, () => {
|
|
7916
7914
|
pointerInsideRef.current = false;
|
|
@@ -7923,7 +7921,7 @@ function MarqueeWall({
|
|
|
7923
7921
|
if (e.pointerType === "touch") return;
|
|
7924
7922
|
pointerInsideRef.current = false;
|
|
7925
7923
|
}, []);
|
|
7926
|
-
|
|
7924
|
+
_chunk77GX573Icjs.useResetOnPageHidden.call(void 0, clearPointerInside);
|
|
7927
7925
|
const draggingRef = _react.useRef.call(void 0, false);
|
|
7928
7926
|
const dragSuppressUntilRef = _react.useRef.call(void 0, 0);
|
|
7929
7927
|
const applyTransform = _react.useCallback.call(void 0,
|
|
@@ -7976,7 +7974,7 @@ function MarqueeWall({
|
|
|
7976
7974
|
if (!sync) return void 0;
|
|
7977
7975
|
return sync.register(member);
|
|
7978
7976
|
}, [sync, member]);
|
|
7979
|
-
const { posRef, wrap } =
|
|
7977
|
+
const { posRef, wrap } = _chunk77GX573Icjs.useMarqueeEngine.call(void 0, {
|
|
7980
7978
|
active: marqueeActive && autoplay.playing && isDriver,
|
|
7981
7979
|
speed,
|
|
7982
7980
|
isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current,
|
|
@@ -8484,9 +8482,9 @@ function chatDayLabel(timestamp, now = /* @__PURE__ */ new Date()) {
|
|
|
8484
8482
|
if (time >= startOfToday) return "Today";
|
|
8485
8483
|
const startOfYesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1).getTime();
|
|
8486
8484
|
if (time >= startOfYesterday) return "Yesterday";
|
|
8487
|
-
return
|
|
8485
|
+
return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0,
|
|
8488
8486
|
date,
|
|
8489
|
-
|
|
8487
|
+
_chunkYSXVRTGTcjs.VIEWER_TIMEZONE,
|
|
8490
8488
|
{ day: "numeric", month: "short", year: date.getFullYear() === now.getFullYear() ? void 0 : "numeric" },
|
|
8491
8489
|
{ viewerLocale: true }
|
|
8492
8490
|
);
|
|
@@ -8690,7 +8688,7 @@ function MingoChatHistoryRow({
|
|
|
8690
8688
|
!loading && "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent"
|
|
8691
8689
|
),
|
|
8692
8690
|
children: [
|
|
8693
|
-
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className:
|
|
8691
|
+
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: _chunk65NMKAPQcjs.SKELETON_TITLE_WIDTHS[skeletonIndex % _chunk65NMKAPQcjs.SKELETON_TITLE_WIDTHS.length] }) : null,
|
|
8694
8692
|
!loading && unread > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-8 min-w-8 shrink-0 items-center justify-center rounded-md bg-ods-accent px-[var(--spacing-system-xsf)] text-ods-text-on-accent text-h5", children: unread > 99 ? "99+" : unread }) : null,
|
|
8695
8693
|
loading ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8696
8694
|
"span",
|
|
@@ -8760,7 +8758,7 @@ function MingoChatHistoryRow({
|
|
|
8760
8758
|
hasMenu && (menuOpen ? "pointer-events-none opacity-0" : "md:group-hover/row:pointer-events-none md:group-hover/row:opacity-0 md:peer-[:focus-within]/menu:pointer-events-none md:peer-[:focus-within]/menu:opacity-0")
|
|
8761
8759
|
),
|
|
8762
8760
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8763
|
-
|
|
8761
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
8764
8762
|
{
|
|
8765
8763
|
variant: "round",
|
|
8766
8764
|
sizePx: 24,
|
|
@@ -8817,7 +8815,7 @@ function MingoChatHistory({
|
|
|
8817
8815
|
const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
|
|
8818
8816
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
8819
8817
|
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _171 => _171.trim, 'call', _172 => _172()]);
|
|
8820
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
8818
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
|
|
8821
8819
|
const onScroll = loadMore === "scroll";
|
|
8822
8820
|
const sentinelRef = useLoadMoreSentinel({
|
|
8823
8821
|
hasMore: hasMore && onScroll,
|
|
@@ -8880,8 +8878,8 @@ function MingoChatHistory({
|
|
|
8880
8878
|
]
|
|
8881
8879
|
}
|
|
8882
8880
|
),
|
|
8883
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8884
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8881
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, color: "var(--color-bg-card)", className: "h-12" }),
|
|
8882
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, color: "var(--color-bg-card)", className: "h-12" })
|
|
8885
8883
|
] }) });
|
|
8886
8884
|
}
|
|
8887
8885
|
|
|
@@ -8935,7 +8933,7 @@ function MingoWelcome({
|
|
|
8935
8933
|
} catch (e8) {
|
|
8936
8934
|
}
|
|
8937
8935
|
}, [promoStorage, promoStorageKey]);
|
|
8938
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } =
|
|
8936
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
|
|
8939
8937
|
const showPinnedRegion = !!dialogHistory || !historyLoading && !loadError;
|
|
8940
8938
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8941
8939
|
"div",
|
|
@@ -8967,7 +8965,7 @@ function MingoWelcome({
|
|
|
8967
8965
|
onScroll: updateScrollFade,
|
|
8968
8966
|
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-y-auto overscroll-contain",
|
|
8969
8967
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-l)] px-[var(--spacing-system-l)] py-[var(--spacing-system-xxl)] text-center", children: [
|
|
8970
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8968
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
8971
8969
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
8972
8970
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: heading }),
|
|
8973
8971
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
@@ -8975,8 +8973,8 @@ function MingoWelcome({
|
|
|
8975
8973
|
] })
|
|
8976
8974
|
}
|
|
8977
8975
|
),
|
|
8978
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8979
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8976
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
|
|
8977
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
|
|
8980
8978
|
] }) })))),
|
|
8981
8979
|
showPinnedRegion && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-m)]", children: [
|
|
8982
8980
|
resolvedPromo && !promoDismissed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex shrink-0 items-center gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)] pr-[var(--spacing-system-xl)]", children: [
|
|
@@ -9039,7 +9037,7 @@ function GuideWelcome({
|
|
|
9039
9037
|
children,
|
|
9040
9038
|
className
|
|
9041
9039
|
}) {
|
|
9042
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } =
|
|
9040
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
|
|
9043
9041
|
const inLoadingScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
9044
9042
|
const subtitleIsLoading = inLoadingScope || subtitleLoading && !subtitle;
|
|
9045
9043
|
const chipsAreLoading = inLoadingScope || quickActionsLoading && quickActions.length === 0;
|
|
@@ -9075,8 +9073,8 @@ function GuideWelcome({
|
|
|
9075
9073
|
icon && (icon.name || icon.url) ? (
|
|
9076
9074
|
// Agent-mode identity glyph (chat-config Identity tab). Sized to
|
|
9077
9075
|
// match the default Mingo mark (48px).
|
|
9078
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9079
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9076
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
|
|
9077
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
9080
9078
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
9081
9079
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: title }),
|
|
9082
9080
|
subtitleIsLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-3/4 max-w-80" }) }) : subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle }) : null
|
|
@@ -9086,8 +9084,8 @@ function GuideWelcome({
|
|
|
9086
9084
|
]
|
|
9087
9085
|
}
|
|
9088
9086
|
),
|
|
9089
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9090
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9087
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
|
|
9088
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
|
|
9091
9089
|
] }),
|
|
9092
9090
|
(quickActions.length > 0 || chipsAreLoading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QuickActionSet, { chips: chipItems, loading: chipsAreLoading, showTopic: showTopicProp })
|
|
9093
9091
|
] });
|
|
@@ -9157,17 +9155,17 @@ function MingoArchiveList({
|
|
|
9157
9155
|
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] px-[var(--spacing-system-xs)] pt-[var(--spacing-system-mf)]",
|
|
9158
9156
|
children: [
|
|
9159
9157
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "shrink-0 px-[var(--spacing-system-xs)] pt-[var(--spacing-system-xs)] text-ods-text-secondary text-h5", children: "Archived Chats" }),
|
|
9160
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] overflow-y-auto overscroll-contain pb-[var(--spacing-system-mf)]", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9158
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] overflow-y-auto overscroll-contain pb-[var(--spacing-system-mf)]", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItemLoadingPage, { count: pageSize, trailing: true }) : dialogs.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9161
9159
|
dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9162
|
-
|
|
9160
|
+
_chunk65NMKAPQcjs.ChatListItem,
|
|
9163
9161
|
{
|
|
9164
9162
|
"data-loading-item": true,
|
|
9165
9163
|
title: dialog.title || "Untitled Chat",
|
|
9166
9164
|
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _178 => _178(dialog.id)]),
|
|
9167
9165
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
9168
|
-
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
9166
|
+
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkSTV6VJ3Ucjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
|
|
9169
9167
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9170
|
-
|
|
9168
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
9171
9169
|
{
|
|
9172
9170
|
variant: "round",
|
|
9173
9171
|
sizePx: 24,
|
|
@@ -9300,7 +9298,7 @@ function MingoChatHeader({
|
|
|
9300
9298
|
!renaming && subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
|
|
9301
9299
|
] }),
|
|
9302
9300
|
avatar && (avatar.name || avatar.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9303
|
-
|
|
9301
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
9304
9302
|
{
|
|
9305
9303
|
variant: "round",
|
|
9306
9304
|
sizePx: 32,
|
|
@@ -9349,7 +9347,7 @@ function ChatHeaderSearchField({
|
|
|
9349
9347
|
className
|
|
9350
9348
|
}) {
|
|
9351
9349
|
const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
|
|
9352
|
-
const debounced =
|
|
9350
|
+
const debounced = _chunk77GX573Icjs.useDebounce.call(void 0, value, 300);
|
|
9353
9351
|
const lastEmitted = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
|
|
9354
9352
|
const [exiting, setExiting] = _react.useState.call(void 0, false);
|
|
9355
9353
|
const collapsedRef = _react.useRef.call(void 0, false);
|
|
@@ -9506,10 +9504,10 @@ function SearchInput({
|
|
|
9506
9504
|
}) {
|
|
9507
9505
|
const [internalValue, setInternalValue] = _react.useState.call(void 0, defaultValue);
|
|
9508
9506
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
9509
|
-
const debouncedValue =
|
|
9507
|
+
const debouncedValue = _chunk77GX573Icjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
9510
9508
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
9511
9509
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
9512
|
-
const keyboardPadding =
|
|
9510
|
+
const keyboardPadding = _chunkD6GEMVHDcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
9513
9511
|
const containerRef = _react.useRef.call(void 0, null);
|
|
9514
9512
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
9515
9513
|
const {
|
|
@@ -9519,7 +9517,7 @@ function SearchInput({
|
|
|
9519
9517
|
textMeasureRef,
|
|
9520
9518
|
badgeRef,
|
|
9521
9519
|
inputRef
|
|
9522
|
-
} =
|
|
9520
|
+
} = _chunkD6GEMVHDcjs.useAutoLimitTags.call(void 0, {
|
|
9523
9521
|
count: filterChips.length,
|
|
9524
9522
|
limitTags,
|
|
9525
9523
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -9541,7 +9539,7 @@ function SearchInput({
|
|
|
9541
9539
|
document.addEventListener("mousedown", handleClick);
|
|
9542
9540
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
9543
9541
|
}, [showHiddenTags]);
|
|
9544
|
-
|
|
9542
|
+
_chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
9545
9543
|
const popup = hiddenTagsPopupRef.current;
|
|
9546
9544
|
const badge = badgeRef.current;
|
|
9547
9545
|
if (!popup || !badge) return;
|
|
@@ -9716,7 +9714,7 @@ function SearchInput({
|
|
|
9716
9714
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 content-md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, {}) }),
|
|
9717
9715
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
|
|
9718
9716
|
visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9719
|
-
|
|
9717
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
9720
9718
|
{
|
|
9721
9719
|
variant: chipVariantToTagVariant(chip.variant),
|
|
9722
9720
|
label: chip.label,
|
|
@@ -9809,7 +9807,7 @@ function SearchInput({
|
|
|
9809
9807
|
)
|
|
9810
9808
|
] }),
|
|
9811
9809
|
showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9812
|
-
|
|
9810
|
+
_chunk65NMKAPQcjs.HiddenTagsPopup,
|
|
9813
9811
|
{
|
|
9814
9812
|
ref: hiddenTagsPopupRef,
|
|
9815
9813
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
@@ -9829,7 +9827,7 @@ function SearchInput({
|
|
|
9829
9827
|
}
|
|
9830
9828
|
),
|
|
9831
9829
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9832
|
-
|
|
9830
|
+
_chunkYSXVRTGTcjs.Tag,
|
|
9833
9831
|
{
|
|
9834
9832
|
variant: chipVariantToTagVariant(chip.variant),
|
|
9835
9833
|
label: chip.label,
|
|
@@ -9979,7 +9977,7 @@ function MingoChatHistorySection({
|
|
|
9979
9977
|
className
|
|
9980
9978
|
}) {
|
|
9981
9979
|
const captionId = _react.useId.call(void 0, );
|
|
9982
|
-
const visitor =
|
|
9980
|
+
const visitor = _chunk77GX573Icjs.useVisitorOs.call(void 0, );
|
|
9983
9981
|
const [searchOpen, setSearchOpen] = _reactusecontrollablestate.useControllableState.call(void 0, {
|
|
9984
9982
|
prop: searchOpenProp,
|
|
9985
9983
|
defaultProp: false,
|
|
@@ -9987,7 +9985,7 @@ function MingoChatHistorySection({
|
|
|
9987
9985
|
});
|
|
9988
9986
|
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _216 => _216.trim, 'call', _217 => _217()]);
|
|
9989
9987
|
const showSearch = searchOpen && !!onSearchChange;
|
|
9990
|
-
const shortcut = visitor.known ?
|
|
9988
|
+
const shortcut = visitor.known ? _chunk77GX573Icjs.shortcutLabel.call(void 0, visitor.os, "K") : null;
|
|
9991
9989
|
const listProps = {
|
|
9992
9990
|
dialogs,
|
|
9993
9991
|
activeDialogId,
|
|
@@ -10052,7 +10050,7 @@ function MingoChatHistorySection({
|
|
|
10052
10050
|
variant: "transparent",
|
|
10053
10051
|
size: "icon",
|
|
10054
10052
|
"aria-label": "Search chats",
|
|
10055
|
-
"aria-keyshortcuts": shortcut ?
|
|
10053
|
+
"aria-keyshortcuts": shortcut ? _chunk77GX573Icjs.usesCommandKey.call(void 0, visitor.os) ? "Meta+K" : "Control+K" : void 0,
|
|
10056
10054
|
onClick: () => setSearchOpen(true),
|
|
10057
10055
|
className: ICON_BUTTON_CLASS,
|
|
10058
10056
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { size: 20 })
|
|
@@ -10153,7 +10151,7 @@ function MingoChatSearchModal({
|
|
|
10153
10151
|
}
|
|
10154
10152
|
function SearchModalContent({ initialValue, onSearchChange, onClose, children }) {
|
|
10155
10153
|
const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
|
|
10156
|
-
const debounced =
|
|
10154
|
+
const debounced = _chunk77GX573Icjs.useDebounce.call(void 0, value, 300);
|
|
10157
10155
|
const lastSent = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
|
|
10158
10156
|
const fieldRef = _react.useRef.call(void 0, null);
|
|
10159
10157
|
const send = (term) => {
|
|
@@ -10174,8 +10172,8 @@ function SearchModalContent({ initialValue, onSearchChange, onClose, children })
|
|
|
10174
10172
|
send("");
|
|
10175
10173
|
onClose();
|
|
10176
10174
|
};
|
|
10177
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10178
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10175
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen: true, onClose: close, className: "md:max-w-[600px]", children: [
|
|
10176
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Search chats" }) }),
|
|
10179
10177
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: fieldRef, role: "search", "aria-label": "Search chats", className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10180
10178
|
SearchInput,
|
|
10181
10179
|
{
|
|
@@ -10231,7 +10229,7 @@ function SectionRow({
|
|
|
10231
10229
|
// A row that lands in a day already on screen (the next page) fades in too.
|
|
10232
10230
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "group/row relative shrink-0 duration-300 animate-in fade-in motion-reduce:animate-none", children: [
|
|
10233
10231
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10234
|
-
|
|
10232
|
+
_chunk65NMKAPQcjs.ChatListItem,
|
|
10235
10233
|
{
|
|
10236
10234
|
active,
|
|
10237
10235
|
title,
|
|
@@ -10253,7 +10251,7 @@ function SectionRow({
|
|
|
10253
10251
|
children: [
|
|
10254
10252
|
glyph && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": glyph.label, className: "flex", children: glyph.icon }),
|
|
10255
10253
|
ownerName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10256
|
-
|
|
10254
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
10257
10255
|
{
|
|
10258
10256
|
role: "img",
|
|
10259
10257
|
"aria-label": `Owner: ${ownerName}`,
|
|
@@ -10398,7 +10396,7 @@ function MingoChatRailPanel({
|
|
|
10398
10396
|
if (loadError) {
|
|
10399
10397
|
list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatListLoadError, { onRetry, className: "px-[var(--spacing-system-xs)] py-[var(--spacing-system-l)]" });
|
|
10400
10398
|
} else if (loading) {
|
|
10401
|
-
list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10399
|
+
list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItemLoadingPage, { count: pageSize });
|
|
10402
10400
|
} else if (dialogs.length === 0 && !draftTitle) {
|
|
10403
10401
|
list = hasSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "px-[var(--spacing-system-xs)] py-[var(--spacing-system-s)] text-ods-text-secondary text-h6", children: "No chats found" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10404
10402
|
ChatListEmptyState,
|
|
@@ -10410,7 +10408,7 @@ function MingoChatRailPanel({
|
|
|
10410
10408
|
);
|
|
10411
10409
|
} else {
|
|
10412
10410
|
list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
10413
|
-
draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10411
|
+
draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItem, { active: true, title: draftTitle, tabIndex: -1, className: "cursor-default" }),
|
|
10414
10412
|
dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10415
10413
|
MingoChatRailRow,
|
|
10416
10414
|
{
|
|
@@ -10432,13 +10430,13 @@ function MingoChatRailPanel({
|
|
|
10432
10430
|
] });
|
|
10433
10431
|
}
|
|
10434
10432
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10435
|
-
|
|
10433
|
+
_chunk65NMKAPQcjs.ChatNavSidebar,
|
|
10436
10434
|
{
|
|
10437
10435
|
className,
|
|
10438
10436
|
"data-accent": "mingo",
|
|
10439
10437
|
"aria-label": "Mingo chats",
|
|
10440
10438
|
logo: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center justify-between", children: [
|
|
10441
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10439
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "size-6 text-ods-text-primary" }),
|
|
10442
10440
|
onExpand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10443
10441
|
_chunkFCZAUK4Dcjs.Button,
|
|
10444
10442
|
{
|
|
@@ -10491,7 +10489,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems, ...prop
|
|
|
10491
10489
|
const title = dialog.title || "Untitled Chat";
|
|
10492
10490
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), className: "group/row relative shrink-0", children: [
|
|
10493
10491
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10494
|
-
|
|
10492
|
+
_chunk65NMKAPQcjs.ChatListItem,
|
|
10495
10493
|
{
|
|
10496
10494
|
active,
|
|
10497
10495
|
title,
|
|
@@ -10588,7 +10586,7 @@ function MingoHistoryRail({
|
|
|
10588
10586
|
}
|
|
10589
10587
|
),
|
|
10590
10588
|
scope && onScopeChange && !loadError ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10591
|
-
|
|
10589
|
+
_chunkSTV6VJ3Ucjs.TabSelector,
|
|
10592
10590
|
{
|
|
10593
10591
|
className: "shrink-0",
|
|
10594
10592
|
value: scope,
|
|
@@ -10648,8 +10646,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
10648
10646
|
const save = () => {
|
|
10649
10647
|
if (canSave) onSave(name.trim());
|
|
10650
10648
|
};
|
|
10651
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10652
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10649
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
10650
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Rename Chat" }) }),
|
|
10653
10651
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
10654
10652
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.Label, { htmlFor: "rename-chat-input", variant: "large", children: "Chat Name" }),
|
|
10655
10653
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10666,27 +10664,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
10666
10664
|
}
|
|
10667
10665
|
)
|
|
10668
10666
|
] }),
|
|
10669
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10667
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
|
|
10670
10668
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
10671
10669
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", type: "button", onClick: save, disabled: !canSave, className: footerBtn, children: "Save" })
|
|
10672
10670
|
] })
|
|
10673
10671
|
] });
|
|
10674
10672
|
}
|
|
10675
10673
|
function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
10676
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10677
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10674
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
10675
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Archive Chat" }) }),
|
|
10678
10676
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be hidden from your current chats." }),
|
|
10679
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10677
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
|
|
10680
10678
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
10681
10679
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "destructive", type: "button", onClick: onConfirm, className: footerBtn, children: "Archive Chat" })
|
|
10682
10680
|
] })
|
|
10683
10681
|
] });
|
|
10684
10682
|
}
|
|
10685
10683
|
function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
10686
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10684
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
10685
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Unarchive Chat" }) }),
|
|
10688
10686
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be moved back to your current chats." }),
|
|
10689
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10687
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
|
|
10690
10688
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
10691
10689
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", type: "button", onClick: onConfirm, className: footerBtn, children: "Unarchive Chat" })
|
|
10692
10690
|
] })
|
|
@@ -10859,7 +10857,7 @@ function ChatPanelHeader({
|
|
|
10859
10857
|
avatar && (avatar.name || avatar.avatarUrl) ? (
|
|
10860
10858
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
10861
10859
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10862
|
-
|
|
10860
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
10863
10861
|
{
|
|
10864
10862
|
variant: "round",
|
|
10865
10863
|
sizePx: 32,
|
|
@@ -11027,8 +11025,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
|
|
|
11027
11025
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
|
|
11028
11026
|
(!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
|
|
11029
11027
|
status === "sniffing" && "Checking the file",
|
|
11030
|
-
status === "uploading" && `${progress}% \xB7 ${
|
|
11031
|
-
status === "ready" &&
|
|
11028
|
+
status === "uploading" && `${progress}% \xB7 ${_chunkYSXVRTGTcjs.formatFileSize.call(void 0, file.size)}`,
|
|
11029
|
+
status === "ready" && _chunkYSXVRTGTcjs.formatFileSize.call(void 0, file.size),
|
|
11032
11030
|
status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
|
|
11033
11031
|
] })
|
|
11034
11032
|
] }),
|
|
@@ -11291,7 +11289,7 @@ var ModelDisplay = _react2.default.forwardRef(
|
|
|
11291
11289
|
const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
|
|
11292
11290
|
const icon = getProviderIcon(provider);
|
|
11293
11291
|
const name = displayName || modelName;
|
|
11294
|
-
const isV2 = useChatAppearance() ===
|
|
11292
|
+
const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
11295
11293
|
const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
|
|
11296
11294
|
if (isLoading) {
|
|
11297
11295
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, MODEL_DISPLAY_ROW_CLASS, className), ...props, children: [
|
|
@@ -11477,7 +11475,7 @@ function ChatComposer({
|
|
|
11477
11475
|
const showLegacyAttach = !contextEnabled && showAttachmentButton && !!onAddFiles;
|
|
11478
11476
|
const showFooterRow = showLegacyAttach || !!model || !!footerActions;
|
|
11479
11477
|
const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11480
|
-
|
|
11478
|
+
_chunk65NMKAPQcjs.ChatInput,
|
|
11481
11479
|
{
|
|
11482
11480
|
ref: inputRef,
|
|
11483
11481
|
onSend,
|
|
@@ -11667,7 +11665,7 @@ function ChatArchivePage(props) {
|
|
|
11667
11665
|
|
|
11668
11666
|
|
|
11669
11667
|
function useNavLinkTarget(href, targetPlatform, openIn) {
|
|
11670
|
-
return
|
|
11668
|
+
return _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ), href, targetPlatform, { openIn });
|
|
11671
11669
|
}
|
|
11672
11670
|
function useNavLinkViaRuntime({
|
|
11673
11671
|
href,
|
|
@@ -11683,22 +11681,22 @@ function useNavLinkViaRuntime({
|
|
|
11683
11681
|
const onClick = (e) => {
|
|
11684
11682
|
_optionalChain([onClickProp, 'optionalCall', _249 => _249(e)]);
|
|
11685
11683
|
if (e.defaultPrevented) return;
|
|
11686
|
-
const handled =
|
|
11684
|
+
const handled = _chunk77GX573Icjs.executeNavigation.call(void 0, { event: e, runtime, href: resolvedHref, path, targetPlatform, openIn });
|
|
11687
11685
|
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _250 => _250.closeChat])) panel.closeChat();
|
|
11688
11686
|
};
|
|
11689
|
-
return { href: resolvedHref, ...
|
|
11687
|
+
return { href: resolvedHref, ..._chunkEXQSIX2Icjs.newTabAnchorAttrs.call(void 0, isNewTab, resolvedHref, targetPlatform), onClick };
|
|
11690
11688
|
}
|
|
11691
11689
|
function useNavigateViaRuntime() {
|
|
11692
11690
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
11693
11691
|
return _react.useCallback.call(void 0,
|
|
11694
11692
|
({ href, path, targetPlatform, openIn, modifierEvent }) => {
|
|
11695
11693
|
if (!href) return;
|
|
11696
|
-
if (modifierEvent &&
|
|
11694
|
+
if (modifierEvent && _chunkEXQSIX2Icjs.isModifierClick.call(void 0, modifierEvent)) {
|
|
11697
11695
|
const button = _nullishCoalesce(modifierEvent.button, () => ( 0));
|
|
11698
|
-
if (button === 0 || button === 1)
|
|
11696
|
+
if (button === 0 || button === 1) _chunk77GX573Icjs.executeNewTabNavigation.call(void 0, { runtime, href, targetPlatform });
|
|
11699
11697
|
return;
|
|
11700
11698
|
}
|
|
11701
|
-
|
|
11699
|
+
_chunk77GX573Icjs.executeNavigationImperative.call(void 0, { runtime, href, path, targetPlatform, openIn });
|
|
11702
11700
|
},
|
|
11703
11701
|
[runtime]
|
|
11704
11702
|
);
|
|
@@ -11765,7 +11763,7 @@ function FooterAction({
|
|
|
11765
11763
|
leftIcon: showLabel ? mark : void 0,
|
|
11766
11764
|
rightIcon: trailingIcon ? mark : void 0,
|
|
11767
11765
|
className: _chunk63A4GZMBcjs.cn.call(void 0, className, "pointer-events-none"),
|
|
11768
|
-
children: showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11766
|
+
children: showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.TextHold, { children: label }) : mark
|
|
11769
11767
|
}
|
|
11770
11768
|
) });
|
|
11771
11769
|
}
|
|
@@ -11888,7 +11886,7 @@ function UserDisplay({
|
|
|
11888
11886
|
compact = false,
|
|
11889
11887
|
className
|
|
11890
11888
|
}) {
|
|
11891
|
-
const avatarSrc =
|
|
11889
|
+
const avatarSrc = _chunk3GJ75OULcjs.useProxiedImageUrl.call(void 0, avatarUrl);
|
|
11892
11890
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) {
|
|
11893
11891
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11894
11892
|
UserDisplaySkeleton,
|
|
@@ -11902,7 +11900,7 @@ function UserDisplay({
|
|
|
11902
11900
|
);
|
|
11903
11901
|
}
|
|
11904
11902
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, USER_ROW_CLASS, className), children: [
|
|
11905
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11903
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { src: avatarSrc || void 0, fallback: name, alt: name, sizePx: size, variant: shape }),
|
|
11906
11904
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
|
|
11907
11905
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk63A4GZMBcjs.cn.call(void 0, "truncate text-ods-text-primary", compact ? "text-h6" : "text-h4"), children: name }),
|
|
11908
11906
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: subtitle })
|
|
@@ -11917,7 +11915,7 @@ function UserDisplaySkeleton({
|
|
|
11917
11915
|
className
|
|
11918
11916
|
}) {
|
|
11919
11917
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, USER_ROW_CLASS, className), "aria-hidden": true, children: [
|
|
11920
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11918
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading: true, sizePx: size, variant: shape }),
|
|
11921
11919
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
|
|
11922
11920
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: compact ? "h6" : "h4", className: "w-28" }),
|
|
11923
11921
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-16" })
|
|
@@ -12028,7 +12026,7 @@ function ManagedCell({
|
|
|
12028
12026
|
}) {
|
|
12029
12027
|
const hintedWidth = _react2.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
|
|
12030
12028
|
const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
|
|
12031
|
-
const cloneRef =
|
|
12029
|
+
const cloneRef = _chunk77GX573Icjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
|
|
12032
12030
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12033
12031
|
"div",
|
|
12034
12032
|
{
|
|
@@ -12146,12 +12144,12 @@ function CardsStrip(props) {
|
|
|
12146
12144
|
}, [measure, items.length, marqueeActive, isMobile]);
|
|
12147
12145
|
const chevronSuppressUntilRef = _react.useRef.call(void 0, 0);
|
|
12148
12146
|
const userScrollSuppressUntilRef = _react.useRef.call(void 0, 0);
|
|
12149
|
-
const { ref: observe, inView: nearViewport } =
|
|
12147
|
+
const { ref: observe, inView: nearViewport } = _chunk77GX573Icjs.useInView.call(void 0, { rootMargin: "200px", initial: true });
|
|
12150
12148
|
_react.useEffect.call(void 0, () => {
|
|
12151
12149
|
observe(wrapperRef.current);
|
|
12152
12150
|
return () => observe(null);
|
|
12153
12151
|
}, [observe]);
|
|
12154
|
-
const autoplay =
|
|
12152
|
+
const autoplay = _chunk77GX573Icjs.useAutoplay.call(void 0, nearViewport);
|
|
12155
12153
|
const [activeKey, setActiveKey] = _react.useState.call(void 0, null);
|
|
12156
12154
|
const activeKeyRef = _react.useRef.call(void 0, null);
|
|
12157
12155
|
const activate = _react.useCallback.call(void 0, (key) => {
|
|
@@ -12198,7 +12196,7 @@ function CardsStrip(props) {
|
|
|
12198
12196
|
const current = activeKeyRef.current;
|
|
12199
12197
|
if (current !== null) deactivate(current);
|
|
12200
12198
|
}, [deactivate]);
|
|
12201
|
-
|
|
12199
|
+
_chunk77GX573Icjs.useResetOnPageHidden.call(void 0, clearHover);
|
|
12202
12200
|
const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
|
|
12203
12201
|
const scroller = scrollerRef.current;
|
|
12204
12202
|
if (!scroller) return;
|
|
@@ -12219,7 +12217,7 @@ function CardsStrip(props) {
|
|
|
12219
12217
|
},
|
|
12220
12218
|
[reverse, seamBuffer]
|
|
12221
12219
|
);
|
|
12222
|
-
const { posRef: marqueePosRef, glideBy } =
|
|
12220
|
+
const { posRef: marqueePosRef, glideBy } = _chunk77GX573Icjs.useMarqueeEngine.call(void 0, {
|
|
12223
12221
|
// Viewport gates `active` (the rAF fully stops off-screen — a paused
|
|
12224
12222
|
// engine would keep scheduling frames forever), same treatment as
|
|
12225
12223
|
// <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
|
|
@@ -12356,7 +12354,7 @@ function CardsStrip(props) {
|
|
|
12356
12354
|
}
|
|
12357
12355
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ManagedCell, { item, ctx, cardWidthMobile, cardWidthDesktop });
|
|
12358
12356
|
};
|
|
12359
|
-
const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
12357
|
+
const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk3GJ75OULcjs.SECTION_HEADING_CLASS} break-words`, children: _chunk3GJ75OULcjs.accentSentenceMarks.call(void 0, title) });
|
|
12360
12358
|
if (items.length === 0) {
|
|
12361
12359
|
if (!inScope || !skeleton) return null;
|
|
12362
12360
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, STRIP_ROOT_CLASS, className), children: [
|
|
@@ -12546,7 +12544,7 @@ var VIDEO_BITES_SKELETON_COUNT = Math.ceil(
|
|
|
12546
12544
|
);
|
|
12547
12545
|
function VideoBitesStrip({
|
|
12548
12546
|
bites,
|
|
12549
|
-
title =
|
|
12547
|
+
title = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
12550
12548
|
showTitle = true,
|
|
12551
12549
|
filterPublished = true,
|
|
12552
12550
|
profile = null,
|
|
@@ -12559,7 +12557,7 @@ function VideoBitesStrip({
|
|
|
12559
12557
|
cardHeightMobile = VIDEO_BITES_CARD_HEIGHT_MOBILE_PX,
|
|
12560
12558
|
showChevrons = true,
|
|
12561
12559
|
onBiteNavigate,
|
|
12562
|
-
sortComparator =
|
|
12560
|
+
sortComparator = _chunkAYMY2VNBcjs.sortBitesByCreatedAtDesc,
|
|
12563
12561
|
skeletonCount,
|
|
12564
12562
|
className
|
|
12565
12563
|
}) {
|
|
@@ -12657,7 +12655,7 @@ function VideoBiteCardSkeleton({ aspect = "9:16", height, heightMobile, classNam
|
|
|
12657
12655
|
function VideoBitesStripSkeleton({
|
|
12658
12656
|
count = VIDEO_BITES_SKELETON_COUNT,
|
|
12659
12657
|
aspect = "9:16",
|
|
12660
|
-
title =
|
|
12658
|
+
title = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
12661
12659
|
showTitle = true,
|
|
12662
12660
|
headerSlot,
|
|
12663
12661
|
cardHeightDesktop = VIDEO_BITES_CARD_HEIGHT_DESKTOP_PX,
|
|
@@ -12712,7 +12710,7 @@ function VideoBiteCard({
|
|
|
12712
12710
|
const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _275 => _275(key)]) : setSelfActive(true);
|
|
12713
12711
|
const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _276 => _276(key)]) : setSelfActive(false);
|
|
12714
12712
|
const titleInputRef = _react.useRef.call(void 0, null);
|
|
12715
|
-
|
|
12713
|
+
_chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
12716
12714
|
const el = titleInputRef.current;
|
|
12717
12715
|
if (!el) return;
|
|
12718
12716
|
el.style.height = "auto";
|
|
@@ -12789,7 +12787,7 @@ function VideoBiteCard({
|
|
|
12789
12787
|
style: biteMediaStyle(cssAspect, height, heightMobile),
|
|
12790
12788
|
children: [
|
|
12791
12789
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12792
|
-
|
|
12790
|
+
_chunkAYMY2VNBcjs.VideoHoverPreviewSurface,
|
|
12793
12791
|
{
|
|
12794
12792
|
url: bite.url,
|
|
12795
12793
|
posterUrl: bite.thumbnail_url,
|
|
@@ -12861,7 +12859,7 @@ function EntityVideoSection({
|
|
|
12861
12859
|
title = "Video",
|
|
12862
12860
|
videoSummary,
|
|
12863
12861
|
videoBites,
|
|
12864
|
-
bitesTitle =
|
|
12862
|
+
bitesTitle = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
12865
12863
|
filterPublishedBites = true,
|
|
12866
12864
|
bitesProfile = null,
|
|
12867
12865
|
bitesHref,
|
|
@@ -12896,7 +12894,7 @@ function EntityVideoSection({
|
|
|
12896
12894
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
|
|
12897
12895
|
] }),
|
|
12898
12896
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12899
|
-
|
|
12897
|
+
_chunkAYMY2VNBcjs.Video,
|
|
12900
12898
|
{
|
|
12901
12899
|
kind: fullVideoKind,
|
|
12902
12900
|
url: fullVideoUrl,
|
|
@@ -12908,7 +12906,7 @@ function EntityVideoSection({
|
|
|
12908
12906
|
}
|
|
12909
12907
|
) }),
|
|
12910
12908
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12911
|
-
|
|
12909
|
+
_chunkAYMY2VNBcjs.Video,
|
|
12912
12910
|
{
|
|
12913
12911
|
url: highlightVideoUrl,
|
|
12914
12912
|
poster: highlightVideoThumbnail,
|
|
@@ -12917,7 +12915,7 @@ function EntityVideoSection({
|
|
|
12917
12915
|
}
|
|
12918
12916
|
) })
|
|
12919
12917
|
] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12920
|
-
|
|
12918
|
+
_chunkAYMY2VNBcjs.Video,
|
|
12921
12919
|
{
|
|
12922
12920
|
kind: fullVideoKind,
|
|
12923
12921
|
url: fullVideoUrl,
|
|
@@ -12928,7 +12926,7 @@ function EntityVideoSection({
|
|
|
12928
12926
|
priority
|
|
12929
12927
|
}
|
|
12930
12928
|
) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12931
|
-
|
|
12929
|
+
_chunkAYMY2VNBcjs.Video,
|
|
12932
12930
|
{
|
|
12933
12931
|
url: highlightVideoUrl,
|
|
12934
12932
|
poster: highlightVideoThumbnail,
|
|
@@ -12938,7 +12936,7 @@ function EntityVideoSection({
|
|
|
12938
12936
|
}
|
|
12939
12937
|
) : null),
|
|
12940
12938
|
videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
|
|
12941
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
12939
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk3GJ75OULcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
|
|
12942
12940
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden break-words text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: videoSummary }) })
|
|
12943
12941
|
] }),
|
|
12944
12942
|
videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12957,13 +12955,13 @@ function EntityVideoSection({
|
|
|
12957
12955
|
] });
|
|
12958
12956
|
}
|
|
12959
12957
|
function EntityVideoSectionSkeleton({ tabs = false, className }) {
|
|
12960
|
-
if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12958
|
+
if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { loading: true, url: "", layout: "centered", className });
|
|
12961
12959
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tabs, { defaultValue: "full-video", className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", className), "aria-hidden": true, inert: true, children: [
|
|
12962
12960
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TabsList, { className: VIDEO_TAB_LIST_CLASS, children: [
|
|
12963
12961
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "full-video", className: VIDEO_TAB_TRIGGER_CLASS, children: FULL_VIDEO_TAB_LABEL }),
|
|
12964
12962
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
|
|
12965
12963
|
] }),
|
|
12966
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12964
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { loading: true, url: "", layout: "centered" }) })
|
|
12967
12965
|
] });
|
|
12968
12966
|
}
|
|
12969
12967
|
|
|
@@ -13055,7 +13053,7 @@ function ChatCardDisclosureButton({
|
|
|
13055
13053
|
{
|
|
13056
13054
|
label,
|
|
13057
13055
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "!h-3 !w-3" }),
|
|
13058
|
-
trailingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13056
|
+
trailingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded: open, className: "!h-3 !w-3" }),
|
|
13059
13057
|
onClick: (e) => {
|
|
13060
13058
|
e.preventDefault();
|
|
13061
13059
|
e.stopPropagation();
|
|
@@ -13069,7 +13067,7 @@ function ChatCardDisclosureButton({
|
|
|
13069
13067
|
);
|
|
13070
13068
|
}
|
|
13071
13069
|
function DisclosurePanel({ open, children }) {
|
|
13072
|
-
const { innerRef, containerStyle } =
|
|
13070
|
+
const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded: open });
|
|
13073
13071
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children }) });
|
|
13074
13072
|
}
|
|
13075
13073
|
function useChatCardDisclosure(kind, chatRef, { reserve = false } = {}) {
|
|
@@ -13121,7 +13119,7 @@ function designDocPeople(doc) {
|
|
|
13121
13119
|
return people;
|
|
13122
13120
|
}
|
|
13123
13121
|
function designDocMetaLine(doc) {
|
|
13124
|
-
return [_optionalChain([doc, 'access', _296 => _296.author, 'optionalAccess', _297 => _297.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${
|
|
13122
|
+
return [_optionalChain([doc, 'access', _296 => _296.author, 'optionalAccess', _297 => _297.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunk3GJ75OULcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
13125
13123
|
}
|
|
13126
13124
|
var DESIGN_DOC_CARD_BODY = "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]";
|
|
13127
13125
|
var DESIGN_DOC_CARD_HEADER = "flex w-full items-center gap-[16px]";
|
|
@@ -13131,27 +13129,27 @@ var DESIGN_DOC_CARD_META_ROW = `flex items-center text-h5 ${_chunkPMUCEUFQcjs.TE
|
|
|
13131
13129
|
var DESIGN_DOC_CARD_SUMMARY_ROW = `flex items-center text-h4 ${_chunkPMUCEUFQcjs.TEXT_LINES_MIN[3]}`;
|
|
13132
13130
|
var DESIGN_DOC_CARD_FOOTER = "flex w-full items-center justify-between gap-2";
|
|
13133
13131
|
function DesignDocCardSkeleton({ className } = {}) {
|
|
13134
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
13132
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkAYMY2VNBcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className), "aria-hidden": true, children: [
|
|
13135
13133
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
|
|
13136
13134
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADING, children: [
|
|
13137
13135
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-3/4" }) }),
|
|
13138
13136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h5", className: "w-1/3" }) })
|
|
13139
13137
|
] }),
|
|
13140
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13138
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.StatusBadge, { loading: true, text: "", variant: "button", className: "hidden md:inline-flex" })
|
|
13141
13139
|
] }),
|
|
13142
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13140
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.StatusBadge, { loading: true, text: "", variant: "button" }) }),
|
|
13143
13141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", lines: 3, className: "w-full" }) }),
|
|
13144
13142
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
13145
13143
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
|
|
13146
13144
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-1/3" }),
|
|
13147
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13145
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLSLRJJFPcjs.AvatarStack, { loading: true, people: [], max: 1, size: "xs", className: "shrink-0" })
|
|
13148
13146
|
] })
|
|
13149
13147
|
] });
|
|
13150
13148
|
}
|
|
13151
13149
|
function DesignDocCard({ doc, href, target, rel, className }) {
|
|
13152
13150
|
const status = designDocStatusDisplay(doc);
|
|
13153
13151
|
const people = designDocPeople(doc);
|
|
13154
|
-
const link =
|
|
13152
|
+
const link = _chunkAYMY2VNBcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
|
|
13155
13153
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocCardSkeleton, { className });
|
|
13156
13154
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13157
13155
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
|
|
@@ -13159,17 +13157,17 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
13159
13157
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 text-ods-text-primary text-h3", children: doc.title || "Untitled design doc" }) }),
|
|
13160
13158
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h5", children: designDocMetaLine(doc) }) })
|
|
13161
13159
|
] }),
|
|
13162
|
-
status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13160
|
+
status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.PaletteBadge, { text: status.label, color: status.color_scheme, className: "hidden md:inline-flex" }) : null
|
|
13163
13161
|
] }),
|
|
13164
|
-
status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13162
|
+
status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.PaletteBadge, { text: status.label, color: status.color_scheme }) }) : null,
|
|
13165
13163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h4", children: doc.summary || "" }) }),
|
|
13166
13164
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
13167
13165
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
|
|
13168
13166
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
|
|
13169
|
-
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13167
|
+
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLSLRJJFPcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
|
|
13170
13168
|
] })
|
|
13171
13169
|
] });
|
|
13172
|
-
const outer = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
13170
|
+
const outer = _chunk63A4GZMBcjs.cn.call(void 0, _chunkAYMY2VNBcjs.CONTENT_CARD_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className);
|
|
13173
13171
|
return link ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href: link, target, rel, className: outer, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: outer, children: body });
|
|
13174
13172
|
}
|
|
13175
13173
|
|
|
@@ -13277,7 +13275,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
13277
13275
|
if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GitHubActivityCardSkeleton, { variant, className });
|
|
13278
13276
|
const kind = _nullishCoalesce(item.kind, () => ( "commit"));
|
|
13279
13277
|
const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
|
|
13280
|
-
const dateText =
|
|
13278
|
+
const dateText = _chunkYSXVRTGTcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
13281
13279
|
const idLabel = formatActivityId(item.id, kind);
|
|
13282
13280
|
const { display: title, reviewState } = parseGithubTitle(item.title, kind);
|
|
13283
13281
|
const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
|
|
@@ -13311,26 +13309,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
13311
13309
|
metaParts.push(
|
|
13312
13310
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
13313
13311
|
);
|
|
13314
|
-
const href =
|
|
13312
|
+
const href = _chunkAYMY2VNBcjs.safeHref.call(void 0, item.url);
|
|
13315
13313
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
13316
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13317
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
13318
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
13314
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
13315
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13316
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
13319
13317
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
13320
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13318
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
13321
13319
|
] }),
|
|
13322
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13320
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
13323
13321
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
13324
13322
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
13325
13323
|
] }, i)) }) }),
|
|
13326
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
13324
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_SUMMARY, children: _chunkAYMY2VNBcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
13327
13325
|
] }),
|
|
13328
13326
|
href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
|
|
13329
13327
|
] });
|
|
13330
13328
|
if (anchorProps) {
|
|
13331
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${
|
|
13329
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
13332
13330
|
}
|
|
13333
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
13331
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
13334
13332
|
}
|
|
13335
13333
|
function GitHubActivityCardSkeleton({
|
|
13336
13334
|
variant = "compact",
|
|
@@ -13338,7 +13336,7 @@ function GitHubActivityCardSkeleton({
|
|
|
13338
13336
|
}) {
|
|
13339
13337
|
if (variant === "row") {
|
|
13340
13338
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13341
|
-
|
|
13339
|
+
_chunkAYMY2VNBcjs.ActivityRowSkeleton,
|
|
13342
13340
|
{
|
|
13343
13341
|
lead: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-28 shrink-0 items-center gap-2", children: [
|
|
13344
13342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: "h-3.5 w-3.5 rounded" }),
|
|
@@ -13349,7 +13347,7 @@ function GitHubActivityCardSkeleton({
|
|
|
13349
13347
|
}
|
|
13350
13348
|
);
|
|
13351
13349
|
}
|
|
13352
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13350
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.CompactCardSkeleton, { titleWidth: "w-2/3", rows: [{ width: "w-1/2" }, {}], trailingIcon: true, className });
|
|
13353
13351
|
}
|
|
13354
13352
|
|
|
13355
13353
|
// src/utils/url-fix.ts
|
|
@@ -13405,9 +13403,9 @@ function VendorIcon({
|
|
|
13405
13403
|
...props
|
|
13406
13404
|
}) {
|
|
13407
13405
|
const logoUrl = getVendorLogo(vendor);
|
|
13408
|
-
const logoSrc =
|
|
13406
|
+
const logoSrc = _chunk3GJ75OULcjs.useProxiedImageUrl.call(void 0, logoUrl, { directHttps: false });
|
|
13409
13407
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13410
|
-
|
|
13408
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
13411
13409
|
{
|
|
13412
13410
|
src: logoUrl ? logoSrc || void 0 : void 0,
|
|
13413
13411
|
alt: `${vendor.title} logo`,
|
|
@@ -13436,11 +13434,11 @@ function useChatCardItem(type, id) {
|
|
|
13436
13434
|
queryKey: ["chat-card-item", type, id],
|
|
13437
13435
|
queryFn: async () => {
|
|
13438
13436
|
if (!url) return null;
|
|
13439
|
-
const res = await
|
|
13437
|
+
const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url);
|
|
13440
13438
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
13441
13439
|
const data = await res.json();
|
|
13442
|
-
const items =
|
|
13443
|
-
const match = items.find((it) =>
|
|
13440
|
+
const items = _chunk3GJ75OULcjs.extractCardItems.call(void 0, type, data);
|
|
13441
|
+
const match = items.find((it) => _chunk3GJ75OULcjs.extractItemId.call(void 0, type, it) === id);
|
|
13444
13442
|
return _nullishCoalesce(match, () => ( null));
|
|
13445
13443
|
},
|
|
13446
13444
|
enabled: !!url && id.length > 0,
|
|
@@ -13482,9 +13480,9 @@ var TRAILING_CELL_LAYOUT = "w-[56px] md:w-[68px]";
|
|
|
13482
13480
|
function CardMedia({ imageSrc, imageAlt, icon }) {
|
|
13483
13481
|
if (imageSrc) {
|
|
13484
13482
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
|
|
13485
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children:
|
|
13483
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkYSXVRTGTcjs.personInitials.call(void 0, imageAlt) || "?" }),
|
|
13486
13484
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13487
|
-
|
|
13485
|
+
_chunk6DMH4GXNcjs.next_image_default,
|
|
13488
13486
|
{
|
|
13489
13487
|
src: imageSrc,
|
|
13490
13488
|
alt: imageAlt || "",
|
|
@@ -13554,7 +13552,7 @@ function MingoInfoCard({
|
|
|
13554
13552
|
status ? (
|
|
13555
13553
|
// Reuse the shared Tag palette (single source of truth for colours)
|
|
13556
13554
|
// without rendering Tag's `<div>` — span-only for `<p>` validity.
|
|
13557
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0,
|
|
13555
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkYSXVRTGTcjs.tagVariants.call(void 0, { variant: _nullishCoalesce(status.variant, () => ( "success")) }), "shrink-0"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
|
|
13558
13556
|
) : null
|
|
13559
13557
|
] });
|
|
13560
13558
|
const contentClass = _chunk63A4GZMBcjs.cn.call(void 0,
|
|
@@ -13646,7 +13644,7 @@ function resolveFetchedCardHref({
|
|
|
13646
13644
|
composeContentUrl
|
|
13647
13645
|
}) {
|
|
13648
13646
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
13649
|
-
const canonicalType =
|
|
13647
|
+
const canonicalType = _chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
13650
13648
|
return composeContentUrl({
|
|
13651
13649
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
13652
13650
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -13670,7 +13668,7 @@ function sourceRowCtxFromRuntime(runtime) {
|
|
|
13670
13668
|
}
|
|
13671
13669
|
function pickSourceIcon(sourceRepo, documentType) {
|
|
13672
13670
|
const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
|
|
13673
|
-
const icon = iconName ?
|
|
13671
|
+
const icon = iconName ? _chunkRY7INTYUcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }) : _lucidereact.FileText;
|
|
13674
13672
|
const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
|
|
13675
13673
|
return { icon, iconLabel };
|
|
13676
13674
|
}
|
|
@@ -13689,16 +13687,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
13689
13687
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
13690
13688
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
13691
13689
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
13692
|
-
type:
|
|
13690
|
+
type: _chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
13693
13691
|
identifier: idValue,
|
|
13694
13692
|
...docPath ? { slug: docPath } : {},
|
|
13695
13693
|
externalUrl: _nullishCoalesce(row.externalUrl, () => ( null)),
|
|
13696
13694
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
13697
13695
|
});
|
|
13698
|
-
href = composed.href ? _nullishCoalesce(
|
|
13696
|
+
href = composed.href ? _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
13699
13697
|
targetPlatform = composed.targetPlatform;
|
|
13700
13698
|
} else if (row.externalUrl) {
|
|
13701
|
-
href = _nullishCoalesce(
|
|
13699
|
+
href = _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
13702
13700
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
13703
13701
|
}
|
|
13704
13702
|
const documentType = row.documentType;
|
|
@@ -13765,7 +13763,7 @@ function resolveCardDestination({
|
|
|
13765
13763
|
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _306 => _306.fallbackHref, 'optionalCall', _307 => _307(item)]), () => ( null)),
|
|
13766
13764
|
allowComposed: !entry.noComposedHref
|
|
13767
13765
|
});
|
|
13768
|
-
const url = choice ? _nullishCoalesce(
|
|
13766
|
+
const url = choice ? _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
13769
13767
|
if (choice && url) {
|
|
13770
13768
|
return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
|
|
13771
13769
|
}
|
|
@@ -13778,11 +13776,11 @@ function resolveCardDestination({
|
|
|
13778
13776
|
|
|
13779
13777
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
13780
13778
|
const label = entityLabel || "Item";
|
|
13781
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
13782
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
13783
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
13784
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
13785
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
13779
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
13780
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
13781
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
13782
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
13783
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
13786
13784
|
label,
|
|
13787
13785
|
" deleted",
|
|
13788
13786
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -13828,7 +13826,7 @@ function GitHubChatCard({
|
|
|
13828
13826
|
const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
|
|
13829
13827
|
const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
|
|
13830
13828
|
const idLabel = formatActivityId(chatRef.id, kind);
|
|
13831
|
-
const dateText =
|
|
13829
|
+
const dateText = _chunkYSXVRTGTcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
|
|
13832
13830
|
const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
|
|
13833
13831
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13834
13832
|
MingoInfoCard,
|
|
@@ -13837,7 +13835,7 @@ function GitHubChatCard({
|
|
|
13837
13835
|
description,
|
|
13838
13836
|
icon: githubKindIcon(kind),
|
|
13839
13837
|
status,
|
|
13840
|
-
anchorProps:
|
|
13838
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
13841
13839
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
13842
13840
|
menuAriaLabel: "Activity actions"
|
|
13843
13841
|
}
|
|
@@ -13960,7 +13958,7 @@ function HubspotTicketChatCard({
|
|
|
13960
13958
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
13961
13959
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 24 }),
|
|
13962
13960
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
13963
|
-
anchorProps:
|
|
13961
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
13964
13962
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
13965
13963
|
label: "Open Ticket Details",
|
|
13966
13964
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 20 })
|
|
@@ -13983,7 +13981,7 @@ function FaqChatCard({
|
|
|
13983
13981
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
13984
13982
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFO6DOP6Mcjs.QuestionCircleIcon, { size: 24 }),
|
|
13985
13983
|
status: { label: statusLabel, variant: "grey" },
|
|
13986
|
-
anchorProps:
|
|
13984
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
13987
13985
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
13988
13986
|
menuAriaLabel: "FAQ actions"
|
|
13989
13987
|
}
|
|
@@ -14003,7 +14001,7 @@ function SlackChatCard({
|
|
|
14003
14001
|
title,
|
|
14004
14002
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14005
14003
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZUHFVG4Fcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
14006
|
-
anchorProps:
|
|
14004
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14007
14005
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14008
14006
|
menuAriaLabel: "Message actions"
|
|
14009
14007
|
}
|
|
@@ -14021,7 +14019,7 @@ function GlyphChatCard({
|
|
|
14021
14019
|
title: chatRef.title,
|
|
14022
14020
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14023
14021
|
icon,
|
|
14024
|
-
anchorProps:
|
|
14022
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14025
14023
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14026
14024
|
menuAriaLabel: "Card actions"
|
|
14027
14025
|
}
|
|
@@ -14039,20 +14037,20 @@ function TrustCenterChatCard({
|
|
|
14039
14037
|
}) {
|
|
14040
14038
|
const raw2 = _optionalChain([item, 'optionalAccess', _321 => _321.frameworks]);
|
|
14041
14039
|
const frameworks = Array.isArray(raw2) ? raw2 : [];
|
|
14042
|
-
const summary =
|
|
14040
|
+
const summary = _chunk3GJ75OULcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
14043
14041
|
const leadFramework = frameworks[0];
|
|
14044
14042
|
const lead = leadFramework ? {
|
|
14045
|
-
label:
|
|
14046
|
-
color:
|
|
14043
|
+
label: _chunk3GJ75OULcjs.trustFrameworkBadge.call(void 0, leadFramework),
|
|
14044
|
+
color: _chunk3GJ75OULcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
|
|
14047
14045
|
} : void 0;
|
|
14048
14046
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14049
14047
|
MingoInfoCard,
|
|
14050
14048
|
{
|
|
14051
|
-
title:
|
|
14052
|
-
description: summary ||
|
|
14049
|
+
title: _chunk3GJ75OULcjs.TRUST_CENTER_TITLE,
|
|
14050
|
+
description: summary || _chunk3GJ75OULcjs.TRUST_CENTER_TAGLINE,
|
|
14053
14051
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 24 }),
|
|
14054
14052
|
status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
|
|
14055
|
-
anchorProps:
|
|
14053
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14056
14054
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
14057
14055
|
label: "View trust center",
|
|
14058
14056
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 20 })
|
|
@@ -14074,7 +14072,7 @@ function DataRoomDocChatCard({
|
|
|
14074
14072
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
14075
14073
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
|
|
14076
14074
|
status: { label: badgeText, variant: "grey" },
|
|
14077
|
-
anchorProps:
|
|
14075
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14078
14076
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14079
14077
|
menuAriaLabel: "Document actions"
|
|
14080
14078
|
}
|
|
@@ -14093,7 +14091,7 @@ function GenericFinancialChatCard({
|
|
|
14093
14091
|
title: chatRef.title,
|
|
14094
14092
|
description: subtitle,
|
|
14095
14093
|
icon,
|
|
14096
|
-
anchorProps:
|
|
14094
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14097
14095
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
14098
14096
|
menuAriaLabel: "Document actions"
|
|
14099
14097
|
}
|
|
@@ -14184,7 +14182,7 @@ function CampaignChatCard({
|
|
|
14184
14182
|
}) {
|
|
14185
14183
|
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _327 => _327.goals])) ? item.goals.length : 0;
|
|
14186
14184
|
const meta = [
|
|
14187
|
-
_optionalChain([item, 'optionalAccess', _328 => _328.start_date]) ?
|
|
14185
|
+
_optionalChain([item, 'optionalAccess', _328 => _328.start_date]) ? _chunk3GJ75OULcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
14188
14186
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
14189
14187
|
"Marketing campaign"
|
|
14190
14188
|
].filter(Boolean).join(" \xB7 ");
|
|
@@ -14223,7 +14221,7 @@ function EntityMingoCard({
|
|
|
14223
14221
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
14224
14222
|
icon: fallbackIcon,
|
|
14225
14223
|
status,
|
|
14226
|
-
anchorProps:
|
|
14224
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
|
|
14227
14225
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
14228
14226
|
menuAriaLabel
|
|
14229
14227
|
}
|
|
@@ -14235,7 +14233,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
14235
14233
|
function statusPill(status) {
|
|
14236
14234
|
const s = typeof status === "string" ? status.trim() : "";
|
|
14237
14235
|
if (!s) return void 0;
|
|
14238
|
-
const scheme =
|
|
14236
|
+
const scheme = _chunk3GJ75OULcjs.getStatusColorScheme.call(void 0, s);
|
|
14239
14237
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
14240
14238
|
return { label: s, variant };
|
|
14241
14239
|
}
|
|
@@ -14325,8 +14323,8 @@ function DesignDocChatCard({
|
|
|
14325
14323
|
title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _355 => _355.title]), () => ( displayRef.title)),
|
|
14326
14324
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
14327
14325
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
|
|
14328
|
-
status: status ? { label: status.label, variant:
|
|
14329
|
-
anchorProps:
|
|
14326
|
+
status: status ? { label: status.label, variant: _chunkYSXVRTGTcjs.tagVariantForBadgeColor.call(void 0, status.color_scheme) } : { label: "Design doc", variant: "grey" },
|
|
14327
|
+
anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab, displayRef.targetPlatform),
|
|
14330
14328
|
menuGroups: cardMenuGroups(displayRef.url, discuss),
|
|
14331
14329
|
menuAriaLabel: "Design doc actions"
|
|
14332
14330
|
}
|
|
@@ -14344,7 +14342,7 @@ function InvestorUpdateChatCard({
|
|
|
14344
14342
|
EntityMingoCard,
|
|
14345
14343
|
{
|
|
14346
14344
|
title,
|
|
14347
|
-
description: _optionalChain([item, 'optionalAccess', _358 => _358.strategic_update]) || _optionalChain([item, 'optionalAccess', _359 => _359.content]) ||
|
|
14345
|
+
description: _optionalChain([item, 'optionalAccess', _358 => _358.strategic_update]) || _optionalChain([item, 'optionalAccess', _359 => _359.content]) || _chunk3GJ75OULcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _361 => _361.period_end]), () => ( null))) || void 0,
|
|
14348
14346
|
cover: entityCover(_optionalChain([item, 'optionalAccess', _362 => _362.featured_image]), ogPlaceholder),
|
|
14349
14347
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37SGOMF5cjs.PresentationLineIcon, { size: 24 }),
|
|
14350
14348
|
status: { label: "Investor update", variant: "grey" },
|
|
@@ -14388,7 +14386,7 @@ function ProgramChatCard({
|
|
|
14388
14386
|
discuss
|
|
14389
14387
|
}) {
|
|
14390
14388
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGZ6NU2C2cjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM4KPLFFAcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZL4LQNYXcjs.MicrophoneIcon, { size: 24 });
|
|
14391
|
-
const { line: meta } =
|
|
14389
|
+
const { line: meta } = _chunk3GJ75OULcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunk3GJ75OULcjs.programMetaFormatters.call(void 0, _chunk3GJ75OULcjs.PROGRAM_META_RENDERERS));
|
|
14392
14390
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14393
14391
|
EntityMingoCard,
|
|
14394
14392
|
{
|
|
@@ -14414,17 +14412,17 @@ function RoadmapChatCard({
|
|
|
14414
14412
|
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _372 => _372.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
14415
14413
|
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _373 => _373.customItemId]) != null;
|
|
14416
14414
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UIJR4PYcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6DN5HKRWcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQDSQKK2cjs.MapIcon, { size: 24 });
|
|
14417
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14415
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _374 => _374.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
14418
14416
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
14419
14417
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
14420
14418
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14421
|
-
|
|
14419
|
+
_chunk6DMH4GXNcjs.next_image_default,
|
|
14422
14420
|
{
|
|
14423
14421
|
src: logoUrl,
|
|
14424
14422
|
alt: "",
|
|
14425
14423
|
className: "size-6 object-contain",
|
|
14426
|
-
width:
|
|
14427
|
-
height:
|
|
14424
|
+
width: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.glyph,
|
|
14425
|
+
height: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.glyph,
|
|
14428
14426
|
unoptimized: true
|
|
14429
14427
|
}
|
|
14430
14428
|
)
|
|
@@ -14490,11 +14488,11 @@ function refText(ref, key) {
|
|
|
14490
14488
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
14491
14489
|
}
|
|
14492
14490
|
function VendorGlyph({ title, logoUrl }) {
|
|
14493
|
-
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14491
|
+
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
|
|
14494
14492
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
|
|
14495
14493
|
}
|
|
14496
14494
|
function SitePageGlyph({ iconName }) {
|
|
14497
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14495
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
|
|
14498
14496
|
}
|
|
14499
14497
|
var GITHUB_CARD_CONFIGS = {
|
|
14500
14498
|
github_commit: { label: "GitHub commit", kind: "commit" },
|
|
@@ -14622,7 +14620,7 @@ function programRegistryEntries() {
|
|
|
14622
14620
|
contentRefType: cfg.contentRefType,
|
|
14623
14621
|
bareInline: true,
|
|
14624
14622
|
disclosure: cfg.disclosure,
|
|
14625
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14623
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.ProgramCard, { loading: true, size: "sm" }),
|
|
14626
14624
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14627
14625
|
ProgramChatCard,
|
|
14628
14626
|
{
|
|
@@ -14663,7 +14661,7 @@ function roadmapRegistryEntries() {
|
|
|
14663
14661
|
bareInline: true,
|
|
14664
14662
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
14665
14663
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
14666
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14664
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.RoadmapCard, { loading: true, size: "sm" }),
|
|
14667
14665
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14668
14666
|
RoadmapChatCard,
|
|
14669
14667
|
{
|
|
@@ -14721,12 +14719,12 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14721
14719
|
// projection route; `extractCardItems` turns its object payload into the
|
|
14722
14720
|
// single matched row. Destination is the public page unless the host
|
|
14723
14721
|
// re-homes the type (`composeContentUrl` override).
|
|
14724
|
-
[
|
|
14722
|
+
[_chunk3GJ75OULcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
|
|
14725
14723
|
label: "Trust center",
|
|
14726
14724
|
bareInline: true,
|
|
14727
|
-
contentRefType:
|
|
14725
|
+
contentRefType: _chunk3GJ75OULcjs.TRUST_CENTER_DOCUMENT_TYPE,
|
|
14728
14726
|
noComposedHref: true,
|
|
14729
|
-
fallbackHref: () =>
|
|
14727
|
+
fallbackHref: () => _chunk3GJ75OULcjs.TRUST_CENTER_PAGE_PATH,
|
|
14730
14728
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCard, { loading: true, title: "" }),
|
|
14731
14729
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
14732
14730
|
},
|
|
@@ -14753,7 +14751,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14753
14751
|
label: "Blog post",
|
|
14754
14752
|
contentRefType: "blog_post_existing",
|
|
14755
14753
|
bareInline: true,
|
|
14756
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14754
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.BlogCard, { loading: true, size: "sm" }),
|
|
14757
14755
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14758
14756
|
BlogChatCard,
|
|
14759
14757
|
{
|
|
@@ -14771,7 +14769,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14771
14769
|
label: "Case study",
|
|
14772
14770
|
contentRefType: "case_study",
|
|
14773
14771
|
bareInline: true,
|
|
14774
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14772
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.CaseStudyCard, { loading: true, size: "sm" }),
|
|
14775
14773
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14776
14774
|
CaseStudyChatCard,
|
|
14777
14775
|
{
|
|
@@ -14797,7 +14795,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14797
14795
|
label: "Customer interview",
|
|
14798
14796
|
contentRefType: "customer_interview",
|
|
14799
14797
|
bareInline: true,
|
|
14800
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14798
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.CustomerInterviewCard, { loading: true, size: "sm" }),
|
|
14801
14799
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14802
14800
|
CustomerInterviewChatCard,
|
|
14803
14801
|
{
|
|
@@ -14814,9 +14812,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14814
14812
|
label: "Product release",
|
|
14815
14813
|
contentRefType: "product_release",
|
|
14816
14814
|
bareInline: true,
|
|
14817
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14815
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.ProductReleaseCard, { loading: true, size: "sm" }),
|
|
14818
14816
|
render: (item, chatRef, opts) => {
|
|
14819
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _415 => _415.extras, 'optionalAccess', _416 => _416.buildProductReleaseCardProps]), () => (
|
|
14817
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _415 => _415.extras, 'optionalAccess', _416 => _416.buildProductReleaseCardProps]), () => ( _chunk3GJ75OULcjs.defaultBuildProductReleaseCardProps));
|
|
14820
14818
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14821
14819
|
ProductReleaseChatCard,
|
|
14822
14820
|
{
|
|
@@ -14835,7 +14833,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14835
14833
|
label: "Investor update",
|
|
14836
14834
|
contentRefType: "investor_update",
|
|
14837
14835
|
bareInline: true,
|
|
14838
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14836
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.InvestorUpdateCard, { loading: true, size: "sm" }),
|
|
14839
14837
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14840
14838
|
InvestorUpdateChatCard,
|
|
14841
14839
|
{
|
|
@@ -14854,7 +14852,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
14854
14852
|
bareInline: true,
|
|
14855
14853
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
14856
14854
|
displayAction: true,
|
|
14857
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14855
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.OnboardingGuideCard, { loading: true, size: "sm" }),
|
|
14858
14856
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14859
14857
|
OnboardingGuideChatCard,
|
|
14860
14858
|
{
|
|
@@ -14898,7 +14896,7 @@ function ChatCardNavWrap({
|
|
|
14898
14896
|
if (!_optionalChain([host, 'optionalAccess', _428 => _428.contains, 'call', _429 => _429(targetEl)])) return;
|
|
14899
14897
|
if (_optionalChain([targetEl, 'optionalAccess', _430 => _430.closest, 'optionalCall', _431 => _431("button")])) return;
|
|
14900
14898
|
if (!_optionalChain([targetEl, 'optionalAccess', _432 => _432.closest, 'optionalCall', _433 => _433("a")])) return;
|
|
14901
|
-
const handled =
|
|
14899
|
+
const handled = _chunk77GX573Icjs.executeNavigation.call(void 0, { event: e, runtime, href, path, targetPlatform, hostRoute });
|
|
14902
14900
|
if (!handled) return;
|
|
14903
14901
|
e.stopPropagation();
|
|
14904
14902
|
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _434 => _434.closeChat])) panel.closeChat();
|
|
@@ -14936,7 +14934,7 @@ function ChatCardLoader({ chatRef, onDiscuss, onDisplay, extras }) {
|
|
|
14936
14934
|
entry: fetchEntry,
|
|
14937
14935
|
ctx: sourceRowCtxFromRuntime(runtime),
|
|
14938
14936
|
composeContentUrl: runtime.composeContentUrl,
|
|
14939
|
-
resolveHref: (href) =>
|
|
14937
|
+
resolveHref: (href) => _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, href).href
|
|
14940
14938
|
});
|
|
14941
14939
|
const hrefResolvedChatRef = {
|
|
14942
14940
|
...chatRef,
|
|
@@ -14947,13 +14945,13 @@ function ChatCardLoader({ chatRef, onDiscuss, onDisplay, extras }) {
|
|
|
14947
14945
|
};
|
|
14948
14946
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
14949
14947
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
14950
|
-
const hostRoute = (destination.source === "composed" || destination.source === "hostOverride") && !!finalChatRef.url &&
|
|
14951
|
-
const isNewTab = finalChatRef.url ?
|
|
14948
|
+
const hostRoute = (destination.source === "composed" || destination.source === "hostOverride") && !!finalChatRef.url && _chunkEXQSIX2Icjs.isRelativeHref.call(void 0, finalChatRef.url);
|
|
14949
|
+
const isNewTab = finalChatRef.url ? _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, finalChatRef.url, finalChatRef.targetPlatform, { hostRoute }).isNewTab : false;
|
|
14952
14950
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
14953
14951
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
14954
14952
|
const discuss = discussFn ? {
|
|
14955
14953
|
label: useDisplay ? "Display" : "Ask Mingo",
|
|
14956
|
-
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14954
|
+
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "size-5" }),
|
|
14957
14955
|
run: () => discussFn(finalChatRef)
|
|
14958
14956
|
} : void 0;
|
|
14959
14957
|
const renderOpts = {
|
|
@@ -15034,7 +15032,7 @@ function renderChatInlineEntityCard(chatRef, options = {}) {
|
|
|
15034
15032
|
metadata: { ..._nullishCoalesce(chatRef.metadata, () => ( {})), ...decoded }
|
|
15035
15033
|
};
|
|
15036
15034
|
const externalUrl = chatRef.id.startsWith("mp4-") && decoded.videoUrl;
|
|
15037
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockCard, { inline: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatInlineVideoPill, { chatRef: displayRef }), children: externalUrl && !
|
|
15035
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockCard, { inline: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatInlineVideoPill, { chatRef: displayRef }), children: externalUrl && !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, externalUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalMediaNotice, { url: externalUrl, kind: "video", label: displayRef.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatCardDisclosureRow, { kind: CHAT_CARD_DISCLOSURE.VIDEO, chatRef: displayRef }) });
|
|
15038
15036
|
}
|
|
15039
15037
|
return loader;
|
|
15040
15038
|
}
|
|
@@ -15059,12 +15057,12 @@ function makeBatchDedupKey(item) {
|
|
|
15059
15057
|
return `${item.messageType}:${seq}:${type}:${text3}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
|
|
15060
15058
|
}
|
|
15061
15059
|
function getChatTypeMessageType(chatType) {
|
|
15062
|
-
return chatType ===
|
|
15060
|
+
return chatType === _chunk65NMKAPQcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
|
|
15063
15061
|
}
|
|
15064
15062
|
function useChunkCatchup({
|
|
15065
15063
|
dialogId,
|
|
15066
15064
|
onChunkReceived,
|
|
15067
|
-
chatTypes = [
|
|
15065
|
+
chatTypes = [_chunk65NMKAPQcjs.CHAT_TYPE.CLIENT],
|
|
15068
15066
|
fetchChunks
|
|
15069
15067
|
}) {
|
|
15070
15068
|
const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
@@ -15632,7 +15630,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
15632
15630
|
try {
|
|
15633
15631
|
const url = new URL(commandsUrl, window.location.origin);
|
|
15634
15632
|
if (prefix) url.searchParams.set("q", prefix);
|
|
15635
|
-
const res = await
|
|
15633
|
+
const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
|
|
15636
15634
|
if (!res.ok) return [];
|
|
15637
15635
|
const data = await res.json();
|
|
15638
15636
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
@@ -15709,7 +15707,7 @@ var EMPTY_STATE_FALLBACK = {
|
|
|
15709
15707
|
async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
15710
15708
|
try {
|
|
15711
15709
|
const url = new URL(emptyStateUrl, window.location.origin);
|
|
15712
|
-
const res = await
|
|
15710
|
+
const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
|
|
15713
15711
|
if (!res.ok) {
|
|
15714
15712
|
if (res.status >= 500) {
|
|
15715
15713
|
console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
|
|
@@ -15867,7 +15865,7 @@ function useChatAttachments() {
|
|
|
15867
15865
|
);
|
|
15868
15866
|
}
|
|
15869
15867
|
updateOne(att.id, { status: "uploading", progress: 5 });
|
|
15870
|
-
const urlResp = await
|
|
15868
|
+
const urlResp = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
15871
15869
|
method: "POST",
|
|
15872
15870
|
headers: { "Content-Type": "application/json" },
|
|
15873
15871
|
signal: _optionalChain([ctrl, 'optionalAccess', _496 => _496.signal]),
|
|
@@ -16009,21 +16007,21 @@ function useChatAttachmentImageGallery() {
|
|
|
16009
16007
|
const target = ev.target;
|
|
16010
16008
|
if (!target) return;
|
|
16011
16009
|
const img = target.closest("img");
|
|
16012
|
-
if (!img || !img.
|
|
16010
|
+
if (!img || !assetSrcOf(img).startsWith(absolutize(viewUrlPrefix))) return;
|
|
16013
16011
|
const bubble = img.closest("[data-message-role]");
|
|
16014
16012
|
if (!bubble) {
|
|
16015
16013
|
ev.preventDefault();
|
|
16016
|
-
setState({ isOpen: true, images: [img
|
|
16014
|
+
setState({ isOpen: true, images: [assetSrcOf(img)], initialIndex: 0 });
|
|
16017
16015
|
return;
|
|
16018
16016
|
}
|
|
16019
16017
|
const allImgs = Array.from(bubble.querySelectorAll("img"));
|
|
16020
|
-
const matching = allImgs.filter((el) => el.
|
|
16018
|
+
const matching = allImgs.filter((el) => assetSrcOf(el).startsWith(absolutize(viewUrlPrefix)));
|
|
16021
16019
|
if (matching.length === 0) return;
|
|
16022
16020
|
const idx = Math.max(0, matching.indexOf(img));
|
|
16023
16021
|
ev.preventDefault();
|
|
16024
16022
|
setState({
|
|
16025
16023
|
isOpen: true,
|
|
16026
|
-
images: matching.map(
|
|
16024
|
+
images: matching.map(assetSrcOf),
|
|
16027
16025
|
initialIndex: idx
|
|
16028
16026
|
});
|
|
16029
16027
|
};
|
|
@@ -16031,7 +16029,7 @@ function useChatAttachmentImageGallery() {
|
|
|
16031
16029
|
return () => root.removeEventListener("click", onClick);
|
|
16032
16030
|
}, [viewUrlPrefix]);
|
|
16033
16031
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16034
|
-
|
|
16032
|
+
_chunk3GJ75OULcjs.ImageGalleryModal,
|
|
16035
16033
|
{
|
|
16036
16034
|
images: state.images,
|
|
16037
16035
|
isOpen: state.isOpen,
|
|
@@ -16046,6 +16044,10 @@ function absolutize(prefix) {
|
|
|
16046
16044
|
if (typeof window === "undefined") return prefix;
|
|
16047
16045
|
return `${window.location.origin}${prefix.startsWith("/") ? "" : "/"}${prefix}`;
|
|
16048
16046
|
}
|
|
16047
|
+
function assetSrcOf(img) {
|
|
16048
|
+
const declared = img.dataset.assetSrc;
|
|
16049
|
+
return declared ? new URL(declared, window.location.href).href : img.src;
|
|
16050
|
+
}
|
|
16049
16051
|
|
|
16050
16052
|
// src/components/chat/hooks/use-chat-identity.ts
|
|
16051
16053
|
|
|
@@ -16058,7 +16060,7 @@ var ANON_DEFAULTS = {
|
|
|
16058
16060
|
function useResolveChatIdentity(enabled) {
|
|
16059
16061
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
16060
16062
|
const url = runtime.endpoints.identityUrl;
|
|
16061
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([
|
|
16063
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSQ7YHWEPcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _502 => _502.email]), () => ( null));
|
|
16062
16064
|
const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
|
|
16063
16065
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
16064
16066
|
const data = _optionalChain([resolved, 'optionalAccess', _503 => _503.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
|
|
@@ -16067,7 +16069,7 @@ function useResolveChatIdentity(enabled) {
|
|
|
16067
16069
|
if (requestKey === null) return void 0;
|
|
16068
16070
|
let cancelled = false;
|
|
16069
16071
|
const ctrl = new AbortController();
|
|
16070
|
-
|
|
16072
|
+
_chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
|
|
16071
16073
|
if (!resp.ok) return ANON_DEFAULTS;
|
|
16072
16074
|
return await resp.json();
|
|
16073
16075
|
}).then((next) => {
|
|
@@ -17404,7 +17406,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
17404
17406
|
const status = approvalStatuses[requestId] || "pending";
|
|
17405
17407
|
if (!displayInline(approvalType)) {
|
|
17406
17408
|
const required = _nullishCoalesce(toolCalls.find((c) => c.requiresApproval), () => ( toolCalls[0]));
|
|
17407
|
-
const summary = required ?
|
|
17409
|
+
const summary = required ? _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
17408
17410
|
pendingEscalated.set(requestId, {
|
|
17409
17411
|
command: summary,
|
|
17410
17412
|
explanation: _optionalChain([required, 'optionalAccess', _566 => _566.toolExplanation]),
|
|
@@ -17437,7 +17439,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
17437
17439
|
if (!call.requiresApproval) continue;
|
|
17438
17440
|
segments = accumulator.addApprovalRequest(
|
|
17439
17441
|
requestId,
|
|
17440
|
-
|
|
17442
|
+
_chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
|
|
17441
17443
|
call.toolExplanation,
|
|
17442
17444
|
approvalType,
|
|
17443
17445
|
status,
|
|
@@ -17516,7 +17518,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
17516
17518
|
if (!call.requiresApproval) continue;
|
|
17517
17519
|
segments = accumulator.addApprovalRequest(
|
|
17518
17520
|
requestId,
|
|
17519
|
-
|
|
17521
|
+
_chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
|
|
17520
17522
|
call.toolExplanation,
|
|
17521
17523
|
escalatedData.approvalType,
|
|
17522
17524
|
status
|
|
@@ -18442,7 +18444,7 @@ async function failWith(response, fallback) {
|
|
|
18442
18444
|
function createChatConversationsApi(baseUrl) {
|
|
18443
18445
|
const base = baseUrl.replace(/\/+$/, "");
|
|
18444
18446
|
const patch = async (id, body, what) => {
|
|
18445
|
-
const response = await
|
|
18447
|
+
const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${base}/${encodeURIComponent(id)}`, {
|
|
18446
18448
|
method: "PATCH",
|
|
18447
18449
|
body: JSON.stringify(body)
|
|
18448
18450
|
});
|
|
@@ -18455,7 +18457,7 @@ function createChatConversationsApi(baseUrl) {
|
|
|
18455
18457
|
if (limit !== void 0) qs.set("limit", String(limit));
|
|
18456
18458
|
if (cursor) qs.set("cursor", cursor);
|
|
18457
18459
|
if (search) qs.set("search", search);
|
|
18458
|
-
const response = await
|
|
18460
|
+
const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${base}?${qs.toString()}`, { method: "GET" });
|
|
18459
18461
|
if (!response.ok) await failWith(response, "Conversation list failed");
|
|
18460
18462
|
const body = unwrapEnvelope(await response.json());
|
|
18461
18463
|
const rawDialogs = isRecord(body) && Array.isArray(body.dialogs) ? body.dialogs : [];
|
|
@@ -18796,11 +18798,11 @@ function createSseFrameDecoder() {
|
|
|
18796
18798
|
var STORAGE_KEY = "conversation";
|
|
18797
18799
|
var namespaceFor = (source) => {
|
|
18798
18800
|
const base = `mingo-chat-${source}`;
|
|
18799
|
-
const auth =
|
|
18801
|
+
const auth = _chunkSQ7YHWEPcjs.getEmbedProxyAuth.call(void 0, );
|
|
18800
18802
|
return _optionalChain([auth, 'optionalAccess', _598 => _598.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
18801
18803
|
};
|
|
18802
18804
|
function createChatConversationStorage(source) {
|
|
18803
|
-
return
|
|
18805
|
+
return _chunkSQ7YHWEPcjs.createLocalStorageAdapter.call(void 0, {
|
|
18804
18806
|
key: STORAGE_KEY,
|
|
18805
18807
|
namespace: () => namespaceFor(source),
|
|
18806
18808
|
validate: (parsed) => !!parsed && typeof parsed.conversationId === "string" && parsed.conversationId.length > 0,
|
|
@@ -18856,7 +18858,7 @@ function useChatHistoryHydration({
|
|
|
18856
18858
|
setIsHydratingHistory(true);
|
|
18857
18859
|
void (async () => {
|
|
18858
18860
|
try {
|
|
18859
|
-
const res = await
|
|
18861
|
+
const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`, {
|
|
18860
18862
|
method: "GET"
|
|
18861
18863
|
});
|
|
18862
18864
|
if (!res.ok) {
|
|
@@ -19167,7 +19169,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
19167
19169
|
abortControllerRef.current = ctrl;
|
|
19168
19170
|
let mintedThisTurn = false;
|
|
19169
19171
|
try {
|
|
19170
|
-
const response = await
|
|
19172
|
+
const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
19171
19173
|
method: "POST",
|
|
19172
19174
|
body: JSON.stringify(requestBody),
|
|
19173
19175
|
signal: ctrl.signal
|
|
@@ -19530,12 +19532,12 @@ function withNormalizedReview(call) {
|
|
|
19530
19532
|
return { ...rest, ...policyReviewField(raw2) };
|
|
19531
19533
|
}
|
|
19532
19534
|
function getOwnerDisplayName(owner) {
|
|
19533
|
-
if (_optionalChain([owner, 'optionalAccess', _642 => _642.type]) ===
|
|
19535
|
+
if (_optionalChain([owner, 'optionalAccess', _642 => _642.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
19534
19536
|
const { firstName, lastName } = owner.user;
|
|
19535
19537
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
19536
19538
|
if (name) return name;
|
|
19537
19539
|
}
|
|
19538
|
-
return _optionalChain([owner, 'optionalAccess', _643 => _643.type]) ===
|
|
19540
|
+
return _optionalChain([owner, 'optionalAccess', _643 => _643.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
19539
19541
|
}
|
|
19540
19542
|
function getOwnerAvatar(owner) {
|
|
19541
19543
|
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _644 => _644.user, 'optionalAccess', _645 => _645.image, 'optionalAccess', _646 => _646.imageUrl]), () => ( void 0));
|
|
@@ -19799,7 +19801,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
19799
19801
|
if (!call.requiresApproval) continue;
|
|
19800
19802
|
accumulator.addApprovalRequest(
|
|
19801
19803
|
event.requestId,
|
|
19802
|
-
|
|
19804
|
+
_chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
|
|
19803
19805
|
call.toolExplanation,
|
|
19804
19806
|
approvalType,
|
|
19805
19807
|
status,
|
|
@@ -19860,7 +19862,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
19860
19862
|
if (!call.requiresApproval) continue;
|
|
19861
19863
|
accumulator.addApprovalRequest(
|
|
19862
19864
|
requestId,
|
|
19863
|
-
|
|
19865
|
+
_chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
|
|
19864
19866
|
call.toolExplanation,
|
|
19865
19867
|
escalatedData.approvalType,
|
|
19866
19868
|
status
|
|
@@ -19968,10 +19970,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
19968
19970
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
19969
19971
|
return;
|
|
19970
19972
|
}
|
|
19971
|
-
const isUserMessage = _optionalChain([msg, 'access', _659 => _659.owner, 'optionalAccess', _660 => _660.type]) ===
|
|
19973
|
+
const isUserMessage = _optionalChain([msg, 'access', _659 => _659.owner, 'optionalAccess', _660 => _660.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _661 => _661.owner, 'optionalAccess', _662 => _662.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN;
|
|
19972
19974
|
if (isUserMessage) {
|
|
19973
19975
|
flushAssistantMessage();
|
|
19974
|
-
const userAuthorType = _optionalChain([msg, 'access', _663 => _663.owner, 'optionalAccess', _664 => _664.type]) ===
|
|
19976
|
+
const userAuthorType = _optionalChain([msg, 'access', _663 => _663.owner, 'optionalAccess', _664 => _664.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
19975
19977
|
messageDataArray.forEach((data) => {
|
|
19976
19978
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
19977
19979
|
const rawContext = data.contextItems;
|
|
@@ -20022,7 +20024,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
20022
20024
|
});
|
|
20023
20025
|
const nextMsg = messages[index + 1];
|
|
20024
20026
|
const isLastMessage = index === messages.length - 1;
|
|
20025
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _667 => _667.owner, 'optionalAccess', _668 => _668.type]) ===
|
|
20027
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _667 => _667.owner, 'optionalAccess', _668 => _668.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _669 => _669.owner, 'optionalAccess', _670 => _670.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN);
|
|
20026
20028
|
if (isLastMessage || nextIsFromUser) {
|
|
20027
20029
|
flushAssistantMessage();
|
|
20028
20030
|
}
|