@flamingo-stack/openframe-frontend-core 0.0.781 → 0.0.783
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/case-study-card-WYZPBDDM.cjs +23 -0
- package/dist/{chunk-RJX33Y4Q.cjs → chunk-3INHO6GP.cjs} +22 -22
- package/dist/{chunk-TH5X2BXK.cjs → chunk-3PKORICR.cjs} +115 -115
- package/dist/{chunk-JHDPEYZH.cjs → chunk-4DKPNN2A.cjs} +17 -17
- package/dist/{chunk-L4XOCV7S.cjs → chunk-4DQ4CNAG.cjs} +10 -10
- package/dist/{chunk-HTSRCFXP.cjs → chunk-4MQASMIU.cjs} +7 -7
- package/dist/{chunk-3VINTJPE.cjs → chunk-5WMRVMXH.cjs} +5 -5
- package/dist/{chunk-OHXB6HUX.cjs → chunk-5XAWVXNI.cjs} +320 -320
- package/dist/{chunk-HLZUBJPL.cjs → chunk-62TMGBRO.cjs} +197 -197
- package/dist/{chunk-B6EQVH7D.cjs → chunk-6NEWJ6I2.cjs} +51 -51
- package/dist/{chunk-FWJ5YECN.cjs → chunk-7OJMOG34.cjs} +546 -544
- package/dist/{chunk-63OCO2G5.cjs → chunk-A3UZFFR3.cjs} +4 -4
- package/dist/{chunk-XHJI7R4J.cjs → chunk-AFSVWR3X.cjs} +46 -46
- package/dist/{chunk-LDGR5VCK.cjs → chunk-APO7GMZQ.cjs} +4 -4
- package/dist/{chunk-PID7LUDP.cjs → chunk-BAJB3JF3.cjs} +31 -31
- package/dist/{chunk-T7SDYBST.cjs → chunk-BE4OUWTA.cjs} +54 -54
- package/dist/{chunk-ZV6RQNXE.cjs → chunk-CBKXU77H.cjs} +46 -46
- package/dist/{chunk-IYU2ZH2J.cjs → chunk-CS5SZJFV.cjs} +2 -2
- package/dist/{chunk-Q7HXTF2C.cjs → chunk-DYF6XB27.cjs} +4 -4
- package/dist/{chunk-AKCBLZAO.cjs → chunk-E2ZZOYSM.cjs} +74 -62
- package/dist/{chunk-57NE7SHG.cjs → chunk-EFCWHAYC.cjs} +8 -8
- package/dist/{chunk-KWV23THO.cjs → chunk-EHQ2UGT4.cjs} +14 -14
- package/dist/{chunk-DJTPDK3W.cjs → chunk-F2FFJWOQ.cjs} +4 -4
- package/dist/{chunk-CDBFQVPA.cjs → chunk-FLS6DZEN.cjs} +46 -43
- package/dist/{chunk-VZKAAXU3.cjs → chunk-FS7CBRF4.cjs} +23 -23
- package/dist/{chunk-X6TXMWBV.cjs → chunk-H3RHAN6B.cjs} +61 -61
- package/dist/{chunk-HPGCUYAZ.cjs → chunk-KRXHRL3W.cjs} +110 -110
- package/dist/{chunk-D46WFWWI.cjs → chunk-LGISRUGF.cjs} +41 -39
- package/dist/{chunk-2OYKOHFK.cjs → chunk-LUWYWYNC.cjs} +2 -2
- package/dist/{chunk-N6YCOBLK.cjs → chunk-MGEUZRNQ.cjs} +101 -9
- package/dist/{chunk-YEJWNHD3.cjs → chunk-MKF6XX5A.cjs} +63 -63
- package/dist/{chunk-3IHGS44W.cjs → chunk-N2SVJJLU.cjs} +5 -5
- package/dist/{chunk-TZ6MTHUC.cjs → chunk-N5TPRCSS.cjs} +60 -60
- package/dist/{chunk-YNDH72VU.cjs → chunk-NNNRN4OF.cjs} +14 -14
- package/dist/{chunk-JQWYXC2E.cjs → chunk-ODDUGLYF.cjs} +110 -110
- package/dist/{chunk-T4ZVKEDP.cjs → chunk-OMTH355I.cjs} +3 -3
- package/dist/{chunk-OFX6XEVN.cjs → chunk-PQSTPJQQ.cjs} +13 -13
- package/dist/{chunk-YKJ4JN6T.cjs → chunk-RL45AU2C.cjs} +42 -42
- package/dist/{chunk-DIY4SJZI.cjs → chunk-RT6QATX4.cjs} +19 -19
- package/dist/{chunk-ODZ5XGWA.cjs → chunk-THOGSAFH.cjs} +2076 -2052
- package/dist/{chunk-UONQCE5N.cjs → chunk-TS6TISIF.cjs} +209 -208
- package/dist/{chunk-SMEX3BWO.cjs → chunk-UPQMFK5B.cjs} +7 -7
- package/dist/{chunk-5PBWAF2D.cjs → chunk-URFAMWCA.cjs} +44 -44
- package/dist/{chunk-VDTLVFCV.cjs → chunk-WHNI4QTG.cjs} +13 -13
- package/dist/{chunk-EYNQE2XN.cjs → chunk-WS7IDGEL.cjs} +6 -6
- package/dist/{chunk-QD7SKYCQ.cjs → chunk-WSBWP7IW.cjs} +3 -3
- package/dist/{chunk-RYIWADIB.cjs → chunk-XAA5LUHC.cjs} +12 -12
- package/dist/{chunk-XYKVOBIP.cjs → chunk-XKDJ5ISQ.cjs} +3 -3
- package/dist/{chunk-A7FSNBNV.cjs → chunk-YU23M33V.cjs} +173 -172
- package/dist/{chunk-ZPYFPLPD.cjs → chunk-YXZOP726.cjs} +10 -10
- package/dist/{chunk-4XDYSGRL.cjs → chunk-ZFOMRALU.cjs} +17 -17
- package/dist/{chunk-AFJEUBDS.cjs → chunk-ZJS45HQZ.cjs} +29 -29
- package/dist/{cloud-tenants-UAFVHKX7.cjs → cloud-tenants-QYW3MPPP.cjs} +32 -32
- package/dist/components/calendar.cjs +10 -10
- package/dist/components/case-studies/index.cjs +52 -52
- package/dist/components/category-card.d.ts.map +1 -1
- package/dist/components/category-card.js +1 -0
- package/dist/components/chat/ask-display.js +2 -2
- package/dist/components/chat/chat-context-memory-bar.js +2 -2
- package/dist/components/chat/chat-context-picker.d.ts.map +1 -1
- package/dist/components/chat/chat-context-picker.js +4 -2
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-input.js +2 -1
- package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -1
- package/dist/components/chat/chat-nav-sidebar.js +12 -1
- package/dist/components/chat/embeddable-chat.js +120 -98
- package/dist/components/chat/guide-mode-banner.js +1 -1
- package/dist/components/chat/index.cjs +26 -26
- package/dist/components/chat/mingo-welcome.js +1 -1
- package/dist/components/contact/index.cjs +33 -33
- package/dist/components/docs/index.cjs +36 -36
- package/dist/components/embeds/index.cjs +33 -33
- package/dist/components/faq/index.cjs +34 -34
- package/dist/components/features/capability-explorer.d.ts.map +1 -1
- package/dist/components/features/capability-explorer.js +11 -1
- package/dist/components/features/command-box.js +1 -1
- package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -1
- package/dist/components/features/devices/devices-grid-filters.js +15 -4
- package/dist/components/features/filters-dropdown.d.ts.map +1 -1
- package/dist/components/features/filters-dropdown.js +6 -5
- package/dist/components/features/index.cjs +32 -32
- package/dist/components/features/model-token-rates.js +1 -1
- package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-drawer.js +1 -0
- package/dist/components/features/notifications/notification-tile.js +1 -1
- package/dist/components/features/paths-display.js +1 -1
- package/dist/components/features/remote-session/remote-session-events.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-events.js +1 -0
- package/dist/components/features/scripts/schedule-form/schedule-script-picker-card.js +1 -1
- package/dist/components/features/scripts/schedule-form/schedule-timing-fields.js +1 -1
- package/dist/components/features/select-button.js +0 -1
- package/dist/components/features/tags-selector.js +1 -1
- package/dist/components/help-center-pages/index.cjs +163 -163
- package/dist/components/index.cjs +205 -204
- package/dist/components/loading/loading-region.d.ts.map +1 -1
- package/dist/components/loading/loading-region.js +2 -2
- package/dist/components/meeting-scheduler/index.cjs +187 -187
- package/dist/components/navigation/index.cjs +35 -35
- package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
- package/dist/components/navigation/mobile-burger-menu.js +2 -1
- package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
- package/dist/components/navigation/multi-level-navigation.js +4 -2
- package/dist/components/navigation/navigation-sidebar-item.js +3 -3
- package/dist/components/onboarding-guides/index.cjs +35 -35
- package/dist/components/product-demo/index.cjs +45 -45
- package/dist/components/related-content/index.cjs +17 -17
- package/dist/components/tickets/index.cjs +39 -39
- package/dist/components/ui/allowed-domains-input.d.ts.map +1 -1
- package/dist/components/ui/allowed-domains-input.js +1 -0
- package/dist/components/ui/button/button-styles.d.ts +12 -4
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button-styles.js +99 -7
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/button/button.js +3 -0
- package/dist/components/ui/file-manager/file-manager-breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/file-manager/file-manager-breadcrumb.js +1 -0
- package/dist/components/ui/file-manager/index.cjs +56 -55
- package/dist/components/ui/file-upload.d.ts.map +1 -1
- package/dist/components/ui/file-upload.js +5 -3
- package/dist/components/ui/hidden-tags-popup.js +1 -1
- package/dist/components/ui/hover-dropdown.js +1 -1
- package/dist/components/ui/index.cjs +32 -32
- package/dist/components/ui/info-card.js +1 -1
- package/dist/components/ui/info-section.d.ts.map +1 -1
- package/dist/components/ui/info-section.js +1 -0
- package/dist/components/ui/loading-scope.d.ts.map +1 -1
- package/dist/components/ui/loading-scope.js +2 -2
- package/dist/components/ui/modal-v2.js +1 -1
- package/dist/components/ui/organization-card.d.ts.map +1 -1
- package/dist/components/ui/organization-card.js +2 -1
- package/dist/components/ui/page-actions.d.ts +2 -2
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/components/ui/password-input.js +1 -1
- package/dist/components/ui/service-card.js +3 -3
- package/dist/components/ui/tab-selector.d.ts.map +1 -1
- package/dist/components/ui/tab-selector.js +3 -3
- package/dist/components/ui/test-run.d.ts.map +1 -1
- package/dist/components/ui/test-run.js +2 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +2 -1
- package/dist/components/ui/ticket-attachments-list.d.ts.map +1 -1
- package/dist/components/ui/ticket-attachments-list.js +3 -2
- package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
- package/dist/components/ui/ticket-info-section.js +1 -0
- package/dist/components/ui/ticket-note-card.d.ts.map +1 -1
- package/dist/components/ui/ticket-note-card.js +6 -4
- package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
- package/dist/components/ui/ticket-status-config-row.js +1 -10
- package/dist/components/ui/toaster.js +1 -1
- package/dist/components/vendor-display-button.js +1 -1
- package/dist/{devices-TDKCKWRP.cjs → devices-DMMMEO2B.cjs} +33 -33
- package/dist/embed-shims/index.cjs +4 -4
- package/dist/embed-shims/next-image.cjs +4 -4
- package/dist/{embeddable-chat-HEL4Z2FL.cjs → embeddable-chat-OSSPL7L4.cjs} +226 -204
- package/dist/hooks/index.cjs +10 -10
- package/dist/index.cjs +48 -48
- package/dist/{knowledge-A5KJ4CAD.cjs → knowledge-XQQXVV6C.cjs} +33 -33
- package/dist/{logs-6WRBPIMM.cjs → logs-BHKMDCBP.cjs} +41 -41
- package/dist/{policies-ICRXHW3H.cjs → policies-5IY7QUED.cjs} +36 -36
- package/dist/{remote-session-MEV5JL2Z.cjs → remote-session-IEOWFBF7.cjs} +17 -17
- package/dist/{scripts-AZVCZE6C.cjs → scripts-ZQXRBGVK.cjs} +39 -39
- package/dist/{software-update-4ZBCGJGA.cjs → software-update-RGFRYL3N.cjs} +36 -36
- package/dist/{tickets-board-BJPQD3HE.cjs → tickets-board-EYKLSB36.cjs} +17 -17
- package/dist/{video-file-player-DETXW4OJ.cjs → video-file-player-ZU666VUY.cjs} +14 -14
- package/package.json +1 -1
- package/src/components/category-card.tsx +2 -0
- package/src/components/chat/ask-display.tsx +2 -2
- package/src/components/chat/chat-context-memory-bar.tsx +2 -2
- package/src/components/chat/chat-context-picker.tsx +4 -2
- package/src/components/chat/chat-input.tsx +3 -1
- package/src/components/chat/chat-nav-sidebar.tsx +10 -1
- package/src/components/chat/embeddable-chat.tsx +21 -4
- package/src/components/chat/guide-mode-banner.tsx +1 -1
- package/src/components/chat/mingo-welcome.tsx +1 -1
- package/src/components/features/capability-explorer.tsx +8 -1
- package/src/components/features/command-box.tsx +1 -1
- package/src/components/features/devices/devices-grid-filters.tsx +8 -1
- package/src/components/features/filters-dropdown.tsx +6 -1
- package/src/components/features/model-token-rates.tsx +1 -1
- package/src/components/features/notifications/notification-drawer.tsx +1 -0
- package/src/components/features/notifications/notification-tile.tsx +1 -1
- package/src/components/features/paths-display.tsx +1 -1
- package/src/components/features/remote-session/remote-session-events.tsx +2 -0
- package/src/components/features/scripts/schedule-form/schedule-script-picker-card.tsx +1 -1
- package/src/components/features/scripts/schedule-form/schedule-timing-fields.tsx +1 -1
- package/src/components/features/select-button.tsx +2 -2
- package/src/components/features/tags-selector.tsx +1 -1
- package/src/components/loading/loading-region.tsx +4 -1
- package/src/components/navigation/mobile-burger-menu.tsx +3 -1
- package/src/components/navigation/multi-level-navigation.tsx +6 -2
- package/src/components/navigation/navigation-sidebar-item.tsx +5 -5
- package/src/components/ui/allowed-domains-input.tsx +1 -0
- package/src/components/ui/button/button-styles.ts +106 -9
- package/src/components/ui/button/button.tsx +3 -0
- package/src/components/ui/file-manager/file-manager-breadcrumb.tsx +1 -0
- package/src/components/ui/file-upload.tsx +5 -3
- package/src/components/ui/hidden-tags-popup.tsx +1 -1
- package/src/components/ui/hover-dropdown.tsx +1 -1
- package/src/components/ui/info-card.tsx +1 -1
- package/src/components/ui/info-section.tsx +2 -0
- package/src/components/ui/loading-scope.tsx +2 -1
- package/src/components/ui/modal-v2.tsx +1 -1
- package/src/components/ui/organization-card.tsx +3 -1
- package/src/components/ui/page-actions.tsx +14 -2
- package/src/components/ui/password-input.tsx +1 -1
- package/src/components/ui/service-card.tsx +3 -3
- package/src/components/ui/tab-selector.tsx +5 -3
- package/src/components/ui/test-run.tsx +2 -1
- package/src/components/ui/textarea.tsx +3 -1
- package/src/components/ui/ticket-attachments-list.tsx +3 -2
- package/src/components/ui/ticket-info-section.tsx +1 -0
- package/src/components/ui/ticket-note-card.tsx +6 -4
- package/src/components/ui/ticket-status-config-row.tsx +1 -6
- package/src/components/ui/toaster.tsx +1 -1
- package/src/components/vendor-display-button.tsx +1 -1
- package/dist/case-study-card-CYJ3JXU6.cjs +0 -23
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkBE4OUWTAcjs = require('./chunk-BE4OUWTA.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkWSBWP7IWcjs = require('./chunk-WSBWP7IW.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -38,7 +38,7 @@ var _chunkQD7SKYCQcjs = require('./chunk-QD7SKYCQ.cjs');
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
var
|
|
41
|
+
var _chunkE2ZZOYSMcjs = require('./chunk-E2ZZOYSM.cjs');
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -47,7 +47,7 @@ var _chunkAKCBLZAOcjs = require('./chunk-AKCBLZAO.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkFS7CBRF4cjs = require('./chunk-FS7CBRF4.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
var _chunkREEXZ35Ocjs = require('./chunk-REEXZ35O.cjs');
|
|
@@ -248,7 +248,7 @@ var _chunk7WT2C5YYcjs = require('./chunk-7WT2C5YY.cjs');
|
|
|
248
248
|
var _chunkOJZBZH56cjs = require('./chunk-OJZBZH56.cjs');
|
|
249
249
|
|
|
250
250
|
|
|
251
|
-
var
|
|
251
|
+
var _chunkLUWYWYNCcjs = require('./chunk-LUWYWYNC.cjs');
|
|
252
252
|
|
|
253
253
|
|
|
254
254
|
var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
@@ -292,7 +292,7 @@ var _chunkWWUSFOJ7cjs = require('./chunk-WWUSFOJ7.cjs');
|
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
|
|
295
|
-
var
|
|
295
|
+
var _chunk5XAWVXNIcjs = require('./chunk-5XAWVXNI.cjs');
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
|
|
@@ -321,10 +321,10 @@ var _chunkOHXB6HUXcjs = require('./chunk-OHXB6HUX.cjs');
|
|
|
321
321
|
|
|
322
322
|
|
|
323
323
|
|
|
324
|
-
var
|
|
324
|
+
var _chunkODDUGLYFcjs = require('./chunk-ODDUGLYF.cjs');
|
|
325
325
|
|
|
326
326
|
|
|
327
|
-
var
|
|
327
|
+
var _chunkXAA5LUHCcjs = require('./chunk-XAA5LUHC.cjs');
|
|
328
328
|
|
|
329
329
|
|
|
330
330
|
|
|
@@ -332,7 +332,7 @@ var _chunkRYIWADIBcjs = require('./chunk-RYIWADIB.cjs');
|
|
|
332
332
|
|
|
333
333
|
|
|
334
334
|
|
|
335
|
-
var
|
|
335
|
+
var _chunkZJS45HQZcjs = require('./chunk-ZJS45HQZ.cjs');
|
|
336
336
|
|
|
337
337
|
|
|
338
338
|
var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
|
|
@@ -348,7 +348,7 @@ var _chunkV4FXUIMHcjs = require('./chunk-V4FXUIMH.cjs');
|
|
|
348
348
|
var _chunkSZHDXXMKcjs = require('./chunk-SZHDXXMK.cjs');
|
|
349
349
|
|
|
350
350
|
|
|
351
|
-
var
|
|
351
|
+
var _chunkCS5SZJFVcjs = require('./chunk-CS5SZJFV.cjs');
|
|
352
352
|
|
|
353
353
|
|
|
354
354
|
|
|
@@ -356,33 +356,33 @@ var _chunkIYU2ZH2Jcjs = require('./chunk-IYU2ZH2J.cjs');
|
|
|
356
356
|
var _chunk5GJM7VRRcjs = require('./chunk-5GJM7VRR.cjs');
|
|
357
357
|
|
|
358
358
|
|
|
359
|
-
var
|
|
359
|
+
var _chunk5WMRVMXHcjs = require('./chunk-5WMRVMXH.cjs');
|
|
360
360
|
|
|
361
361
|
|
|
362
362
|
|
|
363
363
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
364
364
|
|
|
365
365
|
|
|
366
|
-
var
|
|
366
|
+
var _chunkOMTH355Icjs = require('./chunk-OMTH355I.cjs');
|
|
367
367
|
|
|
368
368
|
|
|
369
|
-
var
|
|
369
|
+
var _chunk4DQ4CNAGcjs = require('./chunk-4DQ4CNAG.cjs');
|
|
370
370
|
|
|
371
371
|
|
|
372
372
|
var _chunkZ74QE57Tcjs = require('./chunk-Z74QE57T.cjs');
|
|
373
373
|
|
|
374
374
|
|
|
375
|
-
var
|
|
375
|
+
var _chunkA3UZFFR3cjs = require('./chunk-A3UZFFR3.cjs');
|
|
376
376
|
|
|
377
377
|
|
|
378
378
|
|
|
379
379
|
|
|
380
380
|
|
|
381
381
|
|
|
382
|
-
var
|
|
382
|
+
var _chunkNNNRN4OFcjs = require('./chunk-NNNRN4OF.cjs');
|
|
383
383
|
|
|
384
384
|
|
|
385
|
-
var
|
|
385
|
+
var _chunkFLS6DZENcjs = require('./chunk-FLS6DZEN.cjs');
|
|
386
386
|
|
|
387
387
|
|
|
388
388
|
|
|
@@ -392,7 +392,7 @@ var _chunkCDBFQVPAcjs = require('./chunk-CDBFQVPA.cjs');
|
|
|
392
392
|
|
|
393
393
|
|
|
394
394
|
|
|
395
|
-
var
|
|
395
|
+
var _chunkMGEUZRNQcjs = require('./chunk-MGEUZRNQ.cjs');
|
|
396
396
|
|
|
397
397
|
|
|
398
398
|
var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
|
|
@@ -412,12 +412,12 @@ var tabsListVariantClasses = {
|
|
|
412
412
|
default: TABS_LIST_BASE,
|
|
413
413
|
// Applied ON TOP of the base (cn resolves the conflicts) so the variant
|
|
414
414
|
// renders exactly what admin call sites produced by stacking these classes.
|
|
415
|
-
"admin-rail":
|
|
415
|
+
"admin-rail": _chunkMGEUZRNQcjs.cn.call(void 0, TABS_LIST_BASE, "inline-flex h-auto justify-start rounded-none bg-transparent p-0")
|
|
416
416
|
};
|
|
417
417
|
var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-h6 ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
|
|
418
418
|
var tabsTriggerVariantClasses = {
|
|
419
419
|
default: TABS_TRIGGER_BASE,
|
|
420
|
-
"admin-rail":
|
|
420
|
+
"admin-rail": _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
421
421
|
TABS_TRIGGER_BASE,
|
|
422
422
|
"rounded-none border-b-2 border-transparent",
|
|
423
423
|
"data-[state=active]:border-ods-accent data-[state=active]:bg-transparent",
|
|
@@ -431,7 +431,7 @@ var tabsTriggerVariantClasses = {
|
|
|
431
431
|
var ADMIN_RAIL_WRAPPER_CLASS = "w-full border-b border-ods-border overflow-x-auto";
|
|
432
432
|
var TabsList = _react.forwardRef.call(void 0,
|
|
433
433
|
({ className, variant = "default", ...props }, ref) => {
|
|
434
|
-
const list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsPrimitive.List, { ref, className:
|
|
434
|
+
const list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsPrimitive.List, { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, tabsListVariantClasses[variant], className), ...props });
|
|
435
435
|
if (variant === "admin-rail") {
|
|
436
436
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: ADMIN_RAIL_WRAPPER_CLASS, children: list });
|
|
437
437
|
}
|
|
@@ -441,11 +441,11 @@ var TabsList = _react.forwardRef.call(void 0,
|
|
|
441
441
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
442
442
|
var TabsTrigger = _react.forwardRef.call(void 0,
|
|
443
443
|
({ className, variant = "default", ...props }, ref) => {
|
|
444
|
-
if (
|
|
444
|
+
if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, )) {
|
|
445
445
|
const label = typeof props.children === "string" && props.children !== "" ? props.children : void 0;
|
|
446
446
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTriggerSkeleton, { variant, label, className });
|
|
447
447
|
}
|
|
448
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsPrimitive.Trigger, { ref, className:
|
|
448
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsPrimitive.Trigger, { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, tabsTriggerVariantClasses[variant], className), ...props });
|
|
449
449
|
}
|
|
450
450
|
);
|
|
451
451
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
@@ -455,13 +455,13 @@ function TabsTriggerSkeleton({
|
|
|
455
455
|
label,
|
|
456
456
|
className
|
|
457
457
|
}) {
|
|
458
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className:
|
|
458
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkMGEUZRNQcjs.cn.call(void 0, tabsTriggerVariantClasses[variant], className), children: _nullishCoalesce(label, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: TRIGGER_LABEL_TYPE[variant], className: "w-20" }))) });
|
|
459
459
|
}
|
|
460
460
|
var TabsContent = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
461
461
|
TabsPrimitive.Content,
|
|
462
462
|
{
|
|
463
463
|
ref,
|
|
464
|
-
className:
|
|
464
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
465
465
|
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
466
466
|
className
|
|
467
467
|
),
|
|
@@ -793,7 +793,7 @@ var MermaidDiagram = ({
|
|
|
793
793
|
zoomable = true,
|
|
794
794
|
frame = "content"
|
|
795
795
|
}) => {
|
|
796
|
-
const chart =
|
|
796
|
+
const chart = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) ? "" : givenChart;
|
|
797
797
|
const [svg, setSvg] = _react.useState.call(void 0, "");
|
|
798
798
|
const [error, setError] = _react.useState.call(void 0, "");
|
|
799
799
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, true);
|
|
@@ -973,7 +973,7 @@ var MermaidDiagram = ({
|
|
|
973
973
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-description mb-4 max-w-full overflow-hidden break-words text-center font-sans text-sm text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "pre", { className: "whitespace-pre-wrap break-words text-xs", children: error }) }) })
|
|
974
974
|
] }) : empty || isLoading || !svg ? (
|
|
975
975
|
// The frame's own size, as a skeleton: the frame sets the height the diagram lands in.
|
|
976
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
976
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { "aria-label": "Rendering diagram", className: "h-auto w-full self-stretch" })
|
|
977
977
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
978
978
|
"div",
|
|
979
979
|
{
|
|
@@ -998,7 +998,7 @@ var MermaidDiagram = ({
|
|
|
998
998
|
"aria-label": "Diagram zoom",
|
|
999
999
|
children: [
|
|
1000
1000
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1001
|
-
|
|
1001
|
+
_chunkFLS6DZENcjs.Button,
|
|
1002
1002
|
{
|
|
1003
1003
|
variant: "outline",
|
|
1004
1004
|
size: "icon-sm",
|
|
@@ -1010,7 +1010,7 @@ var MermaidDiagram = ({
|
|
|
1010
1010
|
}
|
|
1011
1011
|
),
|
|
1012
1012
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1013
|
-
|
|
1013
|
+
_chunkFLS6DZENcjs.Button,
|
|
1014
1014
|
{
|
|
1015
1015
|
variant: "outline",
|
|
1016
1016
|
size: "compact",
|
|
@@ -1025,7 +1025,7 @@ var MermaidDiagram = ({
|
|
|
1025
1025
|
}
|
|
1026
1026
|
),
|
|
1027
1027
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1028
|
-
|
|
1028
|
+
_chunkFLS6DZENcjs.Button,
|
|
1029
1029
|
{
|
|
1030
1030
|
variant: "outline",
|
|
1031
1031
|
size: "icon-sm",
|
|
@@ -1037,7 +1037,7 @@ var MermaidDiagram = ({
|
|
|
1037
1037
|
}
|
|
1038
1038
|
),
|
|
1039
1039
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1040
|
-
|
|
1040
|
+
_chunkFLS6DZENcjs.Button,
|
|
1041
1041
|
{
|
|
1042
1042
|
variant: "outline",
|
|
1043
1043
|
size: "icon-sm",
|
|
@@ -1080,12 +1080,12 @@ var MARKDOWN_H1_CLASS = "mb-4 mt-8 font-sans font-bold text-ods-text-primary fir
|
|
|
1080
1080
|
var MARKDOWN_H2_CLASS = "mb-4 mt-8 border-b border-ods-border pb-2 font-sans font-semibold text-ods-text-primary";
|
|
1081
1081
|
var MARKDOWN_PARAGRAPH_CLASS = "mb-4 leading-relaxed text-ods-text-primary first:mt-0 last:mb-0";
|
|
1082
1082
|
var MarkdownContentImage = ({ src, alt }) => {
|
|
1083
|
-
const inScope =
|
|
1083
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
1084
1084
|
const authedSrc = _chunkV4FXUIMHcjs.useAuthedImageSrc.call(void 0, inScope ? void 0 : src);
|
|
1085
1085
|
const resolvedSrc = inScope ? src : authedSrc;
|
|
1086
1086
|
if (!resolvedSrc) return null;
|
|
1087
1087
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1088
|
-
|
|
1088
|
+
_chunk5WMRVMXHcjs.next_image_default,
|
|
1089
1089
|
{
|
|
1090
1090
|
src: resolvedSrc,
|
|
1091
1091
|
alt: _nullishCoalesce(alt, () => ( "No image available")),
|
|
@@ -1116,7 +1116,7 @@ function buildStandardLeafRenderers({
|
|
|
1116
1116
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "pre", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1117
1117
|
"code",
|
|
1118
1118
|
{
|
|
1119
|
-
className:
|
|
1119
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, `language-${language} hljs font-mono`, textSizes.code),
|
|
1120
1120
|
style: {
|
|
1121
1121
|
background: "transparent",
|
|
1122
1122
|
color: "var(--color-text-primary)"
|
|
@@ -1136,7 +1136,7 @@ function buildStandardLeafRenderers({
|
|
|
1136
1136
|
}
|
|
1137
1137
|
);
|
|
1138
1138
|
},
|
|
1139
|
-
blockquote: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "blockquote", { className: "my-8 ml-0 rounded-r-lg border-l-4 border-ods-accent bg-ods-bg-surface py-4 pl-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
1139
|
+
blockquote: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "blockquote", { className: "my-8 ml-0 rounded-r-lg border-l-4 border-ods-accent bg-ods-bg-surface py-4 pl-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "font-sans leading-relaxed text-ods-text-secondary", textSizes.blockquote), children }) }),
|
|
1140
1140
|
// Pass-through `div` (overridable for embeds; `node` is dropped so it
|
|
1141
1141
|
// never reaches the DOM).
|
|
1142
1142
|
div: ({ node, className: divClassName, children, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: divClassName, ...props, children })
|
|
@@ -1166,14 +1166,14 @@ function buildBaseComponents({
|
|
|
1166
1166
|
// --- code + blockquote + div (shared leaf renderers, see above) ---
|
|
1167
1167
|
...buildStandardLeafRenderers({ textSizes }),
|
|
1168
1168
|
// --- headings ---
|
|
1169
|
-
h1: makeHeading("h1",
|
|
1170
|
-
h2: makeHeading("h2",
|
|
1171
|
-
h3: makeHeading("h3",
|
|
1172
|
-
h4: makeHeading("h4",
|
|
1173
|
-
h5: makeHeading("h5",
|
|
1174
|
-
h6: makeHeading("h6",
|
|
1169
|
+
h1: makeHeading("h1", _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_H1_CLASS, textSizes.h1)),
|
|
1170
|
+
h2: makeHeading("h2", _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_H2_CLASS, textSizes.h2)),
|
|
1171
|
+
h3: makeHeading("h3", _chunkMGEUZRNQcjs.cn.call(void 0, "mb-3 mt-6 font-sans font-semibold text-ods-text-primary", textSizes.h3)),
|
|
1172
|
+
h4: makeHeading("h4", _chunkMGEUZRNQcjs.cn.call(void 0, "mb-2 mt-4 font-sans font-semibold text-ods-text-primary", textSizes.h4)),
|
|
1173
|
+
h5: makeHeading("h5", _chunkMGEUZRNQcjs.cn.call(void 0, "mb-2 mt-3 font-sans font-semibold text-ods-text-primary", textSizes.h5)),
|
|
1174
|
+
h6: makeHeading("h6", _chunkMGEUZRNQcjs.cn.call(void 0, "mb-1 mt-3 font-sans font-semibold text-ods-text-primary", textSizes.h6)),
|
|
1175
1175
|
// --- paragraph ---
|
|
1176
|
-
p: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
1176
|
+
p: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_PARAGRAPH_CLASS, textSizes.p), children }),
|
|
1177
1177
|
// --- links ---
|
|
1178
1178
|
a: ({ href, children, className: linkClassName, rel: authoredRel }) => {
|
|
1179
1179
|
const isBroken = href !== void 0 && brokenLinks.includes(href);
|
|
@@ -1270,7 +1270,7 @@ function buildBaseComponents({
|
|
|
1270
1270
|
// always number 1"). Only `start` is forwarded: the rest of the props carry
|
|
1271
1271
|
// react-markdown's `node`, which must not reach the DOM.
|
|
1272
1272
|
ol: ({ children, start }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { start, className: "my-4 ml-8 list-outside list-decimal space-y-2 text-ods-text-primary", children }),
|
|
1273
|
-
li: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { className:
|
|
1273
|
+
li: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "pl-2 leading-relaxed", textSizes.li), children }),
|
|
1274
1274
|
// --- tables ---
|
|
1275
1275
|
// The frame and the scroll container are ONE element, matching the sibling
|
|
1276
1276
|
// block embed (`mermaid-diagram.tsx`). It used to
|
|
@@ -1291,7 +1291,7 @@ function buildBaseComponents({
|
|
|
1291
1291
|
th: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1292
1292
|
"th",
|
|
1293
1293
|
{
|
|
1294
|
-
className:
|
|
1294
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1295
1295
|
"break-words border-r border-ods-border px-2 py-3 text-left font-semibold text-ods-accent last:border-r-0 md:px-4",
|
|
1296
1296
|
textSizes.th
|
|
1297
1297
|
),
|
|
@@ -1301,7 +1301,7 @@ function buildBaseComponents({
|
|
|
1301
1301
|
td: ({ children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1302
1302
|
"td",
|
|
1303
1303
|
{
|
|
1304
|
-
className:
|
|
1304
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
1305
1305
|
"whitespace-normal break-words border-b border-r border-ods-border px-2 py-3 text-ods-text-primary last:border-r-0 md:px-4",
|
|
1306
1306
|
textSizes.td
|
|
1307
1307
|
),
|
|
@@ -3160,7 +3160,7 @@ var MarkdownEngineImpl = ({
|
|
|
3160
3160
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${RENDERER_CLASS} ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTENT_WRAPPER_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "article", { className: ARTICLE_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeadingIdMapContext.Provider, { value: headingIds, children: body }) }) }) });
|
|
3161
3161
|
};
|
|
3162
3162
|
var MarkdownEngine = _react.memo.call(void 0, function MarkdownEngineGate(props) {
|
|
3163
|
-
const inScope =
|
|
3163
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
3164
3164
|
if (inScope && !props.content || props.loading) {
|
|
3165
3165
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3166
3166
|
MarkdownEngineSkeleton,
|
|
@@ -3176,12 +3176,12 @@ var MarkdownEngine = _react.memo.call(void 0, function MarkdownEngineGate(props)
|
|
|
3176
3176
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEngineImpl, { ...props });
|
|
3177
3177
|
});
|
|
3178
3178
|
function ParagraphBar({ lines, className }) {
|
|
3179
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3179
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", lines, className: "w-full" }) });
|
|
3180
3180
|
}
|
|
3181
3181
|
function LinesByBreakpoint({ lines, as = "div" }) {
|
|
3182
3182
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3183
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3184
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3183
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as, lines: lines.phone, className: "w-full content-md:hidden" }),
|
|
3184
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as, lines: lines.wide, className: "hidden w-full content-md:flex" })
|
|
3185
3185
|
] });
|
|
3186
3186
|
}
|
|
3187
3187
|
function MarkdownEngineSkeleton({
|
|
@@ -3192,17 +3192,17 @@ function MarkdownEngineSkeleton({
|
|
|
3192
3192
|
className = ""
|
|
3193
3193
|
}) {
|
|
3194
3194
|
const textSizes = resolveTextSizeConfig(textSize);
|
|
3195
|
-
const paragraphClass =
|
|
3195
|
+
const paragraphClass = _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_PARAGRAPH_CLASS, textSizes.p);
|
|
3196
3196
|
return (
|
|
3197
3197
|
// `w-full`: bars have no width of their own, so in a shrink-to-fit parent (a flex item) the skeleton would be
|
|
3198
3198
|
// 0px wide where the loaded text fills its line.
|
|
3199
3199
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${RENDERER_CLASS} w-full ${className}`, "aria-hidden": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTENT_WRAPPER_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: ARTICLE_CLASS, children: [
|
|
3200
|
-
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className:
|
|
3200
|
+
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_H1_CLASS, textSizes.h1), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinesByBreakpoint, { lines: SKELETON_TITLE_LINES, as: "span" }) }),
|
|
3201
3201
|
sections ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: paragraphClass, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LinesByBreakpoint, { lines: SKELETON_LEAD_LINES }) }) : null,
|
|
3202
3202
|
sections ? (
|
|
3203
3203
|
// loading-standard-ok(ITEM_MARK): a document's sections are its markdown text; the loaded body has no items to mark
|
|
3204
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3205
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className:
|
|
3204
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: sections, children: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
3205
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunkMGEUZRNQcjs.cn.call(void 0, MARKDOWN_H2_CLASS, textSizes.h2), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-1/2" }) }),
|
|
3206
3206
|
SKELETON_SECTION_PARAGRAPHS.map((paragraphLines, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ParagraphBar, { lines: paragraphLines, className: paragraphClass }, index))
|
|
3207
3207
|
] }) })
|
|
3208
3208
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ParagraphBar, { lines, className: paragraphClass })
|
|
@@ -3263,7 +3263,7 @@ function onAskAiIntent(run) {
|
|
|
3263
3263
|
|
|
3264
3264
|
// src/components/chat/chat-appearance-context.tsx
|
|
3265
3265
|
|
|
3266
|
-
var ChatAppearanceContext = _react.createContext.call(void 0,
|
|
3266
|
+
var ChatAppearanceContext = _react.createContext.call(void 0, _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.CLASSIC);
|
|
3267
3267
|
function useChatAppearance() {
|
|
3268
3268
|
return _react.useContext.call(void 0, ChatAppearanceContext);
|
|
3269
3269
|
}
|
|
@@ -3302,7 +3302,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3302
3302
|
...props
|
|
3303
3303
|
}, ref) => {
|
|
3304
3304
|
const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
|
|
3305
|
-
const isV2 = useChatAppearance() ===
|
|
3305
|
+
const isV2 = useChatAppearance() === _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2;
|
|
3306
3306
|
const handleApprove = async () => {
|
|
3307
3307
|
setIsProcessing(true);
|
|
3308
3308
|
try {
|
|
@@ -3324,8 +3324,8 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3324
3324
|
"div",
|
|
3325
3325
|
{
|
|
3326
3326
|
ref,
|
|
3327
|
-
className:
|
|
3328
|
-
|
|
3327
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3328
|
+
_chunkBE4OUWTAcjs.CHAT_BLOCK_CLASS,
|
|
3329
3329
|
// v2: the thread owns the space below the card.
|
|
3330
3330
|
!isV2 && "mb-[var(--spacing-system-xsf)]",
|
|
3331
3331
|
className
|
|
@@ -3333,16 +3333,16 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3333
3333
|
...props,
|
|
3334
3334
|
children: [
|
|
3335
3335
|
/* @__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', _49 => _49.explanation, 'optionalAccess', _50 => _50.trim, 'call', _51 => _51()]) || "Approval required" }),
|
|
3336
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3336
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ApprovalWaitingLine, {}),
|
|
3337
3337
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3338
3338
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3339
|
-
|
|
3339
|
+
_chunkFLS6DZENcjs.Button,
|
|
3340
3340
|
{
|
|
3341
3341
|
size: "small-legacy",
|
|
3342
3342
|
variant: "accent",
|
|
3343
3343
|
onClick: handleApprove,
|
|
3344
3344
|
disabled: isProcessing || !onApprove,
|
|
3345
|
-
className:
|
|
3345
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3346
3346
|
"bg-ods-accent hover:bg-ods-accent/90",
|
|
3347
3347
|
"text-ods-bg text-h5",
|
|
3348
3348
|
"h-8 px-[var(--spacing-system-xsf)]"
|
|
@@ -3351,13 +3351,13 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3351
3351
|
}
|
|
3352
3352
|
),
|
|
3353
3353
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3354
|
-
|
|
3354
|
+
_chunkFLS6DZENcjs.Button,
|
|
3355
3355
|
{
|
|
3356
3356
|
size: "small-legacy",
|
|
3357
3357
|
variant: "outline",
|
|
3358
3358
|
onClick: handleReject,
|
|
3359
3359
|
disabled: isProcessing || !onReject,
|
|
3360
|
-
className:
|
|
3360
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3361
3361
|
"border-ods-border bg-ods-card",
|
|
3362
3362
|
"text-ods-text-primary text-h5",
|
|
3363
3363
|
"h-8 px-[var(--spacing-system-xsf)] hover:bg-ods-bg"
|
|
@@ -3365,23 +3365,23 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3365
3365
|
children: "Reject"
|
|
3366
3366
|
}
|
|
3367
3367
|
)
|
|
3368
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3368
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3369
3369
|
]
|
|
3370
3370
|
}
|
|
3371
3371
|
);
|
|
3372
3372
|
}
|
|
3373
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className:
|
|
3373
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]", _chunkBE4OUWTAcjs.CHAT_BLOCK_CLASS, className), ...props, children: [
|
|
3374
3374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalCardBody, { data }),
|
|
3375
|
-
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3375
|
+
showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ApprovalWaitingLine, {}),
|
|
3376
3376
|
!showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
3377
3377
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3378
|
-
|
|
3378
|
+
_chunkFLS6DZENcjs.Button,
|
|
3379
3379
|
{
|
|
3380
3380
|
size: "small-legacy",
|
|
3381
3381
|
variant: "accent",
|
|
3382
3382
|
onClick: handleApprove,
|
|
3383
3383
|
disabled: isProcessing || !onApprove,
|
|
3384
|
-
className:
|
|
3384
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3385
3385
|
"bg-ods-accent hover:bg-ods-accent/90",
|
|
3386
3386
|
"text-ods-bg text-h5",
|
|
3387
3387
|
"h-8 px-[var(--spacing-system-xsf)]"
|
|
@@ -3390,13 +3390,13 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3390
3390
|
}
|
|
3391
3391
|
),
|
|
3392
3392
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3393
|
-
|
|
3393
|
+
_chunkFLS6DZENcjs.Button,
|
|
3394
3394
|
{
|
|
3395
3395
|
size: "small-legacy",
|
|
3396
3396
|
variant: "outline",
|
|
3397
3397
|
onClick: handleReject,
|
|
3398
3398
|
disabled: isProcessing || !onReject,
|
|
3399
|
-
className:
|
|
3399
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3400
3400
|
"border-ods-border bg-ods-card",
|
|
3401
3401
|
"text-ods-text-primary text-h5",
|
|
3402
3402
|
"h-8 px-[var(--spacing-system-xsf)] hover:bg-ods-bg"
|
|
@@ -3404,7 +3404,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
|
|
|
3404
3404
|
children: "Reject"
|
|
3405
3405
|
}
|
|
3406
3406
|
)
|
|
3407
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3407
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
|
|
3408
3408
|
] });
|
|
3409
3409
|
}
|
|
3410
3410
|
);
|
|
@@ -3414,7 +3414,7 @@ ApprovalRequestMessage.displayName = "ApprovalRequestMessage";
|
|
|
3414
3414
|
|
|
3415
3415
|
|
|
3416
3416
|
var EscalationOfferMessage = _react.forwardRef.call(void 0,
|
|
3417
|
-
({ className, data, status = "pending", resolvedByName, onApprove, onReject, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className:
|
|
3417
|
+
({ className, data, status = "pending", resolvedByName, onApprove, onReject, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-col", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3418
3418
|
ApprovalRequestMessage,
|
|
3419
3419
|
{
|
|
3420
3420
|
variant: "client",
|
|
@@ -3434,12 +3434,12 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
|
|
|
3434
3434
|
|
|
3435
3435
|
var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
3436
3436
|
({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
|
|
3437
|
-
const isV2 = useChatAppearance() ===
|
|
3437
|
+
const isV2 = useChatAppearance() === _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2;
|
|
3438
3438
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3439
3439
|
"div",
|
|
3440
3440
|
{
|
|
3441
3441
|
ref,
|
|
3442
|
-
className:
|
|
3442
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3443
3443
|
"flex gap-[var(--spacing-system-s)] rounded-md border border-ods-border p-[var(--spacing-system-s)]",
|
|
3444
3444
|
isV2 ? "items-center bg-ods-bg" : "mb-[var(--spacing-system-xsf)] items-start bg-ods-card",
|
|
3445
3445
|
className
|
|
@@ -3450,7 +3450,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
|
|
|
3450
3450
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
3451
3451
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
|
|
3452
3452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
|
|
3453
|
-
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children:
|
|
3453
|
+
timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunkE2ZZOYSMcjs.formatTime.call(void 0, timestamp) })
|
|
3454
3454
|
] }),
|
|
3455
3455
|
body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
|
|
3456
3456
|
] })
|
|
@@ -3565,7 +3565,7 @@ var SystemEventMessage = _react.forwardRef.call(void 0, ({ text: text2, timestam
|
|
|
3565
3565
|
AiAssistantInfo,
|
|
3566
3566
|
{
|
|
3567
3567
|
ref,
|
|
3568
|
-
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3568
|
+
leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { alt: joined, fallback: joined, size: "lg", variant: "round", className: "shrink-0" }),
|
|
3569
3569
|
title: "Technician Joined",
|
|
3570
3570
|
body: `You're now chatting with ${joined}.`,
|
|
3571
3571
|
timestamp,
|
|
@@ -3599,7 +3599,7 @@ var ContextCompactionDisplay = _react.forwardRef.call(void 0,
|
|
|
3599
3599
|
"div",
|
|
3600
3600
|
{
|
|
3601
3601
|
ref,
|
|
3602
|
-
className:
|
|
3602
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex items-center gap-2 rounded-[6px] border border-ods-border bg-ods-card p-1.5", className),
|
|
3603
3603
|
...props,
|
|
3604
3604
|
children: [
|
|
3605
3605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 text-ods-text-secondary text-h6", children: label }),
|
|
@@ -3649,7 +3649,7 @@ var thoughtMdClasses = [
|
|
|
3649
3649
|
var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
3650
3650
|
({ className, text: text2, isStreaming = false, ...props }, ref) => {
|
|
3651
3651
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
3652
|
-
const { innerRef, isOverflowing, containerStyle } =
|
|
3652
|
+
const { innerRef, isOverflowing, containerStyle } = _chunkBE4OUWTAcjs.useCollapsible.call(void 0, {
|
|
3653
3653
|
expanded,
|
|
3654
3654
|
collapsedHeight: 19,
|
|
3655
3655
|
disableTransition: isStreaming
|
|
@@ -3664,7 +3664,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3664
3664
|
setExpanded(!expanded);
|
|
3665
3665
|
}
|
|
3666
3666
|
};
|
|
3667
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className:
|
|
3667
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkBE4OUWTAcjs.CHAT_BLOCK_FRAME_CLASS, "p-1.5", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3668
3668
|
"div",
|
|
3669
3669
|
{
|
|
3670
3670
|
role: "button",
|
|
@@ -3672,7 +3672,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3672
3672
|
"aria-expanded": expanded,
|
|
3673
3673
|
onClick: toggle,
|
|
3674
3674
|
onKeyDown: handleKeyDown,
|
|
3675
|
-
className:
|
|
3675
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex w-full items-start gap-3 text-left", canToggle ? "cursor-pointer" : "cursor-default"),
|
|
3676
3676
|
children: [
|
|
3677
3677
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center gap-1", children: [
|
|
3678
3678
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-sm font-medium leading-snug text-ods-text-secondary", children: [
|
|
@@ -3681,8 +3681,8 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
|
|
|
3681
3681
|
] }),
|
|
3682
3682
|
isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC7GIHB3Vcjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
|
|
3683
3683
|
] }),
|
|
3684
|
-
/* @__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:
|
|
3685
|
-
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3684
|
+
/* @__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: _chunkMGEUZRNQcjs.cn.call(void 0, "text-sm leading-snug text-ods-text-secondary", thoughtMdClasses), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SimpleMarkdownRenderer, { content: text2, textSize: "compact" }) }) }),
|
|
3685
|
+
canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ExpandChevron, { expanded }) })
|
|
3686
3686
|
]
|
|
3687
3687
|
}
|
|
3688
3688
|
) });
|
|
@@ -3711,7 +3711,7 @@ var AskDisplay = _react.forwardRef.call(void 0, ({ className, cards: cards2, onS
|
|
|
3711
3711
|
role: "group",
|
|
3712
3712
|
"aria-label": active.question,
|
|
3713
3713
|
"aria-describedby": isInteractive ? void 0 : lockedHintId,
|
|
3714
|
-
className:
|
|
3714
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3715
3715
|
"flex flex-col gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-s)]",
|
|
3716
3716
|
className
|
|
3717
3717
|
),
|
|
@@ -3721,9 +3721,9 @@ var AskDisplay = _react.forwardRef.call(void 0, ({ className, cards: cards2, onS
|
|
|
3721
3721
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-primary text-h4", children: active.question }),
|
|
3722
3722
|
showPager && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
|
|
3723
3723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3724
|
-
|
|
3724
|
+
_chunkFLS6DZENcjs.Button,
|
|
3725
3725
|
{
|
|
3726
|
-
variant: "
|
|
3726
|
+
variant: "bare",
|
|
3727
3727
|
size: "icon-sm",
|
|
3728
3728
|
type: "button",
|
|
3729
3729
|
"aria-label": "Previous question",
|
|
@@ -3738,9 +3738,9 @@ var AskDisplay = _react.forwardRef.call(void 0, ({ className, cards: cards2, onS
|
|
|
3738
3738
|
cards2.length
|
|
3739
3739
|
] }),
|
|
3740
3740
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3741
|
-
|
|
3741
|
+
_chunkFLS6DZENcjs.Button,
|
|
3742
3742
|
{
|
|
3743
|
-
variant: "
|
|
3743
|
+
variant: "bare",
|
|
3744
3744
|
size: "icon-sm",
|
|
3745
3745
|
type: "button",
|
|
3746
3746
|
"aria-label": "Next question",
|
|
@@ -3753,7 +3753,7 @@ var AskDisplay = _react.forwardRef.call(void 0, ({ className, cards: cards2, onS
|
|
|
3753
3753
|
] }),
|
|
3754
3754
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", children: [
|
|
3755
3755
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col overflow-hidden rounded-md border border-ods-border", children: active.options.map((option, optionIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3756
|
-
|
|
3756
|
+
_chunkFLS6DZENcjs.Button,
|
|
3757
3757
|
{
|
|
3758
3758
|
variant: "row",
|
|
3759
3759
|
type: "button",
|
|
@@ -3823,7 +3823,7 @@ function renderQuickActionIcon(icon) {
|
|
|
3823
3823
|
if (!spec.name && !spec.url) return void 0;
|
|
3824
3824
|
const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
|
|
3825
3825
|
const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
|
|
3826
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3826
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
|
|
3827
3827
|
}
|
|
3828
3828
|
function composeChipLabel(label, lozenge) {
|
|
3829
3829
|
if (!lozenge) return label;
|
|
@@ -3831,7 +3831,7 @@ function composeChipLabel(label, lozenge) {
|
|
|
3831
3831
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3832
3832
|
"span",
|
|
3833
3833
|
{
|
|
3834
|
-
className:
|
|
3834
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3835
3835
|
// -translate-y-[1px]: align-middle centers on x-height, but the chip
|
|
3836
3836
|
// labels are uppercase (no descenders), so the lozenge reads ~1px low
|
|
3837
3837
|
// against the caps' optical center (measured 9.1px above / 6.9px
|
|
@@ -3858,17 +3858,17 @@ function QuickActionChipSkeleton({
|
|
|
3858
3858
|
}) {
|
|
3859
3859
|
const question = variant === "question";
|
|
3860
3860
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3861
|
-
|
|
3861
|
+
_chunkZJS45HQZcjs.Tag,
|
|
3862
3862
|
{
|
|
3863
|
-
...
|
|
3863
|
+
..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props),
|
|
3864
3864
|
variant: "outline",
|
|
3865
3865
|
size: question ? "sentence" : size,
|
|
3866
|
-
className:
|
|
3867
|
-
icon: icon && !question ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3866
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, question && "max-w-full", className),
|
|
3867
|
+
icon: icon && !question ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", "aria-hidden": true, className: size === "large" ? "block size-5" : "block size-4" }) : void 0,
|
|
3868
3868
|
label: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3869
|
-
lozenge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3869
|
+
lozenge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", "aria-hidden": true, className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
|
|
3870
3870
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3871
|
-
|
|
3871
|
+
_chunkNNNRN4OFcjs.UnifiedSkeleton,
|
|
3872
3872
|
{
|
|
3873
3873
|
as: "span",
|
|
3874
3874
|
"aria-hidden": true,
|
|
@@ -3898,8 +3898,8 @@ function QuickActionChipButton({
|
|
|
3898
3898
|
labelCh,
|
|
3899
3899
|
...props
|
|
3900
3900
|
}) {
|
|
3901
|
-
const loading =
|
|
3902
|
-
const markers =
|
|
3901
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
3902
|
+
const markers = _chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props);
|
|
3903
3903
|
if (loading)
|
|
3904
3904
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3905
3905
|
QuickActionChipSkeleton,
|
|
@@ -3922,7 +3922,7 @@ function QuickActionChipButton({
|
|
|
3922
3922
|
const tagSize = question ? "sentence" : size;
|
|
3923
3923
|
if (!interactive) {
|
|
3924
3924
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3925
|
-
|
|
3925
|
+
_chunkZJS45HQZcjs.Tag,
|
|
3926
3926
|
{
|
|
3927
3927
|
...markers,
|
|
3928
3928
|
variant: tagVariant,
|
|
@@ -3934,7 +3934,7 @@ function QuickActionChipButton({
|
|
|
3934
3934
|
);
|
|
3935
3935
|
}
|
|
3936
3936
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3937
|
-
|
|
3937
|
+
_chunkFLS6DZENcjs.Button,
|
|
3938
3938
|
{
|
|
3939
3939
|
variant: "card",
|
|
3940
3940
|
...markers,
|
|
@@ -3945,13 +3945,13 @@ function QuickActionChipButton({
|
|
|
3945
3945
|
onFocus: onHoverStart,
|
|
3946
3946
|
onBlur: onHoverEnd,
|
|
3947
3947
|
"aria-pressed": selected || void 0,
|
|
3948
|
-
className:
|
|
3948
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3949
3949
|
// A question may be longer than a narrow column: it shrinks and clips there, read from its start.
|
|
3950
3950
|
question ? "w-auto min-w-0 max-w-full" : "w-auto shrink-0",
|
|
3951
3951
|
className
|
|
3952
3952
|
),
|
|
3953
3953
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3954
|
-
|
|
3954
|
+
_chunkZJS45HQZcjs.Tag,
|
|
3955
3955
|
{
|
|
3956
3956
|
variant: tagVariant,
|
|
3957
3957
|
size: tagSize,
|
|
@@ -3974,7 +3974,7 @@ function QuickActionChipFromData({
|
|
|
3974
3974
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3975
3975
|
QuickActionChipButton,
|
|
3976
3976
|
{
|
|
3977
|
-
...
|
|
3977
|
+
..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props),
|
|
3978
3978
|
label: chip.label,
|
|
3979
3979
|
icon: chip.icon,
|
|
3980
3980
|
theme: _nullishCoalesce(chip.theme, () => ( defaultTheme)),
|
|
@@ -4025,14 +4025,14 @@ var iconTint = {
|
|
|
4025
4025
|
var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
4026
4026
|
({ className, title, details, type = "error", ...props }, ref) => {
|
|
4027
4027
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
4028
|
-
const { innerRef, containerStyle } =
|
|
4028
|
+
const { innerRef, containerStyle } = _chunkBE4OUWTAcjs.useCollapsible.call(void 0, { expanded });
|
|
4029
4029
|
const hasDetails = Boolean(details);
|
|
4030
|
-
const isV2 = useChatAppearance() ===
|
|
4030
|
+
const isV2 = useChatAppearance() === _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2;
|
|
4031
4031
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4032
4032
|
"div",
|
|
4033
4033
|
{
|
|
4034
4034
|
ref,
|
|
4035
|
-
className:
|
|
4035
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4036
4036
|
"rounded-md",
|
|
4037
4037
|
isV2 ? "border border-ods-border bg-ods-bg p-[var(--spacing-system-xs)]" : "mb-[var(--spacing-system-xsf)] bg-ods-card p-[var(--spacing-system-xsf)]",
|
|
4038
4038
|
className
|
|
@@ -4040,7 +4040,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
4040
4040
|
...props,
|
|
4041
4041
|
children: [
|
|
4042
4042
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4043
|
-
|
|
4043
|
+
_chunkFLS6DZENcjs.Button,
|
|
4044
4044
|
{
|
|
4045
4045
|
variant: "row",
|
|
4046
4046
|
type: "button",
|
|
@@ -4049,11 +4049,11 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
4049
4049
|
"aria-label": hasDetails ? expanded ? "Collapse details" : "Expand details" : void 0,
|
|
4050
4050
|
disabled: !hasDetails,
|
|
4051
4051
|
children: [
|
|
4052
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7WT2C5YYcjs.AlertCircleIcon, { size: 16, className:
|
|
4052
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7WT2C5YYcjs.AlertCircleIcon, { size: 16, className: _chunkMGEUZRNQcjs.cn.call(void 0, "shrink-0", iconTint[type]) }),
|
|
4053
4053
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4054
4054
|
"span",
|
|
4055
4055
|
{
|
|
4056
|
-
className:
|
|
4056
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4057
4057
|
"min-w-0 flex-1 text-h5",
|
|
4058
4058
|
expanded || isV2 ? "text-ods-text-primary" : "text-ods-text-secondary",
|
|
4059
4059
|
!expanded && "truncate"
|
|
@@ -4061,7 +4061,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
4061
4061
|
children: title
|
|
4062
4062
|
}
|
|
4063
4063
|
),
|
|
4064
|
-
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4064
|
+
hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ExpandChevron, { expanded })
|
|
4065
4065
|
]
|
|
4066
4066
|
}
|
|
4067
4067
|
),
|
|
@@ -4069,7 +4069,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
|
|
|
4069
4069
|
"div",
|
|
4070
4070
|
{
|
|
4071
4071
|
ref: innerRef,
|
|
4072
|
-
className:
|
|
4072
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4073
4073
|
"px-[var(--spacing-system-lf)]",
|
|
4074
4074
|
isV2 ? "pt-[var(--spacing-system-xs)]" : "pt-[var(--spacing-system-xsf)]"
|
|
4075
4075
|
),
|
|
@@ -4101,27 +4101,27 @@ function MspOrganizationCard({
|
|
|
4101
4101
|
loading: loadingProp = false,
|
|
4102
4102
|
className
|
|
4103
4103
|
}) {
|
|
4104
|
-
const loading =
|
|
4104
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
4105
4105
|
const actionLabel = website ? `Open ${website}` : "Open organization website";
|
|
4106
4106
|
const footer = variant === "footer";
|
|
4107
4107
|
const buttonSize = footer ? "icon-sm" : "icon";
|
|
4108
|
-
const action = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4109
|
-
const trailing = action && loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4108
|
+
const action = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { asChild: true, variant: "outline", size: buttonSize, "aria-label": actionLabel, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noreferrer noopener", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEDVT7OAScjs.ExternalLinkIcon, {}) }) }) : onOpenWebsite ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: buttonSize, "aria-label": actionLabel, onClick: onOpenWebsite, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEDVT7OAScjs.ExternalLinkIcon, {}) }) : null;
|
|
4109
|
+
const trailing = action && loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.InertWhileLoading, { children: action }) : action;
|
|
4110
4110
|
if (footer) {
|
|
4111
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
4112
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4111
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, FOOTER_FRAME_CLASS, className), children: [
|
|
4112
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "sm", variant: "square" }),
|
|
4113
4113
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TEXT_STACK_CLASS, children: [
|
|
4114
4114
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: FOOTER_CAPTION_CLASS, children: FOOTER_CAPTION }),
|
|
4115
|
-
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4115
|
+
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.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)) })
|
|
4116
4116
|
] }),
|
|
4117
4117
|
trailing
|
|
4118
4118
|
] });
|
|
4119
4119
|
}
|
|
4120
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
4121
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4120
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CARD_FRAME_CLASS, className), children: [
|
|
4121
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
|
|
4122
4122
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TEXT_STACK_CLASS, children: loading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4123
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4124
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4123
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", className: "w-3/5" }),
|
|
4124
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", className: "w-2/5" })
|
|
4125
4125
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4126
4126
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: _nullishCoalesce(title, () => ( `Your IT is managed by ${name}`)) }),
|
|
4127
4127
|
website ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h4", children: website }) : null
|
|
@@ -4141,7 +4141,7 @@ var ConnectionIndicator = ({ status }) => {
|
|
|
4141
4141
|
case "connected":
|
|
4142
4142
|
return "bg-ods-success";
|
|
4143
4143
|
case "connecting":
|
|
4144
|
-
return `bg-ods-warning ${
|
|
4144
|
+
return `bg-ods-warning ${_chunkNNNRN4OFcjs.LIVE_PULSE_CLASS}`;
|
|
4145
4145
|
case "disconnected":
|
|
4146
4146
|
return "bg-ods-error";
|
|
4147
4147
|
default:
|
|
@@ -4151,7 +4151,7 @@ var ConnectionIndicator = ({ status }) => {
|
|
|
4151
4151
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4152
4152
|
"output",
|
|
4153
4153
|
{
|
|
4154
|
-
className:
|
|
4154
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "block h-2 w-2 rounded-full", getStatusStyles()),
|
|
4155
4155
|
"aria-label": `Connection status: ${status}`,
|
|
4156
4156
|
title: status === "connected" ? "Connected" : status === "connecting" ? "Connecting..." : "Disconnected"
|
|
4157
4157
|
}
|
|
@@ -4162,7 +4162,7 @@ var ChatContainer = _react.forwardRef.call(void 0, ({ className, children, ...pr
|
|
|
4162
4162
|
"div",
|
|
4163
4163
|
{
|
|
4164
4164
|
ref,
|
|
4165
|
-
className:
|
|
4165
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4166
4166
|
"flex h-screen w-full flex-col",
|
|
4167
4167
|
"bg-ods-bg text-ods-text-primary",
|
|
4168
4168
|
"px-4 pb-8 pt-10 md:px-6 lg:px-8",
|
|
@@ -4196,7 +4196,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4196
4196
|
isLoading: isLoadingProp = false,
|
|
4197
4197
|
...props
|
|
4198
4198
|
}, ref) => {
|
|
4199
|
-
const inScope =
|
|
4199
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
4200
4200
|
const isLoading = inScope || isLoadingProp;
|
|
4201
4201
|
const mspLoading = inScope || isMspLoading;
|
|
4202
4202
|
const cardClasses = bare ? "" : "rounded-md bg-ods-card border border-ods-border";
|
|
@@ -4204,7 +4204,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4204
4204
|
"div",
|
|
4205
4205
|
{
|
|
4206
4206
|
ref,
|
|
4207
|
-
className:
|
|
4207
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4208
4208
|
// `fullWidth` drops the centered-narrow content column for
|
|
4209
4209
|
// chats hosted in side panels where 600px would float in
|
|
4210
4210
|
// the middle of a wider container.
|
|
@@ -4214,21 +4214,21 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4214
4214
|
...props,
|
|
4215
4215
|
children: [
|
|
4216
4216
|
onBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4217
|
-
|
|
4217
|
+
_chunkFLS6DZENcjs.Button,
|
|
4218
4218
|
{
|
|
4219
4219
|
onClick: onBack,
|
|
4220
4220
|
variant: "transparent",
|
|
4221
4221
|
size: "icon",
|
|
4222
4222
|
"aria-label": "Back",
|
|
4223
4223
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24, className: "text-ods-text-primary" }),
|
|
4224
|
-
className:
|
|
4224
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, cardClasses, "absolute right-full top-0 mr-[var(--spacing-system-s)] hover:bg-ods-bg-hover")
|
|
4225
4225
|
}
|
|
4226
4226
|
),
|
|
4227
4227
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: cardClasses, children: [
|
|
4228
4228
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
|
|
4229
4229
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
|
|
4230
4230
|
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,
|
|
4231
|
-
|
|
4231
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
4232
4232
|
{
|
|
4233
4233
|
loading: isLoading,
|
|
4234
4234
|
src: userAvatar,
|
|
@@ -4240,8 +4240,8 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4240
4240
|
}
|
|
4241
4241
|
),
|
|
4242
4242
|
isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
4243
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4244
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4243
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", className: "w-40" }),
|
|
4244
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", className: "w-28" })
|
|
4245
4245
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
4246
4246
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3", children: userName }),
|
|
4247
4247
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: serverUrl && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -4252,7 +4252,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4252
4252
|
] }),
|
|
4253
4253
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1", children: [
|
|
4254
4254
|
showNewChat && onNewChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4255
|
-
|
|
4255
|
+
_chunkFLS6DZENcjs.Button,
|
|
4256
4256
|
{
|
|
4257
4257
|
onClick: onNewChat,
|
|
4258
4258
|
variant: "transparent",
|
|
@@ -4263,7 +4263,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4263
4263
|
}
|
|
4264
4264
|
),
|
|
4265
4265
|
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4266
|
-
|
|
4266
|
+
_chunkFLS6DZENcjs.Button,
|
|
4267
4267
|
{
|
|
4268
4268
|
onClick: onClose,
|
|
4269
4269
|
variant: "transparent",
|
|
@@ -4284,7 +4284,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4284
4284
|
name: "",
|
|
4285
4285
|
...mspOrganization,
|
|
4286
4286
|
loading: mspLoading || !mspOrganization,
|
|
4287
|
-
className:
|
|
4287
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "rounded-none ring-0", !bare && "rounded-b-md", _optionalChain([mspOrganization, 'optionalAccess', _66 => _66.className]))
|
|
4288
4288
|
}
|
|
4289
4289
|
)
|
|
4290
4290
|
] }),
|
|
@@ -4310,9 +4310,9 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4310
4310
|
)
|
|
4311
4311
|
] }),
|
|
4312
4312
|
(ticketInfo.status || ticketInfo.statusName) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4313
|
-
|
|
4313
|
+
_chunkBE4OUWTAcjs.TicketStatusTag,
|
|
4314
4314
|
{
|
|
4315
|
-
...
|
|
4315
|
+
..._chunkBE4OUWTAcjs.resolveStatusTagProps.call(void 0, {
|
|
4316
4316
|
status: ticketInfo.status,
|
|
4317
4317
|
statusKind: ticketInfo.statusKind,
|
|
4318
4318
|
statusName: ticketInfo.statusName,
|
|
@@ -4331,16 +4331,16 @@ var ChatHeader = _react.forwardRef.call(void 0,
|
|
|
4331
4331
|
ChatHeader.displayName = "ChatHeader";
|
|
4332
4332
|
var ChatContent = _react.forwardRef.call(void 0,
|
|
4333
4333
|
({ className, children, ...props }, ref) => {
|
|
4334
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className:
|
|
4334
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex min-h-0 flex-1 flex-col", className), ...props, children });
|
|
4335
4335
|
}
|
|
4336
4336
|
);
|
|
4337
4337
|
ChatContent.displayName = "ChatContent";
|
|
4338
4338
|
var ChatFooter = _react.forwardRef.call(void 0,
|
|
4339
4339
|
({ className, contentClassName, fullWidth = false, children, ...props }, ref) => {
|
|
4340
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className:
|
|
4340
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-full flex-shrink-0 px-0 pb-0 pt-2 md:px-0", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4341
4341
|
"div",
|
|
4342
4342
|
{
|
|
4343
|
-
className:
|
|
4343
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4344
4344
|
// `fullWidth=true` opts out of the centered-narrow column;
|
|
4345
4345
|
// `fullWidth=false` (default) preserves the legacy 600px
|
|
4346
4346
|
// max-width. `contentClassName` is appended last so a
|
|
@@ -4366,7 +4366,7 @@ function LoadingFallback({
|
|
|
4366
4366
|
className,
|
|
4367
4367
|
children
|
|
4368
4368
|
}) {
|
|
4369
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4369
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.AnnouncedLoadingScope, { label, status, as, className, children });
|
|
4370
4370
|
}
|
|
4371
4371
|
function LoadingSuspense({
|
|
4372
4372
|
label,
|
|
@@ -4408,18 +4408,18 @@ function ContextMenuRow({
|
|
|
4408
4408
|
loading: loadingProp = false,
|
|
4409
4409
|
...props
|
|
4410
4410
|
}) {
|
|
4411
|
-
const inScope =
|
|
4411
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
4412
4412
|
const loading = loadingProp || inScope && (label == null || label === "");
|
|
4413
4413
|
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4414
4414
|
icon != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_ICON_CLASS, children: icon }),
|
|
4415
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_LABEL_CLASS, children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4415
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_LABEL_CLASS, children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-1/2" }) : label }),
|
|
4416
4416
|
!loading && trailing
|
|
4417
4417
|
] });
|
|
4418
4418
|
if (loading) {
|
|
4419
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className:
|
|
4419
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunkMGEUZRNQcjs.BUTTON_KIND_CLASS.row, ..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props), children: content });
|
|
4420
4420
|
}
|
|
4421
4421
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4422
|
-
|
|
4422
|
+
_chunkFLS6DZENcjs.Button,
|
|
4423
4423
|
{
|
|
4424
4424
|
variant: "row",
|
|
4425
4425
|
type: "button",
|
|
@@ -4428,13 +4428,13 @@ function ContextMenuRow({
|
|
|
4428
4428
|
disabled,
|
|
4429
4429
|
onClick,
|
|
4430
4430
|
title,
|
|
4431
|
-
...
|
|
4431
|
+
..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props),
|
|
4432
4432
|
children: content
|
|
4433
4433
|
}
|
|
4434
4434
|
);
|
|
4435
4435
|
}
|
|
4436
4436
|
function ContextItemsSkeleton({ count }) {
|
|
4437
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4437
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContextMenuRow, { loading: true, label: "", "data-loading-item": true }) });
|
|
4438
4438
|
}
|
|
4439
4439
|
function ContextItemsList({
|
|
4440
4440
|
items,
|
|
@@ -4448,7 +4448,7 @@ function ContextItemsList({
|
|
|
4448
4448
|
emptyLabel = "No results",
|
|
4449
4449
|
className
|
|
4450
4450
|
}) {
|
|
4451
|
-
const loading =
|
|
4451
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
4452
4452
|
const onScroll = _react.useCallback.call(void 0,
|
|
4453
4453
|
(e) => {
|
|
4454
4454
|
if (!hasMore || loadingMore || !onLoadMore) return;
|
|
@@ -4458,12 +4458,12 @@ function ContextItemsList({
|
|
|
4458
4458
|
[hasMore, loadingMore, onLoadMore]
|
|
4459
4459
|
);
|
|
4460
4460
|
if (loading) {
|
|
4461
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
4461
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CONTEXT_LIST_CLASS, className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContextItemsSkeleton, { count: pageSize }) });
|
|
4462
4462
|
}
|
|
4463
4463
|
if (items.length === 0 && !loadingMore) {
|
|
4464
4464
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTEXT_STATE_CLASS, children: emptyLabel });
|
|
4465
4465
|
}
|
|
4466
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "listbox", "aria-label": "Items", onScroll, className:
|
|
4466
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "listbox", "aria-label": "Items", onScroll, className: _chunkMGEUZRNQcjs.cn.call(void 0, CONTEXT_LIST_CLASS, className), children: [
|
|
4467
4467
|
items.map((item) => {
|
|
4468
4468
|
const selected = selectedKeys.has(itemKey(item));
|
|
4469
4469
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4482,7 +4482,7 @@ function ContextItemsList({
|
|
|
4482
4482
|
);
|
|
4483
4483
|
}),
|
|
4484
4484
|
loadingMore && // `contents`: the rows stay the list's own rows; the region only adds the one announcement.
|
|
4485
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4485
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA3UZFFR3cjs.LoadingRegion, { label: "Loading more items", className: "contents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContextItemsSkeleton, { count: pageSize }) })
|
|
4486
4486
|
] });
|
|
4487
4487
|
}
|
|
4488
4488
|
var ContextErrorBoundary = class extends _react.Component {
|
|
@@ -4526,9 +4526,10 @@ function ChatComposerPlusMenu({
|
|
|
4526
4526
|
// aligning the popover to the `+` rather than the input row.
|
|
4527
4527
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
|
|
4528
4528
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4529
|
-
|
|
4529
|
+
_chunkFLS6DZENcjs.Button,
|
|
4530
4530
|
{
|
|
4531
|
-
variant: "
|
|
4531
|
+
variant: "bare",
|
|
4532
|
+
"data-tone": "accent",
|
|
4532
4533
|
size: "icon-sm",
|
|
4533
4534
|
type: "button",
|
|
4534
4535
|
"data-context-trigger": "",
|
|
@@ -4646,7 +4647,7 @@ function ChatContextPicker({
|
|
|
4646
4647
|
role: "dialog",
|
|
4647
4648
|
"aria-label": "Add context",
|
|
4648
4649
|
style: { maxHeight: availMaxH },
|
|
4649
|
-
className:
|
|
4650
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4650
4651
|
// Anchored to the `+` button (its `relative` parent): left edge aligns
|
|
4651
4652
|
// to the button, `bottom-full` floats it just above with a 4px gap.
|
|
4652
4653
|
"absolute bottom-full left-0 z-50 mb-1 flex max-h-[70vh] w-[320px] max-w-[90vw] flex-col overflow-y-auto overflow-x-hidden overscroll-contain",
|
|
@@ -4677,7 +4678,7 @@ function ChatContextPicker({
|
|
|
4677
4678
|
/* Level 1 — Back + entity-type list (Figma 31:28708). Back stays pinned;
|
|
4678
4679
|
the type list scrolls if it can't fit the capped popover height. */
|
|
4679
4680
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "menu", "aria-label": "Context types", className: "flex flex-col divide-y divide-ods-border", children: [
|
|
4680
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTEXT_BACK_BAR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4681
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CONTEXT_BACK_BAR_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", onClick: () => setView("root"), children: [
|
|
4681
4682
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24 }),
|
|
4682
4683
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: "Back" })
|
|
4683
4684
|
] }) }),
|
|
@@ -4686,7 +4687,7 @@ function ChatContextPicker({
|
|
|
4686
4687
|
) : activeType ? (
|
|
4687
4688
|
/* Level 2 — Back + search + HOST-rendered items (Figma 31:29102). */
|
|
4688
4689
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4689
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
4690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CONTEXT_BACK_BAR_CLASS, "border-b border-ods-border"), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", onClick: backToTypes, children: [
|
|
4690
4691
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24 }),
|
|
4691
4692
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: "Back" })
|
|
4692
4693
|
] }) }),
|
|
@@ -4710,12 +4711,13 @@ function ChatContextPicker({
|
|
|
4710
4711
|
fallback: (retry) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-2 bg-ods-bg px-4 py-3 text-ods-attention-red-error text-h4", children: [
|
|
4711
4712
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Failed to load" }),
|
|
4712
4713
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4713
|
-
|
|
4714
|
+
_chunkFLS6DZENcjs.Button,
|
|
4714
4715
|
{
|
|
4715
4716
|
variant: "link",
|
|
4716
4717
|
size: "compact",
|
|
4717
4718
|
noPaddingX: true,
|
|
4718
4719
|
type: "button",
|
|
4720
|
+
"data-tone": "neutral",
|
|
4719
4721
|
onClick: () => {
|
|
4720
4722
|
reset();
|
|
4721
4723
|
retry();
|
|
@@ -4734,7 +4736,7 @@ function ChatContextPicker({
|
|
|
4734
4736
|
{
|
|
4735
4737
|
items: [],
|
|
4736
4738
|
selectedKeys: NO_SELECTED_KEYS,
|
|
4737
|
-
onToggle:
|
|
4739
|
+
onToggle: _chunkMGEUZRNQcjs.LOADING_NOOP,
|
|
4738
4740
|
atLimit: false
|
|
4739
4741
|
}
|
|
4740
4742
|
),
|
|
@@ -4766,7 +4768,7 @@ function ChatContextChipStrip({
|
|
|
4766
4768
|
return (
|
|
4767
4769
|
// `tag` pills (Figma 1:6073): 32px tall, card surface, bordered, mono-
|
|
4768
4770
|
// uppercase label, 16px lead icon + xmark-circle remove. Wraps to new rows.
|
|
4769
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
4771
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-wrap content-center items-center gap-2", className), children: items.map((item) => {
|
|
4770
4772
|
const hostNode = _optionalChain([renderItem, 'optionalCall', _77 => _77(item)]);
|
|
4771
4773
|
if (hostNode != null) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, { children: hostNode }, itemKey2(item));
|
|
4772
4774
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4786,9 +4788,9 @@ function ChatContextChipStrip({
|
|
|
4786
4788
|
}
|
|
4787
4789
|
),
|
|
4788
4790
|
onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4789
|
-
|
|
4791
|
+
_chunkFLS6DZENcjs.Button,
|
|
4790
4792
|
{
|
|
4791
|
-
variant: "
|
|
4793
|
+
variant: "bare",
|
|
4792
4794
|
size: "icon-inline",
|
|
4793
4795
|
type: "button",
|
|
4794
4796
|
onClick: () => onRemove(item),
|
|
@@ -4903,11 +4905,11 @@ var remarkMentionChips = () => {
|
|
|
4903
4905
|
// src/components/chat/tool-execution-display.tsx
|
|
4904
4906
|
|
|
4905
4907
|
|
|
4906
|
-
var COMMAND_BODY_KEYS = new Set(
|
|
4908
|
+
var COMMAND_BODY_KEYS = new Set(_chunkBE4OUWTAcjs.COMMAND_BODY_ARG_KEYS);
|
|
4907
4909
|
var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
4908
4910
|
({ className, message, assistantType, variant = "admin", ...props }, ref) => {
|
|
4909
4911
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
4910
|
-
const { innerRef, containerStyle } =
|
|
4912
|
+
const { innerRef, containerStyle } = _chunkBE4OUWTAcjs.useCollapsible.call(void 0, { expanded });
|
|
4911
4913
|
const isClient = assistantType === "fae";
|
|
4912
4914
|
const isClientView = variant === "client";
|
|
4913
4915
|
const isExecuting = message.type === "EXECUTING_TOOL";
|
|
@@ -4938,11 +4940,11 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4938
4940
|
const statusTone = isExecuting ? "working" : message.success === false ? "error" : "success";
|
|
4939
4941
|
const statusLabel = _optionalChain([message, 'access', _84 => _84.statusLabel, 'optionalAccess', _85 => _85.trim, 'call', _86 => _86()]) || (isExecuting ? "Working on it" : message.success === false ? "Failed" : "Done");
|
|
4940
4942
|
const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4941
|
-
!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,
|
|
4943
|
+
!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, _chunkLUWYWYNCcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
|
|
4942
4944
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4943
4945
|
"div",
|
|
4944
4946
|
{
|
|
4945
|
-
className:
|
|
4947
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4946
4948
|
"min-w-0 flex-1 text-h6",
|
|
4947
4949
|
isClientView ? "whitespace-pre-wrap break-words text-ods-text-primary" : isExpanded ? "whitespace-pre-wrap break-all text-ods-text-primary" : "line-clamp-2 max-h-10 break-all text-ods-text-secondary"
|
|
4948
4950
|
),
|
|
@@ -4950,17 +4952,17 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4950
4952
|
}
|
|
4951
4953
|
),
|
|
4952
4954
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: renderStatusIcon() }),
|
|
4953
|
-
!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,
|
|
4955
|
+
!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, _chunkBE4OUWTAcjs.ExpandChevron, { expanded: isExpanded }) })
|
|
4954
4956
|
] });
|
|
4955
4957
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4956
4958
|
"div",
|
|
4957
4959
|
{
|
|
4958
4960
|
ref,
|
|
4959
|
-
className:
|
|
4961
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4960
4962
|
// The command running block keeps its bordered box in both chats
|
|
4961
4963
|
// (Figma 1972-6109). CLIENT (Fae) only drops the tool icon below.
|
|
4962
4964
|
"flex w-full flex-col overflow-hidden",
|
|
4963
|
-
|
|
4965
|
+
_chunkBE4OUWTAcjs.CHAT_BLOCK_FRAME_CLASS,
|
|
4964
4966
|
className
|
|
4965
4967
|
),
|
|
4966
4968
|
...props,
|
|
@@ -4971,14 +4973,14 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4971
4973
|
// It reads as a card: what was done, then one status line under it.
|
|
4972
4974
|
/* @__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: [
|
|
4973
4975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 whitespace-pre-wrap break-words text-ods-text-primary text-h4", children: previewText }),
|
|
4974
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4976
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.StatusLine, { tone: statusTone, label: statusLabel })
|
|
4975
4977
|
] })
|
|
4976
4978
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4977
|
-
hasBody ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4979
|
+
hasBody ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", "aria-expanded": expanded, onClick: () => setExpanded((prev) => !prev), children: headerContent }) : /* @__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 }),
|
|
4978
4980
|
/* @__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: [
|
|
4979
|
-
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4981
|
+
argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.ArgRow, { argKey: key, value }, key)),
|
|
4980
4982
|
hasResult && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4981
|
-
|
|
4983
|
+
_chunkBE4OUWTAcjs.ResultBlock,
|
|
4982
4984
|
{
|
|
4983
4985
|
result: message.result,
|
|
4984
4986
|
className: argEntries.length > 0 ? "mt-[var(--spacing-system-xsf)]" : void 0
|
|
@@ -4987,7 +4989,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
4987
4989
|
isExecuting && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4988
4990
|
"div",
|
|
4989
4991
|
{
|
|
4990
|
-
className:
|
|
4992
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
4991
4993
|
"flex w-full flex-col items-start gap-[var(--spacing-system-xxs)]",
|
|
4992
4994
|
argEntries.length > 0 && "mt-[var(--spacing-system-xsf)]"
|
|
4993
4995
|
),
|
|
@@ -5010,8 +5012,8 @@ ToolExecutionDisplay.displayName = "ToolExecutionDisplay";
|
|
|
5010
5012
|
|
|
5011
5013
|
// src/components/chat/chat-message-layout.ts
|
|
5012
5014
|
var CHAT_MESSAGE_ROW_PADDING_CLASS = {
|
|
5013
|
-
[
|
|
5014
|
-
[
|
|
5015
|
+
[_chunkE2ZZOYSMcjs.CHAT_APPEARANCE.CLASSIC]: "py-[var(--spacing-system-s)]",
|
|
5016
|
+
[_chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2]: "py-[calc(var(--spacing-system-m)/2)]"
|
|
5015
5017
|
};
|
|
5016
5018
|
var CHAT_MESSAGE_STACK_CLASS = "grid min-w-0 grid-cols-1 gap-[var(--spacing-system-xxs)]";
|
|
5017
5019
|
var CHAT_MESSAGE_HEADER_CLASS = "flex items-center gap-[var(--spacing-system-xs)]";
|
|
@@ -5052,8 +5054,8 @@ var remarkStripCitations = () => {
|
|
|
5052
5054
|
var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
|
|
5053
5055
|
var CARD_MARKER_REGEX = createCardMarkerScanner();
|
|
5054
5056
|
function formatMessageTimestamp(timestamp) {
|
|
5055
|
-
const time =
|
|
5056
|
-
return
|
|
5057
|
+
const time = _chunkE2ZZOYSMcjs.formatTime.call(void 0, timestamp);
|
|
5058
|
+
return _chunkBE4OUWTAcjs.isToday.call(void 0, timestamp) ? time : `${_chunkE2ZZOYSMcjs.formatDate.call(void 0, timestamp)} ${time}`;
|
|
5057
5059
|
}
|
|
5058
5060
|
function normalizeContent(content) {
|
|
5059
5061
|
if (typeof content === "string") {
|
|
@@ -5109,7 +5111,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5109
5111
|
const isError = role === "error";
|
|
5110
5112
|
const inheritedAppearance = useChatAppearance();
|
|
5111
5113
|
const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
|
|
5112
|
-
const isV2 = appearance ===
|
|
5114
|
+
const isV2 = appearance === _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2;
|
|
5113
5115
|
const authorType = _nullishCoalesce(authorTypeProp, () => ( (isHuman ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
|
|
5114
5116
|
const isOtherPerson = isHuman && selfAuthorType !== void 0 && authorType !== "system" && authorType !== selfAuthorType;
|
|
5115
5117
|
const isUser = isHuman && !isOtherPerson;
|
|
@@ -5295,11 +5297,11 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5295
5297
|
const displayName = name || (isHuman ? "User" : assistantType === "mingo" ? "Mingo" : "Fae");
|
|
5296
5298
|
const nameLabel = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate text-ods-open-yellow text-h6", children: displayName });
|
|
5297
5299
|
const faceBox = "h-5 w-5 flex-shrink-0";
|
|
5298
|
-
const face = !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className:
|
|
5300
|
+
const face = !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex items-center justify-center", faceBox), children: assistantIcon }) : !isHuman && !avatar && assistantType ? (
|
|
5299
5301
|
// An agent with no picture shows its packaged mark, never initials.
|
|
5300
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className:
|
|
5302
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunkMGEUZRNQcjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.AgentMark, { agent: assistantType, className: "h-full w-full rounded-full" }) })
|
|
5301
5303
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: "inline-flex flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5302
|
-
|
|
5304
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
5303
5305
|
{
|
|
5304
5306
|
src: avatar || void 0,
|
|
5305
5307
|
alt: displayName,
|
|
@@ -5315,7 +5317,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5315
5317
|
"div",
|
|
5316
5318
|
{
|
|
5317
5319
|
ref,
|
|
5318
|
-
className:
|
|
5320
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[_chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2], className),
|
|
5319
5321
|
...props,
|
|
5320
5322
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SystemEventMessage, { text: name, timestamp }) })
|
|
5321
5323
|
}
|
|
@@ -5325,14 +5327,14 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5325
5327
|
"div",
|
|
5326
5328
|
{
|
|
5327
5329
|
ref,
|
|
5328
|
-
className:
|
|
5330
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
5329
5331
|
"relative",
|
|
5330
|
-
CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ?
|
|
5332
|
+
CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ? _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2 : _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.CLASSIC],
|
|
5331
5333
|
className
|
|
5332
5334
|
),
|
|
5333
5335
|
...props,
|
|
5334
5336
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CHAT_MESSAGE_STACK_CLASS, children: [
|
|
5335
|
-
(face || showName || showSelfName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
5337
|
+
(face || showName || showSelfName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CHAT_MESSAGE_HEADER_CLASS, isUser && "justify-end"), children: [
|
|
5336
5338
|
showSelfName && nameLabel,
|
|
5337
5339
|
face,
|
|
5338
5340
|
showName && nameLabel,
|
|
@@ -5347,7 +5349,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5347
5349
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5348
5350
|
"div",
|
|
5349
5351
|
{
|
|
5350
|
-
className:
|
|
5352
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, CHAT_MESSAGE_TEXT_CLASS, isError ? "text-ods-error" : "text-ods-text-primary"),
|
|
5351
5353
|
children: renderSegmentBody(index, segment.text, segmentIsStreaming)
|
|
5352
5354
|
},
|
|
5353
5355
|
index
|
|
@@ -5384,7 +5386,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5384
5386
|
);
|
|
5385
5387
|
} else if (segment.type === "approval_batch") {
|
|
5386
5388
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5387
|
-
|
|
5389
|
+
_chunkBE4OUWTAcjs.ApprovalBatchMessage,
|
|
5388
5390
|
{
|
|
5389
5391
|
data: segment.data,
|
|
5390
5392
|
status: segment.status,
|
|
@@ -5422,7 +5424,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
5422
5424
|
}
|
|
5423
5425
|
return null;
|
|
5424
5426
|
}) }),
|
|
5425
|
-
timestamp && !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
5427
|
+
timestamp && !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "text-ods-text-secondary text-h6", isUser && "justify-self-end"), children: formatMessageTimestamp(timestamp) }),
|
|
5426
5428
|
stripContextItems && stripContextItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5427
5429
|
ChatContextChipStrip,
|
|
5428
5430
|
{
|
|
@@ -5468,14 +5470,14 @@ function ChatMessageSkeleton({
|
|
|
5468
5470
|
const inherited = useChatAppearance();
|
|
5469
5471
|
const appearance = _nullishCoalesce(appearanceProp, () => ( inherited));
|
|
5470
5472
|
const lines = Math.max(1, bodyLines);
|
|
5471
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
5472
|
-
(showAvatar || showName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
5473
|
-
showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5474
|
-
showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5475
|
-
showName && showTime && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5473
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[appearance], className), ..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CHAT_MESSAGE_STACK_CLASS, children: [
|
|
5474
|
+
(showAvatar || showName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CHAT_MESSAGE_HEADER_CLASS, isUser && "justify-end"), children: [
|
|
5475
|
+
showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading: true, sizePx: CHAT_MESSAGE_FACE_PX, variant: "round" }),
|
|
5476
|
+
showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-24" }),
|
|
5477
|
+
showName && showTime && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: _chunkMGEUZRNQcjs.cn.call(void 0, "ml-auto", TIME_BAR_CLASS) })
|
|
5476
5478
|
] }),
|
|
5477
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHAT_MESSAGE_SEGMENTS_CLASS, children: isUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHAT_MESSAGE_USER_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
5478
|
-
showTime && !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5479
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHAT_MESSAGE_SEGMENTS_CLASS, children: isUser ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHAT_MESSAGE_USER_ROW_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, CHAT_MESSAGE_USER_BUBBLE_CLASS, "w-1/2"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", lines }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: CHAT_MESSAGE_TEXT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", lines }) }) }),
|
|
5480
|
+
showTime && !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: _chunkMGEUZRNQcjs.cn.call(void 0, TIME_BAR_CLASS, isUser && "justify-self-end") })
|
|
5479
5481
|
] }) });
|
|
5480
5482
|
}
|
|
5481
5483
|
var CHAT_MESSAGE_LIST_SKELETON_MESSAGES = 6;
|
|
@@ -5491,25 +5493,25 @@ function ChatMessageListSkeleton({
|
|
|
5491
5493
|
appearance,
|
|
5492
5494
|
namedOthers = false
|
|
5493
5495
|
}) {
|
|
5494
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5496
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA3UZFFR3cjs.LoadingRegion, { label: "Loading messages", announce: region, className: "relative flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5495
5497
|
"div",
|
|
5496
5498
|
{
|
|
5497
|
-
className:
|
|
5499
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
5498
5500
|
CHAT_MESSAGE_LIST_SCROLLER_CLASS,
|
|
5499
|
-
fill ? "overflow-hidden" :
|
|
5501
|
+
fill ? "overflow-hidden" : _chunkMGEUZRNQcjs.cn.call(void 0, CHAT_MESSAGE_LIST_SCROLLBAR_CLASS, "overscroll-contain"),
|
|
5500
5502
|
className
|
|
5501
5503
|
),
|
|
5502
5504
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
5503
5505
|
"div",
|
|
5504
5506
|
{
|
|
5505
|
-
className:
|
|
5507
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
5506
5508
|
CHAT_MESSAGE_LIST_COLUMN_CLASS[fullWidth ? "full" : "narrow"],
|
|
5507
5509
|
_nullishCoalesce(contentClassName, () => ( CHAT_MESSAGE_LIST_CONTENT_PADDING_CLASS))
|
|
5508
5510
|
),
|
|
5509
5511
|
style: fill ? void 0 : { minHeight: "100%" },
|
|
5510
5512
|
children: [
|
|
5511
5513
|
!fill && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
5512
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5514
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: messageCount, children: (index) => {
|
|
5513
5515
|
const isUser = index % 3 === 0;
|
|
5514
5516
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5515
5517
|
ChatMessageSkeleton,
|
|
@@ -5596,7 +5598,7 @@ function CyclingPhrase({ words, className, charMs = 60, holdMs = 4500 }) {
|
|
|
5596
5598
|
}
|
|
5597
5599
|
}
|
|
5598
5600
|
);
|
|
5599
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
5601
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative inline-block whitespace-nowrap", className), children: [
|
|
5600
5602
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: "invisible", children: [
|
|
5601
5603
|
placeholder,
|
|
5602
5604
|
"..."
|
|
@@ -5658,7 +5660,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5658
5660
|
approvalVariant,
|
|
5659
5661
|
selfAuthorType,
|
|
5660
5662
|
nameEveryTurn,
|
|
5661
|
-
appearance =
|
|
5663
|
+
appearance = _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.CLASSIC,
|
|
5662
5664
|
assistantIcon,
|
|
5663
5665
|
pendingApprovals,
|
|
5664
5666
|
hasNextPage,
|
|
@@ -5673,7 +5675,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5673
5675
|
NavLinkAnchor,
|
|
5674
5676
|
...props
|
|
5675
5677
|
}, ref) => {
|
|
5676
|
-
const isLoading =
|
|
5678
|
+
const isLoading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || isLoadingProp;
|
|
5677
5679
|
const { scrollRef, contentRef, scrollToBottom, stopScroll, isAtBottom } = _usesticktobottom.useStickToBottom.call(void 0, {
|
|
5678
5680
|
resize: "smooth",
|
|
5679
5681
|
initial: false
|
|
@@ -6012,13 +6014,13 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6012
6014
|
const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _121 => _121[lastSegments.length - 1]]);
|
|
6013
6015
|
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch" || lastSegment.type === "escalation_offer") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
6014
6016
|
const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
|
|
6015
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6017
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.OverlayOpenRegistryProvider, { onOpenChange: handleOverlayOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col", children: [
|
|
6016
6018
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1 flex-col", children: [
|
|
6017
6019
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6018
6020
|
"div",
|
|
6019
6021
|
{
|
|
6020
6022
|
ref: setScrollRef,
|
|
6021
|
-
className:
|
|
6023
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
6022
6024
|
CHAT_MESSAGE_LIST_SCROLLER_CLASS,
|
|
6023
6025
|
// `overscroll-contain` (default ON, opt-out via `overscrollContain={false}`):
|
|
6024
6026
|
// reaching the top/bottom of the thread must NOT chain the wheel/
|
|
@@ -6037,7 +6039,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6037
6039
|
"div",
|
|
6038
6040
|
{
|
|
6039
6041
|
ref: setContentRef,
|
|
6040
|
-
className:
|
|
6042
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
6041
6043
|
// `fullWidth=true` drops the centered-narrow column for
|
|
6042
6044
|
// side-panel hosts (e.g. multi-platform-hub Mingo). Same
|
|
6043
6045
|
// semantics as ChatHeader / ChatInput / ChatFooter.
|
|
@@ -6094,7 +6096,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6094
6096
|
}
|
|
6095
6097
|
),
|
|
6096
6098
|
autoScroll && !atBottom && messages.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6097
|
-
|
|
6099
|
+
_chunkFLS6DZENcjs.Button,
|
|
6098
6100
|
{
|
|
6099
6101
|
variant: "outline",
|
|
6100
6102
|
size: "icon-sm",
|
|
@@ -6112,7 +6114,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6112
6114
|
showStreamingLoader && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6113
6115
|
"div",
|
|
6114
6116
|
{
|
|
6115
|
-
className:
|
|
6117
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
6116
6118
|
fullWidth ? "flex w-full items-center gap-[var(--spacing-system-xxs)] py-[var(--spacing-system-xs)]" : "mx-auto flex w-full max-w-ods-content-narrow items-center gap-[var(--spacing-system-xxs)] py-[var(--spacing-system-xs)]",
|
|
6117
6119
|
_nullishCoalesce(contentClassName, () => ( "px-[var(--spacing-system-m)]"))
|
|
6118
6120
|
),
|
|
@@ -6128,7 +6130,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
6128
6130
|
pendingApprovals && pendingApprovals.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6129
6131
|
"div",
|
|
6130
6132
|
{
|
|
6131
|
-
className:
|
|
6133
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
6132
6134
|
"border-t border-ods-border bg-ods-bg/95 backdrop-blur-sm",
|
|
6133
6135
|
fullWidth ? "w-full" : "mx-auto w-full max-w-ods-content-narrow",
|
|
6134
6136
|
_nullishCoalesce(contentClassName, () => ( "px-[var(--spacing-system-m)]"))
|
|
@@ -6696,7 +6698,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
|
|
|
6696
6698
|
|
|
6697
6699
|
[Attached: ${safeName}](${url})`;
|
|
6698
6700
|
}
|
|
6699
|
-
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED =
|
|
6701
|
+
var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunk5XAWVXNIcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
|
|
6700
6702
|
var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
|
|
6701
6703
|
`^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
|
|
6702
6704
|
"gm"
|
|
@@ -6935,7 +6937,7 @@ function MarqueeWallFades({
|
|
|
6935
6937
|
{
|
|
6936
6938
|
"aria-hidden": true,
|
|
6937
6939
|
"data-marquee-fade": edge,
|
|
6938
|
-
className:
|
|
6940
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "pointer-events-none absolute z-[1]", FADE_POSITION[edge]),
|
|
6939
6941
|
style: {
|
|
6940
6942
|
[isY ? "height" : "width"]: px,
|
|
6941
6943
|
backgroundImage: `linear-gradient(to ${edge}, transparent, ${fadeColor})`
|
|
@@ -7170,7 +7172,7 @@ function MarqueeWall({
|
|
|
7170
7172
|
"div",
|
|
7171
7173
|
{
|
|
7172
7174
|
ref: containerRef,
|
|
7173
|
-
className:
|
|
7175
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7174
7176
|
"relative",
|
|
7175
7177
|
staticScrollable ? axis === "y" ? "overflow-y-auto" : "overflow-x-auto" : "overflow-hidden",
|
|
7176
7178
|
staticScrollable && "scrollbar-hide",
|
|
@@ -7191,7 +7193,7 @@ function MarqueeWall({
|
|
|
7191
7193
|
"div",
|
|
7192
7194
|
{
|
|
7193
7195
|
ref: trackRef,
|
|
7194
|
-
className:
|
|
7196
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7195
7197
|
axis === "y" ? "flex w-full flex-col" : "flex w-max items-stretch",
|
|
7196
7198
|
// Keyed on the STRUCTURAL state so the compositor layer + seam gap
|
|
7197
7199
|
// stay put while the wall is frozen (paused) — dropping them on pause
|
|
@@ -7205,12 +7207,12 @@ function MarqueeWall({
|
|
|
7205
7207
|
{
|
|
7206
7208
|
ref: copyRef,
|
|
7207
7209
|
"data-marquee-copy": "primary",
|
|
7208
|
-
className:
|
|
7210
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, axis === "x" && "w-max shrink-0", contentClassName),
|
|
7209
7211
|
style: contentStyle,
|
|
7210
7212
|
children: renderContent(false)
|
|
7211
7213
|
}
|
|
7212
7214
|
),
|
|
7213
|
-
marqueeMounted && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CloneCopy, { className:
|
|
7215
|
+
marqueeMounted && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CloneCopy, { className: _chunkMGEUZRNQcjs.cn.call(void 0, axis === "x" && "w-max shrink-0", contentClassName), style: contentStyle, children: renderContent(true) })
|
|
7214
7216
|
]
|
|
7215
7217
|
}
|
|
7216
7218
|
),
|
|
@@ -7263,7 +7265,7 @@ function QuickActionWall({
|
|
|
7263
7265
|
contentClassName,
|
|
7264
7266
|
sync
|
|
7265
7267
|
}) {
|
|
7266
|
-
const loading =
|
|
7268
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
7267
7269
|
const brickRef = _react.useRef.call(void 0, null);
|
|
7268
7270
|
const [brickWidth, setBrickWidth] = _react.useState.call(void 0, 0);
|
|
7269
7271
|
const [chipWidth, setChipWidth] = _react.useState.call(void 0, 0);
|
|
@@ -7294,7 +7296,7 @@ function QuickActionWall({
|
|
|
7294
7296
|
(_, r) => r === 0 ? chips : chips.map((chip) => ({ ...chip, id: `${chip.id}__r${r}` }))
|
|
7295
7297
|
).flat();
|
|
7296
7298
|
}, [chips, padTarget]);
|
|
7297
|
-
const renderSkeletons = (count, offset = 0) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7299
|
+
const renderSkeletons = (count, offset = 0) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count, children: (i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7298
7300
|
QuickActionChipButton,
|
|
7299
7301
|
{
|
|
7300
7302
|
loading: true,
|
|
@@ -7339,7 +7341,7 @@ function QuickActionWall({
|
|
|
7339
7341
|
).flat();
|
|
7340
7342
|
});
|
|
7341
7343
|
const skelPerRow = Math.ceil(skeletonCount / stackRows);
|
|
7342
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: brickRef, className:
|
|
7344
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: brickRef, className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative flex flex-col overflow-hidden", className), style: { gap }, children: [
|
|
7343
7345
|
rowLists.map((list, r) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7344
7346
|
MarqueeWall,
|
|
7345
7347
|
{
|
|
@@ -7351,7 +7353,7 @@ function QuickActionWall({
|
|
|
7351
7353
|
pauseOnHover,
|
|
7352
7354
|
dragScroll,
|
|
7353
7355
|
copyGap: gap,
|
|
7354
|
-
contentClassName:
|
|
7356
|
+
contentClassName: _chunkMGEUZRNQcjs.cn.call(void 0, "flex items-center", contentClassName),
|
|
7355
7357
|
contentStyle: { gap },
|
|
7356
7358
|
children: loading ? renderSkeletons(skelPerRow, r * 3) : renderChipNodes(list)
|
|
7357
7359
|
},
|
|
@@ -7375,7 +7377,7 @@ function QuickActionWall({
|
|
|
7375
7377
|
fadeSize,
|
|
7376
7378
|
copyGap: gap,
|
|
7377
7379
|
className,
|
|
7378
|
-
contentClassName:
|
|
7380
|
+
contentClassName: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-wrap content-start items-start", contentClassName),
|
|
7379
7381
|
contentStyle: { gap },
|
|
7380
7382
|
sync,
|
|
7381
7383
|
children: renderChips()
|
|
@@ -7427,7 +7429,7 @@ function ChatListEmptyState({ icon, title, description, className }) {
|
|
|
7427
7429
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7428
7430
|
"div",
|
|
7429
7431
|
{
|
|
7430
|
-
className:
|
|
7432
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7431
7433
|
"flex min-h-0 flex-1 flex-col items-center justify-center gap-[var(--spacing-system-l)] p-[var(--spacing-system-l)] text-center text-ods-text-secondary",
|
|
7432
7434
|
className
|
|
7433
7435
|
),
|
|
@@ -7488,7 +7490,7 @@ function MingoChatHistoryRow({
|
|
|
7488
7490
|
onRequestArchive,
|
|
7489
7491
|
...props
|
|
7490
7492
|
}) {
|
|
7491
|
-
const loading =
|
|
7493
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp || !dialog;
|
|
7492
7494
|
const title = _optionalChain([dialog, 'optionalAccess', _157 => _157.title]) || "Untitled Chat";
|
|
7493
7495
|
const unread = _nullishCoalesce(_optionalChain([dialog, 'optionalAccess', _158 => _158.unreadMessagesCount]), () => ( 0));
|
|
7494
7496
|
const hasMenu = !loading && (!!onRequestRename || !!onRequestArchive || !!onRequestCopyLink || !!onRequestCompact);
|
|
@@ -7505,15 +7507,15 @@ function MingoChatHistoryRow({
|
|
|
7505
7507
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7506
7508
|
"div",
|
|
7507
7509
|
{
|
|
7508
|
-
...
|
|
7510
|
+
..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props),
|
|
7509
7511
|
"aria-hidden": loading || void 0,
|
|
7510
|
-
className:
|
|
7512
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7511
7513
|
HISTORY_ROW_CLASS,
|
|
7512
7514
|
"group/row relative transition-colors",
|
|
7513
7515
|
// Active (selected) dialog — Figma 259:91610: an accent-secondary
|
|
7514
7516
|
// fill, a 4px accent bar down the leading edge, and accent-colored
|
|
7515
7517
|
// title text. Inactive rows keep the dark surface with a hover tint.
|
|
7516
|
-
isActive ? "bg-ods-accent-secondary" :
|
|
7518
|
+
isActive ? "bg-ods-accent-secondary" : _chunkMGEUZRNQcjs.cn.call(void 0, "bg-ods-bg", !loading && "hover:bg-ods-bg-hover")
|
|
7517
7519
|
),
|
|
7518
7520
|
children: [
|
|
7519
7521
|
isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": true, className: "pointer-events-none absolute inset-y-0 left-0 w-1 bg-ods-accent" }) : null,
|
|
@@ -7529,18 +7531,18 @@ function MingoChatHistoryRow({
|
|
|
7529
7531
|
select();
|
|
7530
7532
|
}
|
|
7531
7533
|
},
|
|
7532
|
-
className:
|
|
7534
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7533
7535
|
HISTORY_ROW_CONTENT_CLASS,
|
|
7534
7536
|
"flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]",
|
|
7535
7537
|
!loading && "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent"
|
|
7536
7538
|
),
|
|
7537
7539
|
children: [
|
|
7538
|
-
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7540
|
+
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", className: _chunkE2ZZOYSMcjs.SKELETON_TITLE_WIDTHS[skeletonIndex % _chunkE2ZZOYSMcjs.SKELETON_TITLE_WIDTHS.length] }) : null,
|
|
7539
7541
|
!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,
|
|
7540
7542
|
loading ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7541
7543
|
"span",
|
|
7542
7544
|
{
|
|
7543
|
-
className:
|
|
7545
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h4", isActive ? "text-ods-accent" : "text-ods-text-primary"),
|
|
7544
7546
|
title,
|
|
7545
7547
|
children: title
|
|
7546
7548
|
}
|
|
@@ -7554,7 +7556,7 @@ function MingoChatHistoryRow({
|
|
|
7554
7556
|
// `⋯` actions button IN PLACE, so the title never reflows. Without an
|
|
7555
7557
|
// avatar the cell exists only for the hover menu, so it collapses on
|
|
7556
7558
|
// mobile exactly like the old hover-only gutter (no hover on touch).
|
|
7557
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
7559
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative w-12 shrink-0 self-stretch", !hasAvatar && "max-md:hidden"), children: [
|
|
7558
7560
|
hasMenu ? (
|
|
7559
7561
|
// Revealed on row hover/its own focus; kept visible while the menu
|
|
7560
7562
|
// is open. Hidden on mobile — it's a hover affordance. `peer/menu`
|
|
@@ -7564,12 +7566,12 @@ function MingoChatHistoryRow({
|
|
|
7564
7566
|
"span",
|
|
7565
7567
|
{
|
|
7566
7568
|
onClick: (e) => e.stopPropagation(),
|
|
7567
|
-
className:
|
|
7569
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7568
7570
|
"peer/menu absolute inset-0 transition-opacity max-md:hidden",
|
|
7569
7571
|
menuOpen ? "opacity-100" : "opacity-0 focus-within:opacity-100 group-hover/row:opacity-100"
|
|
7570
7572
|
),
|
|
7571
7573
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7572
|
-
|
|
7574
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
7573
7575
|
{
|
|
7574
7576
|
triggerAriaLabel: "Chat actions",
|
|
7575
7577
|
groups: [{ items: menuItems }],
|
|
@@ -7577,7 +7579,7 @@ function MingoChatHistoryRow({
|
|
|
7577
7579
|
onOpenChange: setMenuOpen,
|
|
7578
7580
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
7579
7581
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7580
|
-
|
|
7582
|
+
_chunkFLS6DZENcjs.Button,
|
|
7581
7583
|
{
|
|
7582
7584
|
variant: "transparent",
|
|
7583
7585
|
size: "icon",
|
|
@@ -7600,12 +7602,12 @@ function MingoChatHistoryRow({
|
|
|
7600
7602
|
{
|
|
7601
7603
|
onClick: select,
|
|
7602
7604
|
title: _optionalChain([owner, 'optionalAccess', _163 => _163.name]) || void 0,
|
|
7603
|
-
className:
|
|
7605
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7604
7606
|
"absolute inset-0 flex cursor-pointer items-center justify-center transition-opacity",
|
|
7605
7607
|
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")
|
|
7606
7608
|
),
|
|
7607
7609
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7608
|
-
|
|
7610
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
7609
7611
|
{
|
|
7610
7612
|
variant: "round",
|
|
7611
7613
|
sizePx: 24,
|
|
@@ -7631,13 +7633,13 @@ function MingoChatHistorySkeleton({ rows, className }) {
|
|
|
7631
7633
|
(_, group) => Math.max(0, Math.min(perGroup, rows - group * perGroup))
|
|
7632
7634
|
).filter((count) => count > 0);
|
|
7633
7635
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7634
|
-
|
|
7636
|
+
_chunkA3UZFFR3cjs.LoadingRegion,
|
|
7635
7637
|
{
|
|
7636
7638
|
label: "Loading conversations",
|
|
7637
|
-
className:
|
|
7638
|
-
children: groups.map((count, group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
7639
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7640
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: HISTORY_GROUP_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7639
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-hidden", className),
|
|
7640
|
+
children: groups.map((count, group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, HISTORY_GROUP_CLASS, "shrink-0"), children: [
|
|
7641
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h5", className: "w-16" }),
|
|
7642
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: HISTORY_GROUP_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count, children: (i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistoryRow, { loading: true, "data-loading-item": true, skeletonIndex: group * perGroup + i }) }) })
|
|
7641
7643
|
] }, group))
|
|
7642
7644
|
}
|
|
7643
7645
|
);
|
|
@@ -7658,10 +7660,10 @@ function MingoChatHistory({
|
|
|
7658
7660
|
pageSize = CHAT_HISTORY_PAGE_SIZE,
|
|
7659
7661
|
className
|
|
7660
7662
|
}) {
|
|
7661
|
-
const isLoading =
|
|
7663
|
+
const isLoading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loading;
|
|
7662
7664
|
const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
|
|
7663
7665
|
const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _167 => _167.trim, 'call', _168 => _168()]);
|
|
7664
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateFade } =
|
|
7666
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkE2ZZOYSMcjs.useScrollFade.call(void 0, );
|
|
7665
7667
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
7666
7668
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
7667
7669
|
const isLoadingMoreRef = _react.useRef.call(void 0, isLoadingMore);
|
|
@@ -7686,7 +7688,7 @@ function MingoChatHistory({
|
|
|
7686
7688
|
return () => io.disconnect();
|
|
7687
7689
|
}, [hasMore, isLoadingMore, dialogCount, scrollRef]);
|
|
7688
7690
|
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistorySkeleton, { rows: pageSize, className });
|
|
7689
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
7691
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)]", className), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1 flex-col", children: [
|
|
7690
7692
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7691
7693
|
"div",
|
|
7692
7694
|
{
|
|
@@ -7726,8 +7728,8 @@ function MingoChatHistory({
|
|
|
7726
7728
|
]
|
|
7727
7729
|
}
|
|
7728
7730
|
),
|
|
7729
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7730
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7731
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, color: "var(--color-bg-card)", className: "h-12" }),
|
|
7732
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, color: "var(--color-bg-card)", className: "h-12" })
|
|
7731
7733
|
] }) });
|
|
7732
7734
|
}
|
|
7733
7735
|
|
|
@@ -7761,7 +7763,7 @@ function MingoWelcome({
|
|
|
7761
7763
|
className
|
|
7762
7764
|
}) {
|
|
7763
7765
|
const heading = _nullishCoalesce(title, () => ( "Hey, I'm Mingo"));
|
|
7764
|
-
const historyLoading =
|
|
7766
|
+
const historyLoading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || isLoadingHistory;
|
|
7765
7767
|
const resolvedPromo = hasExistingChats ? null : promo === void 0 ? onStartGuideChat ? DEFAULT_PROMO : null : promo;
|
|
7766
7768
|
const hydrated = useIsHydrated();
|
|
7767
7769
|
const [dismissedThisSession, setPromoDismissed] = _react.useState.call(void 0, false);
|
|
@@ -7783,12 +7785,12 @@ function MingoWelcome({
|
|
|
7783
7785
|
} catch (e7) {
|
|
7784
7786
|
}
|
|
7785
7787
|
}, [promoStorage, promoStorageKey]);
|
|
7786
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } =
|
|
7788
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunkE2ZZOYSMcjs.useScrollFade.call(void 0, );
|
|
7787
7789
|
const showPinnedRegion = !!dialogHistory || !historyLoading && !loadError;
|
|
7788
7790
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7789
7791
|
"div",
|
|
7790
7792
|
{
|
|
7791
|
-
className:
|
|
7793
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7792
7794
|
// `@container` makes the panel itself the responsive context (the
|
|
7793
7795
|
// drawer width ≠ viewport width) so the notification's down-arrow can
|
|
7794
7796
|
// appear only once the panel is genuinely wide.
|
|
@@ -7802,7 +7804,7 @@ function MingoWelcome({
|
|
|
7802
7804
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "Couldn\u2019t load your chats" }),
|
|
7803
7805
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-body-sm text-ods-text-secondary", children: "Something went wrong reaching the server. Check your connection and try again." })
|
|
7804
7806
|
] }),
|
|
7805
|
-
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7807
|
+
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "small", leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXLTOM62Pcjs.Refresh01RightIcon, {}), onClick: onRetry, children: "Try again" })
|
|
7806
7808
|
] }) : historyLoading ? (
|
|
7807
7809
|
// The history draws its own loading state (one page of rows) until the
|
|
7808
7810
|
// first page tells new and returning users apart.
|
|
@@ -7815,7 +7817,7 @@ function MingoWelcome({
|
|
|
7815
7817
|
onScroll: updateScrollFade,
|
|
7816
7818
|
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-y-auto overscroll-contain",
|
|
7817
7819
|
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: [
|
|
7818
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7820
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
7819
7821
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
7820
7822
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: heading }),
|
|
7821
7823
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
|
|
@@ -7823,8 +7825,8 @@ function MingoWelcome({
|
|
|
7823
7825
|
] })
|
|
7824
7826
|
}
|
|
7825
7827
|
),
|
|
7826
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7827
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7828
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
|
|
7829
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
|
|
7828
7830
|
] }) })))),
|
|
7829
7831
|
showPinnedRegion && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-m)]", children: [
|
|
7830
7832
|
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: [
|
|
@@ -7834,9 +7836,9 @@ function MingoWelcome({
|
|
|
7834
7836
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: resolvedPromo.description })
|
|
7835
7837
|
] }),
|
|
7836
7838
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7837
|
-
|
|
7839
|
+
_chunkFLS6DZENcjs.Button,
|
|
7838
7840
|
{
|
|
7839
|
-
variant: "
|
|
7841
|
+
variant: "bare",
|
|
7840
7842
|
size: "icon-sm",
|
|
7841
7843
|
type: "button",
|
|
7842
7844
|
onClick: dismissPromo,
|
|
@@ -7904,8 +7906,8 @@ function GuideWelcome({
|
|
|
7904
7906
|
children,
|
|
7905
7907
|
className
|
|
7906
7908
|
}) {
|
|
7907
|
-
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } =
|
|
7908
|
-
const subtitleIsLoading =
|
|
7909
|
+
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunkE2ZZOYSMcjs.useScrollFade.call(void 0, );
|
|
7910
|
+
const subtitleIsLoading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || subtitleLoading && !subtitle;
|
|
7909
7911
|
const chipItems = _react.useMemo.call(void 0,
|
|
7910
7912
|
() => quickActions.map((action) => ({
|
|
7911
7913
|
id: action.id,
|
|
@@ -7927,7 +7929,7 @@ function GuideWelcome({
|
|
|
7927
7929
|
})),
|
|
7928
7930
|
[quickActions, icon, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
|
|
7929
7931
|
);
|
|
7930
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
7932
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)]", className), children: [
|
|
7931
7933
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1 flex-col", children: [
|
|
7932
7934
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7933
7935
|
"div",
|
|
@@ -7940,19 +7942,19 @@ function GuideWelcome({
|
|
|
7940
7942
|
icon && (icon.name || icon.url) ? (
|
|
7941
7943
|
// Agent-mode identity glyph (chat-config Identity tab). Sized to
|
|
7942
7944
|
// match the default Mingo mark (48px).
|
|
7943
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7944
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7945
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
|
|
7946
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
|
|
7945
7947
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
|
|
7946
7948
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: title }),
|
|
7947
|
-
subtitleIsLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7949
|
+
subtitleIsLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.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
|
|
7948
7950
|
] })
|
|
7949
7951
|
] }),
|
|
7950
7952
|
children
|
|
7951
7953
|
]
|
|
7952
7954
|
}
|
|
7953
7955
|
),
|
|
7954
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7955
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7956
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
|
|
7957
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
|
|
7956
7958
|
] }),
|
|
7957
7959
|
quickActions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7958
7960
|
QuickActionWall,
|
|
@@ -7980,16 +7982,16 @@ function GuideModeBanner({ label = DEFAULT_LABEL, tooltip = DEFAULT_TOOLTIP, cla
|
|
|
7980
7982
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7981
7983
|
"div",
|
|
7982
7984
|
{
|
|
7983
|
-
className:
|
|
7985
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
7984
7986
|
"flex h-8 w-full shrink-0 items-center gap-[var(--spacing-system-xs)] bg-ods-accent px-[var(--spacing-system-m)] py-[var(--spacing-system-xsf)]",
|
|
7985
7987
|
className
|
|
7986
7988
|
),
|
|
7987
7989
|
children: [
|
|
7988
7990
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZFJDLJSIcjs.CompassIcon, { size: 16, className: "shrink-0 text-ods-text-on-accent" }),
|
|
7989
7991
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "flex-1 truncate uppercase text-ods-text-on-accent text-h5", children: label }),
|
|
7990
|
-
tooltip != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7991
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7992
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7992
|
+
tooltip != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFS7CBRF4cjs.Tooltip, { children: [
|
|
7993
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "bare", size: "icon-inline", type: "button", "aria-label": "About Guide Mode", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFO6DOP6Mcjs.QuestionCircleIcon, { size: 16, className: "text-ods-text-on-accent" }) }) }),
|
|
7994
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFS7CBRF4cjs.TooltipContent, { side: "bottom", align: "end", className: "max-w-[280px] normal-case text-h6", children: tooltip })
|
|
7993
7995
|
] }) })
|
|
7994
7996
|
]
|
|
7995
7997
|
}
|
|
@@ -8008,7 +8010,7 @@ function MingoArchiveList({
|
|
|
8008
8010
|
isLoadingMore = false,
|
|
8009
8011
|
onLoadMore
|
|
8010
8012
|
}) {
|
|
8011
|
-
const loading =
|
|
8013
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || isLoading && dialogs.length === 0;
|
|
8012
8014
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
8013
8015
|
const onLoadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
8014
8016
|
const isLoadingMoreRef = _react.useRef.call(void 0, isLoadingMore);
|
|
@@ -8036,17 +8038,17 @@ function MingoArchiveList({
|
|
|
8036
8038
|
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] px-[var(--spacing-system-xs)] pt-[var(--spacing-system-mf)]",
|
|
8037
8039
|
children: [
|
|
8038
8040
|
/* @__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" }),
|
|
8039
|
-
/* @__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,
|
|
8041
|
+
/* @__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, _chunkE2ZZOYSMcjs.ChatListItemLoadingPage, { count: pageSize, trailing: true }) : dialogs.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8040
8042
|
dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8041
|
-
|
|
8043
|
+
_chunkE2ZZOYSMcjs.ChatListItem,
|
|
8042
8044
|
{
|
|
8043
8045
|
"data-loading-item": true,
|
|
8044
8046
|
title: dialog.title || "Untitled Chat",
|
|
8045
8047
|
onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _179 => _179(dialog.id)]),
|
|
8046
8048
|
trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
|
|
8047
|
-
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children:
|
|
8049
|
+
dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkBE4OUWTAcjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
|
|
8048
8050
|
dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8049
|
-
|
|
8051
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
8050
8052
|
{
|
|
8051
8053
|
variant: "round",
|
|
8052
8054
|
sizePx: 24,
|
|
@@ -8094,7 +8096,7 @@ function MingoChatHeader({
|
|
|
8094
8096
|
];
|
|
8095
8097
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-14 w-full shrink-0 divide-x divide-ods-border overflow-hidden border-b border-ods-border", children: [
|
|
8096
8098
|
onToggleList && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8097
|
-
|
|
8099
|
+
_chunkFLS6DZENcjs.Button,
|
|
8098
8100
|
{
|
|
8099
8101
|
variant: "cell",
|
|
8100
8102
|
className: "w-14",
|
|
@@ -8110,7 +8112,7 @@ function MingoChatHeader({
|
|
|
8110
8112
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
|
|
8111
8113
|
] }),
|
|
8112
8114
|
avatar && (avatar.name || avatar.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8113
|
-
|
|
8115
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
8114
8116
|
{
|
|
8115
8117
|
variant: "round",
|
|
8116
8118
|
sizePx: 32,
|
|
@@ -8121,18 +8123,18 @@ function MingoChatHeader({
|
|
|
8121
8123
|
}
|
|
8122
8124
|
) : null
|
|
8123
8125
|
] }),
|
|
8124
|
-
onRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8126
|
+
onRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPX2JK6Pcjs.Refresh01LeftIcon, { size: 24 }) }),
|
|
8125
8127
|
menuGroups.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8126
|
-
|
|
8128
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
8127
8129
|
{
|
|
8128
8130
|
triggerAriaLabel: "Chat actions",
|
|
8129
8131
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
8130
8132
|
groups: menuGroups,
|
|
8131
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8133
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", "aria-label": "Chat actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWHUL32Wcjs.Ellipsis01Icon, { size: 24 }) })
|
|
8132
8134
|
}
|
|
8133
8135
|
),
|
|
8134
|
-
onCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8135
|
-
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8136
|
+
onCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onCollapse, "aria-label": "Collapse chat", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ7OPT4PNcjs.Arrow02RightIcon, { size: 24 }) }),
|
|
8137
|
+
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { size: 24 }) })
|
|
8136
8138
|
] });
|
|
8137
8139
|
}
|
|
8138
8140
|
|
|
@@ -8176,7 +8178,7 @@ function ChatHeaderSearchField({
|
|
|
8176
8178
|
onAnimationEnd: (e) => {
|
|
8177
8179
|
if (e.target === e.currentTarget && exiting) finishCollapse();
|
|
8178
8180
|
},
|
|
8179
|
-
className:
|
|
8181
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8180
8182
|
"flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xs)] px-[var(--spacing-system-sf)]",
|
|
8181
8183
|
exiting ? (
|
|
8182
8184
|
// Elegant leave: sweep back out to the right + fade, holding the end
|
|
@@ -8272,7 +8274,7 @@ function MingoChatRail({
|
|
|
8272
8274
|
onExpand,
|
|
8273
8275
|
className
|
|
8274
8276
|
}) {
|
|
8275
|
-
const loading =
|
|
8277
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || isLoadingHistory;
|
|
8276
8278
|
const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _182 => _182.trim, 'call', _183 => _183()]));
|
|
8277
8279
|
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _184 => _184.trim, 'call', _185 => _185()]);
|
|
8278
8280
|
const items = [];
|
|
@@ -8346,10 +8348,10 @@ function MingoChatRail({
|
|
|
8346
8348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "Couldn\u2019t load your chats" }),
|
|
8347
8349
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "Something went wrong reaching the server. Try again." })
|
|
8348
8350
|
] }),
|
|
8349
|
-
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8351
|
+
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "small", leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXLTOM62Pcjs.Refresh01RightIcon, {}), onClick: onRetry, children: "Try again" })
|
|
8350
8352
|
] });
|
|
8351
8353
|
} else if (loading) {
|
|
8352
|
-
list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8354
|
+
list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ChatListItemLoadingPage, { count: pageSize });
|
|
8353
8355
|
} else if (dialogs.length === 0 && !draftTitle) {
|
|
8354
8356
|
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,
|
|
8355
8357
|
ChatListEmptyState,
|
|
@@ -8361,7 +8363,7 @@ function MingoChatRail({
|
|
|
8361
8363
|
);
|
|
8362
8364
|
} else {
|
|
8363
8365
|
list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
8364
|
-
draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8366
|
+
draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ChatListItem, { active: true, title: draftTitle, tabIndex: -1, className: "cursor-default" }),
|
|
8365
8367
|
dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8366
8368
|
MingoChatRailRow,
|
|
8367
8369
|
{
|
|
@@ -8383,15 +8385,15 @@ function MingoChatRail({
|
|
|
8383
8385
|
] });
|
|
8384
8386
|
}
|
|
8385
8387
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8386
|
-
|
|
8388
|
+
_chunkE2ZZOYSMcjs.ChatNavSidebar,
|
|
8387
8389
|
{
|
|
8388
8390
|
className,
|
|
8389
8391
|
"data-accent": "mingo",
|
|
8390
8392
|
"aria-label": "Mingo chats",
|
|
8391
8393
|
logo: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center justify-between", children: [
|
|
8392
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.AgentMark, { agent: "mingo", className: "size-6 text-ods-text-primary" }),
|
|
8393
8395
|
onExpand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8394
|
-
|
|
8396
|
+
_chunkFLS6DZENcjs.Button,
|
|
8395
8397
|
{
|
|
8396
8398
|
variant: "transparent",
|
|
8397
8399
|
size: "icon",
|
|
@@ -8405,13 +8407,13 @@ function MingoChatRail({
|
|
|
8405
8407
|
items,
|
|
8406
8408
|
sectionLabel: "Your Current Chats",
|
|
8407
8409
|
sectionActions: listMenu.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8408
|
-
|
|
8410
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
8409
8411
|
{
|
|
8410
8412
|
triggerAriaLabel: "Chat list options",
|
|
8411
8413
|
groups: [{ items: listMenu }],
|
|
8412
8414
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
8413
8415
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8414
|
-
|
|
8416
|
+
_chunkFLS6DZENcjs.Button,
|
|
8415
8417
|
{
|
|
8416
8418
|
variant: "transparent",
|
|
8417
8419
|
size: "icon",
|
|
@@ -8440,20 +8442,20 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems, ...prop
|
|
|
8440
8442
|
const hasMenu = menuItems.length > 0;
|
|
8441
8443
|
const glyph = status ? STATUS_GLYPHS[status] : void 0;
|
|
8442
8444
|
const title = dialog.title || "Untitled Chat";
|
|
8443
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ...
|
|
8445
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props), className: "group/row relative shrink-0", children: [
|
|
8444
8446
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8445
|
-
|
|
8447
|
+
_chunkE2ZZOYSMcjs.ChatListItem,
|
|
8446
8448
|
{
|
|
8447
8449
|
active,
|
|
8448
8450
|
title,
|
|
8449
8451
|
onClick: () => _optionalChain([onSelect, 'optionalCall', _189 => _189(dialog.id)]),
|
|
8450
|
-
className:
|
|
8452
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, hasMenu && "pr-10"),
|
|
8451
8453
|
trailing: glyph ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8452
8454
|
"span",
|
|
8453
8455
|
{
|
|
8454
8456
|
role: "img",
|
|
8455
8457
|
"aria-label": glyph.label,
|
|
8456
|
-
className:
|
|
8458
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex transition-opacity", hasMenu && "group-hover/row:opacity-0", menuOpen && "opacity-0"),
|
|
8457
8459
|
children: glyph.icon
|
|
8458
8460
|
}
|
|
8459
8461
|
) : void 0
|
|
@@ -8463,12 +8465,12 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems, ...prop
|
|
|
8463
8465
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8464
8466
|
"span",
|
|
8465
8467
|
{
|
|
8466
|
-
className:
|
|
8468
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8467
8469
|
"absolute inset-y-0 right-[var(--spacing-system-xs)] flex items-center transition-opacity",
|
|
8468
8470
|
menuOpen ? "opacity-100" : "opacity-0 focus-within:opacity-100 group-hover/row:opacity-100"
|
|
8469
8471
|
),
|
|
8470
8472
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8471
|
-
|
|
8473
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
8472
8474
|
{
|
|
8473
8475
|
triggerAriaLabel: `Actions for ${title}`,
|
|
8474
8476
|
groups: [{ items: menuItems }],
|
|
@@ -8476,7 +8478,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems, ...prop
|
|
|
8476
8478
|
onOpenChange: setMenuOpen,
|
|
8477
8479
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
8478
8480
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8479
|
-
|
|
8481
|
+
_chunkFLS6DZENcjs.Button,
|
|
8480
8482
|
{
|
|
8481
8483
|
variant: "transparent",
|
|
8482
8484
|
size: "icon",
|
|
@@ -8504,39 +8506,39 @@ function TabSelector({
|
|
|
8504
8506
|
scrollable = false,
|
|
8505
8507
|
className
|
|
8506
8508
|
}) {
|
|
8507
|
-
const flush =
|
|
8509
|
+
const flush = _chunkFS7CBRF4cjs.useIsInActionsMenuHeader.call(void 0, );
|
|
8508
8510
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8509
8511
|
"div",
|
|
8510
8512
|
{
|
|
8511
|
-
className:
|
|
8513
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xxs)]", disabled && "opacity-50", className),
|
|
8512
8514
|
"aria-disabled": disabled || void 0,
|
|
8513
8515
|
children: [
|
|
8514
8516
|
label && // Label for family/color; 'large' (text-h4) is this component's
|
|
8515
8517
|
// long-standing label scale — neighbours opt into the same scale via
|
|
8516
8518
|
// their `labelVariant="large"` when a design puts them side by side.
|
|
8517
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8519
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMTH355Icjs.Label, { variant: "large", children: label }),
|
|
8518
8520
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8519
8521
|
"div",
|
|
8520
8522
|
{
|
|
8521
|
-
className:
|
|
8523
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8522
8524
|
"flex gap-[var(--spacing-system-xxs)] bg-ods-bg p-[var(--spacing-system-xxs)]",
|
|
8523
|
-
flush ? "h-10 w-full" :
|
|
8525
|
+
flush ? "h-10 w-full" : _chunkMGEUZRNQcjs.cn.call(void 0, "h-11 rounded-md border border-ods-border content-md:h-12", scrollable ? "overflow-x-auto" : "w-full")
|
|
8524
8526
|
),
|
|
8525
8527
|
children: items.map((item) => {
|
|
8526
8528
|
const isActive = value === item.id;
|
|
8527
8529
|
const isDisabled = disabled || item.disabled;
|
|
8528
8530
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8529
|
-
|
|
8531
|
+
_chunkFLS6DZENcjs.Button,
|
|
8530
8532
|
{
|
|
8531
|
-
variant: "
|
|
8533
|
+
variant: "segment",
|
|
8532
8534
|
type: "button",
|
|
8533
8535
|
disabled: isDisabled,
|
|
8534
8536
|
onClick: () => onValueChange(item.id),
|
|
8535
8537
|
"aria-label": !item.label ? item.ariaLabel : void 0,
|
|
8536
8538
|
"aria-pressed": isActive,
|
|
8537
8539
|
"data-state": isActive ? "active" : void 0,
|
|
8538
|
-
"data-
|
|
8539
|
-
className:
|
|
8540
|
+
"data-tone": variant === "primary" ? "accent" : void 0,
|
|
8541
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "h-full", scrollable ? "flex-none shrink-0 basis-auto" : "flex-1"),
|
|
8540
8542
|
children: [
|
|
8541
8543
|
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex size-4 shrink-0 items-center justify-center content-md:size-6", children: item.icon }),
|
|
8542
8544
|
item.label,
|
|
@@ -8576,19 +8578,19 @@ function MingoHistoryRail({
|
|
|
8576
8578
|
onRetry,
|
|
8577
8579
|
className
|
|
8578
8580
|
}) {
|
|
8579
|
-
const loading =
|
|
8581
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || isLoadingHistory;
|
|
8580
8582
|
const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _190 => _190.trim, 'call', _191 => _191()]);
|
|
8581
8583
|
const hasList = dialogs.length > 0 || hasSearch;
|
|
8582
8584
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8583
8585
|
"div",
|
|
8584
8586
|
{
|
|
8585
|
-
className:
|
|
8587
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8586
8588
|
"flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] p-[var(--spacing-system-m)]",
|
|
8587
8589
|
className
|
|
8588
8590
|
),
|
|
8589
8591
|
children: [
|
|
8590
8592
|
onNewChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8591
|
-
|
|
8593
|
+
_chunkFLS6DZENcjs.Button,
|
|
8592
8594
|
{
|
|
8593
8595
|
variant: "outline",
|
|
8594
8596
|
fullWidth: true,
|
|
@@ -8616,7 +8618,7 @@ function MingoHistoryRail({
|
|
|
8616
8618
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: "Couldn\u2019t load your chats" }),
|
|
8617
8619
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "Something went wrong reaching the server. Try again." })
|
|
8618
8620
|
] }),
|
|
8619
|
-
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8621
|
+
onRetry && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "small", leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXLTOM62Pcjs.Refresh01RightIcon, {}), onClick: onRetry, children: "Try again" })
|
|
8620
8622
|
] }) : loading || hasList ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8621
8623
|
MingoChatHistory,
|
|
8622
8624
|
{
|
|
@@ -8665,10 +8667,10 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
8665
8667
|
const save = () => {
|
|
8666
8668
|
if (canSave) onSave(name.trim());
|
|
8667
8669
|
};
|
|
8668
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8669
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8670
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
8671
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Rename Chat" }) }),
|
|
8670
8672
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
|
|
8671
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8673
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOMTH355Icjs.Label, { htmlFor: "rename-chat-input", variant: "large", children: "Chat Name" }),
|
|
8672
8674
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8673
8675
|
"input",
|
|
8674
8676
|
{
|
|
@@ -8683,29 +8685,29 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
|
|
|
8683
8685
|
}
|
|
8684
8686
|
)
|
|
8685
8687
|
] }),
|
|
8686
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8688
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
8689
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
8690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "accent", type: "button", onClick: save, disabled: !canSave, className: footerBtn, children: "Save" })
|
|
8689
8691
|
] })
|
|
8690
8692
|
] });
|
|
8691
8693
|
}
|
|
8692
8694
|
function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
8693
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8694
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8695
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
8696
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Archive Chat" }) }),
|
|
8695
8697
|
/* @__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." }),
|
|
8696
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8697
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8698
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8698
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
8699
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
8700
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "destructive", type: "button", onClick: onConfirm, className: footerBtn, children: "Archive Chat" })
|
|
8699
8701
|
] })
|
|
8700
8702
|
] });
|
|
8701
8703
|
}
|
|
8702
8704
|
function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
|
|
8703
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8704
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8705
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
|
|
8706
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE2ZZOYSMcjs.ModalTitle, { children: "Unarchive Chat" }) }),
|
|
8705
8707
|
/* @__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." }),
|
|
8706
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8707
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8708
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8708
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE2ZZOYSMcjs.ModalFooter, { children: [
|
|
8709
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
|
|
8710
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "accent", type: "button", onClick: onConfirm, className: footerBtn, children: "Unarchive Chat" })
|
|
8709
8711
|
] })
|
|
8710
8712
|
] });
|
|
8711
8713
|
}
|
|
@@ -8779,24 +8781,24 @@ function ChatPanelHeaderMobile({
|
|
|
8779
8781
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8780
8782
|
"div",
|
|
8781
8783
|
{
|
|
8782
|
-
className:
|
|
8784
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8783
8785
|
"flex flex-shrink-0 flex-col border-b border-ods-border bg-ods-card",
|
|
8784
8786
|
"px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]",
|
|
8785
8787
|
className
|
|
8786
8788
|
),
|
|
8787
8789
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-end gap-[var(--spacing-system-sf)]", children: [
|
|
8788
|
-
showBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8790
|
+
showBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "icon", "aria-label": backAriaLabel, onClick: onBack, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, {}) }),
|
|
8789
8791
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-end gap-[var(--spacing-system-m)] pt-[var(--spacing-system-xl)]", children: [
|
|
8790
8792
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 truncate text-ods-text-primary text-h2", title, children: title }) }),
|
|
8791
8793
|
menuItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8792
|
-
|
|
8794
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
8793
8795
|
{
|
|
8794
8796
|
groups: [{ items: menuItems }],
|
|
8795
8797
|
triggerAriaLabel: "Chat actions",
|
|
8796
8798
|
triggerClassName: "flex shrink-0 items-center justify-center border-ods-border bg-ods-card hover:bg-ods-bg-hover focus-visible:ring-0"
|
|
8797
8799
|
}
|
|
8798
8800
|
),
|
|
8799
|
-
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8801
|
+
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "outline", size: "icon", "aria-label": "Close chat", onClick: onClose, className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, {}) })
|
|
8800
8802
|
] })
|
|
8801
8803
|
] })
|
|
8802
8804
|
}
|
|
@@ -8851,12 +8853,12 @@ function ChatPanelHeader({
|
|
|
8851
8853
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8852
8854
|
"div",
|
|
8853
8855
|
{
|
|
8854
|
-
className:
|
|
8856
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8855
8857
|
"h-14 w-full flex-shrink-0 divide-x divide-ods-border overflow-hidden border-b border-ods-border bg-ods-card",
|
|
8856
8858
|
compact ? "flex" : "hidden md:flex"
|
|
8857
8859
|
),
|
|
8858
8860
|
children: [
|
|
8859
|
-
showBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8861
|
+
showBack && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onBack, "aria-label": backAriaLabel, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24 }) }),
|
|
8860
8862
|
searchInline ? (
|
|
8861
8863
|
// Search open — the inline field takes over the title area in place
|
|
8862
8864
|
// (Figma 116:51217); the magnifier toggle below is hidden.
|
|
@@ -8876,7 +8878,7 @@ function ChatPanelHeader({
|
|
|
8876
8878
|
avatar && (avatar.name || avatar.avatarUrl) ? (
|
|
8877
8879
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
8878
8880
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8879
|
-
|
|
8881
|
+
_chunkZJS45HQZcjs.SquareAvatar,
|
|
8880
8882
|
{
|
|
8881
8883
|
variant: "round",
|
|
8882
8884
|
sizePx: 32,
|
|
@@ -8890,18 +8892,18 @@ function ChatPanelHeader({
|
|
|
8890
8892
|
)
|
|
8891
8893
|
) : null
|
|
8892
8894
|
] }),
|
|
8893
|
-
isArchivedView && onRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8895
|
+
isArchivedView && onRestore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPX2JK6Pcjs.Refresh01LeftIcon, { size: 24 }) }),
|
|
8894
8896
|
showBack && !isArchivedView && menuItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8895
|
-
|
|
8897
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
8896
8898
|
{
|
|
8897
8899
|
triggerAriaLabel: "Chat actions",
|
|
8898
8900
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
8899
8901
|
groups: [{ items: menuItems }],
|
|
8900
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8902
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", "aria-label": "Chat actions", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWHUL32Wcjs.Ellipsis01Icon, { size: 24 }) })
|
|
8901
8903
|
}
|
|
8902
8904
|
),
|
|
8903
8905
|
!showBack && !searchInline && onToggleSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8904
|
-
|
|
8906
|
+
_chunkFLS6DZENcjs.Button,
|
|
8905
8907
|
{
|
|
8906
8908
|
variant: "cell",
|
|
8907
8909
|
className: "w-14",
|
|
@@ -8911,8 +8913,8 @@ function ChatPanelHeader({
|
|
|
8911
8913
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { size: 24 })
|
|
8912
8914
|
}
|
|
8913
8915
|
),
|
|
8914
|
-
!showBack && onOpenArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8915
|
-
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8916
|
+
!showBack && onOpenArchive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7JKBT3LTcjs.ClockHistoryIcon, { size: 24 }) }),
|
|
8917
|
+
onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { size: 24 }) })
|
|
8916
8918
|
]
|
|
8917
8919
|
}
|
|
8918
8920
|
)
|
|
@@ -8943,7 +8945,7 @@ function ChatAttachmentAddButton({
|
|
|
8943
8945
|
const compact = size === "compact";
|
|
8944
8946
|
const boxClass = compact ? "h-6 w-6" : "h-7 w-7";
|
|
8945
8947
|
if (!attachmentsEnabled) {
|
|
8946
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className:
|
|
8948
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: _chunkMGEUZRNQcjs.cn.call(void 0, "inline-block shrink-0", boxClass) });
|
|
8947
8949
|
}
|
|
8948
8950
|
const slotsAvailable = Math.max(0, CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER - attachmentsCount);
|
|
8949
8951
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
@@ -8971,7 +8973,7 @@ function ChatAttachmentAddButton({
|
|
|
8971
8973
|
}
|
|
8972
8974
|
),
|
|
8973
8975
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8974
|
-
|
|
8976
|
+
_chunkFLS6DZENcjs.Button,
|
|
8975
8977
|
{
|
|
8976
8978
|
type: "button",
|
|
8977
8979
|
variant: "transparent",
|
|
@@ -8981,7 +8983,7 @@ function ChatAttachmentAddButton({
|
|
|
8981
8983
|
"aria-label": canAddMore ? "Add attachments" : "Attachment limit reached",
|
|
8982
8984
|
title: canAddMore ? "Add attachments" : `Limit reached (${CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER})`,
|
|
8983
8985
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, { className: compact ? "h-3.5 w-3.5" : "h-4 w-4" }),
|
|
8984
|
-
className:
|
|
8986
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
8985
8987
|
"shrink-0 !p-0 text-ods-text-muted hover:text-ods-text-primary",
|
|
8986
8988
|
compact ? "!h-6 !w-6" : "!h-7 !w-7"
|
|
8987
8989
|
)
|
|
@@ -8997,7 +8999,7 @@ function ChatAttachmentChipStrip({
|
|
|
8997
8999
|
}) {
|
|
8998
9000
|
if (attachments.length === 0) return null;
|
|
8999
9001
|
const compact = size === "compact";
|
|
9000
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
9002
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex-shrink-0", compact ? "px-3 pb-1.5" : "px-5 pb-2"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "flex flex-wrap items-center", compact ? "gap-1.5" : "gap-2"), children: attachments.map((att) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9001
9003
|
AttachmentChip,
|
|
9002
9004
|
{
|
|
9003
9005
|
attachment: att,
|
|
@@ -9016,14 +9018,14 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
|
|
|
9016
9018
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9017
9019
|
"div",
|
|
9018
9020
|
{
|
|
9019
|
-
className:
|
|
9021
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9020
9022
|
"flex items-center rounded-md border border-ods-border bg-ods-card",
|
|
9021
9023
|
compact ? "max-w-[180px] gap-1.5 px-1.5 py-1" : "max-w-[240px] gap-2 px-2 py-1.5"
|
|
9022
9024
|
),
|
|
9023
9025
|
role: "group",
|
|
9024
9026
|
"aria-label": `Attachment ${file.name}`,
|
|
9025
9027
|
children: [
|
|
9026
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
9028
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "relative shrink-0 overflow-hidden rounded bg-ods-bg", compact ? "h-6 w-6" : "h-8 w-8"), children: [
|
|
9027
9029
|
isImage && blobUrl ? (
|
|
9028
9030
|
// cannot go through next/image; this is a transient pre-upload
|
|
9029
9031
|
// preview, NOT the chat-history render path.
|
|
@@ -9031,7 +9033,7 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
|
|
|
9031
9033
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9032
9034
|
"div",
|
|
9033
9035
|
{
|
|
9034
|
-
className:
|
|
9036
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9035
9037
|
"flex h-full w-full items-center justify-center font-mono uppercase text-ods-text-muted",
|
|
9036
9038
|
compact ? "text-[9px]" : "text-[10px]"
|
|
9037
9039
|
),
|
|
@@ -9044,13 +9046,13 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
|
|
|
9044
9046
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
|
|
9045
9047
|
(!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
|
|
9046
9048
|
status === "sniffing" && "Checking the file",
|
|
9047
|
-
status === "uploading" && `${progress}% \xB7 ${
|
|
9048
|
-
status === "ready" &&
|
|
9049
|
+
status === "uploading" && `${progress}% \xB7 ${_chunkZJS45HQZcjs.formatFileSize.call(void 0, file.size)}`,
|
|
9050
|
+
status === "ready" && _chunkZJS45HQZcjs.formatFileSize.call(void 0, file.size),
|
|
9049
9051
|
status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
|
|
9050
9052
|
] })
|
|
9051
9053
|
] }),
|
|
9052
9054
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9053
|
-
|
|
9055
|
+
_chunkFLS6DZENcjs.Button,
|
|
9054
9056
|
{
|
|
9055
9057
|
type: "button",
|
|
9056
9058
|
variant: "transparent",
|
|
@@ -9059,7 +9061,7 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
|
|
|
9059
9061
|
disabled,
|
|
9060
9062
|
"aria-label": `Remove ${file.name}`,
|
|
9061
9063
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { className: compact ? "h-3 w-3" : "h-3.5 w-3.5" }),
|
|
9062
|
-
className:
|
|
9064
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9063
9065
|
"shrink-0 !p-0 text-ods-text-muted hover:text-ods-text-primary",
|
|
9064
9066
|
compact ? "!h-4 !w-4" : "!h-5 !w-5"
|
|
9065
9067
|
)
|
|
@@ -9130,7 +9132,7 @@ function ChatContextMemoryBar({
|
|
|
9130
9132
|
"div",
|
|
9131
9133
|
{
|
|
9132
9134
|
ref: rootRef,
|
|
9133
|
-
className:
|
|
9135
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9134
9136
|
"relative flex items-center gap-[var(--spacing-system-xs)] border-b border-ods-border bg-ods-bg p-[var(--spacing-system-xs)]",
|
|
9135
9137
|
className
|
|
9136
9138
|
),
|
|
@@ -9148,9 +9150,9 @@ function ChatContextMemoryBar({
|
|
|
9148
9150
|
" in context"
|
|
9149
9151
|
] }),
|
|
9150
9152
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9151
|
-
|
|
9153
|
+
_chunkFLS6DZENcjs.Button,
|
|
9152
9154
|
{
|
|
9153
|
-
variant: "
|
|
9155
|
+
variant: "bare",
|
|
9154
9156
|
size: "icon-sm",
|
|
9155
9157
|
type: "button",
|
|
9156
9158
|
"aria-label": "Show remembered context",
|
|
@@ -9174,9 +9176,9 @@ function ChatContextMemoryBar({
|
|
|
9174
9176
|
resolveIcon2 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_ICON_CLASS, children: resolveIcon2(item) }),
|
|
9175
9177
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_LABEL_CLASS, title: item.label, children: item.label }),
|
|
9176
9178
|
onRemove && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9177
|
-
|
|
9179
|
+
_chunkFLS6DZENcjs.Button,
|
|
9178
9180
|
{
|
|
9179
|
-
variant: "
|
|
9181
|
+
variant: "bare",
|
|
9180
9182
|
size: "icon-sm",
|
|
9181
9183
|
type: "button",
|
|
9182
9184
|
onClick: () => onRemove(item),
|
|
@@ -9218,7 +9220,7 @@ var HoverCardContent = _react.forwardRef.call(void 0,
|
|
|
9218
9220
|
}, ref) => (
|
|
9219
9221
|
// Portalled so an `overflow: hidden` ancestor (a table cell, a card) cannot
|
|
9220
9222
|
// clip it.
|
|
9221
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HoverCardPrimitive.Portal, { container:
|
|
9223
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HoverCardPrimitive.Portal, { container: _chunk4DQ4CNAGcjs.usePortalContainer.call(void 0, ), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9222
9224
|
HoverCardPrimitive.Content,
|
|
9223
9225
|
{
|
|
9224
9226
|
ref,
|
|
@@ -9228,7 +9230,7 @@ var HoverCardContent = _react.forwardRef.call(void 0,
|
|
|
9228
9230
|
collisionPadding,
|
|
9229
9231
|
avoidCollisions: true,
|
|
9230
9232
|
sticky: "always",
|
|
9231
|
-
className:
|
|
9233
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9232
9234
|
// A height cap with internal scroll is what stops growing content
|
|
9233
9235
|
// from ever exceeding the viewport — which is what forces a flip.
|
|
9234
9236
|
"z-[2147483647] max-h-[min(70vh,560px)] w-64 max-w-[calc(100vw-2rem)] overflow-y-auto overscroll-contain",
|
|
@@ -9294,19 +9296,19 @@ var ModelDisplay = _react2.default.forwardRef(
|
|
|
9294
9296
|
loading = false,
|
|
9295
9297
|
...props
|
|
9296
9298
|
}, ref) => {
|
|
9297
|
-
const isLoading =
|
|
9299
|
+
const isLoading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loading;
|
|
9298
9300
|
const icon = getProviderIcon(provider);
|
|
9299
9301
|
const name = displayName || modelName;
|
|
9300
|
-
const isV2 = useChatAppearance() ===
|
|
9302
|
+
const isV2 = useChatAppearance() === _chunkE2ZZOYSMcjs.CHAT_APPEARANCE.V2;
|
|
9301
9303
|
const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
|
|
9302
9304
|
if (isLoading) {
|
|
9303
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "aria-hidden": true, className:
|
|
9304
|
-
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: PROVIDER_ICON_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9305
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9306
|
-
contextWindow != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9305
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "aria-hidden": true, className: _chunkMGEUZRNQcjs.cn.call(void 0, MODEL_DISPLAY_ROW_CLASS, className), ...props, children: [
|
|
9306
|
+
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: PROVIDER_ICON_BOX_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.MediaSkeleton.Icon, { size: "sm" }) }),
|
|
9307
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-24" }),
|
|
9308
|
+
contextWindow != null && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "ml-auto w-32" })
|
|
9307
9309
|
] });
|
|
9308
9310
|
}
|
|
9309
|
-
const inline = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className:
|
|
9311
|
+
const inline = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunkMGEUZRNQcjs.cn.call(void 0, MODEL_DISPLAY_ROW_CLASS, "text-ods-text-secondary", className), ...props, children: [
|
|
9310
9312
|
icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: PROVIDER_ICON_BOX_CLASS, children: icon }),
|
|
9311
9313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-body", children: name }),
|
|
9312
9314
|
contextWindow != null && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "ml-auto opacity-70 text-h6", children: [
|
|
@@ -9322,7 +9324,7 @@ var ModelDisplay = _react2.default.forwardRef(
|
|
|
9322
9324
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9323
9325
|
HoverCardContent,
|
|
9324
9326
|
{
|
|
9325
|
-
className:
|
|
9327
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-80 p-3", "border-ods-border bg-ods-card text-ods-text-primary"),
|
|
9326
9328
|
align: "end",
|
|
9327
9329
|
sideOffset: 6,
|
|
9328
9330
|
children: [
|
|
@@ -9370,7 +9372,7 @@ function BreakdownRow({
|
|
|
9370
9372
|
isAnswer
|
|
9371
9373
|
}) {
|
|
9372
9374
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between py-1 text-h6", children: [
|
|
9373
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
9375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "text-ods-text-secondary", isAnswer && "font-medium text-ods-text-primary"), children: label }),
|
|
9374
9376
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "tabular-nums text-ods-text-secondary", children: [
|
|
9375
9377
|
input != null ? formatTokenCount(input) : "\u2014",
|
|
9376
9378
|
" in / ",
|
|
@@ -9425,7 +9427,7 @@ function ChatComposer({
|
|
|
9425
9427
|
}, [entityTypes]);
|
|
9426
9428
|
const resolveContextIcon = _react.useCallback.call(void 0, (item) => iconByType.get(item.type), [iconByType]);
|
|
9427
9429
|
const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9428
|
-
|
|
9430
|
+
_chunkE2ZZOYSMcjs.ChatInput,
|
|
9429
9431
|
{
|
|
9430
9432
|
ref: inputRef,
|
|
9431
9433
|
onSend,
|
|
@@ -9505,7 +9507,7 @@ function ChatComposer({
|
|
|
9505
9507
|
onRemove: onRemoveContextItem,
|
|
9506
9508
|
resolveIcon: resolveContextIcon,
|
|
9507
9509
|
disabled: sending || locked,
|
|
9508
|
-
className:
|
|
9510
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
9509
9511
|
"border-b border-ods-border bg-ods-bg p-2",
|
|
9510
9512
|
// Only the TOP strip rounds into the card corner.
|
|
9511
9513
|
memory.length === 0 && "rounded-t-md"
|
|
@@ -9544,7 +9546,7 @@ function ChatArchivePage(props) {
|
|
|
9544
9546
|
onLoadMore,
|
|
9545
9547
|
pageSize
|
|
9546
9548
|
} = props;
|
|
9547
|
-
const firstLoad =
|
|
9549
|
+
const firstLoad = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || (isLoading || isFetching) && dialogs.length === 0;
|
|
9548
9550
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
9549
9551
|
!props.embedded && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9550
9552
|
ChatPanelHeaderMobile,
|
|
@@ -9558,9 +9560,9 @@ function ChatArchivePage(props) {
|
|
|
9558
9560
|
}
|
|
9559
9561
|
),
|
|
9560
9562
|
!props.embedded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden h-14 w-full flex-shrink-0 divide-x divide-ods-border overflow-hidden border-b border-ods-border bg-ods-card md:flex", children: [
|
|
9561
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9563
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: props.onBack, "aria-label": "Back", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFC7N7BQXcjs.Chevron02LeftIcon, { size: 24 }) }),
|
|
9562
9564
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)] py-[var(--spacing-system-sf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h3", children: "Chat Archive" }) }),
|
|
9563
|
-
props.onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9565
|
+
props.onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", className: "w-14", onClick: props.onClose, "aria-label": "Close", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { size: 24 }) })
|
|
9564
9566
|
] }),
|
|
9565
9567
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col p-[var(--spacing-system-m)]", children: firstLoad || dialogs.length > 0 ? (
|
|
9566
9568
|
// The first load is the list's own loading state — the SAME grouped/
|
|
@@ -9595,16 +9597,16 @@ function ChatArchivePage(props) {
|
|
|
9595
9597
|
|
|
9596
9598
|
// src/components/chat/utils/execute-navigation.ts
|
|
9597
9599
|
function isForeignOriginHref(href) {
|
|
9598
|
-
return /^https?:\/\//i.test(href) && !
|
|
9600
|
+
return /^https?:\/\//i.test(href) && !_chunkODDUGLYFcjs.isSameOriginAbsoluteHref.call(void 0, href);
|
|
9599
9601
|
}
|
|
9600
9602
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
9601
|
-
const isNewTab = runtime ?
|
|
9603
|
+
const isNewTab = runtime ? _chunkODDUGLYFcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
9602
9604
|
if (isNewTab) {
|
|
9603
9605
|
if (_optionalChain([runtime, 'optionalAccess', _205 => _205.navigation, 'access', _206 => _206.openExternal])) runtime.navigation.openExternal(href);
|
|
9604
|
-
else window.open(href, "_blank",
|
|
9606
|
+
else window.open(href, "_blank", _chunk5XAWVXNIcjs.NEW_TAB_FEATURES);
|
|
9605
9607
|
return;
|
|
9606
9608
|
}
|
|
9607
|
-
const target = isForeignOriginHref(href) ? href :
|
|
9609
|
+
const target = isForeignOriginHref(href) ? href : _chunk5XAWVXNIcjs.stripSameOriginToPath.call(void 0, href);
|
|
9608
9610
|
if (target.includes("#") && _chunkOJZBZH56cjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkOJZBZH56cjs.STICKY_HEADER_OFFSET_PX })) {
|
|
9609
9611
|
return;
|
|
9610
9612
|
}
|
|
@@ -9655,8 +9657,8 @@ function useNavLinkViaRuntime({
|
|
|
9655
9657
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
9656
9658
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
9657
9659
|
const panel = useChatPanel();
|
|
9658
|
-
const resolvedHref =
|
|
9659
|
-
const isNewTab =
|
|
9660
|
+
const resolvedHref = _chunk5XAWVXNIcjs.resolveHrefForRuntime.call(void 0, href, runtime);
|
|
9661
|
+
const isNewTab = _chunkODDUGLYFcjs.computeIsNewTab.call(void 0, runtime, resolvedHref, _nullishCoalesce(targetPlatform, () => ( null)));
|
|
9660
9662
|
const onClick = (e) => {
|
|
9661
9663
|
_optionalChain([onClickProp, 'optionalCall', _210 => _210(e)]);
|
|
9662
9664
|
if (e.defaultPrevented) return;
|
|
@@ -9670,7 +9672,7 @@ function useNavLinkViaRuntime({
|
|
|
9670
9672
|
});
|
|
9671
9673
|
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _211 => _211.closeChat])) panel.closeChat();
|
|
9672
9674
|
};
|
|
9673
|
-
const attrs =
|
|
9675
|
+
const attrs = _chunkODDUGLYFcjs.newTabAnchorAttrs.call(void 0, isNewTab);
|
|
9674
9676
|
return {
|
|
9675
9677
|
href: resolvedHref,
|
|
9676
9678
|
...attrs,
|
|
@@ -9733,7 +9735,7 @@ function SourceActionButton({
|
|
|
9733
9735
|
const IconComponent = isDisplay ? _lucidereact.FileText : _lucidereact.MessageSquare;
|
|
9734
9736
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: styles.iconSize });
|
|
9735
9737
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9736
|
-
|
|
9738
|
+
_chunkFLS6DZENcjs.Button,
|
|
9737
9739
|
{
|
|
9738
9740
|
variant: "transparent",
|
|
9739
9741
|
size: styles.size,
|
|
@@ -9815,8 +9817,8 @@ function UserDisplay({
|
|
|
9815
9817
|
compact = false,
|
|
9816
9818
|
className
|
|
9817
9819
|
}) {
|
|
9818
|
-
const avatarSrc =
|
|
9819
|
-
if (
|
|
9820
|
+
const avatarSrc = _chunk5XAWVXNIcjs.useProxiedImageUrl.call(void 0, avatarUrl);
|
|
9821
|
+
if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, )) {
|
|
9820
9822
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9821
9823
|
UserDisplaySkeleton,
|
|
9822
9824
|
{
|
|
@@ -9828,10 +9830,10 @@ function UserDisplay({
|
|
|
9828
9830
|
}
|
|
9829
9831
|
);
|
|
9830
9832
|
}
|
|
9831
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
9832
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9833
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, USER_ROW_CLASS, className), children: [
|
|
9834
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { src: avatarSrc || void 0, fallback: name, alt: name, sizePx: size, variant: shape }),
|
|
9833
9835
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
|
|
9834
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
9836
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, "truncate text-ods-text-primary", compact ? "text-h6" : "text-h4"), children: name }),
|
|
9835
9837
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: subtitle })
|
|
9836
9838
|
] })
|
|
9837
9839
|
] });
|
|
@@ -9843,11 +9845,11 @@ function UserDisplaySkeleton({
|
|
|
9843
9845
|
subtitle = false,
|
|
9844
9846
|
className
|
|
9845
9847
|
}) {
|
|
9846
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
9847
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9848
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, USER_ROW_CLASS, className), "aria-hidden": true, children: [
|
|
9849
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZJS45HQZcjs.SquareAvatar, { loading: true, sizePx: size, variant: shape }),
|
|
9848
9850
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
|
|
9849
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9850
|
-
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9851
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: compact ? "h6" : "h4", className: "w-28" }),
|
|
9852
|
+
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-16" })
|
|
9851
9853
|
] })
|
|
9852
9854
|
] });
|
|
9853
9855
|
}
|
|
@@ -9872,19 +9874,19 @@ function CardHitLayer({
|
|
|
9872
9874
|
...a11y,
|
|
9873
9875
|
onClick,
|
|
9874
9876
|
onPointerDown,
|
|
9875
|
-
className:
|
|
9877
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, HIT_LAYER_BASE, className)
|
|
9876
9878
|
}
|
|
9877
9879
|
);
|
|
9878
9880
|
}
|
|
9879
9881
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9880
|
-
|
|
9882
|
+
_chunkFLS6DZENcjs.Button,
|
|
9881
9883
|
{
|
|
9882
9884
|
variant: "card",
|
|
9883
9885
|
type: "button",
|
|
9884
9886
|
...a11y,
|
|
9885
9887
|
onClick,
|
|
9886
9888
|
onPointerDown,
|
|
9887
|
-
className:
|
|
9889
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "absolute inset-0 h-full", className)
|
|
9888
9890
|
}
|
|
9889
9891
|
);
|
|
9890
9892
|
}
|
|
@@ -9990,7 +9992,7 @@ function CardsStrip(props) {
|
|
|
9990
9992
|
className,
|
|
9991
9993
|
skeleton
|
|
9992
9994
|
} = props;
|
|
9993
|
-
const inScope =
|
|
9995
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
9994
9996
|
const childrenMode = props.renderCard === void 0;
|
|
9995
9997
|
const childItems = _react.useMemo.call(void 0,
|
|
9996
9998
|
() => childrenMode ? _react2.default.Children.toArray(props.children) : EMPTY_CHILDREN,
|
|
@@ -10280,10 +10282,10 @@ function CardsStrip(props) {
|
|
|
10280
10282
|
}
|
|
10281
10283
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ManagedCell, { item, ctx, cardWidthMobile, cardWidthDesktop });
|
|
10282
10284
|
};
|
|
10283
|
-
const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
10285
|
+
const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk5XAWVXNIcjs.SECTION_HEADING_CLASS} break-words`, children: _chunk5XAWVXNIcjs.accentSentenceMarks.call(void 0, title) });
|
|
10284
10286
|
if (items.length === 0) {
|
|
10285
10287
|
if (!inScope || !skeleton) return null;
|
|
10286
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
10288
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, STRIP_ROOT_CLASS, className), children: [
|
|
10287
10289
|
heading,
|
|
10288
10290
|
headerSlot,
|
|
10289
10291
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: STRIP_TRACK_CLASS, children: Array.from(
|
|
@@ -10310,7 +10312,7 @@ function CardsStrip(props) {
|
|
|
10310
10312
|
wrapperRef.current = node;
|
|
10311
10313
|
_optionalChain([rootRef, 'optionalCall', _233 => _233(node)]);
|
|
10312
10314
|
},
|
|
10313
|
-
className:
|
|
10315
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, STRIP_ROOT_CLASS, className),
|
|
10314
10316
|
children: [
|
|
10315
10317
|
heading,
|
|
10316
10318
|
headerSlot,
|
|
@@ -10363,7 +10365,7 @@ function CardsStrip(props) {
|
|
|
10363
10365
|
),
|
|
10364
10366
|
showChevrons && overflows && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
10365
10367
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10366
|
-
|
|
10368
|
+
_chunkFLS6DZENcjs.Button,
|
|
10367
10369
|
{
|
|
10368
10370
|
type: "button",
|
|
10369
10371
|
variant: "outline",
|
|
@@ -10376,7 +10378,7 @@ function CardsStrip(props) {
|
|
|
10376
10378
|
}
|
|
10377
10379
|
),
|
|
10378
10380
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10379
|
-
|
|
10381
|
+
_chunkFLS6DZENcjs.Button,
|
|
10380
10382
|
{
|
|
10381
10383
|
type: "button",
|
|
10382
10384
|
variant: "outline",
|
|
@@ -10470,7 +10472,7 @@ var VIDEO_BITES_SKELETON_COUNT = Math.ceil(
|
|
|
10470
10472
|
);
|
|
10471
10473
|
function VideoBitesStrip({
|
|
10472
10474
|
bites,
|
|
10473
|
-
title =
|
|
10475
|
+
title = _chunkODDUGLYFcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
10474
10476
|
showTitle = true,
|
|
10475
10477
|
filterPublished = true,
|
|
10476
10478
|
profile = null,
|
|
@@ -10483,16 +10485,16 @@ function VideoBitesStrip({
|
|
|
10483
10485
|
cardHeightMobile = VIDEO_BITES_CARD_HEIGHT_MOBILE_PX,
|
|
10484
10486
|
showChevrons = true,
|
|
10485
10487
|
onBiteNavigate,
|
|
10486
|
-
sortComparator =
|
|
10488
|
+
sortComparator = _chunkODDUGLYFcjs.sortBitesByCreatedAtDesc,
|
|
10487
10489
|
skeletonCount,
|
|
10488
10490
|
className
|
|
10489
10491
|
}) {
|
|
10490
|
-
const inScope =
|
|
10492
|
+
const inScope = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
10491
10493
|
const items = _react.useMemo.call(void 0, () => {
|
|
10492
10494
|
const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
|
|
10493
10495
|
return filtered.sort(sortComparator);
|
|
10494
10496
|
}, [bites, filterPublished, sortComparator]);
|
|
10495
|
-
const warmup =
|
|
10497
|
+
const warmup = _chunkWSBWP7IWcjs.useVideoWarmup.call(void 0, { videoUrl: inScope ? null : _optionalChain([items, 'access', _234 => _234[0], 'optionalAccess', _235 => _235.url]) || null });
|
|
10496
10498
|
if (inScope) {
|
|
10497
10499
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10498
10500
|
VideoBitesStripSkeleton,
|
|
@@ -10565,14 +10567,14 @@ function VideoBiteCardSkeleton({ aspect = "9:16", height, heightMobile, classNam
|
|
|
10565
10567
|
"div",
|
|
10566
10568
|
{
|
|
10567
10569
|
"aria-hidden": true,
|
|
10568
|
-
className:
|
|
10570
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, BITE_CARD_FRAME_CLASS, height !== void 0 ? "shrink-0" : "w-full", className),
|
|
10569
10571
|
style: height !== void 0 ? { maxWidth: STRIP_CELL_MAX_WIDTH } : void 0,
|
|
10570
10572
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10571
10573
|
"div",
|
|
10572
10574
|
{
|
|
10573
|
-
className:
|
|
10575
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, BITE_MEDIA_CLASS, height !== void 0 && BITE_MEDIA_FIXED_HEIGHT_CLASS),
|
|
10574
10576
|
style: biteMediaStyle(cssAspect, height, heightMobile),
|
|
10575
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10577
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: "absolute inset-0 h-full rounded-none" })
|
|
10576
10578
|
}
|
|
10577
10579
|
)
|
|
10578
10580
|
}
|
|
@@ -10581,7 +10583,7 @@ function VideoBiteCardSkeleton({ aspect = "9:16", height, heightMobile, classNam
|
|
|
10581
10583
|
function VideoBitesStripSkeleton({
|
|
10582
10584
|
count = VIDEO_BITES_SKELETON_COUNT,
|
|
10583
10585
|
aspect = "9:16",
|
|
10584
|
-
title =
|
|
10586
|
+
title = _chunkODDUGLYFcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
10585
10587
|
showTitle = true,
|
|
10586
10588
|
headerSlot,
|
|
10587
10589
|
cardHeightDesktop = VIDEO_BITES_CARD_HEIGHT_DESKTOP_PX,
|
|
@@ -10673,14 +10675,14 @@ function VideoBiteCard({
|
|
|
10673
10675
|
ref: titleInputRef,
|
|
10674
10676
|
onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _240 => _240(e.target.value)]),
|
|
10675
10677
|
onClick: (e) => e.stopPropagation(),
|
|
10676
|
-
className:
|
|
10678
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
10677
10679
|
titleClass,
|
|
10678
10680
|
"max-h-10 w-full resize-none overflow-hidden bg-transparent outline-none",
|
|
10679
10681
|
"border-b border-transparent placeholder:text-ods-text-secondary focus:border-ods-border"
|
|
10680
10682
|
)
|
|
10681
10683
|
}
|
|
10682
10684
|
)
|
|
10683
|
-
) : bite.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className:
|
|
10685
|
+
) : bite.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkMGEUZRNQcjs.cn.call(void 0, titleClass, "line-clamp-2"), children: bite.title }),
|
|
10684
10686
|
(profile || hasTarget) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
10685
10687
|
profile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10686
10688
|
UserDisplay,
|
|
@@ -10697,7 +10699,7 @@ function VideoBiteCard({
|
|
|
10697
10699
|
hasTarget && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4TUSPDNScjs.Chevron02RightIcon, { className: "ml-auto h-5 w-5 shrink-0 text-ods-text-primary" })
|
|
10698
10700
|
] })
|
|
10699
10701
|
] });
|
|
10700
|
-
const overlayClass =
|
|
10702
|
+
const overlayClass = _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
10701
10703
|
"absolute inset-x-0 bottom-0 gap-2 border border-ods-border bg-black/75 p-3 shadow-2xl",
|
|
10702
10704
|
"flex flex-col transition-opacity duration-200",
|
|
10703
10705
|
isActive ? "opacity-100" : "opacity-0 group-focus-within/card:opacity-100 group-hover/card:opacity-100",
|
|
@@ -10705,15 +10707,15 @@ function VideoBiteCard({
|
|
|
10705
10707
|
// resting card / player controls.
|
|
10706
10708
|
isActive ? "pointer-events-auto" : "pointer-events-none"
|
|
10707
10709
|
);
|
|
10708
|
-
const hitLayerClass =
|
|
10710
|
+
const hitLayerClass = _chunkMGEUZRNQcjs.cn.call(void 0, "z-[5]", isTouch && !isActive ? "pointer-events-none" : "pointer-events-auto");
|
|
10709
10711
|
const media = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10710
10712
|
"div",
|
|
10711
10713
|
{
|
|
10712
|
-
className:
|
|
10714
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, BITE_MEDIA_CLASS, height !== void 0 && BITE_MEDIA_FIXED_HEIGHT_CLASS),
|
|
10713
10715
|
style: biteMediaStyle(cssAspect, height, heightMobile),
|
|
10714
10716
|
children: [
|
|
10715
10717
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10716
|
-
|
|
10718
|
+
_chunkODDUGLYFcjs.VideoHoverPreviewSurface,
|
|
10717
10719
|
{
|
|
10718
10720
|
url: bite.url,
|
|
10719
10721
|
posterUrl: bite.thumbnail_url,
|
|
@@ -10739,7 +10741,7 @@ function VideoBiteCard({
|
|
|
10739
10741
|
decorative: isClone
|
|
10740
10742
|
}
|
|
10741
10743
|
),
|
|
10742
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
10744
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, overlayClass, "pointer-events-none"), children: overlayContent })
|
|
10743
10745
|
] })
|
|
10744
10746
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: overlayClass, children: overlayContent })
|
|
10745
10747
|
]
|
|
@@ -10751,7 +10753,7 @@ function VideoBiteCard({
|
|
|
10751
10753
|
ref: (node) => _optionalChain([rootRef, 'optionalCall', _241 => _241(node)]),
|
|
10752
10754
|
"aria-hidden": isClone || void 0,
|
|
10753
10755
|
"data-strip-card-key": key,
|
|
10754
|
-
className:
|
|
10756
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "group/card", BITE_CARD_FRAME_CLASS, height !== void 0 ? "shrink-0" : "w-full", className),
|
|
10755
10757
|
style: height !== void 0 ? { maxWidth: STRIP_CELL_MAX_WIDTH } : void 0,
|
|
10756
10758
|
onPointerEnter: handlePointerEnter,
|
|
10757
10759
|
onPointerLeave: handlePointerLeave,
|
|
@@ -10785,7 +10787,7 @@ function EntityVideoSection({
|
|
|
10785
10787
|
title = "Video",
|
|
10786
10788
|
videoSummary,
|
|
10787
10789
|
videoBites,
|
|
10788
|
-
bitesTitle =
|
|
10790
|
+
bitesTitle = _chunkODDUGLYFcjs.DEFAULT_VIDEO_BITES_TITLE,
|
|
10789
10791
|
filterPublishedBites = true,
|
|
10790
10792
|
bitesProfile = null,
|
|
10791
10793
|
bitesHref,
|
|
@@ -10800,7 +10802,7 @@ function EntityVideoSection({
|
|
|
10800
10802
|
skeletonTabs = false
|
|
10801
10803
|
}) {
|
|
10802
10804
|
const captions = useCaptions();
|
|
10803
|
-
const loading =
|
|
10805
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, );
|
|
10804
10806
|
const hasFullVideo = !!(youtubeUrl || mainVideoUrl);
|
|
10805
10807
|
const hasHighlight = !!highlightVideoUrl;
|
|
10806
10808
|
const hasVideo = hasFullVideo || hasHighlight;
|
|
@@ -10820,7 +10822,7 @@ function EntityVideoSection({
|
|
|
10820
10822
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
|
|
10821
10823
|
] }),
|
|
10822
10824
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10823
|
-
|
|
10825
|
+
_chunkODDUGLYFcjs.Video,
|
|
10824
10826
|
{
|
|
10825
10827
|
kind: fullVideoKind,
|
|
10826
10828
|
url: fullVideoUrl,
|
|
@@ -10832,7 +10834,7 @@ function EntityVideoSection({
|
|
|
10832
10834
|
}
|
|
10833
10835
|
) }),
|
|
10834
10836
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10835
|
-
|
|
10837
|
+
_chunkODDUGLYFcjs.Video,
|
|
10836
10838
|
{
|
|
10837
10839
|
url: highlightVideoUrl,
|
|
10838
10840
|
poster: highlightVideoThumbnail,
|
|
@@ -10841,7 +10843,7 @@ function EntityVideoSection({
|
|
|
10841
10843
|
}
|
|
10842
10844
|
) })
|
|
10843
10845
|
] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10844
|
-
|
|
10846
|
+
_chunkODDUGLYFcjs.Video,
|
|
10845
10847
|
{
|
|
10846
10848
|
kind: fullVideoKind,
|
|
10847
10849
|
url: fullVideoUrl,
|
|
@@ -10852,7 +10854,7 @@ function EntityVideoSection({
|
|
|
10852
10854
|
priority
|
|
10853
10855
|
}
|
|
10854
10856
|
) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10855
|
-
|
|
10857
|
+
_chunkODDUGLYFcjs.Video,
|
|
10856
10858
|
{
|
|
10857
10859
|
url: highlightVideoUrl,
|
|
10858
10860
|
poster: highlightVideoThumbnail,
|
|
@@ -10862,7 +10864,7 @@ function EntityVideoSection({
|
|
|
10862
10864
|
}
|
|
10863
10865
|
) : null),
|
|
10864
10866
|
videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
|
|
10865
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${
|
|
10867
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk5XAWVXNIcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
|
|
10866
10868
|
/* @__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 }) })
|
|
10867
10869
|
] }),
|
|
10868
10870
|
videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -10881,13 +10883,13 @@ function EntityVideoSection({
|
|
|
10881
10883
|
] });
|
|
10882
10884
|
}
|
|
10883
10885
|
function EntityVideoSectionSkeleton({ tabs = false, className }) {
|
|
10884
|
-
if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10885
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tabs, { defaultValue: "full-video", className:
|
|
10886
|
+
if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.Video, { loading: true, url: "", layout: "centered", className });
|
|
10887
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tabs, { defaultValue: "full-video", className: _chunkMGEUZRNQcjs.cn.call(void 0, "w-full", className), "aria-hidden": true, inert: true, children: [
|
|
10886
10888
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TabsList, { className: VIDEO_TAB_LIST_CLASS, children: [
|
|
10887
10889
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "full-video", className: VIDEO_TAB_TRIGGER_CLASS, children: FULL_VIDEO_TAB_LABEL }),
|
|
10888
10890
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
|
|
10889
10891
|
] }),
|
|
10890
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10892
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.Video, { loading: true, url: "", layout: "centered" }) })
|
|
10891
10893
|
] });
|
|
10892
10894
|
}
|
|
10893
10895
|
|
|
@@ -10934,38 +10936,38 @@ function designDocPeople(doc) {
|
|
|
10934
10936
|
return people;
|
|
10935
10937
|
}
|
|
10936
10938
|
function designDocMetaLine(doc) {
|
|
10937
|
-
return [_optionalChain([doc, 'access', _246 => _246.author, 'optionalAccess', _247 => _247.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${
|
|
10939
|
+
return [_optionalChain([doc, 'access', _246 => _246.author, 'optionalAccess', _247 => _247.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunk5XAWVXNIcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
|
|
10938
10940
|
}
|
|
10939
10941
|
var DESIGN_DOC_CARD_BODY = "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]";
|
|
10940
10942
|
var DESIGN_DOC_CARD_HEADER = "flex w-full items-center gap-[16px]";
|
|
10941
10943
|
var DESIGN_DOC_CARD_HEADING = "flex min-w-0 flex-1 flex-col";
|
|
10942
|
-
var DESIGN_DOC_CARD_TITLE_ROW = `flex items-center text-h3 ${
|
|
10943
|
-
var DESIGN_DOC_CARD_META_ROW = `flex items-center text-h5 ${
|
|
10944
|
-
var DESIGN_DOC_CARD_SUMMARY_ROW = `flex items-center text-h4 ${
|
|
10944
|
+
var DESIGN_DOC_CARD_TITLE_ROW = `flex items-center text-h3 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[2]}`;
|
|
10945
|
+
var DESIGN_DOC_CARD_META_ROW = `flex items-center text-h5 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[1]}`;
|
|
10946
|
+
var DESIGN_DOC_CARD_SUMMARY_ROW = `flex items-center text-h4 ${_chunkNNNRN4OFcjs.TEXT_LINES_MIN[3]}`;
|
|
10945
10947
|
var DESIGN_DOC_CARD_FOOTER = "flex w-full items-center justify-between gap-2";
|
|
10946
10948
|
function DesignDocCardSkeleton({ className } = {}) {
|
|
10947
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
10949
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className), "aria-hidden": true, children: [
|
|
10948
10950
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
|
|
10949
10951
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADING, children: [
|
|
10950
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10951
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10952
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-3/4" }) }),
|
|
10953
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h5", className: "w-1/3" }) })
|
|
10952
10954
|
] }),
|
|
10953
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10955
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { loading: true, text: "", variant: "button", className: "hidden md:inline-flex" })
|
|
10954
10956
|
] }),
|
|
10955
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10956
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10957
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { loading: true, text: "", variant: "button" }) }),
|
|
10958
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h4", lines: 3, className: "w-full" }) }),
|
|
10957
10959
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
10958
10960
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
|
|
10959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10960
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10961
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.TextLineSkeleton, { type: "h6", className: "w-1/3" }),
|
|
10962
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXAA5LUHCcjs.AvatarStack, { loading: true, people: [], max: 1, size: "xs", className: "shrink-0" })
|
|
10961
10963
|
] })
|
|
10962
10964
|
] });
|
|
10963
10965
|
}
|
|
10964
10966
|
function DesignDocCard({ doc, href, target, rel, className }) {
|
|
10965
10967
|
const readiness = DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)];
|
|
10966
10968
|
const people = designDocPeople(doc);
|
|
10967
|
-
const link =
|
|
10968
|
-
if (
|
|
10969
|
+
const link = _chunkODDUGLYFcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
|
|
10970
|
+
if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocCardSkeleton, { className });
|
|
10969
10971
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
10970
10972
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
|
|
10971
10973
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADING, children: [
|
|
@@ -10973,7 +10975,7 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
10973
10975
|
/* @__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) }) })
|
|
10974
10976
|
] }),
|
|
10975
10977
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10976
|
-
|
|
10978
|
+
_chunkODDUGLYFcjs.StatusBadge,
|
|
10977
10979
|
{
|
|
10978
10980
|
text: readiness.label,
|
|
10979
10981
|
colorScheme: readiness.scheme,
|
|
@@ -10983,15 +10985,15 @@ function DesignDocCard({ doc, href, target, rel, className }) {
|
|
|
10983
10985
|
}
|
|
10984
10986
|
)
|
|
10985
10987
|
] }),
|
|
10986
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10988
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.StatusBadge, { text: readiness.label, colorScheme: readiness.scheme, variant: "button", singleLine: true }) }),
|
|
10987
10989
|
/* @__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 || "" }) }),
|
|
10988
10990
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
|
|
10989
10991
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
|
|
10990
10992
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
|
|
10991
|
-
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10993
|
+
people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXAA5LUHCcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
|
|
10992
10994
|
] })
|
|
10993
10995
|
] });
|
|
10994
|
-
const outer =
|
|
10996
|
+
const outer = _chunkMGEUZRNQcjs.cn.call(void 0, _chunkODDUGLYFcjs.CONTENT_CARD_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className);
|
|
10995
10997
|
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 });
|
|
10996
10998
|
}
|
|
10997
10999
|
|
|
@@ -11096,10 +11098,10 @@ function ReviewStateBadge({ state, className = "" }) {
|
|
|
11096
11098
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-h5 ${paint} ${className}`, children: label });
|
|
11097
11099
|
}
|
|
11098
11100
|
function GitHubActivityCard({ item, variant = "compact", className, anchorProps }) {
|
|
11099
|
-
if (
|
|
11101
|
+
if (_chunkMGEUZRNQcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GitHubActivityCardSkeleton, { variant, className });
|
|
11100
11102
|
const kind = _nullishCoalesce(item.kind, () => ( "commit"));
|
|
11101
11103
|
const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
|
|
11102
|
-
const dateText =
|
|
11104
|
+
const dateText = _chunkZJS45HQZcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
|
|
11103
11105
|
const idLabel = formatActivityId(item.id, kind);
|
|
11104
11106
|
const { display: title, reviewState } = parseGithubTitle(item.title, kind);
|
|
11105
11107
|
const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
|
|
@@ -11133,26 +11135,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
11133
11135
|
metaParts.push(
|
|
11134
11136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
|
|
11135
11137
|
);
|
|
11136
|
-
const href =
|
|
11138
|
+
const href = _chunkODDUGLYFcjs.safeHref.call(void 0, item.url);
|
|
11137
11139
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
11138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
11139
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
11140
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${
|
|
11140
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
|
|
11141
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
11142
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
|
|
11141
11143
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
11142
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
11144
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE, children: primaryText })
|
|
11143
11145
|
] }),
|
|
11144
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
11146
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
|
|
11145
11147
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
|
|
11146
11148
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
11147
11149
|
] }, i)) }) }),
|
|
11148
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
11150
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkODDUGLYFcjs.COMPACT_CARD_SUMMARY, children: _chunkODDUGLYFcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
11149
11151
|
] }),
|
|
11150
11152
|
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
|
|
11151
11153
|
] });
|
|
11152
11154
|
if (anchorProps) {
|
|
11153
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${
|
|
11155
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
|
|
11154
11156
|
}
|
|
11155
|
-
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${
|
|
11157
|
+
return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
11156
11158
|
}
|
|
11157
11159
|
function GitHubActivityCardSkeleton({
|
|
11158
11160
|
variant = "compact",
|
|
@@ -11160,18 +11162,18 @@ function GitHubActivityCardSkeleton({
|
|
|
11160
11162
|
}) {
|
|
11161
11163
|
if (variant === "row") {
|
|
11162
11164
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11163
|
-
|
|
11165
|
+
_chunkODDUGLYFcjs.ActivityRowSkeleton,
|
|
11164
11166
|
{
|
|
11165
11167
|
lead: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-28 shrink-0 items-center gap-2", children: [
|
|
11166
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11167
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11168
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: "h-3.5 w-3.5 rounded" }),
|
|
11169
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { className: "h-3 w-16 rounded" })
|
|
11168
11170
|
] }),
|
|
11169
11171
|
trailingWidths: ["w-40", "w-20"],
|
|
11170
11172
|
className
|
|
11171
11173
|
}
|
|
11172
11174
|
);
|
|
11173
11175
|
}
|
|
11174
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11176
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CompactCardSkeleton, { titleWidth: "w-2/3", rows: [{ width: "w-1/2" }, {}], trailingIcon: true, className });
|
|
11175
11177
|
}
|
|
11176
11178
|
|
|
11177
11179
|
// src/utils/url-fix.ts
|
|
@@ -11247,10 +11249,10 @@ function VendorIconSkeleton({
|
|
|
11247
11249
|
...props
|
|
11248
11250
|
}) {
|
|
11249
11251
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11250
|
-
|
|
11252
|
+
_chunkNNNRN4OFcjs.UnifiedSkeleton,
|
|
11251
11253
|
{
|
|
11252
|
-
className:
|
|
11253
|
-
...
|
|
11254
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, sizeClasses[size], "flex-shrink-0 rounded-lg", className),
|
|
11255
|
+
..._chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props)
|
|
11254
11256
|
}
|
|
11255
11257
|
);
|
|
11256
11258
|
}
|
|
@@ -11263,32 +11265,32 @@ function VendorIcon({
|
|
|
11263
11265
|
loading: loadingProp,
|
|
11264
11266
|
...props
|
|
11265
11267
|
}) {
|
|
11266
|
-
const loading =
|
|
11268
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || !!loadingProp;
|
|
11267
11269
|
const logoUrl = getVendorLogo(vendor);
|
|
11268
|
-
const logoSrc =
|
|
11270
|
+
const logoSrc = _chunk5XAWVXNIcjs.useProxiedImageUrl.call(void 0, logoUrl, { directHttps: false });
|
|
11269
11271
|
const { width, height } = showBackground ? imageSizeMap[size] : { width: tilePxMap[size], height: tilePxMap[size] };
|
|
11270
|
-
const containerClasses =
|
|
11272
|
+
const containerClasses = _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
11271
11273
|
sizeClasses[size],
|
|
11272
11274
|
"flex flex-shrink-0 items-center justify-center rounded-lg",
|
|
11273
11275
|
showBackground && backgroundClasses[backgroundStyle],
|
|
11274
11276
|
!showBackground && "overflow-hidden",
|
|
11275
11277
|
className
|
|
11276
11278
|
);
|
|
11277
|
-
const markers =
|
|
11279
|
+
const markers = _chunkMGEUZRNQcjs.loadingItemProps.call(void 0, props);
|
|
11278
11280
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIconSkeleton, { size, className, ...markers });
|
|
11279
11281
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: containerClasses, ...markers, children: logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11280
|
-
|
|
11282
|
+
_chunk5WMRVMXHcjs.next_image_default,
|
|
11281
11283
|
{
|
|
11282
11284
|
src: logoSrc,
|
|
11283
11285
|
alt: `${vendor.title} logo`,
|
|
11284
11286
|
width,
|
|
11285
11287
|
height,
|
|
11286
|
-
className:
|
|
11288
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0, "object-contain", showBackground ? "p-1" : "h-full w-full")
|
|
11287
11289
|
}
|
|
11288
11290
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11289
11291
|
"div",
|
|
11290
11292
|
{
|
|
11291
|
-
className:
|
|
11293
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
11292
11294
|
"flex items-center justify-center uppercase text-h6",
|
|
11293
11295
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
11294
11296
|
),
|
|
@@ -11309,8 +11311,8 @@ function useChatCardItem(type, id) {
|
|
|
11309
11311
|
const res = await _chunk5GJM7VRRcjs.embedAuthedFetch.call(void 0, url);
|
|
11310
11312
|
if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
|
|
11311
11313
|
const data = await res.json();
|
|
11312
|
-
const items =
|
|
11313
|
-
const match = items.find((it) =>
|
|
11314
|
+
const items = _chunk5XAWVXNIcjs.extractCardItems.call(void 0, type, data);
|
|
11315
|
+
const match = items.find((it) => _chunk5XAWVXNIcjs.extractItemId.call(void 0, type, it) === id);
|
|
11314
11316
|
return _nullishCoalesce(match, () => ( null));
|
|
11315
11317
|
},
|
|
11316
11318
|
enabled: !!url && id.length > 0,
|
|
@@ -11352,9 +11354,9 @@ var TRAILING_CELL_LAYOUT = "w-[56px] self-stretch md:w-[68px]";
|
|
|
11352
11354
|
function CardMedia({ imageSrc, imageAlt, icon }) {
|
|
11353
11355
|
if (imageSrc) {
|
|
11354
11356
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
|
|
11355
|
-
/* @__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:
|
|
11357
|
+
/* @__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: _chunkZJS45HQZcjs.personInitials.call(void 0, imageAlt) || "?" }),
|
|
11356
11358
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11357
|
-
|
|
11359
|
+
_chunk5WMRVMXHcjs.next_image_default,
|
|
11358
11360
|
{
|
|
11359
11361
|
src: imageSrc,
|
|
11360
11362
|
alt: imageAlt || "",
|
|
@@ -11379,17 +11381,17 @@ function MingoInfoCardSkeleton({ className }) {
|
|
|
11379
11381
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11380
11382
|
"span",
|
|
11381
11383
|
{
|
|
11382
|
-
className:
|
|
11384
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
11383
11385
|
"flex w-full items-center gap-[var(--spacing-system-s)] overflow-hidden rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-s)]",
|
|
11384
11386
|
className
|
|
11385
11387
|
),
|
|
11386
11388
|
children: [
|
|
11387
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11389
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block size-10 shrink-0 rounded-md border border-ods-border" }),
|
|
11388
11390
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1.5", children: [
|
|
11389
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11390
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11391
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-4 w-1/2 rounded" }),
|
|
11392
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-3 w-3/4 rounded" })
|
|
11391
11393
|
] }),
|
|
11392
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11394
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNNRN4OFcjs.UnifiedSkeleton, { as: "span", className: "block h-5 w-16 shrink-0 rounded" })
|
|
11393
11395
|
]
|
|
11394
11396
|
}
|
|
11395
11397
|
);
|
|
@@ -11408,7 +11410,7 @@ function MingoInfoCard({
|
|
|
11408
11410
|
loading: loadingProp = false,
|
|
11409
11411
|
className
|
|
11410
11412
|
}) {
|
|
11411
|
-
const loading =
|
|
11413
|
+
const loading = _chunkMGEUZRNQcjs.useLoadingScope.call(void 0, ) || loadingProp;
|
|
11412
11414
|
const hasMedia = !!imageSrc || !!icon;
|
|
11413
11415
|
const action = _react.useContext.call(void 0, MingoInfoCardActionContext);
|
|
11414
11416
|
if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, { className });
|
|
@@ -11424,24 +11426,24 @@ function MingoInfoCard({
|
|
|
11424
11426
|
status ? (
|
|
11425
11427
|
// Reuse the shared Tag palette (single source of truth for colours)
|
|
11426
11428
|
// without rendering Tag's `<div>` — span-only for `<p>` validity.
|
|
11427
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className:
|
|
11429
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkMGEUZRNQcjs.cn.call(void 0, _chunkZJS45HQZcjs.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 }) })
|
|
11428
11430
|
) : null
|
|
11429
11431
|
] });
|
|
11430
|
-
const contentClass =
|
|
11432
|
+
const contentClass = _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
11431
11433
|
"flex min-w-0 flex-1 items-center gap-[var(--spacing-system-s)] overflow-hidden p-[var(--spacing-system-s)] text-left",
|
|
11432
11434
|
isInteractive && "cursor-pointer transition-colors hover:bg-ods-bg-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent active:bg-ods-bg-active"
|
|
11433
11435
|
);
|
|
11434
11436
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
11435
11437
|
"span",
|
|
11436
11438
|
{
|
|
11437
|
-
className:
|
|
11439
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
11438
11440
|
"flex w-full items-center divide-x divide-ods-border overflow-hidden rounded-md border border-ods-border bg-ods-card",
|
|
11439
11441
|
className
|
|
11440
11442
|
),
|
|
11441
11443
|
children: [
|
|
11442
|
-
isAnchor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className:
|
|
11444
|
+
isAnchor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: _chunkMGEUZRNQcjs.cn.call(void 0, contentClass, "no-underline"), children: content }) : onClick ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "row", type: "button", onClick, className: "min-w-0 flex-1 self-stretch", children: content }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: contentClass, children: content }),
|
|
11443
11445
|
action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11444
|
-
|
|
11446
|
+
_chunkFLS6DZENcjs.Button,
|
|
11445
11447
|
{
|
|
11446
11448
|
variant: "cell",
|
|
11447
11449
|
type: "button",
|
|
@@ -11452,12 +11454,12 @@ function MingoInfoCard({
|
|
|
11452
11454
|
}
|
|
11453
11455
|
),
|
|
11454
11456
|
hasMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11455
|
-
|
|
11457
|
+
_chunkFS7CBRF4cjs.ActionsMenuDropdown,
|
|
11456
11458
|
{
|
|
11457
11459
|
groups: menuGroups,
|
|
11458
11460
|
triggerAriaLabel: menuAriaLabel,
|
|
11459
11461
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
11460
|
-
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11462
|
+
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFLS6DZENcjs.Button, { variant: "cell", type: "button", "aria-label": menuAriaLabel, className: TRAILING_CELL_LAYOUT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSWHUL32Wcjs.Ellipsis01Icon, { size: 24 }) })
|
|
11461
11463
|
}
|
|
11462
11464
|
)
|
|
11463
11465
|
]
|
|
@@ -11516,7 +11518,7 @@ function resolveFetchedCardHref({
|
|
|
11516
11518
|
composeContentUrl
|
|
11517
11519
|
}) {
|
|
11518
11520
|
if (!composeContentUrl || !contentRefType || !id) return null;
|
|
11519
|
-
const canonicalType =
|
|
11521
|
+
const canonicalType = _chunk5XAWVXNIcjs.canonicalContentRefType.call(void 0, contentRefType);
|
|
11520
11522
|
return composeContentUrl({
|
|
11521
11523
|
// The card registry keys some entries by the legacy rail vocabulary
|
|
11522
11524
|
// (`blog_post_existing`) because that is what `buildListUrl` expects.
|
|
@@ -11546,7 +11548,7 @@ function sourceRowCtxFromRuntime(runtime, surface = {}) {
|
|
|
11546
11548
|
}
|
|
11547
11549
|
function pickSourceIcon(sourceRepo, documentType) {
|
|
11548
11550
|
const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
|
|
11549
|
-
const icon = iconName ?
|
|
11551
|
+
const icon = iconName ? _chunkCS5SZJFVcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }) : _lucidereact.FileText;
|
|
11550
11552
|
const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
|
|
11551
11553
|
return { icon, iconLabel };
|
|
11552
11554
|
}
|
|
@@ -11566,16 +11568,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
11566
11568
|
if (docTarget) {
|
|
11567
11569
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
11568
11570
|
const base = `${getPlatformUrl(docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
11569
|
-
href = _nullishCoalesce(
|
|
11571
|
+
href = _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
11570
11572
|
targetPlatform = docTarget.platform;
|
|
11571
11573
|
} else if (ctx.chipBasePlatform) {
|
|
11572
11574
|
const base = `${getPlatformUrl(ctx.chipBasePlatform)}/knowledge-base/`;
|
|
11573
|
-
href = _nullishCoalesce(
|
|
11575
|
+
href = _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, new URL(safePath, base).toString()), () => ( null));
|
|
11574
11576
|
targetPlatform = ctx.chipBasePlatform;
|
|
11575
11577
|
} else if (ctx.baseRoute) {
|
|
11576
11578
|
const synthetic = `https://_internal_.local${ctx.baseRoute.startsWith("/") ? ctx.baseRoute : "/" + ctx.baseRoute}/`;
|
|
11577
11579
|
const absolute = new URL(safePath, synthetic).toString();
|
|
11578
|
-
href = _nullishCoalesce(
|
|
11580
|
+
href = _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, absolute.replace("https://_internal_.local", "")), () => ( null));
|
|
11579
11581
|
targetPlatform = _nullishCoalesce(ctx.currentPlatform, () => ( null));
|
|
11580
11582
|
}
|
|
11581
11583
|
}
|
|
@@ -11584,15 +11586,15 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
11584
11586
|
// Canonical vocabulary only — a rail-vocab alias would miss the host's
|
|
11585
11587
|
// `hostedTypes` / `overrides` and fall through to the seam's default
|
|
11586
11588
|
// `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
|
|
11587
|
-
type:
|
|
11589
|
+
type: _chunk5XAWVXNIcjs.canonicalContentRefType.call(void 0, row.documentType),
|
|
11588
11590
|
identifier: idValue,
|
|
11589
11591
|
externalUrl: row.externalUrl,
|
|
11590
11592
|
targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
|
|
11591
11593
|
});
|
|
11592
|
-
href = composed.href ? _nullishCoalesce(
|
|
11594
|
+
href = composed.href ? _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
|
|
11593
11595
|
targetPlatform = composed.targetPlatform;
|
|
11594
11596
|
} else if (row.externalUrl) {
|
|
11595
|
-
href = _nullishCoalesce(
|
|
11597
|
+
href = _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
|
|
11596
11598
|
targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
|
|
11597
11599
|
}
|
|
11598
11600
|
const documentType = row.documentType;
|
|
@@ -11659,7 +11661,7 @@ function resolveCardDestination({
|
|
|
11659
11661
|
itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _261 => _261.fallbackHref, 'optionalCall', _262 => _262(item)]), () => ( null)),
|
|
11660
11662
|
allowComposed: !entry.noComposedHref
|
|
11661
11663
|
});
|
|
11662
|
-
const url = choice ? _nullishCoalesce(
|
|
11664
|
+
const url = choice ? _nullishCoalesce(_chunkODDUGLYFcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
|
|
11663
11665
|
if (choice && url) {
|
|
11664
11666
|
return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
|
|
11665
11667
|
}
|
|
@@ -11672,11 +11674,11 @@ function resolveCardDestination({
|
|
|
11672
11674
|
|
|
11673
11675
|
function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
|
|
11674
11676
|
const label = entityLabel || "Item";
|
|
11675
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${
|
|
11676
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
11677
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className:
|
|
11678
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
11679
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className:
|
|
11677
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
|
|
11678
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkODDUGLYFcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
|
|
11679
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
11680
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkODDUGLYFcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkODDUGLYFcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
|
|
11681
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkODDUGLYFcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
11680
11682
|
label,
|
|
11681
11683
|
" deleted",
|
|
11682
11684
|
recoveryNote ? ` \xB7 ${recoveryNote}` : ""
|
|
@@ -11722,7 +11724,7 @@ function GitHubChatCard({
|
|
|
11722
11724
|
const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
|
|
11723
11725
|
const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
|
|
11724
11726
|
const idLabel = formatActivityId(chatRef.id, kind);
|
|
11725
|
-
const dateText =
|
|
11727
|
+
const dateText = _chunkZJS45HQZcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
|
|
11726
11728
|
const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
|
|
11727
11729
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11728
11730
|
MingoInfoCard,
|
|
@@ -11731,7 +11733,7 @@ function GitHubChatCard({
|
|
|
11731
11733
|
description,
|
|
11732
11734
|
icon: githubKindIcon(kind),
|
|
11733
11735
|
status,
|
|
11734
|
-
anchorProps:
|
|
11736
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11735
11737
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
11736
11738
|
menuAriaLabel: "Activity actions"
|
|
11737
11739
|
}
|
|
@@ -11878,7 +11880,7 @@ function HubspotTicketChatCard({
|
|
|
11878
11880
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
11879
11881
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 24 }),
|
|
11880
11882
|
status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
|
|
11881
|
-
anchorProps:
|
|
11883
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11882
11884
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
11883
11885
|
label: "Open Ticket Details",
|
|
11884
11886
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 20 })
|
|
@@ -11901,7 +11903,7 @@ function FaqChatCard({
|
|
|
11901
11903
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
11902
11904
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFO6DOP6Mcjs.QuestionCircleIcon, { size: 24 }),
|
|
11903
11905
|
status: { label: statusLabel, variant: "grey" },
|
|
11904
|
-
anchorProps:
|
|
11906
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11905
11907
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
11906
11908
|
menuAriaLabel: "FAQ actions"
|
|
11907
11909
|
}
|
|
@@ -11921,7 +11923,7 @@ function SlackChatCard({
|
|
|
11921
11923
|
title,
|
|
11922
11924
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
11923
11925
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZUHFVG4Fcjs.SlackLogoGreyIcon, { size: 24 }),
|
|
11924
|
-
anchorProps:
|
|
11926
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11925
11927
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
11926
11928
|
menuAriaLabel: "Message actions"
|
|
11927
11929
|
}
|
|
@@ -11939,7 +11941,7 @@ function GlyphChatCard({
|
|
|
11939
11941
|
title: chatRef.title,
|
|
11940
11942
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
11941
11943
|
icon,
|
|
11942
|
-
anchorProps:
|
|
11944
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11943
11945
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
11944
11946
|
menuAriaLabel: "Card actions"
|
|
11945
11947
|
}
|
|
@@ -11957,20 +11959,20 @@ function TrustCenterChatCard({
|
|
|
11957
11959
|
}) {
|
|
11958
11960
|
const raw2 = _optionalChain([item, 'optionalAccess', _286 => _286.frameworks]);
|
|
11959
11961
|
const frameworks = Array.isArray(raw2) ? raw2 : [];
|
|
11960
|
-
const summary =
|
|
11962
|
+
const summary = _chunk5XAWVXNIcjs.trustFrameworksSummary.call(void 0, frameworks);
|
|
11961
11963
|
const leadFramework = frameworks[0];
|
|
11962
11964
|
const lead = leadFramework ? {
|
|
11963
|
-
label:
|
|
11964
|
-
color:
|
|
11965
|
+
label: _chunk5XAWVXNIcjs.trustFrameworkBadge.call(void 0, leadFramework),
|
|
11966
|
+
color: _chunk5XAWVXNIcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
|
|
11965
11967
|
} : void 0;
|
|
11966
11968
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11967
11969
|
MingoInfoCard,
|
|
11968
11970
|
{
|
|
11969
|
-
title:
|
|
11970
|
-
description: summary ||
|
|
11971
|
+
title: _chunk5XAWVXNIcjs.TRUST_CENTER_TITLE,
|
|
11972
|
+
description: summary || _chunk5XAWVXNIcjs.TRUST_CENTER_TAGLINE,
|
|
11971
11973
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 24 }),
|
|
11972
11974
|
status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
|
|
11973
|
-
anchorProps:
|
|
11975
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11974
11976
|
menuGroups: cardMenuGroups(chatRef.url, discuss, {
|
|
11975
11977
|
label: "View trust center",
|
|
11976
11978
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 20 })
|
|
@@ -11992,7 +11994,7 @@ function DataRoomDocChatCard({
|
|
|
11992
11994
|
description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
|
|
11993
11995
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
|
|
11994
11996
|
status: { label: badgeText, variant: "grey" },
|
|
11995
|
-
anchorProps:
|
|
11997
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
11996
11998
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
11997
11999
|
menuAriaLabel: "Document actions"
|
|
11998
12000
|
}
|
|
@@ -12011,7 +12013,7 @@ function GenericFinancialChatCard({
|
|
|
12011
12013
|
title: chatRef.title,
|
|
12012
12014
|
description: subtitle,
|
|
12013
12015
|
icon,
|
|
12014
|
-
anchorProps:
|
|
12016
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
12015
12017
|
menuGroups: cardMenuGroups(chatRef.url, discuss),
|
|
12016
12018
|
menuAriaLabel: "Document actions"
|
|
12017
12019
|
}
|
|
@@ -12097,7 +12099,7 @@ function CampaignChatCard({
|
|
|
12097
12099
|
}) {
|
|
12098
12100
|
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _292 => _292.goals])) ? item.goals.length : 0;
|
|
12099
12101
|
const meta = [
|
|
12100
|
-
_optionalChain([item, 'optionalAccess', _293 => _293.start_date]) ?
|
|
12102
|
+
_optionalChain([item, 'optionalAccess', _293 => _293.start_date]) ? _chunk5XAWVXNIcjs.formatDateShort.call(void 0, item.start_date) : null,
|
|
12101
12103
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
12102
12104
|
"Marketing campaign"
|
|
12103
12105
|
].filter(Boolean).join(" \xB7 ");
|
|
@@ -12136,7 +12138,7 @@ function EntityMingoCard({
|
|
|
12136
12138
|
imageAlt: typeof title === "string" ? title : void 0,
|
|
12137
12139
|
icon: fallbackIcon,
|
|
12138
12140
|
status,
|
|
12139
|
-
anchorProps:
|
|
12141
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
|
|
12140
12142
|
menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
|
|
12141
12143
|
menuAriaLabel
|
|
12142
12144
|
}
|
|
@@ -12148,7 +12150,7 @@ function entityCover(image, ogPlaceholder) {
|
|
|
12148
12150
|
function statusPill(status) {
|
|
12149
12151
|
const s = typeof status === "string" ? status.trim() : "";
|
|
12150
12152
|
if (!s) return void 0;
|
|
12151
|
-
const scheme =
|
|
12153
|
+
const scheme = _chunk5XAWVXNIcjs.getStatusColorScheme.call(void 0, s);
|
|
12152
12154
|
const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
|
|
12153
12155
|
return { label: s, variant };
|
|
12154
12156
|
}
|
|
@@ -12239,7 +12241,7 @@ function DesignDocChatCard({
|
|
|
12239
12241
|
description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
|
|
12240
12242
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
|
|
12241
12243
|
status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
|
|
12242
|
-
anchorProps:
|
|
12244
|
+
anchorProps: _chunkODDUGLYFcjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab),
|
|
12243
12245
|
menuGroups: cardMenuGroups(displayRef.url, discuss),
|
|
12244
12246
|
menuAriaLabel: "Design doc actions"
|
|
12245
12247
|
}
|
|
@@ -12257,7 +12259,7 @@ function InvestorUpdateChatCard({
|
|
|
12257
12259
|
EntityMingoCard,
|
|
12258
12260
|
{
|
|
12259
12261
|
title,
|
|
12260
|
-
description: _optionalChain([item, 'optionalAccess', _323 => _323.strategic_update]) || _optionalChain([item, 'optionalAccess', _324 => _324.content]) ||
|
|
12262
|
+
description: _optionalChain([item, 'optionalAccess', _323 => _323.strategic_update]) || _optionalChain([item, 'optionalAccess', _324 => _324.content]) || _chunk5XAWVXNIcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _325 => _325.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _326 => _326.period_end]), () => ( null))) || void 0,
|
|
12261
12263
|
cover: entityCover(_optionalChain([item, 'optionalAccess', _327 => _327.featured_image]), ogPlaceholder),
|
|
12262
12264
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37SGOMF5cjs.PresentationLineIcon, { size: 24 }),
|
|
12263
12265
|
status: { label: "Investor update", variant: "grey" },
|
|
@@ -12301,7 +12303,7 @@ function ProgramChatCard({
|
|
|
12301
12303
|
discuss
|
|
12302
12304
|
}) {
|
|
12303
12305
|
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 });
|
|
12304
|
-
const { line: meta } =
|
|
12306
|
+
const { line: meta } = _chunk5XAWVXNIcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunk5XAWVXNIcjs.programMetaFormatters.call(void 0, _chunk5XAWVXNIcjs.PROGRAM_META_RENDERERS));
|
|
12305
12307
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12306
12308
|
EntityMingoCard,
|
|
12307
12309
|
{
|
|
@@ -12327,10 +12329,10 @@ function RoadmapChatCard({
|
|
|
12327
12329
|
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _337 => _337.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
12328
12330
|
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _338 => _338.customItemId]) != null;
|
|
12329
12331
|
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 });
|
|
12330
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12332
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _339 => _339.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
12331
12333
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
12332
12334
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
12333
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5WMRVMXHcjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
|
|
12334
12336
|
) : defaultIcon;
|
|
12335
12337
|
const clickupHref = clickupTaskUrl(chatRef.id);
|
|
12336
12338
|
const clickupIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk27TMRMOMcjs.ClickupLogoIcon, { size: 20 });
|
|
@@ -12393,11 +12395,11 @@ function refText(ref, key) {
|
|
|
12393
12395
|
return typeof value === "string" && value.length > 0 ? value : null;
|
|
12394
12396
|
}
|
|
12395
12397
|
function VendorGlyph({ title, logoUrl }) {
|
|
12396
|
-
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12398
|
+
if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
|
|
12397
12399
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
|
|
12398
12400
|
}
|
|
12399
12401
|
function SitePageGlyph({ iconName }) {
|
|
12400
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12402
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
|
|
12401
12403
|
}
|
|
12402
12404
|
var GITHUB_CARD_CONFIGS = {
|
|
12403
12405
|
github_commit: { label: "GitHub commit", kind: "commit" },
|
|
@@ -12514,7 +12516,7 @@ function programRegistryEntries() {
|
|
|
12514
12516
|
label: cfg.label,
|
|
12515
12517
|
contentRefType: cfg.contentRefType,
|
|
12516
12518
|
bareInline: true,
|
|
12517
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12519
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.ProgramCard, { loading: true, size: "sm" }),
|
|
12518
12520
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12519
12521
|
ProgramChatCard,
|
|
12520
12522
|
{
|
|
@@ -12555,7 +12557,7 @@ function roadmapRegistryEntries() {
|
|
|
12555
12557
|
bareInline: true,
|
|
12556
12558
|
...cfg.noComposedHref ? { noComposedHref: true } : {},
|
|
12557
12559
|
...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
|
|
12558
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12560
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.RoadmapCard, { loading: true, size: "sm" }),
|
|
12559
12561
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12560
12562
|
RoadmapChatCard,
|
|
12561
12563
|
{
|
|
@@ -12613,12 +12615,12 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12613
12615
|
// projection route; `extractCardItems` turns its object payload into the
|
|
12614
12616
|
// single matched row. Destination is the public page unless the host
|
|
12615
12617
|
// re-homes the type (`composeContentUrl` override).
|
|
12616
|
-
[
|
|
12618
|
+
[_chunk5XAWVXNIcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
|
|
12617
12619
|
label: "Trust center",
|
|
12618
12620
|
bareInline: true,
|
|
12619
|
-
contentRefType:
|
|
12621
|
+
contentRefType: _chunk5XAWVXNIcjs.TRUST_CENTER_DOCUMENT_TYPE,
|
|
12620
12622
|
noComposedHref: true,
|
|
12621
|
-
fallbackHref: () =>
|
|
12623
|
+
fallbackHref: () => _chunk5XAWVXNIcjs.TRUST_CENTER_PAGE_PATH,
|
|
12622
12624
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCard, { loading: true, title: "" }),
|
|
12623
12625
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
|
|
12624
12626
|
},
|
|
@@ -12644,7 +12646,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12644
12646
|
label: "Blog post",
|
|
12645
12647
|
contentRefType: "blog_post_existing",
|
|
12646
12648
|
bareInline: true,
|
|
12647
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12649
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.BlogCard, { loading: true, size: "sm" }),
|
|
12648
12650
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12649
12651
|
BlogChatCard,
|
|
12650
12652
|
{
|
|
@@ -12661,7 +12663,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12661
12663
|
label: "Case study",
|
|
12662
12664
|
contentRefType: "case_study",
|
|
12663
12665
|
bareInline: true,
|
|
12664
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12666
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkODDUGLYFcjs.CaseStudyCard, { loading: true, size: "sm" }),
|
|
12665
12667
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12666
12668
|
CaseStudyChatCard,
|
|
12667
12669
|
{
|
|
@@ -12686,7 +12688,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12686
12688
|
label: "Customer interview",
|
|
12687
12689
|
contentRefType: "customer_interview",
|
|
12688
12690
|
bareInline: true,
|
|
12689
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12691
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.CustomerInterviewCard, { loading: true, size: "sm" }),
|
|
12690
12692
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12691
12693
|
CustomerInterviewChatCard,
|
|
12692
12694
|
{
|
|
@@ -12702,9 +12704,9 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12702
12704
|
label: "Product release",
|
|
12703
12705
|
contentRefType: "product_release",
|
|
12704
12706
|
bareInline: true,
|
|
12705
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12707
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.ProductReleaseCard, { loading: true, size: "sm" }),
|
|
12706
12708
|
render: (item, chatRef, opts) => {
|
|
12707
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _380 => _380.extras, 'optionalAccess', _381 => _381.buildProductReleaseCardProps]), () => (
|
|
12709
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _380 => _380.extras, 'optionalAccess', _381 => _381.buildProductReleaseCardProps]), () => ( _chunk5XAWVXNIcjs.defaultBuildProductReleaseCardProps));
|
|
12708
12710
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12709
12711
|
ProductReleaseChatCard,
|
|
12710
12712
|
{
|
|
@@ -12722,7 +12724,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12722
12724
|
label: "Investor update",
|
|
12723
12725
|
contentRefType: "investor_update",
|
|
12724
12726
|
bareInline: true,
|
|
12725
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12727
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.InvestorUpdateCard, { loading: true, size: "sm" }),
|
|
12726
12728
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12727
12729
|
InvestorUpdateChatCard,
|
|
12728
12730
|
{
|
|
@@ -12740,7 +12742,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
12740
12742
|
bareInline: true,
|
|
12741
12743
|
// "Display" affordance (verbatim guide body) instead of "Ask".
|
|
12742
12744
|
displayAction: true,
|
|
12743
|
-
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12745
|
+
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5XAWVXNIcjs.OnboardingGuideCard, { loading: true, size: "sm" }),
|
|
12744
12746
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12745
12747
|
OnboardingGuideChatCard,
|
|
12746
12748
|
{
|
|
@@ -12813,7 +12815,7 @@ function ChatCardLoader({
|
|
|
12813
12815
|
entry: fetchEntry,
|
|
12814
12816
|
ctx: sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform }),
|
|
12815
12817
|
composeContentUrl: runtime.composeContentUrl,
|
|
12816
|
-
resolveHref: (href) =>
|
|
12818
|
+
resolveHref: (href) => _chunk5XAWVXNIcjs.resolveHrefForRuntime.call(void 0, href, runtime)
|
|
12817
12819
|
});
|
|
12818
12820
|
const hrefResolvedChatRef = {
|
|
12819
12821
|
...chatRef,
|
|
@@ -12824,12 +12826,12 @@ function ChatCardLoader({
|
|
|
12824
12826
|
};
|
|
12825
12827
|
const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
|
|
12826
12828
|
const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
|
|
12827
|
-
const isNewTab =
|
|
12829
|
+
const isNewTab = _chunkODDUGLYFcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
|
|
12828
12830
|
const useDisplay = !!entry.displayAction && !!onDisplay;
|
|
12829
12831
|
const discussFn = useDisplay ? onDisplay : onDiscuss;
|
|
12830
12832
|
const discuss = discussFn ? {
|
|
12831
12833
|
label: useDisplay ? "Display" : "Ask Mingo",
|
|
12832
|
-
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12834
|
+
icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBE4OUWTAcjs.AgentMark, { agent: "mingo", className: "size-5" }),
|
|
12833
12835
|
run: () => discussFn(finalChatRef)
|
|
12834
12836
|
} : void 0;
|
|
12835
12837
|
const renderOpts = {
|
|
@@ -12938,12 +12940,12 @@ function makeBatchDedupKey(item) {
|
|
|
12938
12940
|
return `${item.messageType}:${seq}:${type}:${text2}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
|
|
12939
12941
|
}
|
|
12940
12942
|
function getChatTypeMessageType(chatType) {
|
|
12941
|
-
return chatType ===
|
|
12943
|
+
return chatType === _chunkE2ZZOYSMcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
|
|
12942
12944
|
}
|
|
12943
12945
|
function useChunkCatchup({
|
|
12944
12946
|
dialogId,
|
|
12945
12947
|
onChunkReceived,
|
|
12946
|
-
chatTypes = [
|
|
12948
|
+
chatTypes = [_chunkE2ZZOYSMcjs.CHAT_TYPE.CLIENT],
|
|
12947
12949
|
fetchChunks
|
|
12948
12950
|
}) {
|
|
12949
12951
|
const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
@@ -13904,7 +13906,7 @@ function useChatAttachmentImageGallery() {
|
|
|
13904
13906
|
return () => root.removeEventListener("click", onClick);
|
|
13905
13907
|
}, [viewUrlPrefix]);
|
|
13906
13908
|
const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13907
|
-
|
|
13909
|
+
_chunk5XAWVXNIcjs.ImageGalleryModal,
|
|
13908
13910
|
{
|
|
13909
13911
|
images: state.images,
|
|
13910
13912
|
isOpen: state.isOpen,
|
|
@@ -15066,7 +15068,7 @@ function nullableText(value) {
|
|
|
15066
15068
|
}
|
|
15067
15069
|
function httpsUrl(value) {
|
|
15068
15070
|
const candidate = text(value);
|
|
15069
|
-
if (!candidate ||
|
|
15071
|
+
if (!candidate || _chunkODDUGLYFcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
|
|
15070
15072
|
try {
|
|
15071
15073
|
return new URL(candidate).protocol === "https:" ? candidate : void 0;
|
|
15072
15074
|
} catch (e17) {
|
|
@@ -15650,7 +15652,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15650
15652
|
const status = approvalStatuses[requestId] || "pending";
|
|
15651
15653
|
if (!displayInline(approvalType)) {
|
|
15652
15654
|
const required = _nullishCoalesce(toolCalls.find((c) => c.requiresApproval), () => ( toolCalls[0]));
|
|
15653
|
-
const summary = required ?
|
|
15655
|
+
const summary = required ? _chunkBE4OUWTAcjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
|
|
15654
15656
|
pendingEscalated.set(requestId, {
|
|
15655
15657
|
command: summary,
|
|
15656
15658
|
explanation: _optionalChain([required, 'optionalAccess', _536 => _536.toolExplanation]),
|
|
@@ -15683,7 +15685,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15683
15685
|
if (!call.requiresApproval) continue;
|
|
15684
15686
|
segments = accumulator.addApprovalRequest(
|
|
15685
15687
|
requestId,
|
|
15686
|
-
|
|
15688
|
+
_chunkBE4OUWTAcjs.getCommandText.call(void 0, call),
|
|
15687
15689
|
call.toolExplanation,
|
|
15688
15690
|
approvalType,
|
|
15689
15691
|
status,
|
|
@@ -15762,7 +15764,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
15762
15764
|
if (!call.requiresApproval) continue;
|
|
15763
15765
|
segments = accumulator.addApprovalRequest(
|
|
15764
15766
|
requestId,
|
|
15765
|
-
|
|
15767
|
+
_chunkBE4OUWTAcjs.getCommandText.call(void 0, call),
|
|
15766
15768
|
call.toolExplanation,
|
|
15767
15769
|
escalatedData.approvalType,
|
|
15768
15770
|
status
|
|
@@ -18060,12 +18062,12 @@ function decodeNatsChunk(chunk) {
|
|
|
18060
18062
|
|
|
18061
18063
|
// src/components/chat/utils/process-historical-messages.ts
|
|
18062
18064
|
function getOwnerDisplayName(owner) {
|
|
18063
|
-
if (_optionalChain([owner, 'optionalAccess', _614 => _614.type]) ===
|
|
18065
|
+
if (_optionalChain([owner, 'optionalAccess', _614 => _614.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.ADMIN && owner.user) {
|
|
18064
18066
|
const { firstName, lastName } = owner.user;
|
|
18065
18067
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
18066
18068
|
if (name) return name;
|
|
18067
18069
|
}
|
|
18068
|
-
return _optionalChain([owner, 'optionalAccess', _615 => _615.type]) ===
|
|
18070
|
+
return _optionalChain([owner, 'optionalAccess', _615 => _615.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
18069
18071
|
}
|
|
18070
18072
|
function getOwnerAvatar(owner) {
|
|
18071
18073
|
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _616 => _616.user, 'optionalAccess', _617 => _617.image, 'optionalAccess', _618 => _618.imageUrl]), () => ( void 0));
|
|
@@ -18328,7 +18330,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
18328
18330
|
if (!call.requiresApproval) continue;
|
|
18329
18331
|
accumulator.addApprovalRequest(
|
|
18330
18332
|
event.requestId,
|
|
18331
|
-
|
|
18333
|
+
_chunkBE4OUWTAcjs.getCommandText.call(void 0, call),
|
|
18332
18334
|
call.toolExplanation,
|
|
18333
18335
|
approvalType,
|
|
18334
18336
|
status,
|
|
@@ -18389,7 +18391,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
18389
18391
|
if (!call.requiresApproval) continue;
|
|
18390
18392
|
accumulator.addApprovalRequest(
|
|
18391
18393
|
requestId,
|
|
18392
|
-
|
|
18394
|
+
_chunkBE4OUWTAcjs.getCommandText.call(void 0, call),
|
|
18393
18395
|
call.toolExplanation,
|
|
18394
18396
|
escalatedData.approvalType,
|
|
18395
18397
|
status
|
|
@@ -18497,10 +18499,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
18497
18499
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
18498
18500
|
return;
|
|
18499
18501
|
}
|
|
18500
|
-
const isUserMessage = _optionalChain([msg, 'access', _631 => _631.owner, 'optionalAccess', _632 => _632.type]) ===
|
|
18502
|
+
const isUserMessage = _optionalChain([msg, 'access', _631 => _631.owner, 'optionalAccess', _632 => _632.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _633 => _633.owner, 'optionalAccess', _634 => _634.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.ADMIN;
|
|
18501
18503
|
if (isUserMessage) {
|
|
18502
18504
|
flushAssistantMessage();
|
|
18503
|
-
const userAuthorType = _optionalChain([msg, 'access', _635 => _635.owner, 'optionalAccess', _636 => _636.type]) ===
|
|
18505
|
+
const userAuthorType = _optionalChain([msg, 'access', _635 => _635.owner, 'optionalAccess', _636 => _636.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
18504
18506
|
messageDataArray.forEach((data) => {
|
|
18505
18507
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
18506
18508
|
const rawContext = data.contextItems;
|
|
@@ -18551,7 +18553,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
18551
18553
|
});
|
|
18552
18554
|
const nextMsg = messages[index + 1];
|
|
18553
18555
|
const isLastMessage = index === messages.length - 1;
|
|
18554
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _639 => _639.owner, 'optionalAccess', _640 => _640.type]) ===
|
|
18556
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _639 => _639.owner, 'optionalAccess', _640 => _640.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _641 => _641.owner, 'optionalAccess', _642 => _642.type]) === _chunkE2ZZOYSMcjs.OWNER_TYPE.ADMIN);
|
|
18555
18557
|
if (isLastMessage || nextIsFromUser) {
|
|
18556
18558
|
flushAssistantMessage();
|
|
18557
18559
|
}
|