@flamingo-stack/openframe-frontend-core 0.0.244 → 0.0.246
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/{chunk-STKMIMLP.cjs → chunk-3JRA55FZ.cjs} +12 -12
- package/dist/{chunk-STKMIMLP.cjs.map → chunk-3JRA55FZ.cjs.map} +1 -1
- package/dist/{chunk-DV3YZWGN.cjs → chunk-3TDLFCCS.cjs} +33 -20
- package/dist/chunk-3TDLFCCS.cjs.map +1 -0
- package/dist/{chunk-ORJREQ2W.js → chunk-4XLJWX2N.js} +4 -4
- package/dist/{chunk-P5C732SC.js → chunk-DB4HW42V.js} +6 -6
- package/dist/{chunk-EPXROXYC.cjs → chunk-ESADULCN.cjs} +651 -716
- package/dist/chunk-ESADULCN.cjs.map +1 -0
- package/dist/{chunk-EJ7J4QAD.cjs → chunk-GMFDA36U.cjs} +12 -12
- package/dist/{chunk-EJ7J4QAD.cjs.map → chunk-GMFDA36U.cjs.map} +1 -1
- package/dist/{chunk-PTSAF7T2.js → chunk-LXDA67PW.js} +2 -2
- package/dist/{chunk-APGMNHPY.js → chunk-MKVKVJQQ.js} +32 -19
- package/dist/chunk-MKVKVJQQ.js.map +1 -0
- package/dist/{chunk-M7DPUWAL.js → chunk-NZST65RV.js} +126 -191
- package/dist/chunk-NZST65RV.js.map +1 -0
- package/dist/{chunk-Z6GGYZDR.cjs → chunk-P2G5X6AW.cjs} +27 -27
- package/dist/{chunk-Z6GGYZDR.cjs.map → chunk-P2G5X6AW.cjs.map} +1 -1
- package/dist/chunk-PINAV6VJ.cjs +287 -0
- package/dist/chunk-PINAV6VJ.cjs.map +1 -0
- package/dist/{chunk-NKGNRFSS.js → chunk-QRGODKEG.js} +8 -8
- package/dist/{chunk-FSS2MIEA.cjs → chunk-SGJBUL2Y.cjs} +20 -3
- package/dist/chunk-SGJBUL2Y.cjs.map +1 -0
- package/dist/{chunk-LJGBFD52.js → chunk-VAUI3CND.js} +18 -1
- package/dist/chunk-VAUI3CND.js.map +1 -0
- package/dist/{chunk-OB45JHDY.cjs → chunk-VFKQMAUF.cjs} +3 -3
- package/dist/{chunk-OB45JHDY.cjs.map → chunk-VFKQMAUF.cjs.map} +1 -1
- package/dist/chunk-VI7GW7PE.js +287 -0
- package/dist/chunk-VI7GW7PE.js.map +1 -0
- package/dist/{chunk-RJC3L5DT.cjs → chunk-YJVDQZ5Y.cjs} +7 -7
- package/dist/{chunk-RJC3L5DT.cjs.map → chunk-YJVDQZ5Y.cjs.map} +1 -1
- package/dist/{chunk-WD2MZVJI.js → chunk-ZXECERJ4.js} +5 -5
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +6 -16
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +5 -15
- package/dist/components/chat/types/entities/content-ref.d.ts +5 -20
- package/dist/components/chat/types/entities/content-ref.d.ts.map +1 -1
- package/dist/components/chat/utils/index.d.ts +0 -1
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/contact/index.js +6 -6
- package/dist/components/faq/faq-section.d.ts +7 -1
- package/dist/components/faq/faq-section.d.ts.map +1 -1
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/features/index.js +5 -5
- package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
- package/dist/components/index.cjs +87 -93
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +31 -37
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +30 -30
- package/dist/components/onboarding-guides/index.cjs.map +1 -1
- package/dist/components/onboarding-guides/index.js +11 -11
- package/dist/components/related-content/index.cjs +26 -0
- package/dist/components/related-content/index.cjs.map +1 -0
- package/dist/components/related-content/index.d.ts +2 -0
- package/dist/components/related-content/index.d.ts.map +1 -0
- package/dist/components/related-content/index.js +26 -0
- package/dist/components/related-content/index.js.map +1 -0
- package/dist/components/related-content/related-content-section.d.ts +149 -0
- package/dist/components/related-content/related-content-section.d.ts.map +1 -0
- package/dist/components/tickets/index.cjs +73 -73
- package/dist/components/tickets/index.cjs.map +1 -1
- package/dist/components/tickets/index.js +15 -15
- package/dist/components/ui/index.cjs +9 -19
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +13 -23
- package/dist/embed-shims/index.cjs +3 -3
- package/dist/embed-shims/index.cjs.map +1 -1
- package/dist/embed-shims/index.js +5 -5
- package/dist/index.cjs +17 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +55 -49
- package/dist/types/content-ref.d.ts +35 -0
- package/dist/types/content-ref.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/content-ref-groups.d.ts +58 -0
- package/dist/utils/content-ref-groups.d.ts.map +1 -0
- package/dist/utils/extract-items.d.ts +18 -0
- package/dist/utils/extract-items.d.ts.map +1 -0
- package/dist/utils/index.cjs +81 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +74 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/list-url.d.ts +6 -0
- package/dist/utils/list-url.d.ts.map +1 -1
- package/dist/utils/suggestion-url.d.ts +26 -0
- package/dist/utils/suggestion-url.d.ts.map +1 -0
- package/package.json +7 -1
- package/src/components/chat/chat-message-list.tsx +49 -74
- package/src/components/chat/entity-cards/onboarding-guide-card.tsx +18 -3
- package/src/components/chat/hooks/use-chat-card-item.ts +3 -38
- package/src/components/chat/types/entities/content-ref.ts +5 -21
- package/src/components/chat/utils/index.ts +0 -12
- package/src/components/faq/faq-section.tsx +69 -24
- package/src/components/features/policy-configuration-panel.tsx +0 -1
- package/src/components/index.ts +1 -0
- package/src/components/related-content/index.ts +9 -0
- package/src/components/related-content/related-content-section.tsx +630 -0
- package/src/types/content-ref.ts +34 -0
- package/src/types/index.ts +1 -0
- package/src/utils/content-ref-groups.ts +89 -0
- package/src/utils/extract-items.ts +48 -0
- package/src/utils/index.ts +16 -1
- package/src/utils/list-url.ts +9 -0
- package/src/utils/suggestion-url.ts +39 -0
- package/dist/chunk-APGMNHPY.js.map +0 -1
- package/dist/chunk-DV3YZWGN.cjs.map +0 -1
- package/dist/chunk-EPXROXYC.cjs.map +0 -1
- package/dist/chunk-FSS2MIEA.cjs.map +0 -1
- package/dist/chunk-LJGBFD52.js.map +0 -1
- package/dist/chunk-M7DPUWAL.js.map +0 -1
- package/dist/components/chat/utils/history-merge.d.ts +0 -92
- package/dist/components/chat/utils/history-merge.d.ts.map +0 -1
- package/src/components/chat/__tests__/chat-message-list.test.tsx +0 -92
- package/src/components/chat/utils/__tests__/history-merge.test.ts +0 -339
- package/src/components/chat/utils/history-merge.ts +0 -255
- /package/dist/{chunk-ORJREQ2W.js.map → chunk-4XLJWX2N.js.map} +0 -0
- /package/dist/{chunk-P5C732SC.js.map → chunk-DB4HW42V.js.map} +0 -0
- /package/dist/{chunk-PTSAF7T2.js.map → chunk-LXDA67PW.js.map} +0 -0
- /package/dist/{chunk-NKGNRFSS.js.map → chunk-QRGODKEG.js.map} +0 -0
- /package/dist/{chunk-WD2MZVJI.js.map → chunk-ZXECERJ4.js.map} +0 -0
|
@@ -2,13 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
|
|
9
7
|
|
|
10
8
|
|
|
11
|
-
var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
|
|
12
9
|
|
|
13
10
|
|
|
14
11
|
|
|
@@ -21,20 +18,23 @@ var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
|
|
|
21
18
|
|
|
22
19
|
|
|
23
20
|
|
|
21
|
+
var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
|
|
24
22
|
|
|
25
23
|
|
|
26
24
|
|
|
25
|
+
var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
|
|
27
26
|
|
|
28
|
-
var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
|
|
29
27
|
|
|
28
|
+
var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
|
|
30
29
|
|
|
31
30
|
|
|
32
|
-
var
|
|
31
|
+
var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
|
|
33
32
|
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
|
|
37
|
+
var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
@@ -49,13 +49,13 @@ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
|
|
53
52
|
|
|
54
53
|
|
|
54
|
+
var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
var
|
|
58
|
+
var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
@@ -4397,15 +4397,12 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4397
4397
|
onLoadMoreRef.current = onLoadMore;
|
|
4398
4398
|
const isFetchingRef = _react.useRef.call(void 0, isFetchingNextPage);
|
|
4399
4399
|
isFetchingRef.current = isFetchingNextPage;
|
|
4400
|
-
const dialogIdRef = _react.useRef.call(void 0, dialogId);
|
|
4401
|
-
dialogIdRef.current = dialogId;
|
|
4402
4400
|
const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
|
|
4403
|
-
const
|
|
4401
|
+
const prependRef = _react.useRef.call(void 0, { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 });
|
|
4404
4402
|
_react.useEffect.call(void 0, () => {
|
|
4405
4403
|
if (!autoScroll) return;
|
|
4406
4404
|
const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
|
|
4407
4405
|
const prevCount = prevRenderRef.current.messageCount;
|
|
4408
|
-
const prevLastId = prevRenderRef.current.lastMessageId;
|
|
4409
4406
|
const newCount = messages.length;
|
|
4410
4407
|
const currentLastId = _optionalChain([messages, 'access', _63 => _63[messages.length - 1], 'optionalAccess', _64 => _64.id]);
|
|
4411
4408
|
prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
|
|
@@ -4418,8 +4415,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4418
4415
|
return;
|
|
4419
4416
|
}
|
|
4420
4417
|
if (newCount > prevCount) {
|
|
4421
|
-
const
|
|
4422
|
-
const newSlice = prevLastIdx >= 0 ? messages.slice(prevLastIdx + 1) : messages.slice(prevCount);
|
|
4418
|
+
const newSlice = messages.slice(prevCount);
|
|
4423
4419
|
const hasNewUser = newSlice.some((m) => m.role === "user");
|
|
4424
4420
|
if (hasNewUser) {
|
|
4425
4421
|
void scrollToBottom({ animation: "instant", ignoreEscapes: true });
|
|
@@ -4443,17 +4439,34 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4443
4439
|
}, [autoScroll, messages, dialogId, scrollToBottom, contentRef]);
|
|
4444
4440
|
_react.useLayoutEffect.call(void 0, () => {
|
|
4445
4441
|
const el = scrollRef.current;
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
if (anchor.dialogId !== dialogId) {
|
|
4449
|
-
loadOlderAnchorRef.current = null;
|
|
4442
|
+
if (!el) {
|
|
4443
|
+
prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
|
|
4450
4444
|
return;
|
|
4451
4445
|
}
|
|
4452
|
-
const
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4446
|
+
const currentFirstId = _optionalChain([messages, 'access', _65 => _65[0], 'optionalAccess', _66 => _66.id]);
|
|
4447
|
+
const currentFirstContent = _optionalChain([messages, 'access', _67 => _67[0], 'optionalAccess', _68 => _68.content]);
|
|
4448
|
+
const prevFirstId = prependRef.current.firstMessageId;
|
|
4449
|
+
const prevHeight = prependRef.current.scrollHeight;
|
|
4450
|
+
if (currentFirstId !== prevFirstId) {
|
|
4451
|
+
if (prevFirstId && prevHeight > 0) {
|
|
4452
|
+
const prevIdx = messages.findIndex((m) => m.id === prevFirstId);
|
|
4453
|
+
if (prevIdx > 0) {
|
|
4454
|
+
const addedHeight = el.scrollHeight - prevHeight;
|
|
4455
|
+
if (addedHeight > 0) el.scrollTop += addedHeight;
|
|
4456
|
+
}
|
|
4457
|
+
}
|
|
4458
|
+
prependRef.current = {
|
|
4459
|
+
firstMessageId: currentFirstId,
|
|
4460
|
+
firstMessageContent: currentFirstContent,
|
|
4461
|
+
scrollHeight: el.scrollHeight
|
|
4462
|
+
};
|
|
4463
|
+
return;
|
|
4464
|
+
}
|
|
4465
|
+
prependRef.current.scrollHeight = el.scrollHeight;
|
|
4466
|
+
if (currentFirstContent !== prependRef.current.firstMessageContent) {
|
|
4467
|
+
prependRef.current.firstMessageContent = currentFirstContent;
|
|
4468
|
+
}
|
|
4469
|
+
}, [messages, scrollRef]);
|
|
4457
4470
|
const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
4458
4471
|
const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
4459
4472
|
const getRegisterMessageEl = (id) => {
|
|
@@ -4506,7 +4519,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4506
4519
|
ro.observe(node);
|
|
4507
4520
|
const timer = setTimeout(() => {
|
|
4508
4521
|
ro.disconnect();
|
|
4509
|
-
if (_optionalChain([anchorWatcherRef, 'access',
|
|
4522
|
+
if (_optionalChain([anchorWatcherRef, 'access', _69 => _69.current, 'optionalAccess', _70 => _70.id]) === last.id) {
|
|
4510
4523
|
anchorWatcherRef.current = null;
|
|
4511
4524
|
}
|
|
4512
4525
|
}, 2e3);
|
|
@@ -4525,22 +4538,14 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4525
4538
|
const entry = entries[0];
|
|
4526
4539
|
if (!entry) return;
|
|
4527
4540
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
4528
|
-
|
|
4529
|
-
if (el) {
|
|
4530
|
-
loadOlderAnchorRef.current = {
|
|
4531
|
-
dialogId: dialogIdRef.current,
|
|
4532
|
-
scrollHeight: el.scrollHeight,
|
|
4533
|
-
scrollTop: el.scrollTop
|
|
4534
|
-
};
|
|
4535
|
-
}
|
|
4536
|
-
_optionalChain([onLoadMoreRef, 'access', _67 => _67.current, 'optionalCall', _68 => _68()]);
|
|
4541
|
+
_optionalChain([onLoadMoreRef, 'access', _71 => _71.current, 'optionalCall', _72 => _72()]);
|
|
4537
4542
|
}
|
|
4538
4543
|
},
|
|
4539
4544
|
{ root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
|
|
4540
4545
|
);
|
|
4541
4546
|
observer.observe(sentinelElement);
|
|
4542
4547
|
return () => observer.disconnect();
|
|
4543
|
-
}, [hasNextPage,
|
|
4548
|
+
}, [hasNextPage, scrollRef]);
|
|
4544
4549
|
_react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
|
|
4545
4550
|
if (isLoading) {
|
|
4546
4551
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4561,8 +4566,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
4561
4566
|
contentRef(el);
|
|
4562
4567
|
};
|
|
4563
4568
|
const lastMessage = messages[messages.length - 1];
|
|
4564
|
-
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess',
|
|
4565
|
-
const lastSegment = _optionalChain([lastSegments, 'optionalAccess',
|
|
4569
|
+
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _73 => _73.content])) ? lastMessage.content : null;
|
|
4570
|
+
const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _74 => _74[lastSegments.length - 1]]);
|
|
4566
4571
|
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
4567
4572
|
const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
|
|
4568
4573
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
@@ -4661,9 +4666,9 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
4661
4666
|
// src/utils/image-proxy.ts
|
|
4662
4667
|
function getProxiedImageUrl(imageUrl, options) {
|
|
4663
4668
|
if (!imageUrl) return null;
|
|
4664
|
-
const proxyPrefix = _optionalChain([options, 'optionalAccess',
|
|
4665
|
-
const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
4666
|
-
const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
4669
|
+
const proxyPrefix = _optionalChain([options, 'optionalAccess', _75 => _75.proxyPrefix]);
|
|
4670
|
+
const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _76 => _76.skipDomains]), () => ( []));
|
|
4671
|
+
const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _77 => _77.directHttps]), () => ( false));
|
|
4667
4672
|
if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
|
|
4668
4673
|
return imageUrl;
|
|
4669
4674
|
}
|
|
@@ -4829,7 +4834,7 @@ var ChatTicketItem = React11.forwardRef(
|
|
|
4829
4834
|
{
|
|
4830
4835
|
ref,
|
|
4831
4836
|
type: "button",
|
|
4832
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
4837
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _78 => _78(ticket.id)]),
|
|
4833
4838
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
4834
4839
|
"flex items-center gap-4 w-full h-20 px-4",
|
|
4835
4840
|
"bg-ods-card border-b border-ods-border",
|
|
@@ -5082,11 +5087,11 @@ function MingoChatHistoryRow({
|
|
|
5082
5087
|
{
|
|
5083
5088
|
role: "button",
|
|
5084
5089
|
tabIndex: 0,
|
|
5085
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
5090
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _79 => _79(dialog.id)]),
|
|
5086
5091
|
onKeyDown: (e) => {
|
|
5087
5092
|
if (e.key === "Enter" || e.key === " ") {
|
|
5088
5093
|
e.preventDefault();
|
|
5089
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
5094
|
+
_optionalChain([onSelect, 'optionalCall', _80 => _80(dialog.id)]);
|
|
5090
5095
|
}
|
|
5091
5096
|
},
|
|
5092
5097
|
className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-s)] cursor-pointer focus:outline-none focus-visible:bg-ods-bg-hover",
|
|
@@ -5219,7 +5224,7 @@ function MingoChatHistory({
|
|
|
5219
5224
|
const io = new IntersectionObserver(
|
|
5220
5225
|
([entry]) => {
|
|
5221
5226
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
5222
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
5227
|
+
_optionalChain([onLoadMoreRef, 'access', _81 => _81.current, 'optionalCall', _82 => _82()]);
|
|
5223
5228
|
}
|
|
5224
5229
|
},
|
|
5225
5230
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -5721,7 +5726,7 @@ function GuideWelcome({
|
|
|
5721
5726
|
"button",
|
|
5722
5727
|
{
|
|
5723
5728
|
type: "button",
|
|
5724
|
-
onClick: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
5729
|
+
onClick: () => _optionalChain([onQuickAction, 'optionalCall', _83 => _83(action)]),
|
|
5725
5730
|
className: "rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
|
|
5726
5731
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: "outline", label: action.label })
|
|
5727
5732
|
},
|
|
@@ -5736,7 +5741,7 @@ function GuideWelcome({
|
|
|
5736
5741
|
items: overflowActions.map((action) => ({
|
|
5737
5742
|
id: action.id,
|
|
5738
5743
|
label: action.label,
|
|
5739
|
-
onClick: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
5744
|
+
onClick: () => _optionalChain([onQuickAction, 'optionalCall', _84 => _84(action)])
|
|
5740
5745
|
}))
|
|
5741
5746
|
}],
|
|
5742
5747
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -6066,7 +6071,7 @@ function ChatDialogModals({
|
|
|
6066
6071
|
RenameChatModal,
|
|
6067
6072
|
{
|
|
6068
6073
|
isOpen: renameTarget != null,
|
|
6069
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
6074
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _85 => _85.title]), () => ( "")),
|
|
6070
6075
|
onClose: () => setRenameTarget(null),
|
|
6071
6076
|
onSave: onConfirmRename
|
|
6072
6077
|
}
|
|
@@ -6327,7 +6332,7 @@ function ChatAttachmentAddButton({
|
|
|
6327
6332
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
6328
6333
|
const handlePick = () => {
|
|
6329
6334
|
if (!canAddMore) return;
|
|
6330
|
-
_optionalChain([fileInputRef, 'access',
|
|
6335
|
+
_optionalChain([fileInputRef, 'access', _86 => _86.current, 'optionalAccess', _87 => _87.click, 'call', _88 => _88()]);
|
|
6331
6336
|
};
|
|
6332
6337
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
6333
6338
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -6865,8 +6870,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
6865
6870
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
6866
6871
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
6867
6872
|
const handleClick = (e) => {
|
|
6868
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
6869
|
-
_optionalChain([onClick, 'optionalCall',
|
|
6873
|
+
_optionalChain([onDialogSelect, 'optionalCall', _89 => _89(dialog.id)]);
|
|
6874
|
+
_optionalChain([onClick, 'optionalCall', _90 => _90(e)]);
|
|
6870
6875
|
};
|
|
6871
6876
|
const formatTimestamp2 = (timestamp) => {
|
|
6872
6877
|
if (!timestamp) return "";
|
|
@@ -6925,7 +6930,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6925
6930
|
(entries) => {
|
|
6926
6931
|
const [entry] = entries;
|
|
6927
6932
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
6928
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
6933
|
+
_optionalChain([onLoadMoreRef, 'access', _91 => _91.current, 'optionalCall', _92 => _92()]);
|
|
6929
6934
|
}
|
|
6930
6935
|
},
|
|
6931
6936
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -7032,7 +7037,7 @@ function decideNewTab(input) {
|
|
|
7032
7037
|
function computeIsNewTab(runtime, href, targetPlatform) {
|
|
7033
7038
|
if (!href) return false;
|
|
7034
7039
|
if (runtime.navigation.mode === "embed") return true;
|
|
7035
|
-
return _nullishCoalesce(_optionalChain([runtime, 'access',
|
|
7040
|
+
return _nullishCoalesce(_optionalChain([runtime, 'access', _93 => _93.navigation, 'access', _94 => _94.decideNewTab, 'optionalCall', _95 => _95({ href, targetPlatform })]), () => ( decideNewTab({
|
|
7036
7041
|
href,
|
|
7037
7042
|
targetPlatform,
|
|
7038
7043
|
currentSource: _nullishCoalesce(runtime.source, () => ( ""))
|
|
@@ -7096,11 +7101,11 @@ function resolveExternalNavigation(args) {
|
|
|
7096
7101
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
7097
7102
|
const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
7098
7103
|
if (isNewTab) {
|
|
7099
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
7104
|
+
if (_optionalChain([runtime, 'optionalAccess', _96 => _96.navigation, 'access', _97 => _97.openExternal])) runtime.navigation.openExternal(href);
|
|
7100
7105
|
else window.open(href, "_blank", NEW_TAB_FEATURES);
|
|
7101
7106
|
return;
|
|
7102
7107
|
}
|
|
7103
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
7108
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _98 => _98.navigation, 'access', _99 => _99.navigate, 'optionalCall', _100 => _100({ href, path, targetPlatform })]), () => ( false));
|
|
7104
7109
|
if (!handled) {
|
|
7105
7110
|
const target = stripSameOriginToPath(href);
|
|
7106
7111
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
@@ -7166,7 +7171,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
7166
7171
|
path,
|
|
7167
7172
|
targetPlatform
|
|
7168
7173
|
}, router.push);
|
|
7169
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
7174
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _101 => _101.closeChat])) panel.closeChat();
|
|
7170
7175
|
};
|
|
7171
7176
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7172
7177
|
"a",
|
|
@@ -7287,7 +7292,7 @@ function EntityAuthorCard({
|
|
|
7287
7292
|
renderEmptyAuthor = false,
|
|
7288
7293
|
className
|
|
7289
7294
|
}) {
|
|
7290
|
-
const hasAuthor = !!_optionalChain([author, 'optionalAccess',
|
|
7295
|
+
const hasAuthor = !!_optionalChain([author, 'optionalAccess', _102 => _102.full_name]);
|
|
7291
7296
|
if (!hasAuthor && !renderEmptyAuthor) return null;
|
|
7292
7297
|
const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
|
|
7293
7298
|
const formatted = publishedAt ? formatDate(publishedAt) : "";
|
|
@@ -7623,8 +7628,8 @@ function AdminContentCard({
|
|
|
7623
7628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['DM_Sans'] font-bold text-ods-text-primary text-[18px] leading-snug line-clamp-2 break-words", children: title }),
|
|
7624
7629
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
|
|
7625
7630
|
summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-relaxed text-ods-text-secondary line-clamp-2", children: summary }),
|
|
7626
|
-
(Number(_optionalChain([platforms, 'optionalAccess',
|
|
7627
|
-
_optionalChain([platforms, 'optionalAccess',
|
|
7631
|
+
(Number(_optionalChain([platforms, 'optionalAccess', _103 => _103.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
7632
|
+
_optionalChain([platforms, 'optionalAccess', _104 => _104.map, 'call', _105 => _105((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
7628
7633
|
PlatformBadge,
|
|
7629
7634
|
{
|
|
7630
7635
|
platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
|
|
@@ -7700,7 +7705,7 @@ function fetchPriorityProp(priority) {
|
|
|
7700
7705
|
|
|
7701
7706
|
if (typeof window !== "undefined") {
|
|
7702
7707
|
const w = window;
|
|
7703
|
-
if (!_optionalChain([w, 'access',
|
|
7708
|
+
if (!_optionalChain([w, 'access', _106 => _106.chrome, 'optionalAccess', _107 => _107.cast])) {
|
|
7704
7709
|
w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
|
|
7705
7710
|
}
|
|
7706
7711
|
}
|
|
@@ -7890,7 +7895,7 @@ function YouTubeFacadeInner({
|
|
|
7890
7895
|
const iframe = iframeRef.current;
|
|
7891
7896
|
if (!iframe) return;
|
|
7892
7897
|
function subscribe() {
|
|
7893
|
-
_optionalChain([iframe, 'optionalAccess',
|
|
7898
|
+
_optionalChain([iframe, 'optionalAccess', _108 => _108.contentWindow, 'optionalAccess', _109 => _109.postMessage, 'call', _110 => _110(
|
|
7894
7899
|
'{"event":"listening"}',
|
|
7895
7900
|
YT_NOCOOKIE_ORIGIN
|
|
7896
7901
|
)]);
|
|
@@ -7908,13 +7913,13 @@ function YouTubeFacadeInner({
|
|
|
7908
7913
|
return;
|
|
7909
7914
|
}
|
|
7910
7915
|
if (!payload || payload.event !== "infoDelivery") return;
|
|
7911
|
-
const state = _optionalChain([payload, 'access',
|
|
7916
|
+
const state = _optionalChain([payload, 'access', _111 => _111.info, 'optionalAccess', _112 => _112.playerState]);
|
|
7912
7917
|
if (typeof state !== "number") return;
|
|
7913
7918
|
if (state === YT_STATE_PLAYING) {
|
|
7914
7919
|
if (blurTimer !== null) return;
|
|
7915
7920
|
blurTimer = setTimeout(() => {
|
|
7916
7921
|
blurTimer = null;
|
|
7917
|
-
_optionalChain([iframeRef, 'access',
|
|
7922
|
+
_optionalChain([iframeRef, 'access', _113 => _113.current, 'optionalAccess', _114 => _114.blur, 'call', _115 => _115()]);
|
|
7918
7923
|
}, YT_PLAYING_BLUR_DELAY_MS);
|
|
7919
7924
|
return;
|
|
7920
7925
|
}
|
|
@@ -8499,7 +8504,7 @@ function ProductReleaseCard({
|
|
|
8499
8504
|
changelogCounts
|
|
8500
8505
|
}) {
|
|
8501
8506
|
if (size === "lg") {
|
|
8502
|
-
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess',
|
|
8507
|
+
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _116 => _116.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _117 => _117.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _118 => _118.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _119 => _119.breaking]), () => ( 0)));
|
|
8503
8508
|
const valueCells = [
|
|
8504
8509
|
releaseType && releaseTypeBadgeColor ? {
|
|
8505
8510
|
value: releaseType.toUpperCase(),
|
|
@@ -8518,7 +8523,7 @@ function ProductReleaseCard({
|
|
|
8518
8523
|
uppercase: false
|
|
8519
8524
|
} : { value: "\u2014", label: "Released", uppercase: false }
|
|
8520
8525
|
];
|
|
8521
|
-
const effectiveAuthor = _optionalChain([author, 'optionalAccess',
|
|
8526
|
+
const effectiveAuthor = _optionalChain([author, 'optionalAccess', _120 => _120.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
|
|
8522
8527
|
const gridColsClass = "md:grid-cols-4";
|
|
8523
8528
|
const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
|
|
8524
8529
|
const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -8931,10 +8936,10 @@ function buildProductReleaseCardProps(item) {
|
|
|
8931
8936
|
job_title: release.author.job_title
|
|
8932
8937
|
} : void 0,
|
|
8933
8938
|
changelogCounts: {
|
|
8934
|
-
features: _nullishCoalesce(_optionalChain([release, 'access',
|
|
8935
|
-
fixes: _nullishCoalesce(_optionalChain([release, 'access',
|
|
8936
|
-
improvements: _nullishCoalesce(_optionalChain([release, 'access',
|
|
8937
|
-
breaking: _nullishCoalesce(_optionalChain([release, 'access',
|
|
8939
|
+
features: _nullishCoalesce(_optionalChain([release, 'access', _121 => _121.features_added, 'optionalAccess', _122 => _122.length]), () => ( 0)),
|
|
8940
|
+
fixes: _nullishCoalesce(_optionalChain([release, 'access', _123 => _123.bugs_fixed, 'optionalAccess', _124 => _124.length]), () => ( 0)),
|
|
8941
|
+
improvements: _nullishCoalesce(_optionalChain([release, 'access', _125 => _125.improvements, 'optionalAccess', _126 => _126.length]), () => ( 0)),
|
|
8942
|
+
breaking: _nullishCoalesce(_optionalChain([release, 'access', _127 => _127.breaking_changes, 'optionalAccess', _128 => _128.length]), () => ( 0))
|
|
8938
8943
|
}
|
|
8939
8944
|
};
|
|
8940
8945
|
}
|
|
@@ -8972,8 +8977,8 @@ function useEntityCardPlaceholder({
|
|
|
8972
8977
|
aspect = "wide"
|
|
8973
8978
|
}) {
|
|
8974
8979
|
const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
|
|
8975
|
-
const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
8976
|
-
const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess',
|
|
8980
|
+
const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _129 => _129.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
|
|
8981
|
+
const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _130 => _130.resolvePlaceholderUrl]);
|
|
8977
8982
|
const derived = _chunk27VVOBDBcjs.useOgPlaceholder.call(void 0, builder, title, siteName, enabled, aspect);
|
|
8978
8983
|
return placeholderUrl !== void 0 ? placeholderUrl : derived;
|
|
8979
8984
|
}
|
|
@@ -9066,7 +9071,7 @@ function BlogCard({
|
|
|
9066
9071
|
const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
|
|
9067
9072
|
if (size === "sm") {
|
|
9068
9073
|
const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
|
|
9069
|
-
const firstCategory = _optionalChain([post, 'access',
|
|
9074
|
+
const firstCategory = _optionalChain([post, 'access', _131 => _131.categories, 'optionalAccess', _132 => _132.find, 'call', _133 => _133((c) => c && c.name), 'optionalAccess', _134 => _134.name]);
|
|
9070
9075
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9071
9076
|
"a",
|
|
9072
9077
|
{
|
|
@@ -9272,14 +9277,14 @@ function CaseStudyCard({
|
|
|
9272
9277
|
"img",
|
|
9273
9278
|
{
|
|
9274
9279
|
src: coverImage,
|
|
9275
|
-
alt: `${_optionalChain([study, 'access',
|
|
9280
|
+
alt: `${_optionalChain([study, 'access', _135 => _135.msp, 'optionalAccess', _136 => _136.name]) || study.title} cover`,
|
|
9276
9281
|
className: "absolute inset-0 block w-full h-full object-contain",
|
|
9277
9282
|
onError: hideOnError
|
|
9278
9283
|
}
|
|
9279
9284
|
) : null }),
|
|
9280
9285
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
9281
9286
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
|
|
9282
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access',
|
|
9287
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _137 => _137.msp, 'optionalAccess', _138 => _138.name]), _optionalChain([study, 'access', _139 => _139.user, 'optionalAccess', _140 => _140.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
|
|
9283
9288
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
|
|
9284
9289
|
] })
|
|
9285
9290
|
] });
|
|
@@ -9289,7 +9294,7 @@ function CaseStudyCard({
|
|
|
9289
9294
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
9290
9295
|
{
|
|
9291
9296
|
src: coverImage,
|
|
9292
|
-
alt: _optionalChain([study, 'access',
|
|
9297
|
+
alt: _optionalChain([study, 'access', _141 => _141.msp, 'optionalAccess', _142 => _142.name]) || study.title,
|
|
9293
9298
|
className: "w-full h-full object-cover",
|
|
9294
9299
|
sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
|
|
9295
9300
|
fill: true,
|
|
@@ -9300,18 +9305,18 @@ function CaseStudyCard({
|
|
|
9300
9305
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[72px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary line-clamp-3 break-words", children: study.title }) }),
|
|
9301
9306
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
|
|
9302
9307
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
9303
|
-
_optionalChain([study, 'access',
|
|
9308
|
+
_optionalChain([study, 'access', _143 => _143.user, 'optionalAccess', _144 => _144.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9304
9309
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
9305
9310
|
{
|
|
9306
9311
|
src: study.user.avatar_url,
|
|
9307
|
-
alt: _optionalChain([study, 'access',
|
|
9312
|
+
alt: _optionalChain([study, 'access', _145 => _145.user, 'optionalAccess', _146 => _146.full_name]) || "User",
|
|
9308
9313
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
|
|
9309
9314
|
width: 48,
|
|
9310
9315
|
height: 48,
|
|
9311
9316
|
unoptimized: true
|
|
9312
9317
|
}
|
|
9313
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access',
|
|
9314
|
-
_optionalChain([study, 'access',
|
|
9318
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _147 => _147.user, 'optionalAccess', _148 => _148.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
9319
|
+
_optionalChain([study, 'access', _149 => _149.msp, 'optionalAccess', _150 => _150.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9315
9320
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
9316
9321
|
{
|
|
9317
9322
|
src: study.msp.icon_url,
|
|
@@ -9325,13 +9330,13 @@ function CaseStudyCard({
|
|
|
9325
9330
|
] }),
|
|
9326
9331
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
9327
9332
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
9328
|
-
_optionalChain([study, 'access',
|
|
9329
|
-
_optionalChain([study, 'access',
|
|
9333
|
+
_optionalChain([study, 'access', _151 => _151.user, 'optionalAccess', _152 => _152.full_name]) || "Anonymous",
|
|
9334
|
+
_optionalChain([study, 'access', _153 => _153.msp, 'optionalAccess', _154 => _154.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
9330
9335
|
" \u2022 ",
|
|
9331
9336
|
study.msp.name
|
|
9332
9337
|
] })
|
|
9333
9338
|
] }),
|
|
9334
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access',
|
|
9339
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _155 => _155.user, 'optionalAccess', _156 => _156.job_title]) || "\xA0" })
|
|
9335
9340
|
] })
|
|
9336
9341
|
] }) })
|
|
9337
9342
|
] }) });
|
|
@@ -9414,7 +9419,7 @@ function CustomerInterviewCard({
|
|
|
9414
9419
|
] }),
|
|
9415
9420
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
9416
9421
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
|
|
9417
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access',
|
|
9422
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _157 => _157.user, 'optionalAccess', _158 => _158.full_name]), _optionalChain([interview, 'access', _159 => _159.msp, 'optionalAccess', _160 => _160.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
|
|
9418
9423
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
|
|
9419
9424
|
] })
|
|
9420
9425
|
] });
|
|
@@ -9436,15 +9441,15 @@ function CustomerInterviewCard({
|
|
|
9436
9441
|
interview.video_summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-[20px] text-ods-text-secondary line-clamp-3", children: interview.video_summary }) }),
|
|
9437
9442
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0 mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
|
|
9438
9443
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
9439
|
-
_optionalChain([interview, 'access',
|
|
9444
|
+
_optionalChain([interview, 'access', _161 => _161.user, 'optionalAccess', _162 => _162.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9440
9445
|
"img",
|
|
9441
9446
|
{
|
|
9442
9447
|
src: interview.user.avatar_url,
|
|
9443
|
-
alt: _optionalChain([interview, 'access',
|
|
9448
|
+
alt: _optionalChain([interview, 'access', _163 => _163.user, 'optionalAccess', _164 => _164.full_name]) || "Customer",
|
|
9444
9449
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
|
|
9445
9450
|
}
|
|
9446
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access',
|
|
9447
|
-
_optionalChain([interview, 'access',
|
|
9451
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _165 => _165.user, 'optionalAccess', _166 => _166.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
9452
|
+
_optionalChain([interview, 'access', _167 => _167.msp, 'optionalAccess', _168 => _168.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9448
9453
|
"img",
|
|
9449
9454
|
{
|
|
9450
9455
|
src: interview.msp.icon_url,
|
|
@@ -9455,13 +9460,13 @@ function CustomerInterviewCard({
|
|
|
9455
9460
|
] }),
|
|
9456
9461
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
9457
9462
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
9458
|
-
_optionalChain([interview, 'access',
|
|
9459
|
-
_optionalChain([interview, 'access',
|
|
9463
|
+
_optionalChain([interview, 'access', _169 => _169.user, 'optionalAccess', _170 => _170.full_name]) || "Anonymous",
|
|
9464
|
+
_optionalChain([interview, 'access', _171 => _171.msp, 'optionalAccess', _172 => _172.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
9460
9465
|
" \u2022 ",
|
|
9461
9466
|
interview.msp.name
|
|
9462
9467
|
] })
|
|
9463
9468
|
] }),
|
|
9464
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access',
|
|
9469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _173 => _173.user, 'optionalAccess', _174 => _174.job_title]) || " " })
|
|
9465
9470
|
] })
|
|
9466
9471
|
] }) })
|
|
9467
9472
|
] }) });
|
|
@@ -9474,7 +9479,7 @@ function CustomerInterviewCard({
|
|
|
9474
9479
|
function formatInvestorUpdatePeriod(start, end, options) {
|
|
9475
9480
|
if (!start && !end) return "";
|
|
9476
9481
|
const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
|
|
9477
|
-
month: _optionalChain([options, 'optionalAccess',
|
|
9482
|
+
month: _optionalChain([options, 'optionalAccess', _175 => _175.monthFormat]) || "short",
|
|
9478
9483
|
year: "numeric"
|
|
9479
9484
|
});
|
|
9480
9485
|
const s = start ? fmt(start) : "?";
|
|
@@ -9564,7 +9569,7 @@ function InvestorUpdateCard({
|
|
|
9564
9569
|
imageUrl: update.featured_image,
|
|
9565
9570
|
placeholderUrl,
|
|
9566
9571
|
title: update.title || `Update #${update.update_number || "?"}`,
|
|
9567
|
-
summary: _optionalChain([update, 'access',
|
|
9572
|
+
summary: _optionalChain([update, 'access', _176 => _176.strategic_update, 'optionalAccess', _177 => _177.slice, 'call', _178 => _178(0, 120)]) || _optionalChain([update, 'access', _179 => _179.content, 'optionalAccess', _180 => _180.slice, 'call', _181 => _181(0, 120)]) || "No description",
|
|
9568
9573
|
badges: update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "px-2 py-0.5 rounded text-xs font-medium bg-ods-accent/10 text-ods-accent", children: [
|
|
9569
9574
|
"#",
|
|
9570
9575
|
update.update_number
|
|
@@ -9582,6 +9587,9 @@ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
|
|
|
9582
9587
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
9583
9588
|
|
|
9584
9589
|
|
|
9590
|
+
function stripMarkdownPreview(text) {
|
|
9591
|
+
return text.replace(/```[\s\S]*?```/g, " ").replace(/^#{1,6}\s+/gm, "").replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/[*_~`>]/g, "").replace(/^\s*[-+]\s+/gm, "").replace(/-{3,}/g, " ").replace(/\s+/g, " ").trim();
|
|
9592
|
+
}
|
|
9585
9593
|
var HORIZONTAL_SIZE_TOKENS = {
|
|
9586
9594
|
default: {
|
|
9587
9595
|
padding: "p-4",
|
|
@@ -9726,7 +9734,7 @@ function OnboardingGuideCard({
|
|
|
9726
9734
|
] }) }),
|
|
9727
9735
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
9728
9736
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[60px] md:min-h-[72px] flex items-start mb-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2", children: guide.title }) }),
|
|
9729
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-2", children: (guide.video_summary || guide.content || "")
|
|
9737
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-2", children: stripMarkdownPreview(guide.video_summary || guide.content || "") }) })
|
|
9730
9738
|
] })
|
|
9731
9739
|
] }),
|
|
9732
9740
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9752,8 +9760,8 @@ function OnboardingGuideCard({
|
|
|
9752
9760
|
const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
|
|
9753
9761
|
const compactCover = coverImage || placeholderUrl || null;
|
|
9754
9762
|
const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
|
|
9755
|
-
const summary2 = (guide.video_summary || guide.content || "")
|
|
9756
|
-
const author = _optionalChain([guide, 'access',
|
|
9763
|
+
const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
|
|
9764
|
+
const author = _optionalChain([guide, 'access', _182 => _182.author, 'optionalAccess', _183 => _183.full_name, 'optionalAccess', _184 => _184.trim, 'call', _185 => _185()]) || "";
|
|
9757
9765
|
const subtitleParts = [
|
|
9758
9766
|
`Step ${guide.step_order}`,
|
|
9759
9767
|
guide.section,
|
|
@@ -9783,7 +9791,7 @@ function OnboardingGuideCard({
|
|
|
9783
9791
|
] });
|
|
9784
9792
|
}
|
|
9785
9793
|
const t = HORIZONTAL_SIZE_TOKENS.default;
|
|
9786
|
-
const summary = (guide.video_summary || guide.content || "")
|
|
9794
|
+
const summary = stripMarkdownPreview(guide.video_summary || guide.content || "");
|
|
9787
9795
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9788
9796
|
_chunkWBR7H6E3cjs.next_link_default,
|
|
9789
9797
|
{
|
|
@@ -10124,7 +10132,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10124
10132
|
if (!isInputControlled) {
|
|
10125
10133
|
setInternalInputValue(value);
|
|
10126
10134
|
}
|
|
10127
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
10135
|
+
_optionalChain([onInputChange, 'optionalCall', _186 => _186(value, reason)]);
|
|
10128
10136
|
};
|
|
10129
10137
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
10130
10138
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
@@ -10152,8 +10160,8 @@ function AutocompleteInner(props, ref) {
|
|
|
10152
10160
|
if (!showHiddenTags) return;
|
|
10153
10161
|
const handleClick = (e) => {
|
|
10154
10162
|
const target = e.target;
|
|
10155
|
-
const inButton = _optionalChain([hiddenTagsRef, 'access',
|
|
10156
|
-
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access',
|
|
10163
|
+
const inButton = _optionalChain([hiddenTagsRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.contains, 'call', _189 => _189(target)]);
|
|
10164
|
+
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(target)]);
|
|
10157
10165
|
if (!inButton && !inPopup) {
|
|
10158
10166
|
setShowHiddenTags(false);
|
|
10159
10167
|
}
|
|
@@ -10197,7 +10205,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10197
10205
|
}
|
|
10198
10206
|
updateInputValue("", "reset");
|
|
10199
10207
|
setIsOpen(false);
|
|
10200
|
-
_optionalChain([onCreateOption, 'optionalCall',
|
|
10208
|
+
_optionalChain([onCreateOption, 'optionalCall', _193 => _193(trimmed)]);
|
|
10201
10209
|
};
|
|
10202
10210
|
_react.useEffect.call(void 0, () => {
|
|
10203
10211
|
setHighlightedIndex(-1);
|
|
@@ -10221,7 +10229,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10221
10229
|
props.onChange([...valueArray, option.value]);
|
|
10222
10230
|
}
|
|
10223
10231
|
updateInputValue("", "reset");
|
|
10224
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10232
|
+
_optionalChain([autoLimitTags, 'access', _194 => _194.inputRef, 'access', _195 => _195.current, 'optionalAccess', _196 => _196.focus, 'call', _197 => _197()]);
|
|
10225
10233
|
} else {
|
|
10226
10234
|
;
|
|
10227
10235
|
props.onChange(option.value);
|
|
@@ -10242,7 +10250,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10242
10250
|
if (!isInputControlled) {
|
|
10243
10251
|
setInternalInputValue("");
|
|
10244
10252
|
}
|
|
10245
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
10253
|
+
_optionalChain([onInputChange, 'optionalCall', _198 => _198("", "clear")]);
|
|
10246
10254
|
setIsOpen(false);
|
|
10247
10255
|
};
|
|
10248
10256
|
const handleKeyDown = (e) => {
|
|
@@ -10316,7 +10324,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10316
10324
|
),
|
|
10317
10325
|
onClick: () => {
|
|
10318
10326
|
if (!disabled) {
|
|
10319
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10327
|
+
_optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
|
|
10320
10328
|
openDropdown();
|
|
10321
10329
|
}
|
|
10322
10330
|
},
|
|
@@ -10432,10 +10440,10 @@ function AutocompleteInner(props, ref) {
|
|
|
10432
10440
|
align: "start",
|
|
10433
10441
|
onOpenAutoFocus: (e) => {
|
|
10434
10442
|
e.preventDefault();
|
|
10435
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10443
|
+
_optionalChain([autoLimitTags, 'access', _203 => _203.inputRef, 'access', _204 => _204.current, 'optionalAccess', _205 => _205.focus, 'call', _206 => _206()]);
|
|
10436
10444
|
},
|
|
10437
10445
|
onInteractOutside: (e) => {
|
|
10438
|
-
if (_optionalChain([containerRef, 'access',
|
|
10446
|
+
if (_optionalChain([containerRef, 'access', _207 => _207.current, 'optionalAccess', _208 => _208.contains, 'call', _209 => _209(e.target)])) {
|
|
10439
10447
|
e.preventDefault();
|
|
10440
10448
|
}
|
|
10441
10449
|
},
|
|
@@ -10507,7 +10515,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10507
10515
|
items: hiddenTags,
|
|
10508
10516
|
disabled,
|
|
10509
10517
|
style: {
|
|
10510
|
-
left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
10518
|
+
left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.getBoundingClientRect, 'call', _212 => _212(), 'access', _213 => _213.left]), () => ( 0))) : 0
|
|
10511
10519
|
},
|
|
10512
10520
|
onRemove: (value) => {
|
|
10513
10521
|
const newValue = valueArray.filter((v) => v !== value);
|
|
@@ -10830,7 +10838,7 @@ var defaultFormatDate = (date) => {
|
|
|
10830
10838
|
});
|
|
10831
10839
|
};
|
|
10832
10840
|
var formatDateRange2 = (range, formatFn) => {
|
|
10833
|
-
if (!_optionalChain([range, 'optionalAccess',
|
|
10841
|
+
if (!_optionalChain([range, 'optionalAccess', _214 => _214.from])) return "";
|
|
10834
10842
|
if (!range.to) return formatFn(range.from);
|
|
10835
10843
|
return `${formatFn(range.from)} - ${formatFn(range.to)}`;
|
|
10836
10844
|
};
|
|
@@ -10858,7 +10866,7 @@ function DatePickerCalendar({
|
|
|
10858
10866
|
}) {
|
|
10859
10867
|
const today = /* @__PURE__ */ new Date();
|
|
10860
10868
|
const rangeSelected = selected;
|
|
10861
|
-
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess',
|
|
10869
|
+
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _215 => _215.from]) && _optionalChain([rangeSelected, 'optionalAccess', _216 => _216.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
|
|
10862
10870
|
const classNames = {
|
|
10863
10871
|
root: "p-4 date-picker-calendar",
|
|
10864
10872
|
months: "flex gap-8",
|
|
@@ -10909,7 +10917,7 @@ function DatePickerCalendar({
|
|
|
10909
10917
|
range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
|
|
10910
10918
|
};
|
|
10911
10919
|
const [month, setMonth] = React37.useState(
|
|
10912
|
-
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess',
|
|
10920
|
+
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _217 => _217.from]) || today
|
|
10913
10921
|
);
|
|
10914
10922
|
const handlePreviousMonth = () => {
|
|
10915
10923
|
setMonth((prev) => {
|
|
@@ -11128,14 +11136,14 @@ function DatePicker(props) {
|
|
|
11128
11136
|
}, [props.mode, props.value, formatDate2]);
|
|
11129
11137
|
const handleSelect = (value) => {
|
|
11130
11138
|
if (props.mode === "single") {
|
|
11131
|
-
_optionalChain([props, 'access',
|
|
11139
|
+
_optionalChain([props, 'access', _218 => _218.onChange, 'optionalCall', _219 => _219(value)]);
|
|
11132
11140
|
if (value) {
|
|
11133
11141
|
setOpen(false);
|
|
11134
11142
|
}
|
|
11135
11143
|
} else {
|
|
11136
11144
|
const range = value;
|
|
11137
|
-
_optionalChain([props, 'access',
|
|
11138
|
-
if (_optionalChain([range, 'optionalAccess',
|
|
11145
|
+
_optionalChain([props, 'access', _220 => _220.onChange, 'optionalCall', _221 => _221(range)]);
|
|
11146
|
+
if (_optionalChain([range, 'optionalAccess', _222 => _222.from]) && _optionalChain([range, 'optionalAccess', _223 => _223.to]) && range.from.getTime() !== range.to.getTime()) {
|
|
11139
11147
|
setOpen(false);
|
|
11140
11148
|
}
|
|
11141
11149
|
}
|
|
@@ -11242,7 +11250,7 @@ function DatePickerInput({
|
|
|
11242
11250
|
if (newDate && value) {
|
|
11243
11251
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
11244
11252
|
}
|
|
11245
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11253
|
+
_optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
|
|
11246
11254
|
if (newDate) {
|
|
11247
11255
|
setOpen(false);
|
|
11248
11256
|
}
|
|
@@ -11259,12 +11267,12 @@ function DatePickerInput({
|
|
|
11259
11267
|
}
|
|
11260
11268
|
}
|
|
11261
11269
|
date.setHours(hours);
|
|
11262
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11270
|
+
_optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
|
|
11263
11271
|
};
|
|
11264
11272
|
const handleMinuteChange = (newMinute) => {
|
|
11265
11273
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
11266
11274
|
date.setMinutes(parseInt(newMinute, 10));
|
|
11267
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11275
|
+
_optionalChain([onChange, 'optionalCall', _226 => _226(date)]);
|
|
11268
11276
|
};
|
|
11269
11277
|
const handlePeriodChange = (newPeriod) => {
|
|
11270
11278
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
@@ -11275,7 +11283,7 @@ function DatePickerInput({
|
|
|
11275
11283
|
hours += 12;
|
|
11276
11284
|
}
|
|
11277
11285
|
date.setHours(hours);
|
|
11278
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11286
|
+
_optionalChain([onChange, 'optionalCall', _227 => _227(date)]);
|
|
11279
11287
|
};
|
|
11280
11288
|
const hourOptions = React37.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
|
|
11281
11289
|
const minuteOptions = React37.useMemo(() => generateMinuteOptions(), []);
|
|
@@ -11436,7 +11444,7 @@ function DatePickerInputSimple({
|
|
|
11436
11444
|
if (newDate && value) {
|
|
11437
11445
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
11438
11446
|
}
|
|
11439
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11447
|
+
_optionalChain([onChange, 'optionalCall', _228 => _228(newDate)]);
|
|
11440
11448
|
if (newDate) {
|
|
11441
11449
|
setOpen(false);
|
|
11442
11450
|
}
|
|
@@ -11445,7 +11453,7 @@ function DatePickerInputSimple({
|
|
|
11445
11453
|
const [hours, minutes] = newTime.split(":").map(Number);
|
|
11446
11454
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
11447
11455
|
date.setHours(hours, minutes, 0, 0);
|
|
11448
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11456
|
+
_optionalChain([onChange, 'optionalCall', _229 => _229(date)]);
|
|
11449
11457
|
};
|
|
11450
11458
|
const timeOptions = React37.useMemo(
|
|
11451
11459
|
() => generateTimeOptions(timeInterval, use24HourFormat),
|
|
@@ -11994,7 +12002,7 @@ var Switch = React43.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
11994
12002
|
}, [checked]);
|
|
11995
12003
|
const handleCheckedChange = (newChecked) => {
|
|
11996
12004
|
setIsChecked(newChecked);
|
|
11997
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
12005
|
+
_optionalChain([onCheckedChange, 'optionalCall', _230 => _230(newChecked)]);
|
|
11998
12006
|
};
|
|
11999
12007
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12000
12008
|
SwitchPrimitives.Root,
|
|
@@ -12203,7 +12211,7 @@ function TagsManager({
|
|
|
12203
12211
|
const name = search.trim();
|
|
12204
12212
|
if (!name) return;
|
|
12205
12213
|
const result = await onCreateTag(name);
|
|
12206
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
12214
|
+
if (_optionalChain([result, 'optionalAccess', _231 => _231.id])) {
|
|
12207
12215
|
onChange([...selectedIds, result.id]);
|
|
12208
12216
|
setSearch("");
|
|
12209
12217
|
}
|
|
@@ -12211,7 +12219,7 @@ function TagsManager({
|
|
|
12211
12219
|
const startEdit = React45.useCallback((id, name) => {
|
|
12212
12220
|
setEditingId(id);
|
|
12213
12221
|
setEditingName(name);
|
|
12214
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
12222
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.focus, 'call', _234 => _234()]), 0);
|
|
12215
12223
|
}, []);
|
|
12216
12224
|
const confirmEdit = React45.useCallback(async () => {
|
|
12217
12225
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -12238,7 +12246,7 @@ function TagsManager({
|
|
|
12238
12246
|
e.stopPropagation();
|
|
12239
12247
|
onChange([]);
|
|
12240
12248
|
setSearch("");
|
|
12241
|
-
_optionalChain([inputRef, 'access',
|
|
12249
|
+
_optionalChain([inputRef, 'access', _235 => _235.current, 'optionalAccess', _236 => _236.focus, 'call', _237 => _237()]);
|
|
12242
12250
|
},
|
|
12243
12251
|
[onChange]
|
|
12244
12252
|
);
|
|
@@ -12337,10 +12345,10 @@ function TagsManager({
|
|
|
12337
12345
|
align: "start",
|
|
12338
12346
|
onOpenAutoFocus: (e) => {
|
|
12339
12347
|
e.preventDefault();
|
|
12340
|
-
_optionalChain([inputRef, 'access',
|
|
12348
|
+
_optionalChain([inputRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.focus, 'call', _240 => _240()]);
|
|
12341
12349
|
},
|
|
12342
12350
|
onInteractOutside: (e) => {
|
|
12343
|
-
if (_optionalChain([containerRef, 'access',
|
|
12351
|
+
if (_optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.contains, 'call', _243 => _243(e.target)])) {
|
|
12344
12352
|
e.preventDefault();
|
|
12345
12353
|
}
|
|
12346
12354
|
},
|
|
@@ -13735,19 +13743,19 @@ function TabNavigation({
|
|
|
13735
13743
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
13736
13744
|
const getInitialTab = () => {
|
|
13737
13745
|
if (isUrlSyncEnabled) {
|
|
13738
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
13746
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _244 => _244.get, 'call', _245 => _245(paramName)]) || "";
|
|
13739
13747
|
if (validTabIds.has(fromUrl)) {
|
|
13740
13748
|
return fromUrl;
|
|
13741
13749
|
}
|
|
13742
13750
|
}
|
|
13743
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
13751
|
+
return defaultTab || _optionalChain([tabs, 'access', _246 => _246[0], 'optionalAccess', _247 => _247.id]) || "";
|
|
13744
13752
|
};
|
|
13745
13753
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
13746
13754
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
13747
13755
|
_react.useEffect.call(void 0, () => {
|
|
13748
13756
|
if (!isUrlSyncEnabled) return;
|
|
13749
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
13750
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
13757
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _248 => _248.get, 'call', _249 => _249(paramName)]) || "";
|
|
13758
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _250 => _250[0], 'optionalAccess', _251 => _251.id]) || "";
|
|
13751
13759
|
if (nextTab !== internalActiveTab) {
|
|
13752
13760
|
setInternalActiveTab(nextTab);
|
|
13753
13761
|
}
|
|
@@ -13755,13 +13763,13 @@ function TabNavigation({
|
|
|
13755
13763
|
const handleTabChange = (tabId) => {
|
|
13756
13764
|
if (isUrlSyncEnabled) {
|
|
13757
13765
|
setInternalActiveTab(tabId);
|
|
13758
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
13766
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _252 => _252.toString, 'call', _253 => _253()]));
|
|
13759
13767
|
params.set(paramName, tabId);
|
|
13760
13768
|
const method = replaceState ? "replace" : "push";
|
|
13761
13769
|
router[method](`${pathname}?${params.toString()}`);
|
|
13762
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
13770
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _254 => _254(tabId)]);
|
|
13763
13771
|
} else {
|
|
13764
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
13772
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _255 => _255(tabId)]);
|
|
13765
13773
|
}
|
|
13766
13774
|
};
|
|
13767
13775
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -13849,7 +13857,7 @@ function TabNavigation({
|
|
|
13849
13857
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
13850
13858
|
var getTabComponent = (tabs, tabId) => {
|
|
13851
13859
|
const tab = getTabById(tabs, tabId);
|
|
13852
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
13860
|
+
return _optionalChain([tab, 'optionalAccess', _256 => _256.component]) || null;
|
|
13853
13861
|
};
|
|
13854
13862
|
|
|
13855
13863
|
// src/components/ui/alert.tsx
|
|
@@ -13989,7 +13997,7 @@ function ReleaseChangelogSection({
|
|
|
13989
13997
|
className: "overflow-hidden transition-[max-height] duration-500",
|
|
13990
13998
|
style: {
|
|
13991
13999
|
transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
|
|
13992
|
-
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access',
|
|
14000
|
+
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
|
|
13993
14001
|
...previewNeedsFade && !previewExpanded ? {
|
|
13994
14002
|
maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
|
|
13995
14003
|
WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
|
|
@@ -14426,16 +14434,16 @@ function FilterModal({
|
|
|
14426
14434
|
};
|
|
14427
14435
|
const handleReset = () => {
|
|
14428
14436
|
onFilterChange({});
|
|
14429
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
14437
|
+
_optionalChain([onTagsChange, 'optionalCall', _259 => _259([])]);
|
|
14430
14438
|
onClose();
|
|
14431
14439
|
};
|
|
14432
14440
|
const handleApply = () => {
|
|
14433
14441
|
onFilterChange(selectedFilters);
|
|
14434
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
14442
|
+
_optionalChain([onTagsChange, 'optionalCall', _260 => _260(pendingTags)]);
|
|
14435
14443
|
onClose();
|
|
14436
14444
|
};
|
|
14437
14445
|
const getColumnDirection = (columnKey) => {
|
|
14438
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
14446
|
+
return _optionalChain([sortConfig, 'optionalAccess', _261 => _261.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
14439
14447
|
};
|
|
14440
14448
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
14441
14449
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -14484,7 +14492,7 @@ function FilterModal({
|
|
|
14484
14492
|
{
|
|
14485
14493
|
column,
|
|
14486
14494
|
currentDirection: getColumnDirection(column.key),
|
|
14487
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
14495
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _262 => _262(column.key, direction)]),
|
|
14488
14496
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
14489
14497
|
},
|
|
14490
14498
|
column.key
|
|
@@ -14662,7 +14670,7 @@ function IconButtonsVariant({
|
|
|
14662
14670
|
}) {
|
|
14663
14671
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
14664
14672
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
14665
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
14673
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _263 => _263[0], 'access', _264 => _264.submenu, 'optionalAccess', _265 => _265.length]);
|
|
14666
14674
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
14667
14675
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
14668
14676
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -15813,7 +15821,7 @@ function getShellIcon(shellType) {
|
|
|
15813
15821
|
if (!shellType) return void 0;
|
|
15814
15822
|
const normalized = shellType.toUpperCase();
|
|
15815
15823
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
15816
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
15824
|
+
return _optionalChain([shellDef, 'optionalAccess', _266 => _266.icon]);
|
|
15817
15825
|
}
|
|
15818
15826
|
|
|
15819
15827
|
// src/types/os.types.ts
|
|
@@ -15886,7 +15894,7 @@ function getOSIcon(osType) {
|
|
|
15886
15894
|
const normalized = normalizeOSType(osType);
|
|
15887
15895
|
if (!normalized) return void 0;
|
|
15888
15896
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
15889
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
15897
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _267 => _267.icon]);
|
|
15890
15898
|
}
|
|
15891
15899
|
function getOSTypeDefinition(osType) {
|
|
15892
15900
|
if (!osType) return void 0;
|
|
@@ -15896,7 +15904,7 @@ function getOSTypeDefinition(osType) {
|
|
|
15896
15904
|
}
|
|
15897
15905
|
function getOSPlatformId(osType) {
|
|
15898
15906
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
15899
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
15907
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _268 => _268.platformId]);
|
|
15900
15908
|
}
|
|
15901
15909
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
15902
15910
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -15989,10 +15997,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
15989
15997
|
];
|
|
15990
15998
|
function extractDomainFromEmail(email) {
|
|
15991
15999
|
if (!email || !email.includes("@")) return null;
|
|
15992
|
-
return _optionalChain([email, 'access',
|
|
16000
|
+
return _optionalChain([email, 'access', _269 => _269.split, 'call', _270 => _270("@"), 'access', _271 => _271[1], 'optionalAccess', _272 => _272.toLowerCase, 'call', _273 => _273()]) || null;
|
|
15993
16001
|
}
|
|
15994
16002
|
function normalizeDomain(domain) {
|
|
15995
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
16003
|
+
return _optionalChain([domain, 'optionalAccess', _274 => _274.toLowerCase, 'call', _275 => _275(), 'access', _276 => _276.replace, 'call', _277 => _277(/^https?:\/\//, ""), 'access', _278 => _278.replace, 'call', _279 => _279(/^www\./, ""), 'access', _280 => _280.split, 'call', _281 => _281("/"), 'access', _282 => _282[0], 'access', _283 => _283.trim, 'call', _284 => _284()]) || "";
|
|
15996
16004
|
}
|
|
15997
16005
|
function isGenericDomain(domain) {
|
|
15998
16006
|
const normalized = normalizeDomain(domain);
|
|
@@ -16401,7 +16409,7 @@ function createLocalStorageAdapter(options) {
|
|
|
16401
16409
|
const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
|
|
16402
16410
|
const backend = _nullishCoalesce(options.backend, () => ( "local"));
|
|
16403
16411
|
const resolveKey = () => {
|
|
16404
|
-
const ns = _optionalChain([options, 'access',
|
|
16412
|
+
const ns = _optionalChain([options, 'access', _285 => _285.namespace, 'optionalCall', _286 => _286()]);
|
|
16405
16413
|
return ns ? `${ns}.${options.key}` : options.key;
|
|
16406
16414
|
};
|
|
16407
16415
|
return {
|
|
@@ -16488,7 +16496,7 @@ function getEmbedProxyAuth() {
|
|
|
16488
16496
|
}
|
|
16489
16497
|
function getPersistedProxyEmail() {
|
|
16490
16498
|
const persisted = adapter.load();
|
|
16491
|
-
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess',
|
|
16499
|
+
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _287 => _287.email, 'access', _288 => _288.trim, 'call', _289 => _289(), 'access', _290 => _290.toLowerCase, 'call', _291 => _291()]), () => ( null));
|
|
16492
16500
|
}
|
|
16493
16501
|
function setEmbedProxyAuth(value) {
|
|
16494
16502
|
adapter.save({
|
|
@@ -16505,15 +16513,15 @@ function clearEmbedProxyAuth() {
|
|
|
16505
16513
|
function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
|
|
16506
16514
|
const auth = getEmbedProxyAuth();
|
|
16507
16515
|
const headers = { ...baseHeaders };
|
|
16508
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16516
|
+
if (_optionalChain([auth, 'optionalAccess', _292 => _292.secret])) {
|
|
16509
16517
|
headers.Authorization = `Bearer ${auth.secret}`;
|
|
16510
16518
|
}
|
|
16511
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16519
|
+
if (_optionalChain([auth, 'optionalAccess', _293 => _293.email])) {
|
|
16512
16520
|
headers["X-Chat-Act-As"] = auth.email;
|
|
16513
16521
|
}
|
|
16514
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16515
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16516
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16522
|
+
if (_optionalChain([auth, 'optionalAccess', _294 => _294.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
|
|
16523
|
+
if (_optionalChain([auth, 'optionalAccess', _295 => _295.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
|
|
16524
|
+
if (_optionalChain([auth, 'optionalAccess', _296 => _296.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
|
|
16517
16525
|
return { url, headers };
|
|
16518
16526
|
}
|
|
16519
16527
|
|
|
@@ -16565,7 +16573,7 @@ function setInFlightRefresh(refresh) {
|
|
|
16565
16573
|
}
|
|
16566
16574
|
function dedupedRefresh() {
|
|
16567
16575
|
const adapter2 = getRegisteredAuthAdapter();
|
|
16568
|
-
if (!_optionalChain([adapter2, 'optionalAccess',
|
|
16576
|
+
if (!_optionalChain([adapter2, 'optionalAccess', _297 => _297.refresh])) return Promise.resolve(false);
|
|
16569
16577
|
let inFlightRefresh = getInFlightRefresh();
|
|
16570
16578
|
if (!inFlightRefresh) {
|
|
16571
16579
|
inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
|
|
@@ -16578,12 +16586,12 @@ function dedupedRefresh() {
|
|
|
16578
16586
|
async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
16579
16587
|
const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
|
|
16580
16588
|
const adapter2 = getRegisteredAuthAdapter();
|
|
16581
|
-
if (_optionalChain([adapter2, 'optionalAccess',
|
|
16589
|
+
if (_optionalChain([adapter2, 'optionalAccess', _298 => _298.getHeaders])) {
|
|
16582
16590
|
for (const [k, v] of Object.entries(adapter2.getHeaders())) {
|
|
16583
16591
|
if (v !== void 0) headers[k] = v;
|
|
16584
16592
|
}
|
|
16585
16593
|
}
|
|
16586
|
-
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess',
|
|
16594
|
+
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _299 => _299.credentials]), () => ( init.credentials)), () => ( "same-origin"));
|
|
16587
16595
|
const response = await fetch(authedUrl, {
|
|
16588
16596
|
...init,
|
|
16589
16597
|
headers,
|
|
@@ -16594,7 +16602,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
|
16594
16602
|
// `SameSite=None` must be configured server-side for that to work).
|
|
16595
16603
|
credentials
|
|
16596
16604
|
});
|
|
16597
|
-
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess',
|
|
16605
|
+
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _300 => _300.refresh])) {
|
|
16598
16606
|
const refreshed = await dedupedRefresh();
|
|
16599
16607
|
if (refreshed) {
|
|
16600
16608
|
return fetchWithRefresh(url, init, baseHeaders, true);
|
|
@@ -16632,7 +16640,7 @@ function assertSameOrigin(url) {
|
|
|
16632
16640
|
|
|
16633
16641
|
// src/utils/sse-decision-frame.ts
|
|
16634
16642
|
async function readLeadingDecisionFrame(response) {
|
|
16635
|
-
const reader = _optionalChain([response, 'access',
|
|
16643
|
+
const reader = _optionalChain([response, 'access', _301 => _301.body, 'optionalAccess', _302 => _302.getReader, 'call', _303 => _303()]);
|
|
16636
16644
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
16637
16645
|
const decoder = new TextDecoder();
|
|
16638
16646
|
let buffer = "";
|
|
@@ -16661,9 +16669,9 @@ async function readLeadingDecisionFrame(response) {
|
|
|
16661
16669
|
);
|
|
16662
16670
|
}
|
|
16663
16671
|
const obj = parsed;
|
|
16664
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
16672
|
+
if (_optionalChain([obj, 'optionalAccess', _304 => _304.kind]) !== "decision_resolved") {
|
|
16665
16673
|
throw new Error(
|
|
16666
|
-
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
16674
|
+
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _305 => _305.kind]))}`
|
|
16667
16675
|
);
|
|
16668
16676
|
}
|
|
16669
16677
|
frame = normalizeDecisionFrame(obj);
|
|
@@ -16704,7 +16712,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
16704
16712
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
16705
16713
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
16706
16714
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
16707
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
16715
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _306 => _306.status, 'optionalAccess', _307 => _307.toUpperCase, 'call', _308 => _308()]) === "CLOSED";
|
|
16708
16716
|
if (toolName === "create_ticket") {
|
|
16709
16717
|
return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
|
|
16710
16718
|
}
|
|
@@ -16766,7 +16774,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
16766
16774
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
16767
16775
|
}
|
|
16768
16776
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
16769
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
16777
|
+
const f = _optionalChain([override, 'optionalAccess', _309 => _309.entityIdFilter]);
|
|
16770
16778
|
if (!f) return null;
|
|
16771
16779
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
16772
16780
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -16841,7 +16849,7 @@ function getTaskTypeLabel(customItemId) {
|
|
|
16841
16849
|
|
|
16842
16850
|
// src/components/chat/utils/agent-status-message.ts
|
|
16843
16851
|
function getStatusColorScheme(status) {
|
|
16844
|
-
const s = _optionalChain([status, 'optionalAccess',
|
|
16852
|
+
const s = _optionalChain([status, 'optionalAccess', _310 => _310.toLowerCase, 'call', _311 => _311()]) || "";
|
|
16845
16853
|
switch (status) {
|
|
16846
16854
|
case "completed":
|
|
16847
16855
|
case "success":
|
|
@@ -17127,6 +17135,9 @@ function scrollElementIntoView(target, options = {}) {
|
|
|
17127
17135
|
|
|
17128
17136
|
// src/utils/list-url.ts
|
|
17129
17137
|
var ALIASES = { blog_post_existing: "blog_post" };
|
|
17138
|
+
function canonicalContentRefType(contentRefType) {
|
|
17139
|
+
return _nullishCoalesce(ALIASES[contentRefType], () => ( contentRefType));
|
|
17140
|
+
}
|
|
17130
17141
|
var BUILDERS = {
|
|
17131
17142
|
roadmap_item: (ids, b) => `${b}/api/roadmap?task_ids=${ids.join(",")}`,
|
|
17132
17143
|
delivery_item: (ids, b) => `${b}/api/delivery?task_ids=${ids.join(",")}`,
|
|
@@ -17151,6 +17162,60 @@ function buildListUrl(contentRefType, ids, base = "") {
|
|
|
17151
17162
|
return fn ? fn(ids, base) : null;
|
|
17152
17163
|
}
|
|
17153
17164
|
|
|
17165
|
+
// src/utils/content-ref-groups.ts
|
|
17166
|
+
var CONTENT_REF_GROUPS = {
|
|
17167
|
+
investor_update: { label: "Investor Updates", order: 1, layout: "grid", gridSize: "default" },
|
|
17168
|
+
product_release: { label: "Product Releases", order: 2, layout: "list", gridSize: "lg" },
|
|
17169
|
+
podcast: { label: "Podcasts", order: 3, layout: "list", gridSize: "default" },
|
|
17170
|
+
webinar: { label: "Webinars", order: 4, layout: "list", gridSize: "default" },
|
|
17171
|
+
case_study: { label: "Case Studies", order: 5, layout: "grid", gridSize: "default" },
|
|
17172
|
+
event: { label: "Events", order: 6, layout: "list", gridSize: "default" },
|
|
17173
|
+
blog_post_existing: { label: "Blog Posts", order: 7, layout: "grid", gridSize: "default" },
|
|
17174
|
+
customer_interview: { label: "Customer Interviews", order: 8, layout: "grid", gridSize: "default" },
|
|
17175
|
+
onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
|
|
17176
|
+
};
|
|
17177
|
+
function getContentRefLabel(type) {
|
|
17178
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _312 => _312[type], 'optionalAccess', _313 => _313.label]), () => ( null));
|
|
17179
|
+
}
|
|
17180
|
+
function getContentRefLabelOrTitleCase(type) {
|
|
17181
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _314 => _314[type], 'optionalAccess', _315 => _315.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
|
|
17182
|
+
}
|
|
17183
|
+
function orderContentRefTypes(present) {
|
|
17184
|
+
const presentSet = new Set(present);
|
|
17185
|
+
const registeredInOrder = Object.entries(CONTENT_REF_GROUPS).sort(([, a], [, b]) => a.order - b.order).map(([type]) => type).filter((type) => presentSet.has(type));
|
|
17186
|
+
const unregistered = [...presentSet].filter((type) => !CONTENT_REF_GROUPS[type]);
|
|
17187
|
+
return [...registeredInOrder, ...unregistered];
|
|
17188
|
+
}
|
|
17189
|
+
|
|
17190
|
+
// src/utils/extract-items.ts
|
|
17191
|
+
function extractItems(data) {
|
|
17192
|
+
if (!data || typeof data !== "object") return [];
|
|
17193
|
+
const obj = data;
|
|
17194
|
+
if (Array.isArray(obj.items)) return obj.items;
|
|
17195
|
+
if (Array.isArray(obj.posts)) return obj.posts;
|
|
17196
|
+
if (Array.isArray(obj.campaigns)) return obj.campaigns;
|
|
17197
|
+
if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
|
|
17198
|
+
const completed = Array.isArray(obj.completed) ? obj.completed : [];
|
|
17199
|
+
const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
|
|
17200
|
+
return [...completed, ...inProgress];
|
|
17201
|
+
}
|
|
17202
|
+
if (Array.isArray(obj.data)) return obj.data;
|
|
17203
|
+
if (Array.isArray(data)) return data;
|
|
17204
|
+
return [];
|
|
17205
|
+
}
|
|
17206
|
+
function extractItemId(type, item) {
|
|
17207
|
+
if (!item || typeof item !== "object") return null;
|
|
17208
|
+
const obj = item;
|
|
17209
|
+
if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
|
|
17210
|
+
const ext = obj.external_id;
|
|
17211
|
+
if (typeof ext === "string") return ext;
|
|
17212
|
+
}
|
|
17213
|
+
const id = obj.id;
|
|
17214
|
+
if (typeof id === "string") return id;
|
|
17215
|
+
if (typeof id === "number") return String(id);
|
|
17216
|
+
return null;
|
|
17217
|
+
}
|
|
17218
|
+
|
|
17154
17219
|
// src/utils/content-href.ts
|
|
17155
17220
|
var DEFAULT_CONTENT_SUFFIXES = {
|
|
17156
17221
|
onboarding_guide: "onboarding-guides",
|
|
@@ -17827,26 +17892,26 @@ function DeviceCard({
|
|
|
17827
17892
|
] }),
|
|
17828
17893
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
|
|
17829
17894
|
] }),
|
|
17830
|
-
_optionalChain([actions, 'access',
|
|
17895
|
+
_optionalChain([actions, 'access', _316 => _316.moreButton, 'optionalAccess', _317 => _317.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17831
17896
|
"div",
|
|
17832
17897
|
{
|
|
17833
17898
|
className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
17834
17899
|
onClick: (e) => {
|
|
17835
17900
|
e.stopPropagation();
|
|
17836
|
-
_optionalChain([actions, 'access',
|
|
17901
|
+
_optionalChain([actions, 'access', _318 => _318.moreButton, 'optionalAccess', _319 => _319.onClick, 'optionalCall', _320 => _320()]);
|
|
17837
17902
|
},
|
|
17838
17903
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
17839
17904
|
}
|
|
17840
17905
|
),
|
|
17841
|
-
_optionalChain([actions, 'access',
|
|
17842
|
-
_optionalChain([actions, 'access',
|
|
17906
|
+
_optionalChain([actions, 'access', _321 => _321.detailsButton, 'optionalAccess', _322 => _322.visible]) !== false && _optionalChain([actions, 'access', _323 => _323.detailsButton, 'optionalAccess', _324 => _324.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
17907
|
+
_optionalChain([actions, 'access', _325 => _325.customActions, 'optionalAccess', _326 => _326.map, 'call', _327 => _327(
|
|
17843
17908
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17844
17909
|
"div",
|
|
17845
17910
|
{
|
|
17846
17911
|
className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
|
|
17847
17912
|
onClick: (e) => {
|
|
17848
17913
|
e.stopPropagation();
|
|
17849
|
-
_optionalChain([action, 'access',
|
|
17914
|
+
_optionalChain([action, 'access', _328 => _328.onClick, 'optionalCall', _329 => _329()]);
|
|
17850
17915
|
},
|
|
17851
17916
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
17852
17917
|
},
|
|
@@ -18346,7 +18411,7 @@ function MoreActionsMenu({
|
|
|
18346
18411
|
] });
|
|
18347
18412
|
const handleActivate = (e) => {
|
|
18348
18413
|
e.stopPropagation();
|
|
18349
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
18414
|
+
if (!item.disabled) _optionalChain([item, 'access', _330 => _330.onClick, 'optionalCall', _331 => _331()]);
|
|
18350
18415
|
};
|
|
18351
18416
|
if (item.href) {
|
|
18352
18417
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18413,7 +18478,7 @@ function OrganizationCard({
|
|
|
18413
18478
|
const handleActionClick = (e) => {
|
|
18414
18479
|
e.preventDefault();
|
|
18415
18480
|
e.stopPropagation();
|
|
18416
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
18481
|
+
_optionalChain([actionButton, 'optionalAccess', _332 => _332.onClick, 'call', _333 => _333(organization, e)]);
|
|
18417
18482
|
};
|
|
18418
18483
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18419
18484
|
"div",
|
|
@@ -19318,10 +19383,10 @@ var getContentDimensions = (config) => {
|
|
|
19318
19383
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
19319
19384
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
19320
19385
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
19321
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
19322
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
19323
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
19324
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
19386
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _334 => _334.mobileContentDimensions, 'optionalAccess', _335 => _335.width]))), () => ( defaultMobile.width));
|
|
19387
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _336 => _336.mobileContentDimensions, 'optionalAccess', _337 => _337.height]))), () => ( defaultMobile.height));
|
|
19388
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _338 => _338.desktopContentDimensions, 'optionalAccess', _339 => _339.width]))), () => ( defaultDesktop.width));
|
|
19389
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _340 => _340.desktopContentDimensions, 'optionalAccess', _341 => _341.height]))), () => ( defaultDesktop.height));
|
|
19325
19390
|
return {
|
|
19326
19391
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
19327
19392
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -19455,7 +19520,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
19455
19520
|
const contentDimensions = getContentDimensions(config);
|
|
19456
19521
|
const mobileHeight = contentDimensions.mobile.height;
|
|
19457
19522
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
19458
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
19523
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _342 => _342.innerHeight]) * 0.85 || 650)}px`;
|
|
19459
19524
|
})(),
|
|
19460
19525
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
19461
19526
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -19560,7 +19625,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19560
19625
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
19561
19626
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
19562
19627
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
19563
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
19628
|
+
config.defaultSectionId || _optionalChain([config, 'access', _343 => _343.sections, 'access', _344 => _344[0], 'optionalAccess', _345 => _345.id]) || ""
|
|
19564
19629
|
);
|
|
19565
19630
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
19566
19631
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -19650,7 +19715,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19650
19715
|
const handleMessage = (event) => {
|
|
19651
19716
|
if (event.origin !== "https://www.figma.com") return;
|
|
19652
19717
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
19653
|
-
if (_optionalChain([event, 'access',
|
|
19718
|
+
if (_optionalChain([event, 'access', _346 => _346.data, 'optionalAccess', _347 => _347.type]) && validEvents.includes(event.data.type)) {
|
|
19654
19719
|
const figmaEvent = event.data;
|
|
19655
19720
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
19656
19721
|
switch (figmaEvent.type) {
|
|
@@ -19660,19 +19725,19 @@ var FigmaPrototypeViewer = ({
|
|
|
19660
19725
|
setIframeState("READY");
|
|
19661
19726
|
break;
|
|
19662
19727
|
case "PRESENTED_NODE_CHANGED":
|
|
19663
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
19728
|
+
if (_optionalChain([figmaEvent, 'access', _348 => _348.data, 'optionalAccess', _349 => _349.presentedNodeId])) {
|
|
19664
19729
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
19665
19730
|
if (!isNavigating) {
|
|
19666
19731
|
const matchingSection = config.sections.find((s) => {
|
|
19667
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19668
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19732
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _350 => _350.data, 'optionalAccess', _351 => _351.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _352 => _352.data, 'optionalAccess', _353 => _353.presentedNodeId]);
|
|
19733
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _354 => _354.data, 'optionalAccess', _355 => _355.presentedNodeId]) || _optionalChain([s, 'access', _356 => _356.mobileStartingNodeId, 'optionalAccess', _357 => _357.replace, 'call', _358 => _358(":", "-")]) === _optionalChain([figmaEvent, 'access', _359 => _359.data, 'optionalAccess', _360 => _360.presentedNodeId]);
|
|
19669
19734
|
return desktopMatch || mobileMatch;
|
|
19670
19735
|
});
|
|
19671
19736
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
19672
19737
|
if (!externalActiveSection) {
|
|
19673
19738
|
setInternalActiveSection(matchingSection.id);
|
|
19674
19739
|
}
|
|
19675
|
-
_optionalChain([config, 'access',
|
|
19740
|
+
_optionalChain([config, 'access', _361 => _361.onSectionChange, 'optionalCall', _362 => _362(matchingSection.id)]);
|
|
19676
19741
|
}
|
|
19677
19742
|
}
|
|
19678
19743
|
}
|
|
@@ -19685,7 +19750,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19685
19750
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
19686
19751
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
19687
19752
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
19688
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
19753
|
+
if (!section || !_optionalChain([iframeRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.contentWindow]) || !isInitialized) {
|
|
19689
19754
|
return;
|
|
19690
19755
|
}
|
|
19691
19756
|
setIsNavigating(true);
|
|
@@ -19693,7 +19758,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19693
19758
|
if (!externalActiveSection) {
|
|
19694
19759
|
setInternalActiveSection(sectionId);
|
|
19695
19760
|
}
|
|
19696
|
-
_optionalChain([config, 'access',
|
|
19761
|
+
_optionalChain([config, 'access', _365 => _365.onSectionChange, 'optionalCall', _366 => _366(sectionId)]);
|
|
19697
19762
|
const command = {
|
|
19698
19763
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
19699
19764
|
data: { nodeId }
|
|
@@ -20013,7 +20078,7 @@ var FiltersDropdown = ({
|
|
|
20013
20078
|
defaults[section.id] = section.defaultSelected || [];
|
|
20014
20079
|
});
|
|
20015
20080
|
setSelectedFilters(defaults);
|
|
20016
|
-
_optionalChain([onReset, 'optionalCall',
|
|
20081
|
+
_optionalChain([onReset, 'optionalCall', _367 => _367()]);
|
|
20017
20082
|
setIsOpen(false);
|
|
20018
20083
|
};
|
|
20019
20084
|
const handleApply = () => {
|
|
@@ -20306,7 +20371,7 @@ function MediaGalleryManager({
|
|
|
20306
20371
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
20307
20372
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
20308
20373
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
20309
|
-
const file = _optionalChain([event, 'access',
|
|
20374
|
+
const file = _optionalChain([event, 'access', _368 => _368.target, 'access', _369 => _369.files, 'optionalAccess', _370 => _370[0]]);
|
|
20310
20375
|
if (!file) return;
|
|
20311
20376
|
let mediaType;
|
|
20312
20377
|
if (file.type.startsWith("image/")) {
|
|
@@ -20421,7 +20486,7 @@ function MediaGalleryManager({
|
|
|
20421
20486
|
{
|
|
20422
20487
|
type: "button",
|
|
20423
20488
|
variant: "outline",
|
|
20424
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
20489
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _371 => _371.current, 'optionalAccess', _372 => _372.click, 'call', _373 => _373()]),
|
|
20425
20490
|
disabled: isUploading,
|
|
20426
20491
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
20427
20492
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -21072,7 +21137,7 @@ function ReleaseMediaManager({
|
|
|
21072
21137
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
21073
21138
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
21074
21139
|
const handleFileSelect = async (event) => {
|
|
21075
|
-
const file = _optionalChain([event, 'access',
|
|
21140
|
+
const file = _optionalChain([event, 'access', _374 => _374.target, 'access', _375 => _375.files, 'optionalAccess', _376 => _376[0]]);
|
|
21076
21141
|
if (!file) return;
|
|
21077
21142
|
let mediaType;
|
|
21078
21143
|
if (file.type.startsWith("image/")) {
|
|
@@ -21152,7 +21217,7 @@ function ReleaseMediaManager({
|
|
|
21152
21217
|
{
|
|
21153
21218
|
type: "button",
|
|
21154
21219
|
variant: "outline",
|
|
21155
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
21220
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _377 => _377.current, 'optionalAccess', _378 => _378.click, 'call', _379 => _379()]),
|
|
21156
21221
|
disabled: uploadingIndex !== null,
|
|
21157
21222
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
21158
21223
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -21365,7 +21430,7 @@ function SEOEditorPreview({
|
|
|
21365
21430
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
21366
21431
|
const handleImageUpload = async (event) => {
|
|
21367
21432
|
if (!onOgImageUpload) return;
|
|
21368
|
-
const file = _optionalChain([event, 'access',
|
|
21433
|
+
const file = _optionalChain([event, 'access', _380 => _380.target, 'access', _381 => _381.files, 'optionalAccess', _382 => _382[0]]);
|
|
21369
21434
|
if (!file) return;
|
|
21370
21435
|
setIsUploading(true);
|
|
21371
21436
|
try {
|
|
@@ -21496,7 +21561,7 @@ function SEOEditorPreview({
|
|
|
21496
21561
|
type: "button",
|
|
21497
21562
|
variant: "outline",
|
|
21498
21563
|
size: "icon",
|
|
21499
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
21564
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _383 => _383.click, 'call', _384 => _384()]),
|
|
21500
21565
|
disabled: disabled || isUploading,
|
|
21501
21566
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
21502
21567
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -21519,7 +21584,7 @@ function SEOEditorPreview({
|
|
|
21519
21584
|
"div",
|
|
21520
21585
|
{
|
|
21521
21586
|
className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
|
|
21522
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
21587
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _385 => _385.click, 'call', _386 => _386()]),
|
|
21523
21588
|
children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
21524
21589
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
21525
21590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
|
|
@@ -21604,7 +21669,7 @@ function SocialLinksManager({
|
|
|
21604
21669
|
className = ""
|
|
21605
21670
|
}) {
|
|
21606
21671
|
const addLink = () => {
|
|
21607
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
21672
|
+
const firstPlatform = _optionalChain([platforms, 'access', _387 => _387[0], 'optionalAccess', _388 => _388.name]) || "website";
|
|
21608
21673
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
21609
21674
|
};
|
|
21610
21675
|
const removeLink = (index) => {
|
|
@@ -21616,7 +21681,7 @@ function SocialLinksManager({
|
|
|
21616
21681
|
onChange(updated);
|
|
21617
21682
|
};
|
|
21618
21683
|
const getIcon = (link, platform) => {
|
|
21619
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
21684
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _389 => _389.icon_name]) || link.platform;
|
|
21620
21685
|
const IconComponent = iconMap[iconKey];
|
|
21621
21686
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
21622
21687
|
};
|
|
@@ -21641,7 +21706,7 @@ function SocialLinksManager({
|
|
|
21641
21706
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21642
21707
|
_chunkGRTZ23GLcjs.Input,
|
|
21643
21708
|
{
|
|
21644
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
21709
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _390 => _390.placeholder]) || "Profile URL",
|
|
21645
21710
|
value: link.url,
|
|
21646
21711
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
21647
21712
|
onKeyDown: (e) => {
|
|
@@ -21993,7 +22058,7 @@ function useVideoOriginPreconnect({
|
|
|
21993
22058
|
supabaseStorageOrigin
|
|
21994
22059
|
} = {}) {
|
|
21995
22060
|
const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
|
|
21996
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
22061
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _391 => _391.endpoints, 'access', _392 => _392.supabaseStorageOrigin])));
|
|
21997
22062
|
try {
|
|
21998
22063
|
ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
|
|
21999
22064
|
ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
|
|
@@ -22012,13 +22077,13 @@ function useVideoWarmup({
|
|
|
22012
22077
|
nearMargin = "1000px"
|
|
22013
22078
|
} = {}) {
|
|
22014
22079
|
const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
|
|
22015
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
22080
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _393 => _393.endpoints, 'access', _394 => _394.supabaseStorageOrigin])));
|
|
22016
22081
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
22017
22082
|
const { ref, isNear } = _chunk27VVOBDBcjs.useNearViewport.call(void 0, nearMargin);
|
|
22018
22083
|
_react.useEffect.call(void 0, () => {
|
|
22019
22084
|
if (!isNear || !videoUrl || !resolvedOrigin) return;
|
|
22020
22085
|
const conn = navigator.connection;
|
|
22021
|
-
if (_optionalChain([conn, 'optionalAccess',
|
|
22086
|
+
if (_optionalChain([conn, 'optionalAccess', _395 => _395.saveData]) === true) return;
|
|
22022
22087
|
let videoOrigin;
|
|
22023
22088
|
try {
|
|
22024
22089
|
videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
|
|
@@ -22087,7 +22152,7 @@ function VideoSourceSelector({
|
|
|
22087
22152
|
input.accept = "video/*";
|
|
22088
22153
|
input.onchange = async (e) => {
|
|
22089
22154
|
const target = e.target;
|
|
22090
|
-
const file = _optionalChain([target, 'access',
|
|
22155
|
+
const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
|
|
22091
22156
|
if (!file) return;
|
|
22092
22157
|
setIsUploading(true);
|
|
22093
22158
|
setUploadProgress(0);
|
|
@@ -22417,7 +22482,7 @@ function TranscriptSummaryEditor({
|
|
|
22417
22482
|
{
|
|
22418
22483
|
id: "subtitles",
|
|
22419
22484
|
value: subtitles || "",
|
|
22420
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
22485
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _398 => _398(e.target.value)]),
|
|
22421
22486
|
placeholder: subtitlesPlaceholder,
|
|
22422
22487
|
disabled: disabled || !onSubtitlesChange,
|
|
22423
22488
|
className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
|
|
@@ -22570,7 +22635,7 @@ var AIEnrichSection = ({
|
|
|
22570
22635
|
}) => {
|
|
22571
22636
|
const hasResults = status === "success" || status === "error";
|
|
22572
22637
|
const shouldDisable = disabled || !canEnrich;
|
|
22573
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
22638
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _399 => _399.filter, 'call', _400 => _400((f) => !f.isFilled)]) || [];
|
|
22574
22639
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22575
22640
|
"div",
|
|
22576
22641
|
{
|
|
@@ -22608,7 +22673,7 @@ var AIEnrichSection = ({
|
|
|
22608
22673
|
{
|
|
22609
22674
|
id: "ai-enrich-custom-instructions",
|
|
22610
22675
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
22611
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
22676
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _401 => _401(e.target.value)]),
|
|
22612
22677
|
placeholder: customInstructionsPlaceholder,
|
|
22613
22678
|
disabled: loading,
|
|
22614
22679
|
maxLength: customInstructionsMaxLength,
|
|
@@ -22737,7 +22802,7 @@ function HighlightVideoSection({
|
|
|
22737
22802
|
input.accept = "video/*";
|
|
22738
22803
|
input.onchange = async (e) => {
|
|
22739
22804
|
const target = e.target;
|
|
22740
|
-
const file = _optionalChain([target, 'access',
|
|
22805
|
+
const file = _optionalChain([target, 'access', _402 => _402.files, 'optionalAccess', _403 => _403[0]]);
|
|
22741
22806
|
if (!file) return;
|
|
22742
22807
|
setUploadError(null);
|
|
22743
22808
|
try {
|
|
@@ -23239,7 +23304,7 @@ function HighlightVideoPreview({
|
|
|
23239
23304
|
input.accept = "video/*";
|
|
23240
23305
|
input.onchange = async (e) => {
|
|
23241
23306
|
const target = e.target;
|
|
23242
|
-
const file = _optionalChain([target, 'access',
|
|
23307
|
+
const file = _optionalChain([target, 'access', _404 => _404.files, 'optionalAccess', _405 => _405[0]]);
|
|
23243
23308
|
if (!file) return;
|
|
23244
23309
|
await onUpload(file);
|
|
23245
23310
|
};
|
|
@@ -23426,7 +23491,7 @@ function HighlightVideoCombinedSection({
|
|
|
23426
23491
|
input.accept = "video/*";
|
|
23427
23492
|
input.onchange = async (e) => {
|
|
23428
23493
|
const target = e.target;
|
|
23429
|
-
const file = _optionalChain([target, 'access',
|
|
23494
|
+
const file = _optionalChain([target, 'access', _406 => _406.files, 'optionalAccess', _407 => _407[0]]);
|
|
23430
23495
|
if (!file) return;
|
|
23431
23496
|
await onUpload(file);
|
|
23432
23497
|
};
|
|
@@ -23723,7 +23788,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
23723
23788
|
return editMode ? "Set Global Permission" : "";
|
|
23724
23789
|
}
|
|
23725
23790
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
23726
|
-
return _optionalChain([option, 'optionalAccess',
|
|
23791
|
+
return _optionalChain([option, 'optionalAccess', _408 => _408.label]) || level;
|
|
23727
23792
|
};
|
|
23728
23793
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
23729
23794
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
|
|
@@ -23837,7 +23902,6 @@ var CategorySection = ({
|
|
|
23837
23902
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23838
23903
|
_chunkGRTZ23GLcjs.Button,
|
|
23839
23904
|
{
|
|
23840
|
-
type: "button",
|
|
23841
23905
|
variant: "transparent",
|
|
23842
23906
|
onClick: (e) => {
|
|
23843
23907
|
e.stopPropagation();
|
|
@@ -23937,12 +24001,12 @@ function PhoneInput({
|
|
|
23937
24001
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
23938
24002
|
if (!phone || digitCount(phone) === 0) {
|
|
23939
24003
|
setIsInvalid(false);
|
|
23940
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24004
|
+
_optionalChain([onValidationChange, 'optionalCall', _409 => _409(false)]);
|
|
23941
24005
|
return;
|
|
23942
24006
|
}
|
|
23943
24007
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
23944
24008
|
setIsInvalid(invalid);
|
|
23945
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24009
|
+
_optionalChain([onValidationChange, 'optionalCall', _410 => _410(invalid)]);
|
|
23946
24010
|
}, [countryCode, digitCount, onValidationChange]);
|
|
23947
24011
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
23948
24012
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -23991,7 +24055,7 @@ function PhoneInput({
|
|
|
23991
24055
|
debouncedValidation(val);
|
|
23992
24056
|
} else if (digitCount(val) === 0) {
|
|
23993
24057
|
setIsInvalid(false);
|
|
23994
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24058
|
+
_optionalChain([onValidationChange, 'optionalCall', _411 => _411(false)]);
|
|
23995
24059
|
}
|
|
23996
24060
|
}
|
|
23997
24061
|
},
|
|
@@ -24327,19 +24391,19 @@ function NotificationsProvider({
|
|
|
24327
24391
|
}, []);
|
|
24328
24392
|
const markRead = React81.useCallback((id) => {
|
|
24329
24393
|
dispatch({ type: "markRead", id });
|
|
24330
|
-
void _optionalChain([actionsRef, 'access',
|
|
24394
|
+
void _optionalChain([actionsRef, 'access', _412 => _412.current, 'optionalAccess', _413 => _413.onMarkRead, 'optionalCall', _414 => _414(id)]);
|
|
24331
24395
|
}, []);
|
|
24332
24396
|
const markAllRead = React81.useCallback(() => {
|
|
24333
24397
|
dispatch({ type: "markAllRead" });
|
|
24334
|
-
void _optionalChain([actionsRef, 'access',
|
|
24398
|
+
void _optionalChain([actionsRef, 'access', _415 => _415.current, 'optionalAccess', _416 => _416.onMarkAllRead, 'optionalCall', _417 => _417()]);
|
|
24335
24399
|
}, []);
|
|
24336
24400
|
const markSettled = React81.useCallback((id) => {
|
|
24337
24401
|
dispatch({ type: "markSettled", id });
|
|
24338
|
-
void _optionalChain([actionsRef, 'access',
|
|
24402
|
+
void _optionalChain([actionsRef, 'access', _418 => _418.current, 'optionalAccess', _419 => _419.onMarkSettled, 'optionalCall', _420 => _420(id)]);
|
|
24339
24403
|
}, []);
|
|
24340
24404
|
const remove = React81.useCallback((id) => {
|
|
24341
24405
|
dispatch({ type: "remove", id });
|
|
24342
|
-
void _optionalChain([actionsRef, 'access',
|
|
24406
|
+
void _optionalChain([actionsRef, 'access', _421 => _421.current, 'optionalAccess', _422 => _422.onRemove, 'optionalCall', _423 => _423(id)]);
|
|
24343
24407
|
}, []);
|
|
24344
24408
|
const clear = React81.useCallback(() => dispatch({ type: "clear" }), []);
|
|
24345
24409
|
const open = React81.useCallback(() => setIsOpen(true), []);
|
|
@@ -24348,7 +24412,7 @@ function NotificationsProvider({
|
|
|
24348
24412
|
const setShowPopups = React81.useCallback(
|
|
24349
24413
|
(value2) => {
|
|
24350
24414
|
setShowPopupsState(value2);
|
|
24351
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
24415
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _424 => _424(value2)]);
|
|
24352
24416
|
},
|
|
24353
24417
|
[onShowPopupsChange]
|
|
24354
24418
|
);
|
|
@@ -24445,7 +24509,7 @@ function NotificationTile({
|
|
|
24445
24509
|
if (!counting) return;
|
|
24446
24510
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
24447
24511
|
const timer = window.setTimeout(() => {
|
|
24448
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
24512
|
+
_optionalChain([onSettle, 'optionalCall', _425 => _425(id)]);
|
|
24449
24513
|
}, remaining);
|
|
24450
24514
|
return () => window.clearTimeout(timer);
|
|
24451
24515
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -24507,7 +24571,7 @@ function NotificationTile({
|
|
|
24507
24571
|
"button",
|
|
24508
24572
|
{
|
|
24509
24573
|
type: "button",
|
|
24510
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
24574
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _426 => _426(id)]),
|
|
24511
24575
|
"aria-label": "Dismiss notification",
|
|
24512
24576
|
tabIndex: isLive ? 0 : -1,
|
|
24513
24577
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -24626,7 +24690,7 @@ function DrawerScrollList({
|
|
|
24626
24690
|
if (!sentinel || !root) return;
|
|
24627
24691
|
const observer = new IntersectionObserver(
|
|
24628
24692
|
(entries) => {
|
|
24629
|
-
if (_optionalChain([entries, 'access',
|
|
24693
|
+
if (_optionalChain([entries, 'access', _427 => _427[0], 'optionalAccess', _428 => _428.isIntersecting])) _optionalChain([loadMoreRef, 'access', _429 => _429.current, 'optionalCall', _430 => _430()]);
|
|
24630
24694
|
},
|
|
24631
24695
|
{ root, rootMargin: loadMoreRootMargin }
|
|
24632
24696
|
);
|
|
@@ -24641,7 +24705,7 @@ function DrawerScrollList({
|
|
|
24641
24705
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
24642
24706
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
24643
24707
|
unreadNotifications.map((n) => {
|
|
24644
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
24708
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _431 => _431(n, { onComplete, onSettle, liveDurationMs })]);
|
|
24645
24709
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
24646
24710
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24647
24711
|
NotificationTile,
|
|
@@ -24770,7 +24834,7 @@ function NotificationPopups({
|
|
|
24770
24834
|
className
|
|
24771
24835
|
),
|
|
24772
24836
|
children: live.map((n) => {
|
|
24773
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
24837
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _432 => _432(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
24774
24838
|
if (custom) {
|
|
24775
24839
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
24776
24840
|
}
|
|
@@ -24809,19 +24873,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
24809
24873
|
// src/components/features/notifications/types.ts
|
|
24810
24874
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
24811
24875
|
function isApprovalNotification(notification) {
|
|
24812
|
-
return _optionalChain([notification, 'access',
|
|
24876
|
+
return _optionalChain([notification, 'access', _433 => _433.meta, 'optionalAccess', _434 => _434.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
24813
24877
|
}
|
|
24814
24878
|
function getApprovalMeta(notification) {
|
|
24815
24879
|
if (!isApprovalNotification(notification)) return null;
|
|
24816
24880
|
const meta = notification.meta;
|
|
24817
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
24818
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
24881
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _435 => _435.approvalRequestId]);
|
|
24882
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _436 => _436.toolCalls]);
|
|
24819
24883
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
24820
24884
|
return {
|
|
24821
24885
|
approvalRequestId,
|
|
24822
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24823
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24824
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24886
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _437 => _437.dialogId]), () => ( null)),
|
|
24887
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _438 => _438.ticketId]), () => ( null)),
|
|
24888
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _439 => _439.approvalType]), () => ( null)),
|
|
24825
24889
|
toolCalls
|
|
24826
24890
|
};
|
|
24827
24891
|
}
|
|
@@ -25082,15 +25146,15 @@ function TicketCard({
|
|
|
25082
25146
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
25083
25147
|
transition: sortable.transition
|
|
25084
25148
|
};
|
|
25085
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
25149
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _440 => _440.deviceHostnames, 'optionalAccess', _441 => _441.length]) || ticket.organizationName);
|
|
25086
25150
|
const deviceText = [
|
|
25087
|
-
_optionalChain([ticket, 'access',
|
|
25151
|
+
_optionalChain([ticket, 'access', _442 => _442.deviceHostnames, 'optionalAccess', _443 => _443.join, 'call', _444 => _444(", ")]),
|
|
25088
25152
|
ticket.organizationName
|
|
25089
25153
|
].filter(Boolean).join(", ");
|
|
25090
25154
|
const handleClick = (e) => {
|
|
25091
25155
|
if (sortable.isDragging) e.preventDefault();
|
|
25092
25156
|
};
|
|
25093
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
25157
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _445 => _445.assignees, 'optionalAccess', _446 => _446.length]) || renderAssignSlot);
|
|
25094
25158
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
25095
25159
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25096
25160
|
_chunkC6ASEPZLcjs.Flag02Icon,
|
|
@@ -25099,7 +25163,7 @@ function TicketCard({
|
|
|
25099
25163
|
"aria-label": `Priority: ${ticket.priority}`
|
|
25100
25164
|
}
|
|
25101
25165
|
),
|
|
25102
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
25166
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _447 => _447.assignees, 'optionalAccess', _448 => _448.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
25103
25167
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25104
25168
|
SquareAvatar,
|
|
25105
25169
|
{
|
|
@@ -25128,7 +25192,7 @@ function TicketCard({
|
|
|
25128
25192
|
] }),
|
|
25129
25193
|
rightSection
|
|
25130
25194
|
] }),
|
|
25131
|
-
_optionalChain([ticket, 'access',
|
|
25195
|
+
_optionalChain([ticket, 'access', _449 => _449.tags, 'optionalAccess', _450 => _450.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
25132
25196
|
] });
|
|
25133
25197
|
const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
25134
25198
|
"relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left",
|
|
@@ -25303,7 +25367,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25303
25367
|
const observer = new IntersectionObserver(
|
|
25304
25368
|
(entries) => {
|
|
25305
25369
|
if (entries.some((e) => e.isIntersecting)) {
|
|
25306
|
-
_optionalChain([loadMoreRef, 'access',
|
|
25370
|
+
_optionalChain([loadMoreRef, 'access', _451 => _451.current, 'optionalCall', _452 => _452(columnIdRef.current)]);
|
|
25307
25371
|
}
|
|
25308
25372
|
},
|
|
25309
25373
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -25332,7 +25396,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25332
25396
|
{
|
|
25333
25397
|
ticket: t,
|
|
25334
25398
|
columnId: column.id,
|
|
25335
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
25399
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _453 => _453(t.id)]),
|
|
25336
25400
|
renderAssignSlot,
|
|
25337
25401
|
dragDisabled: column.dragDisabled
|
|
25338
25402
|
},
|
|
@@ -25428,17 +25492,17 @@ function Board({
|
|
|
25428
25492
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
25429
25493
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
25430
25494
|
const ticketHit = intersections.find(
|
|
25431
|
-
(c) => _optionalChain([c, 'access',
|
|
25495
|
+
(c) => _optionalChain([c, 'access', _454 => _454.data, 'optionalAccess', _455 => _455.droppableContainer, 'optionalAccess', _456 => _456.data, 'optionalAccess', _457 => _457.current, 'optionalAccess', _458 => _458.type]) === "ticket"
|
|
25432
25496
|
);
|
|
25433
25497
|
if (ticketHit) return [ticketHit];
|
|
25434
25498
|
const columnHit = intersections.find(
|
|
25435
|
-
(c) => _optionalChain([c, 'access',
|
|
25499
|
+
(c) => _optionalChain([c, 'access', _459 => _459.data, 'optionalAccess', _460 => _460.droppableContainer, 'optionalAccess', _461 => _461.data, 'optionalAccess', _462 => _462.current, 'optionalAccess', _463 => _463.type]) === "column"
|
|
25436
25500
|
);
|
|
25437
25501
|
if (columnHit) {
|
|
25438
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
25502
|
+
const columnId = _optionalChain([columnHit, 'access', _464 => _464.data, 'optionalAccess', _465 => _465.droppableContainer, 'optionalAccess', _466 => _466.data, 'optionalAccess', _467 => _467.current, 'optionalAccess', _468 => _468.columnId]);
|
|
25439
25503
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
25440
25504
|
const d = c.data.current;
|
|
25441
|
-
return _optionalChain([d, 'optionalAccess',
|
|
25505
|
+
return _optionalChain([d, 'optionalAccess', _469 => _469.type]) === "ticket" && d.columnId === columnId;
|
|
25442
25506
|
});
|
|
25443
25507
|
if (ticketsInColumn.length > 0) {
|
|
25444
25508
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -25463,20 +25527,20 @@ function Board({
|
|
|
25463
25527
|
const overId = String(over.id);
|
|
25464
25528
|
if (activeId === overId) return;
|
|
25465
25529
|
const overData = over.data.current;
|
|
25466
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
25467
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
25530
|
+
const fromColumnId = _optionalChain([locate, 'call', _470 => _470(items, activeId), 'optionalAccess', _471 => _471.columnId]);
|
|
25531
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _472 => _472.columnId]);
|
|
25468
25532
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
25469
25533
|
const origin = dragOriginRef.current;
|
|
25470
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
25534
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _473 => _473.fromColumnId]) === toColumnId;
|
|
25471
25535
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25472
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
25473
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
25536
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _474 => _474.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
25537
|
+
if (_optionalChain([targetCol, 'optionalAccess', _475 => _475.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
25474
25538
|
setItems((prev) => {
|
|
25475
25539
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
25476
25540
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
25477
25541
|
if (fromIndex < 0 || !toCol) return prev;
|
|
25478
25542
|
let toIndex;
|
|
25479
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25543
|
+
if (_optionalChain([overData, 'optionalAccess', _476 => _476.type]) === "column") {
|
|
25480
25544
|
toIndex = toCol.tickets.length;
|
|
25481
25545
|
} else {
|
|
25482
25546
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -25518,14 +25582,14 @@ function Board({
|
|
|
25518
25582
|
const toColumnId = located.columnId;
|
|
25519
25583
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
25520
25584
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25521
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
25585
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _477 => _477.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _478 => _478.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
25522
25586
|
setItems(columns);
|
|
25523
25587
|
return;
|
|
25524
25588
|
}
|
|
25525
25589
|
let finalIndex = located.index;
|
|
25526
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
25590
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _479 => _479.find, 'call', _480 => _480((c) => c.id === toColumnId), 'optionalAccess', _481 => _481.tickets]), () => ( []));
|
|
25527
25591
|
const overData = over.data.current;
|
|
25528
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25592
|
+
if (_optionalChain([overData, 'optionalAccess', _482 => _482.type]) === "ticket") {
|
|
25529
25593
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
25530
25594
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
25531
25595
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -25545,8 +25609,8 @@ function Board({
|
|
|
25545
25609
|
ticketId: origin.ticketId,
|
|
25546
25610
|
fromColumnId: origin.fromColumnId,
|
|
25547
25611
|
toColumnId,
|
|
25548
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25549
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25612
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _483 => _483[finalIndex - 1], 'optionalAccess', _484 => _484.id]), () => ( null)),
|
|
25613
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _485 => _485[finalIndex + 1], 'optionalAccess', _486 => _486.id]), () => ( null))
|
|
25550
25614
|
});
|
|
25551
25615
|
};
|
|
25552
25616
|
const handleDragCancel = () => {
|
|
@@ -25575,8 +25639,8 @@ function Board({
|
|
|
25575
25639
|
children: items.map((column, i) => {
|
|
25576
25640
|
const prev = items[i - 1];
|
|
25577
25641
|
const next = items[i + 1];
|
|
25578
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
25579
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
25642
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _487 => _487.system]));
|
|
25643
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _488 => _488.system]));
|
|
25580
25644
|
const showGap = i > 0 && !joinLeft;
|
|
25581
25645
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React85.Fragment, { children: [
|
|
25582
25646
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -25635,7 +25699,7 @@ function locate(cols, ticketId) {
|
|
|
25635
25699
|
return null;
|
|
25636
25700
|
}
|
|
25637
25701
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
25638
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
25702
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _489 => _489.find, 'call', _490 => _490((c) => c.id === columnId), 'optionalAccess', _491 => _491.tickets, 'access', _492 => _492.findIndex, 'call', _493 => _493((t) => t.id === ticketId)]), () => ( -1));
|
|
25639
25703
|
}
|
|
25640
25704
|
|
|
25641
25705
|
// src/components/features/board/types.ts
|
|
@@ -25883,7 +25947,7 @@ function Header2({ config, platform }) {
|
|
|
25883
25947
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
25884
25948
|
"flex justify-start w-full",
|
|
25885
25949
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
25886
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
25950
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _494 => _494.children, 'optionalAccess', _495 => _495.length]), () => ( 0))) - 1 && "mb-1",
|
|
25887
25951
|
"text-ods-text-primary",
|
|
25888
25952
|
// All dropdown items use primary text color
|
|
25889
25953
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -25975,7 +26039,7 @@ function Header2({ config, platform }) {
|
|
|
25975
26039
|
style: config.style,
|
|
25976
26040
|
children: [
|
|
25977
26041
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
25978
|
-
_optionalChain([config, 'access',
|
|
26042
|
+
_optionalChain([config, 'access', _496 => _496.actions, 'optionalAccess', _497 => _497.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
25979
26043
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
25980
26044
|
] }),
|
|
25981
26045
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25992,7 +26056,7 @@ function Header2({ config, platform }) {
|
|
|
25992
26056
|
}
|
|
25993
26057
|
),
|
|
25994
26058
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
25995
|
-
_optionalChain([config, 'access',
|
|
26059
|
+
_optionalChain([config, 'access', _498 => _498.actions, 'optionalAccess', _499 => _499.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
25996
26060
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25997
26061
|
_chunkGRTZ23GLcjs.Button,
|
|
25998
26062
|
{
|
|
@@ -26000,10 +26064,10 @@ function Header2({ config, platform }) {
|
|
|
26000
26064
|
size: "icon",
|
|
26001
26065
|
className: "flex md:hidden",
|
|
26002
26066
|
onClick: () => {
|
|
26003
|
-
_optionalChain([config, 'access',
|
|
26067
|
+
_optionalChain([config, 'access', _500 => _500.mobile, 'optionalAccess', _501 => _501.onToggle, 'optionalCall', _502 => _502()]);
|
|
26004
26068
|
},
|
|
26005
|
-
"aria-label": _optionalChain([config, 'access',
|
|
26006
|
-
leftIcon: _optionalChain([config, 'access',
|
|
26069
|
+
"aria-label": _optionalChain([config, 'access', _503 => _503.mobile, 'optionalAccess', _504 => _504.isOpen]) ? "Close menu" : "Open menu",
|
|
26070
|
+
leftIcon: _optionalChain([config, 'access', _505 => _505.mobile, 'optionalAccess', _506 => _506.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
|
|
26007
26071
|
}
|
|
26008
26072
|
)
|
|
26009
26073
|
] })
|
|
@@ -26020,10 +26084,10 @@ function Header2({ config, platform }) {
|
|
|
26020
26084
|
// src/components/navigation/header-skeleton.tsx
|
|
26021
26085
|
|
|
26022
26086
|
function HeaderSkeleton({ config }) {
|
|
26023
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
26024
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
26025
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
26026
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
26087
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _507 => _507.navigation]) && config.navigation.items.length > 0;
|
|
26088
|
+
const showActions = _optionalChain([config, 'optionalAccess', _508 => _508.actions, 'optionalAccess', _509 => _509.right]) && config.actions.right.length > 0;
|
|
26089
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _510 => _510.mobile, 'optionalAccess', _511 => _511.enabled]);
|
|
26090
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _512 => _512.className, 'optionalAccess', _513 => _513.includes, 'call', _514 => _514("admin")]);
|
|
26027
26091
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26028
26092
|
"header",
|
|
26029
26093
|
{
|
|
@@ -26032,11 +26096,11 @@ function HeaderSkeleton({ config }) {
|
|
|
26032
26096
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
26033
26097
|
"px-6 py-3",
|
|
26034
26098
|
"transition-opacity duration-300 ease-in-out",
|
|
26035
|
-
_optionalChain([config, 'optionalAccess',
|
|
26099
|
+
_optionalChain([config, 'optionalAccess', _515 => _515.className])
|
|
26036
26100
|
),
|
|
26037
26101
|
children: [
|
|
26038
26102
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
26039
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
26103
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _516 => _516.actions, 'optionalAccess', _517 => _517.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
26040
26104
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
26041
26105
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
26042
26106
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -26044,8 +26108,8 @@ function HeaderSkeleton({ config }) {
|
|
|
26044
26108
|
] }),
|
|
26045
26109
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
26046
26110
|
"hidden md:flex items-center gap-2",
|
|
26047
|
-
_optionalChain([config, 'optionalAccess',
|
|
26048
|
-
_optionalChain([config, 'optionalAccess',
|
|
26111
|
+
_optionalChain([config, 'optionalAccess', _518 => _518.navigation, 'optionalAccess', _519 => _519.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
26112
|
+
_optionalChain([config, 'optionalAccess', _520 => _520.navigation, 'optionalAccess', _521 => _521.position]) === "right" && "ml-auto mr-4"
|
|
26049
26113
|
), children: [
|
|
26050
26114
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
26051
26115
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -26093,7 +26157,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
26093
26157
|
_react.useEffect.call(void 0, () => {
|
|
26094
26158
|
const handleKeyDown = (e) => {
|
|
26095
26159
|
if (e.key === "Escape" && isOpen) {
|
|
26096
|
-
_optionalChain([config, 'access',
|
|
26160
|
+
_optionalChain([config, 'access', _522 => _522.onClose, 'optionalCall', _523 => _523()]);
|
|
26097
26161
|
}
|
|
26098
26162
|
};
|
|
26099
26163
|
if (isOpen) {
|
|
@@ -26110,7 +26174,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
26110
26174
|
if (item.onClick) {
|
|
26111
26175
|
item.onClick();
|
|
26112
26176
|
}
|
|
26113
|
-
_optionalChain([config, 'access',
|
|
26177
|
+
_optionalChain([config, 'access', _524 => _524.onClose, 'optionalCall', _525 => _525()]);
|
|
26114
26178
|
};
|
|
26115
26179
|
if (item.href) {
|
|
26116
26180
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26328,7 +26392,7 @@ function SlidingSidebar({ config }) {
|
|
|
26328
26392
|
variant: "transparent",
|
|
26329
26393
|
size: "default",
|
|
26330
26394
|
onClick: () => {
|
|
26331
|
-
_optionalChain([item, 'access',
|
|
26395
|
+
_optionalChain([item, 'access', _526 => _526.onClick, 'optionalCall', _527 => _527()]);
|
|
26332
26396
|
config.onClose();
|
|
26333
26397
|
},
|
|
26334
26398
|
leftIcon: item.icon,
|
|
@@ -26351,7 +26415,7 @@ function SlidingSidebar({ config }) {
|
|
|
26351
26415
|
variant: "transparent",
|
|
26352
26416
|
size: "default",
|
|
26353
26417
|
onClick: () => {
|
|
26354
|
-
_optionalChain([item, 'access',
|
|
26418
|
+
_optionalChain([item, 'access', _528 => _528.onClick, 'optionalCall', _529 => _529()]);
|
|
26355
26419
|
config.onClose();
|
|
26356
26420
|
},
|
|
26357
26421
|
leftIcon: item.icon,
|
|
@@ -26478,7 +26542,7 @@ function StickySectionNav({
|
|
|
26478
26542
|
] });
|
|
26479
26543
|
}
|
|
26480
26544
|
function useSectionNavigation(sections, options) {
|
|
26481
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
26545
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _530 => _530[0], 'optionalAccess', _531 => _531.id]) || "");
|
|
26482
26546
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
26483
26547
|
const { offset: offset2 = 100 } = options || {};
|
|
26484
26548
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -26502,7 +26566,7 @@ function useSectionNavigation(sections, options) {
|
|
|
26502
26566
|
const handleScroll = () => {
|
|
26503
26567
|
if (isScrollingFromClick.current) return;
|
|
26504
26568
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
26505
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
26569
|
+
let currentSection = _optionalChain([sections, 'access', _532 => _532[0], 'optionalAccess', _533 => _533.id]) || "";
|
|
26506
26570
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
26507
26571
|
const element = document.getElementById(sections[i].id);
|
|
26508
26572
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -26697,7 +26761,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26697
26761
|
} else {
|
|
26698
26762
|
setDesktopMinimized((prev) => !prev);
|
|
26699
26763
|
}
|
|
26700
|
-
_optionalChain([config, 'access',
|
|
26764
|
+
_optionalChain([config, 'access', _534 => _534.onToggleMinimized, 'optionalCall', _535 => _535()]);
|
|
26701
26765
|
}, [isTablet, setDesktopMinimized, config]);
|
|
26702
26766
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
26703
26767
|
setTabletMinimized(true);
|
|
@@ -26711,11 +26775,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26711
26775
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
26712
26776
|
}, [isOverlayOpen, closeOverlay]);
|
|
26713
26777
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
26714
|
-
_optionalChain([event, 'optionalAccess',
|
|
26778
|
+
_optionalChain([event, 'optionalAccess', _536 => _536.stopPropagation, 'call', _537 => _537()]);
|
|
26715
26779
|
if (item.onClick) {
|
|
26716
26780
|
item.onClick();
|
|
26717
26781
|
} else if (item.path) {
|
|
26718
|
-
_optionalChain([config, 'access',
|
|
26782
|
+
_optionalChain([config, 'access', _538 => _538.onNavigate, 'optionalCall', _539 => _539(item.path)]);
|
|
26719
26783
|
}
|
|
26720
26784
|
if (isTablet) setTabletMinimized(true);
|
|
26721
26785
|
}, [config, isTablet]);
|
|
@@ -26860,11 +26924,11 @@ function HeaderGlobalSearch({
|
|
|
26860
26924
|
};
|
|
26861
26925
|
const handleSubmit = (e) => {
|
|
26862
26926
|
e.preventDefault();
|
|
26863
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26927
|
+
_optionalChain([onSubmit, 'optionalCall', _540 => _540(currentValue)]);
|
|
26864
26928
|
};
|
|
26865
26929
|
const handleKeyDown = (e) => {
|
|
26866
26930
|
if (e.key === "Enter") {
|
|
26867
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26931
|
+
_optionalChain([onSubmit, 'optionalCall', _541 => _541(currentValue)]);
|
|
26868
26932
|
}
|
|
26869
26933
|
};
|
|
26870
26934
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26958,8 +27022,8 @@ function HeaderOrganizationFilter({
|
|
|
26958
27022
|
className
|
|
26959
27023
|
}) {
|
|
26960
27024
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
26961
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
26962
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
27025
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _542 => _542.name]) || "All Organizations";
|
|
27026
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _543 => _543.deviceCount]), () => ( totalDeviceCount));
|
|
26963
27027
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenu, { children: [
|
|
26964
27028
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26965
27029
|
"button",
|
|
@@ -26984,11 +27048,11 @@ function HeaderOrganizationFilter({
|
|
|
26984
27048
|
}
|
|
26985
27049
|
) }),
|
|
26986
27050
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
26987
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
27051
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _544 => _544("")]), children: "All Organizations" }),
|
|
26988
27052
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26989
27053
|
_chunkGRTZ23GLcjs.DropdownMenuItem,
|
|
26990
27054
|
{
|
|
26991
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
27055
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _545 => _545(org.id)]),
|
|
26992
27056
|
children: org.name
|
|
26993
27057
|
},
|
|
26994
27058
|
org.id
|
|
@@ -27173,9 +27237,9 @@ function NotificationsHeaderButton({
|
|
|
27173
27237
|
dimmedClass
|
|
27174
27238
|
}) {
|
|
27175
27239
|
const ctx = useOptionalNotifications();
|
|
27176
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
27177
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
27178
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
27240
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _546 => _546.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
27241
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _547 => _547.isOpen]), () => ( false));
|
|
27242
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _548 => _548.toggle]);
|
|
27179
27243
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27180
27244
|
HeaderButton,
|
|
27181
27245
|
{
|
|
@@ -27239,7 +27303,7 @@ var MobileBurgerMenu = React101.default.memo(function MobileBurgerMenu2({
|
|
|
27239
27303
|
if (item.onClick) {
|
|
27240
27304
|
item.onClick();
|
|
27241
27305
|
} else if (item.path) {
|
|
27242
|
-
_optionalChain([config, 'access',
|
|
27306
|
+
_optionalChain([config, 'access', _549 => _549.onNavigate, 'optionalCall', _550 => _550(item.path)]);
|
|
27243
27307
|
}
|
|
27244
27308
|
onClose();
|
|
27245
27309
|
}, [config, onClose]);
|
|
@@ -27482,7 +27546,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
27482
27546
|
const handleOpenChange = React94.useCallback(
|
|
27483
27547
|
(next) => {
|
|
27484
27548
|
if (!isControlled) setInternalOpen(next);
|
|
27485
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
27549
|
+
_optionalChain([onOpenChange, 'optionalCall', _551 => _551(next)]);
|
|
27486
27550
|
},
|
|
27487
27551
|
[isControlled, onOpenChange]
|
|
27488
27552
|
);
|
|
@@ -27863,10 +27927,10 @@ var AppLayoutDrawerContent = React94.forwardRef(
|
|
|
27863
27927
|
),
|
|
27864
27928
|
style,
|
|
27865
27929
|
onInteractOutside: (event) => {
|
|
27866
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
27930
|
+
_optionalChain([onInteractOutside, 'optionalCall', _552 => _552(event)]);
|
|
27867
27931
|
if (event.defaultPrevented) return;
|
|
27868
27932
|
const target = event.target;
|
|
27869
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
27933
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _553 => _553.contains, 'call', _554 => _554(target)]);
|
|
27870
27934
|
if (!isInsideContainer) {
|
|
27871
27935
|
event.preventDefault();
|
|
27872
27936
|
return;
|
|
@@ -28055,7 +28119,7 @@ var ShellTypeBadge = ({
|
|
|
28055
28119
|
className,
|
|
28056
28120
|
iconClassName
|
|
28057
28121
|
}) => {
|
|
28058
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
28122
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _555 => _555.toUpperCase, 'call', _556 => _556()]);
|
|
28059
28123
|
const label = getShellLabel(normalizedType);
|
|
28060
28124
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
28061
28125
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -28442,12 +28506,12 @@ function OnboardingWalkthrough({
|
|
|
28442
28506
|
}
|
|
28443
28507
|
}, [state.completedSteps, markComplete]);
|
|
28444
28508
|
const handleStepSkip = (step) => {
|
|
28445
|
-
_optionalChain([step, 'access',
|
|
28509
|
+
_optionalChain([step, 'access', _557 => _557.onSkip, 'optionalCall', _558 => _558()]);
|
|
28446
28510
|
markSkipped(step.id);
|
|
28447
28511
|
};
|
|
28448
28512
|
const handleDismiss = () => {
|
|
28449
28513
|
dismissOnboarding();
|
|
28450
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
28514
|
+
_optionalChain([onDismiss, 'optionalCall', _559 => _559()]);
|
|
28451
28515
|
};
|
|
28452
28516
|
if (state.dismissed) {
|
|
28453
28517
|
return null;
|
|
@@ -28577,7 +28641,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
28577
28641
|
onKeyDown: (e) => {
|
|
28578
28642
|
if (e.key === "Enter" || e.key === " ") {
|
|
28579
28643
|
e.preventDefault();
|
|
28580
|
-
_optionalChain([onClick, 'optionalCall',
|
|
28644
|
+
_optionalChain([onClick, 'optionalCall', _560 => _560()]);
|
|
28581
28645
|
}
|
|
28582
28646
|
},
|
|
28583
28647
|
children: [
|
|
@@ -28678,7 +28742,7 @@ var LogsList = React98.forwardRef(({
|
|
|
28678
28742
|
log,
|
|
28679
28743
|
isLast: index === logs.length - 1,
|
|
28680
28744
|
showConnector,
|
|
28681
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
28745
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _561 => _561(log)])
|
|
28682
28746
|
},
|
|
28683
28747
|
log.id
|
|
28684
28748
|
))
|
|
@@ -28779,7 +28843,7 @@ var Slider = React100.forwardRef(
|
|
|
28779
28843
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
28780
28844
|
const handleChange = (e) => {
|
|
28781
28845
|
const newValue = [Number(e.target.value)];
|
|
28782
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
28846
|
+
_optionalChain([onValueChange, 'optionalCall', _562 => _562(newValue)]);
|
|
28783
28847
|
};
|
|
28784
28848
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28785
28849
|
"input",
|
|
@@ -29210,7 +29274,7 @@ function CursorPaginationSimple({
|
|
|
29210
29274
|
{
|
|
29211
29275
|
variant: "transparent",
|
|
29212
29276
|
size: "icon",
|
|
29213
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
29277
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _563 => _563("")]),
|
|
29214
29278
|
disabled: !hasPreviousPage || loading,
|
|
29215
29279
|
className: "h-8 w-8",
|
|
29216
29280
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -29222,7 +29286,7 @@ function CursorPaginationSimple({
|
|
|
29222
29286
|
{
|
|
29223
29287
|
variant: "transparent",
|
|
29224
29288
|
size: "icon",
|
|
29225
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
29289
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _564 => _564("")]),
|
|
29226
29290
|
disabled: !hasNextPage || loading,
|
|
29227
29291
|
className: "h-8 w-8",
|
|
29228
29292
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -29282,7 +29346,7 @@ function TableColumnFilterDropdown({
|
|
|
29282
29346
|
placement = "bottom-start",
|
|
29283
29347
|
dropdownClassName = "min-w-[240px]"
|
|
29284
29348
|
}) {
|
|
29285
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
29349
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _565 => _565[columnKey], 'optionalAccess', _566 => _566.length]) || 0;
|
|
29286
29350
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29287
29351
|
FiltersDropdown,
|
|
29288
29352
|
{
|
|
@@ -29325,7 +29389,7 @@ function TableColumnFilterDropdown({
|
|
|
29325
29389
|
delete newFilters[columnKey];
|
|
29326
29390
|
onFilterChange(newFilters);
|
|
29327
29391
|
},
|
|
29328
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
29392
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _567 => _567[columnKey]]) || [] },
|
|
29329
29393
|
placement,
|
|
29330
29394
|
dropdownClassName
|
|
29331
29395
|
}
|
|
@@ -29622,7 +29686,7 @@ function TableRow({
|
|
|
29622
29686
|
const keys = column.key.split(".");
|
|
29623
29687
|
let value = item;
|
|
29624
29688
|
for (const key of keys) {
|
|
29625
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
29689
|
+
value = _optionalChain([value, 'optionalAccess', _568 => _568[key]]);
|
|
29626
29690
|
}
|
|
29627
29691
|
if (value === null || value === void 0) {
|
|
29628
29692
|
return "-";
|
|
@@ -29692,7 +29756,7 @@ function TableRow({
|
|
|
29692
29756
|
// src/components/ui/table/table.tsx
|
|
29693
29757
|
|
|
29694
29758
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
29695
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
29759
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _569 => _569.length])) || Boolean(renderRowActions);
|
|
29696
29760
|
const result = [...columns];
|
|
29697
29761
|
if (hasActions) {
|
|
29698
29762
|
const actionsColumn = {
|
|
@@ -29786,7 +29850,7 @@ function Table({
|
|
|
29786
29850
|
return rowKey(item);
|
|
29787
29851
|
}
|
|
29788
29852
|
const key = item[rowKey];
|
|
29789
|
-
return _optionalChain([key, 'optionalAccess',
|
|
29853
|
+
return _optionalChain([key, 'optionalAccess', _570 => _570.toString, 'call', _571 => _571()]) || index.toString();
|
|
29790
29854
|
};
|
|
29791
29855
|
const getRowClassName = (item, index) => {
|
|
29792
29856
|
if (typeof rowClassName === "function") {
|
|
@@ -29820,23 +29884,23 @@ function Table({
|
|
|
29820
29884
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
29821
29885
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
29822
29886
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
29823
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
29824
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
29887
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.onLoadMore]));
|
|
29888
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.onLoadMore]);
|
|
29825
29889
|
_react.useEffect.call(void 0, () => {
|
|
29826
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29890
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
29827
29891
|
const sentinel = sentinelRef.current;
|
|
29828
29892
|
if (!sentinel) return;
|
|
29829
29893
|
const observer = new IntersectionObserver(
|
|
29830
29894
|
(entries) => {
|
|
29831
|
-
if (_optionalChain([entries, 'access',
|
|
29832
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
29895
|
+
if (_optionalChain([entries, 'access', _575 => _575[0], 'optionalAccess', _576 => _576.isIntersecting])) {
|
|
29896
|
+
_optionalChain([onLoadMoreRef, 'access', _577 => _577.current, 'optionalCall', _578 => _578()]);
|
|
29833
29897
|
}
|
|
29834
29898
|
},
|
|
29835
29899
|
{ rootMargin: "200px" }
|
|
29836
29900
|
);
|
|
29837
29901
|
observer.observe(sentinel);
|
|
29838
29902
|
return () => observer.disconnect();
|
|
29839
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29903
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _579 => _579.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _580 => _580.isFetchingNextPage])]);
|
|
29840
29904
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
29841
29905
|
showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
|
|
29842
29906
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -29907,7 +29971,7 @@ function Table({
|
|
|
29907
29971
|
},
|
|
29908
29972
|
getRowKey(item, index)
|
|
29909
29973
|
)),
|
|
29910
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29974
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _581 => _581.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29911
29975
|
TableCardSkeleton,
|
|
29912
29976
|
{
|
|
29913
29977
|
columns,
|
|
@@ -29916,7 +29980,7 @@ function Table({
|
|
|
29916
29980
|
hasChevron: Boolean(rowHref)
|
|
29917
29981
|
}
|
|
29918
29982
|
),
|
|
29919
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29983
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _582 => _582.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
29920
29984
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
29921
29985
|
"div",
|
|
29922
29986
|
{
|
|
@@ -30274,7 +30338,7 @@ function QueryReportTable({
|
|
|
30274
30338
|
);
|
|
30275
30339
|
const handleExport = () => {
|
|
30276
30340
|
exportToCSV(data, columns, exportFilename);
|
|
30277
|
-
_optionalChain([onExport, 'optionalCall',
|
|
30341
|
+
_optionalChain([onExport, 'optionalCall', _583 => _583()]);
|
|
30278
30342
|
};
|
|
30279
30343
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
30280
30344
|
const {
|
|
@@ -30447,7 +30511,7 @@ function DataTableColumnFilter({
|
|
|
30447
30511
|
align = "left"
|
|
30448
30512
|
}) {
|
|
30449
30513
|
const currentValue = column.getFilterValue();
|
|
30450
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
30514
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _584 => _584.length]), () => ( 0));
|
|
30451
30515
|
const sections = _react.useMemo.call(void 0,
|
|
30452
30516
|
() => [
|
|
30453
30517
|
{
|
|
@@ -30527,7 +30591,7 @@ function DataTableHeader({
|
|
|
30527
30591
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
30528
30592
|
if (header.isPlaceholder) return false;
|
|
30529
30593
|
if (isLgUp) return true;
|
|
30530
|
-
return Boolean(_optionalChain([header, 'access',
|
|
30594
|
+
return Boolean(_optionalChain([header, 'access', _585 => _585.column, 'access', _586 => _586.columnDef, 'access', _587 => _587.meta, 'optionalAccess', _588 => _588.filter]));
|
|
30531
30595
|
});
|
|
30532
30596
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30533
30597
|
"div",
|
|
@@ -30557,20 +30621,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30557
30621
|
if (header.isPlaceholder) return null;
|
|
30558
30622
|
const column = header.column;
|
|
30559
30623
|
const meta = column.columnDef.meta;
|
|
30560
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
30561
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
30562
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
30563
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
30624
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _589 => _589.filter]));
|
|
30625
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _590 => _590.align]), () => ( "left"));
|
|
30626
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _591 => _591.sortable]) === true;
|
|
30627
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _592 => _592.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
30564
30628
|
if (!isLgUp && !hasFilter) return null;
|
|
30565
30629
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30566
30630
|
"div",
|
|
30567
30631
|
{
|
|
30568
30632
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30569
30633
|
"flex items-stretch",
|
|
30570
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
30571
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30634
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _593 => _593.width]) || "flex-1 min-w-0"),
|
|
30635
|
+
_optionalChain([meta, 'optionalAccess', _594 => _594.headerClassName]),
|
|
30572
30636
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
30573
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30637
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _595 => _595.hideAt]))
|
|
30574
30638
|
),
|
|
30575
30639
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30576
30640
|
DataTableColumnFilter,
|
|
@@ -30589,7 +30653,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30589
30653
|
isLgUp && alignJustify(align),
|
|
30590
30654
|
canSort && "group cursor-pointer"
|
|
30591
30655
|
),
|
|
30592
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
30656
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _596 => _596(column.id)]) : void 0,
|
|
30593
30657
|
children: [
|
|
30594
30658
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
30595
30659
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -30673,7 +30737,7 @@ function DataTableSkeleton({
|
|
|
30673
30737
|
}) {
|
|
30674
30738
|
const table = useDataTableContext();
|
|
30675
30739
|
const columns = table.getVisibleFlatColumns();
|
|
30676
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
30740
|
+
const firstColumnId = _optionalChain([columns, 'access', _597 => _597[0], 'optionalAccess', _598 => _598.id]);
|
|
30677
30741
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30678
30742
|
"div",
|
|
30679
30743
|
{
|
|
@@ -30697,7 +30761,7 @@ function DataTableSkeleton({
|
|
|
30697
30761
|
{
|
|
30698
30762
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30699
30763
|
"flex flex-col justify-center shrink-0",
|
|
30700
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30764
|
+
_optionalChain([meta, 'optionalAccess', _599 => _599.width]) || "flex-1"
|
|
30701
30765
|
),
|
|
30702
30766
|
children: [
|
|
30703
30767
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -30746,7 +30810,7 @@ function DataTableRowImpl({
|
|
|
30746
30810
|
const handleClick = _react.useCallback.call(void 0,
|
|
30747
30811
|
(e) => {
|
|
30748
30812
|
const target = e.target;
|
|
30749
|
-
if (!_optionalChain([containerRef, 'access',
|
|
30813
|
+
if (!_optionalChain([containerRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.contains, 'call', _602 => _602(target)])) {
|
|
30750
30814
|
if (isLinkMode) e.preventDefault();
|
|
30751
30815
|
return;
|
|
30752
30816
|
}
|
|
@@ -30754,7 +30818,7 @@ function DataTableRowImpl({
|
|
|
30754
30818
|
if (isLinkMode) e.preventDefault();
|
|
30755
30819
|
return;
|
|
30756
30820
|
}
|
|
30757
|
-
_optionalChain([onClick, 'optionalCall',
|
|
30821
|
+
_optionalChain([onClick, 'optionalCall', _603 => _603(row.original)]);
|
|
30758
30822
|
},
|
|
30759
30823
|
[onClick, row.original, isLinkMode]
|
|
30760
30824
|
);
|
|
@@ -30779,10 +30843,10 @@ function DataTableRowImpl({
|
|
|
30779
30843
|
{
|
|
30780
30844
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30781
30845
|
"flex flex-col overflow-hidden",
|
|
30782
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
30783
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30784
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30785
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30846
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _604 => _604.align])),
|
|
30847
|
+
_optionalChain([meta, 'optionalAccess', _605 => _605.width]) || "flex-1 min-w-0",
|
|
30848
|
+
_optionalChain([meta, 'optionalAccess', _606 => _606.cellClassName]),
|
|
30849
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _607 => _607.hideAt]))
|
|
30786
30850
|
),
|
|
30787
30851
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
30788
30852
|
},
|
|
@@ -30860,7 +30924,7 @@ function DataTableBody({
|
|
|
30860
30924
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
30861
30925
|
rows.map((row, index) => {
|
|
30862
30926
|
const item = row.original;
|
|
30863
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
30927
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _608 => _608(item)]), () => ( void 0));
|
|
30864
30928
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
30865
30929
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30866
30930
|
DataTableRow,
|
|
@@ -30870,7 +30934,7 @@ function DataTableBody({
|
|
|
30870
30934
|
href,
|
|
30871
30935
|
compact,
|
|
30872
30936
|
className: cls,
|
|
30873
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
30937
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _609 => _609(item)])
|
|
30874
30938
|
},
|
|
30875
30939
|
row.id
|
|
30876
30940
|
);
|
|
@@ -30925,7 +30989,7 @@ function DataTableInfiniteFooter({
|
|
|
30925
30989
|
if (!sentinel) return;
|
|
30926
30990
|
const observer = new IntersectionObserver(
|
|
30927
30991
|
(entries) => {
|
|
30928
|
-
if (_optionalChain([entries, 'access',
|
|
30992
|
+
if (_optionalChain([entries, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.isIntersecting])) onLoadMoreRef.current();
|
|
30929
30993
|
},
|
|
30930
30994
|
{ rootMargin }
|
|
30931
30995
|
);
|
|
@@ -30973,7 +31037,7 @@ function DataTableRowCount({
|
|
|
30973
31037
|
const table = useDataTableContext();
|
|
30974
31038
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
30975
31039
|
if (hideWhenEmpty && count === 0) return null;
|
|
30976
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
31040
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _612 => _612(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
30977
31041
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30978
31042
|
"span",
|
|
30979
31043
|
{
|
|
@@ -31132,7 +31196,7 @@ function SearchInput({
|
|
|
31132
31196
|
if (!showHiddenTags) return;
|
|
31133
31197
|
const handleClick = (e) => {
|
|
31134
31198
|
const target = e.target;
|
|
31135
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31199
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _613 => _613.current, 'optionalAccess', _614 => _614.contains, 'call', _615 => _615(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.contains, 'call', _618 => _618(target)])) {
|
|
31136
31200
|
setShowHiddenTags(false);
|
|
31137
31201
|
}
|
|
31138
31202
|
};
|
|
@@ -31180,10 +31244,10 @@ function SearchInput({
|
|
|
31180
31244
|
} else {
|
|
31181
31245
|
setInternalValue("");
|
|
31182
31246
|
}
|
|
31183
|
-
_optionalChain([inputRef, 'access',
|
|
31247
|
+
_optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
|
|
31184
31248
|
};
|
|
31185
31249
|
const handleResultClick = (result, e) => {
|
|
31186
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
31250
|
+
_optionalChain([onResultSelect, 'optionalCall', _622 => _622(
|
|
31187
31251
|
result,
|
|
31188
31252
|
e ? {
|
|
31189
31253
|
metaKey: e.metaKey,
|
|
@@ -31215,7 +31279,7 @@ function SearchInput({
|
|
|
31215
31279
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
31216
31280
|
handleResultClick(flatResults[highlightedIndex]);
|
|
31217
31281
|
} else {
|
|
31218
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
31282
|
+
_optionalChain([onSubmit, 'optionalCall', _623 => _623(currentValue)]);
|
|
31219
31283
|
}
|
|
31220
31284
|
break;
|
|
31221
31285
|
case "Escape":
|
|
@@ -31293,7 +31357,7 @@ function SearchInput({
|
|
|
31293
31357
|
dropdownVisible && "!border-ods-accent"
|
|
31294
31358
|
),
|
|
31295
31359
|
onClick: () => {
|
|
31296
|
-
_optionalChain([inputRef, 'access',
|
|
31360
|
+
_optionalChain([inputRef, 'access', _624 => _624.current, 'optionalAccess', _625 => _625.focus, 'call', _626 => _626()]);
|
|
31297
31361
|
setIsOpen(true);
|
|
31298
31362
|
},
|
|
31299
31363
|
children: [
|
|
@@ -31377,10 +31441,10 @@ function SearchInput({
|
|
|
31377
31441
|
align: "start",
|
|
31378
31442
|
onOpenAutoFocus: (e) => {
|
|
31379
31443
|
e.preventDefault();
|
|
31380
|
-
_optionalChain([inputRef, 'access',
|
|
31444
|
+
_optionalChain([inputRef, 'access', _627 => _627.current, 'optionalAccess', _628 => _628.focus, 'call', _629 => _629()]);
|
|
31381
31445
|
},
|
|
31382
31446
|
onInteractOutside: (e) => {
|
|
31383
|
-
if (_optionalChain([containerRef, 'access',
|
|
31447
|
+
if (_optionalChain([containerRef, 'access', _630 => _630.current, 'optionalAccess', _631 => _631.contains, 'call', _632 => _632(e.target)])) {
|
|
31384
31448
|
e.preventDefault();
|
|
31385
31449
|
}
|
|
31386
31450
|
},
|
|
@@ -31397,10 +31461,10 @@ function SearchInput({
|
|
|
31397
31461
|
ref: hiddenTagsPopupRef,
|
|
31398
31462
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
31399
31463
|
style: {
|
|
31400
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
31464
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _633 => _633.current, 'optionalAccess', _634 => _634.getBoundingClientRect, 'call', _635 => _635(), 'access', _636 => _636.left]), () => ( 0))) : 0
|
|
31401
31465
|
},
|
|
31402
31466
|
onRemove: (value2) => {
|
|
31403
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
31467
|
+
_optionalChain([onFilterRemove, 'optionalCall', _637 => _637(value2)]);
|
|
31404
31468
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
31405
31469
|
}
|
|
31406
31470
|
}
|
|
@@ -31451,7 +31515,7 @@ function FilterListItem({
|
|
|
31451
31515
|
}) {
|
|
31452
31516
|
const handleToggle = () => {
|
|
31453
31517
|
if (disabled) return;
|
|
31454
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
31518
|
+
_optionalChain([onToggle, 'optionalCall', _638 => _638(!selected)]);
|
|
31455
31519
|
};
|
|
31456
31520
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31457
31521
|
"div",
|
|
@@ -31498,7 +31562,7 @@ function FilterListItem({
|
|
|
31498
31562
|
CheckboxPrimitive4.Root,
|
|
31499
31563
|
{
|
|
31500
31564
|
checked: selected,
|
|
31501
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
31565
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _639 => _639(c === true)]),
|
|
31502
31566
|
onClick: (e) => e.stopPropagation(),
|
|
31503
31567
|
disabled,
|
|
31504
31568
|
"aria-label": title,
|
|
@@ -31597,7 +31661,7 @@ function TagSearchInput({
|
|
|
31597
31661
|
if (!showHiddenTags) return;
|
|
31598
31662
|
const handleClick = (e) => {
|
|
31599
31663
|
const target = e.target;
|
|
31600
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31664
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _640 => _640.current, 'optionalAccess', _641 => _641.contains, 'call', _642 => _642(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.contains, 'call', _645 => _645(target)])) {
|
|
31601
31665
|
setShowHiddenTags(false);
|
|
31602
31666
|
}
|
|
31603
31667
|
};
|
|
@@ -31613,13 +31677,13 @@ function TagSearchInput({
|
|
|
31613
31677
|
e.preventDefault();
|
|
31614
31678
|
onSubmit(searchValue);
|
|
31615
31679
|
}
|
|
31616
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
31680
|
+
_optionalChain([onKeyDown, 'optionalCall', _646 => _646(e)]);
|
|
31617
31681
|
};
|
|
31618
31682
|
const handleClearAll = (e) => {
|
|
31619
31683
|
e.stopPropagation();
|
|
31620
31684
|
e.preventDefault();
|
|
31621
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
31622
|
-
_optionalChain([inputRef, 'access',
|
|
31685
|
+
_optionalChain([onClearAll, 'optionalCall', _647 => _647()]);
|
|
31686
|
+
_optionalChain([inputRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.focus, 'call', _650 => _650()]);
|
|
31623
31687
|
};
|
|
31624
31688
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
31625
31689
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -31636,7 +31700,7 @@ function TagSearchInput({
|
|
|
31636
31700
|
className
|
|
31637
31701
|
),
|
|
31638
31702
|
onClick: () => {
|
|
31639
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
31703
|
+
if (!disabled) _optionalChain([inputRef, 'access', _651 => _651.current, 'optionalAccess', _652 => _652.focus, 'call', _653 => _653()]);
|
|
31640
31704
|
},
|
|
31641
31705
|
children: [
|
|
31642
31706
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
|
|
@@ -31708,7 +31772,7 @@ function TagSearchInput({
|
|
|
31708
31772
|
items: hiddenTags,
|
|
31709
31773
|
disabled,
|
|
31710
31774
|
style: {
|
|
31711
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
31775
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _654 => _654.current, 'optionalAccess', _655 => _655.getBoundingClientRect, 'call', _656 => _656(), 'access', _657 => _657.left]), () => ( 0))) : 0
|
|
31712
31776
|
},
|
|
31713
31777
|
onRemove: (value) => {
|
|
31714
31778
|
onTagRemove(value);
|
|
@@ -31809,7 +31873,7 @@ function MarkdownEditor({
|
|
|
31809
31873
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
31810
31874
|
_react.useEffect.call(void 0, () => {
|
|
31811
31875
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
31812
|
-
if (_optionalChain([mod, 'access',
|
|
31876
|
+
if (_optionalChain([mod, 'access', _658 => _658.commands, 'optionalAccess', _659 => _659.getExtraCommands])) {
|
|
31813
31877
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
31814
31878
|
}
|
|
31815
31879
|
});
|
|
@@ -31843,7 +31907,7 @@ function MarkdownEditor({
|
|
|
31843
31907
|
const isImage = file.type.startsWith("image/");
|
|
31844
31908
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
31845
31909
|
insertTextAtCursor(markdown);
|
|
31846
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
31910
|
+
_optionalChain([onFileUploaded, 'optionalCall', _660 => _660(url, file.name)]);
|
|
31847
31911
|
} catch (error) {
|
|
31848
31912
|
console.error("File upload failed:", error);
|
|
31849
31913
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -31856,7 +31920,7 @@ function MarkdownEditor({
|
|
|
31856
31920
|
);
|
|
31857
31921
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
31858
31922
|
(e) => {
|
|
31859
|
-
const file = _optionalChain([e, 'access',
|
|
31923
|
+
const file = _optionalChain([e, 'access', _661 => _661.target, 'access', _662 => _662.files, 'optionalAccess', _663 => _663[0]]);
|
|
31860
31924
|
if (file) {
|
|
31861
31925
|
handleFileUpload(file);
|
|
31862
31926
|
e.target.value = "";
|
|
@@ -31867,7 +31931,7 @@ function MarkdownEditor({
|
|
|
31867
31931
|
const handlePaste = _react.useCallback.call(void 0,
|
|
31868
31932
|
(e) => {
|
|
31869
31933
|
if (!onUploadFile) return;
|
|
31870
|
-
const items = _optionalChain([e, 'access',
|
|
31934
|
+
const items = _optionalChain([e, 'access', _664 => _664.clipboardData, 'optionalAccess', _665 => _665.items]);
|
|
31871
31935
|
if (!items) return;
|
|
31872
31936
|
for (const item of items) {
|
|
31873
31937
|
if (item.type.startsWith("image/")) {
|
|
@@ -31892,7 +31956,7 @@ function MarkdownEditor({
|
|
|
31892
31956
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
31893
31957
|
icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
|
|
31894
31958
|
execute: () => {
|
|
31895
|
-
_optionalChain([fileInputRef, 'access',
|
|
31959
|
+
_optionalChain([fileInputRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.click, 'call', _668 => _668()]);
|
|
31896
31960
|
}
|
|
31897
31961
|
} : null;
|
|
31898
31962
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -31904,7 +31968,7 @@ function MarkdownEditor({
|
|
|
31904
31968
|
const EDGE_ZONE = 60;
|
|
31905
31969
|
const MAX_SCROLL_SPEED = 15;
|
|
31906
31970
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
31907
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
31971
|
+
let node = _optionalChain([el, 'optionalAccess', _669 => _669.parentElement]);
|
|
31908
31972
|
while (node && node !== document.documentElement) {
|
|
31909
31973
|
const { overflowY } = window.getComputedStyle(node);
|
|
31910
31974
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -32047,7 +32111,7 @@ function matchesAccept(file, accept) {
|
|
|
32047
32111
|
});
|
|
32048
32112
|
}
|
|
32049
32113
|
function dragHasFiles(e) {
|
|
32050
|
-
const types = _optionalChain([e, 'access',
|
|
32114
|
+
const types = _optionalChain([e, 'access', _670 => _670.dataTransfer, 'optionalAccess', _671 => _671.types]);
|
|
32051
32115
|
if (!types) return false;
|
|
32052
32116
|
for (let i = 0; i < types.length; i++) {
|
|
32053
32117
|
if (types[i] === "Files") return true;
|
|
@@ -32142,7 +32206,7 @@ function FileUpload({
|
|
|
32142
32206
|
e.stopPropagation();
|
|
32143
32207
|
setDragActive(false);
|
|
32144
32208
|
if (disabled) return;
|
|
32145
|
-
if (_optionalChain([e, 'access',
|
|
32209
|
+
if (_optionalChain([e, 'access', _672 => _672.dataTransfer, 'access', _673 => _673.files, 'optionalAccess', _674 => _674.length])) {
|
|
32146
32210
|
handleFiles(e.dataTransfer.files);
|
|
32147
32211
|
}
|
|
32148
32212
|
};
|
|
@@ -32170,7 +32234,7 @@ function FileUpload({
|
|
|
32170
32234
|
e.preventDefault();
|
|
32171
32235
|
dragCounter = 0;
|
|
32172
32236
|
setDragActive(false);
|
|
32173
|
-
if (_optionalChain([e, 'access',
|
|
32237
|
+
if (_optionalChain([e, 'access', _675 => _675.dataTransfer, 'optionalAccess', _676 => _676.files, 'optionalAccess', _677 => _677.length])) {
|
|
32174
32238
|
handleFilesRef.current(e.dataTransfer.files);
|
|
32175
32239
|
}
|
|
32176
32240
|
};
|
|
@@ -32192,7 +32256,7 @@ function FileUpload({
|
|
|
32192
32256
|
};
|
|
32193
32257
|
}, [acceptWindowDrops, disabled]);
|
|
32194
32258
|
const handleFileSelect = (e) => {
|
|
32195
|
-
if (_optionalChain([e, 'access',
|
|
32259
|
+
if (_optionalChain([e, 'access', _678 => _678.target, 'access', _679 => _679.files, 'optionalAccess', _680 => _680.length])) {
|
|
32196
32260
|
handleFiles(e.target.files);
|
|
32197
32261
|
}
|
|
32198
32262
|
};
|
|
@@ -32209,7 +32273,7 @@ function FileUpload({
|
|
|
32209
32273
|
};
|
|
32210
32274
|
const openDialog = async () => {
|
|
32211
32275
|
if (disabled) return;
|
|
32212
|
-
_optionalChain([fileInputRef, 'access',
|
|
32276
|
+
_optionalChain([fileInputRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.click, 'call', _683 => _683()]);
|
|
32213
32277
|
};
|
|
32214
32278
|
const displayError = error || validationError || void 0;
|
|
32215
32279
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -32287,7 +32351,7 @@ function FileUpload({
|
|
|
32287
32351
|
"button",
|
|
32288
32352
|
{
|
|
32289
32353
|
type: "button",
|
|
32290
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
32354
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _684 => _684(entry.id)]),
|
|
32291
32355
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
32292
32356
|
"aria-label": `Remove ${entry.fileName}`,
|
|
32293
32357
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -32410,7 +32474,7 @@ function ImageUploader({
|
|
|
32410
32474
|
onChange(file);
|
|
32411
32475
|
};
|
|
32412
32476
|
const handleFileSelect = (e) => {
|
|
32413
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32477
|
+
validateAndEmit(_optionalChain([e, 'access', _685 => _685.target, 'access', _686 => _686.files, 'optionalAccess', _687 => _687[0]]));
|
|
32414
32478
|
if (inputRef.current) inputRef.current.value = "";
|
|
32415
32479
|
};
|
|
32416
32480
|
const handleDrag = (e) => {
|
|
@@ -32425,11 +32489,11 @@ function ImageUploader({
|
|
|
32425
32489
|
e.stopPropagation();
|
|
32426
32490
|
setDragActive(false);
|
|
32427
32491
|
if (!interactive) return;
|
|
32428
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32492
|
+
validateAndEmit(_optionalChain([e, 'access', _688 => _688.dataTransfer, 'access', _689 => _689.files, 'optionalAccess', _690 => _690[0]]));
|
|
32429
32493
|
};
|
|
32430
32494
|
const openDialog = () => {
|
|
32431
32495
|
if (!interactive) return;
|
|
32432
|
-
_optionalChain([inputRef, 'access',
|
|
32496
|
+
_optionalChain([inputRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.click, 'call', _693 => _693()]);
|
|
32433
32497
|
};
|
|
32434
32498
|
const handleRootKeyDown = (e) => {
|
|
32435
32499
|
if (hasImage || !interactive) return;
|
|
@@ -32619,8 +32683,8 @@ function ColorPresetSelect({
|
|
|
32619
32683
|
}) {
|
|
32620
32684
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
32621
32685
|
const isCustom = !selectedPreset;
|
|
32622
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32623
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32686
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _694 => _694.label]), () => ( "Custom"));
|
|
32687
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _695 => _695.color]), () => ( value));
|
|
32624
32688
|
const groups = [
|
|
32625
32689
|
{
|
|
32626
32690
|
items: [
|
|
@@ -32910,7 +32974,7 @@ function TicketStatusConfigRow({
|
|
|
32910
32974
|
_chunkGRTZ23GLcjs.Input,
|
|
32911
32975
|
{
|
|
32912
32976
|
value: name,
|
|
32913
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
32977
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _696 => _696(e.target.value)]),
|
|
32914
32978
|
disabled: isSystem,
|
|
32915
32979
|
readOnly: isSystem,
|
|
32916
32980
|
"aria-label": "Status name",
|
|
@@ -32993,7 +33057,7 @@ function CompactAssigneeDropdown({
|
|
|
32993
33057
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
32994
33058
|
}, [filtered, currentAssignee]);
|
|
32995
33059
|
const handleSelect = (userId) => {
|
|
32996
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
33060
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _697 => _697.id]) === userId ? null : userId;
|
|
32997
33061
|
onAssign(next);
|
|
32998
33062
|
setIsOpen(false);
|
|
32999
33063
|
};
|
|
@@ -33058,7 +33122,7 @@ function CompactAssigneeDropdown({
|
|
|
33058
33122
|
}
|
|
33059
33123
|
) }),
|
|
33060
33124
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
|
|
33061
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
33125
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _698 => _698.id]) === opt.value;
|
|
33062
33126
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33063
33127
|
"button",
|
|
33064
33128
|
{
|
|
@@ -33127,7 +33191,7 @@ function DefaultAssigneeDropdown({
|
|
|
33127
33191
|
Autocomplete,
|
|
33128
33192
|
{
|
|
33129
33193
|
options,
|
|
33130
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
33194
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _699 => _699.id]), () => ( null)),
|
|
33131
33195
|
onChange: (val) => {
|
|
33132
33196
|
onAssign(val);
|
|
33133
33197
|
setIsEditing(false);
|
|
@@ -33516,14 +33580,14 @@ function TicketInfoSection({
|
|
|
33516
33580
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33517
33581
|
SquareAvatar,
|
|
33518
33582
|
{
|
|
33519
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
33520
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
33521
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
33583
|
+
src: _optionalChain([organization, 'optionalAccess', _700 => _700.imageSrc]),
|
|
33584
|
+
alt: _optionalChain([organization, 'optionalAccess', _701 => _701.name]),
|
|
33585
|
+
fallback: _optionalChain([organization, 'optionalAccess', _702 => _702.name]) || "Org",
|
|
33522
33586
|
size: "md",
|
|
33523
33587
|
className: "shrink-0"
|
|
33524
33588
|
}
|
|
33525
33589
|
),
|
|
33526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
33590
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _703 => _703.name]) || "Unassigned", label: "Organization" })
|
|
33527
33591
|
] }),
|
|
33528
33592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33529
33593
|
AssigneeDropdown,
|
|
@@ -33544,10 +33608,10 @@ function TicketInfoSection({
|
|
|
33544
33608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33545
33609
|
InfoCell2,
|
|
33546
33610
|
{
|
|
33547
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
33611
|
+
value: _optionalChain([device, 'optionalAccess', _704 => _704.name]) || "Unassigned",
|
|
33548
33612
|
label: "Device",
|
|
33549
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
33550
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
33613
|
+
icon: _optionalChain([device, 'optionalAccess', _705 => _705.icon]),
|
|
33614
|
+
onClick: _optionalChain([device, 'optionalAccess', _706 => _706.onClick])
|
|
33551
33615
|
}
|
|
33552
33616
|
),
|
|
33553
33617
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -33876,7 +33940,7 @@ function RoadmapCard({
|
|
|
33876
33940
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
33877
33941
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
33878
33942
|
const hasFigma = !!item.figmaUrl;
|
|
33879
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
33943
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _707 => _707.screenshots, 'optionalAccess', _708 => _708.length]), () => ( 0))) > 0;
|
|
33880
33944
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
33881
33945
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
33882
33946
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -33895,7 +33959,7 @@ function RoadmapCard({
|
|
|
33895
33959
|
unoptimized: true,
|
|
33896
33960
|
className: "h-8 w-8 object-contain"
|
|
33897
33961
|
}
|
|
33898
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
33962
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _709 => _709.title, 'optionalAccess', _710 => _710.substring, 'call', _711 => _711(0, 2)]) || "??" })
|
|
33899
33963
|
}
|
|
33900
33964
|
),
|
|
33901
33965
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -33970,7 +34034,7 @@ function RoadmapCard({
|
|
|
33970
34034
|
unoptimized: true,
|
|
33971
34035
|
className: "object-contain p-1"
|
|
33972
34036
|
}
|
|
33973
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
34037
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _712 => _712.title, 'optionalAccess', _713 => _713.substring, 'call', _714 => _714(0, 2)]) || "??" }) }),
|
|
33974
34038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
33975
34039
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
|
|
33976
34040
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
|
|
@@ -34480,7 +34544,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
34480
34544
|
] }) : null,
|
|
34481
34545
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
|
|
34482
34546
|
] }),
|
|
34483
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
34547
|
+
_optionalChain([anchorProps, 'optionalAccess', _715 => _715.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
|
|
34484
34548
|
] });
|
|
34485
34549
|
if (!anchorProps) {
|
|
34486
34550
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -34550,7 +34614,7 @@ function getDefaultOptions() {
|
|
|
34550
34614
|
// node_modules/date-fns/startOfWeek.mjs
|
|
34551
34615
|
function startOfWeek(date, options) {
|
|
34552
34616
|
const defaultOptions2 = getDefaultOptions();
|
|
34553
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
34617
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _716 => _716.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _717 => _717.locale, 'optionalAccess', _718 => _718.options, 'optionalAccess', _719 => _719.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _720 => _720.locale, 'optionalAccess', _721 => _721.options, 'optionalAccess', _722 => _722.weekStartsOn]))), () => ( 0));
|
|
34554
34618
|
const _date = toDate(date);
|
|
34555
34619
|
const day = _date.getDay();
|
|
34556
34620
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -34725,7 +34789,7 @@ var formatDistance = (token, count, options) => {
|
|
|
34725
34789
|
} else {
|
|
34726
34790
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
34727
34791
|
}
|
|
34728
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
34792
|
+
if (_optionalChain([options, 'optionalAccess', _723 => _723.addSuffix])) {
|
|
34729
34793
|
if (options.comparison && options.comparison > 0) {
|
|
34730
34794
|
return "in " + result;
|
|
34731
34795
|
} else {
|
|
@@ -34792,15 +34856,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
34792
34856
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
34793
34857
|
function buildLocalizeFn(args) {
|
|
34794
34858
|
return (value, options) => {
|
|
34795
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
34859
|
+
const context = _optionalChain([options, 'optionalAccess', _724 => _724.context]) ? String(options.context) : "standalone";
|
|
34796
34860
|
let valuesArray;
|
|
34797
34861
|
if (context === "formatting" && args.formattingValues) {
|
|
34798
34862
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
34799
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34863
|
+
const width = _optionalChain([options, 'optionalAccess', _725 => _725.width]) ? String(options.width) : defaultWidth;
|
|
34800
34864
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
34801
34865
|
} else {
|
|
34802
34866
|
const defaultWidth = args.defaultWidth;
|
|
34803
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34867
|
+
const width = _optionalChain([options, 'optionalAccess', _726 => _726.width]) ? String(options.width) : args.defaultWidth;
|
|
34804
34868
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
34805
34869
|
}
|
|
34806
34870
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -35180,7 +35244,7 @@ function getWeekYear(date, options) {
|
|
|
35180
35244
|
const _date = toDate(date);
|
|
35181
35245
|
const year = _date.getFullYear();
|
|
35182
35246
|
const defaultOptions2 = getDefaultOptions();
|
|
35183
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35247
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _727 => _727.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _728 => _728.locale, 'optionalAccess', _729 => _729.options, 'optionalAccess', _730 => _730.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _731 => _731.locale, 'optionalAccess', _732 => _732.options, 'optionalAccess', _733 => _733.firstWeekContainsDate]))), () => ( 1));
|
|
35184
35248
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
35185
35249
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
35186
35250
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -35201,7 +35265,7 @@ function getWeekYear(date, options) {
|
|
|
35201
35265
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
35202
35266
|
function startOfWeekYear(date, options) {
|
|
35203
35267
|
const defaultOptions2 = getDefaultOptions();
|
|
35204
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35268
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _734 => _734.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _735 => _735.locale, 'optionalAccess', _736 => _736.options, 'optionalAccess', _737 => _737.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _738 => _738.locale, 'optionalAccess', _739 => _739.options, 'optionalAccess', _740 => _740.firstWeekContainsDate]))), () => ( 1));
|
|
35205
35269
|
const year = getWeekYear(date, options);
|
|
35206
35270
|
const firstWeek = constructFrom(date, 0);
|
|
35207
35271
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -36016,9 +36080,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
36016
36080
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
36017
36081
|
function format(date, formatStr, options) {
|
|
36018
36082
|
const defaultOptions2 = getDefaultOptions();
|
|
36019
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
36020
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
36021
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
36083
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _741 => _741.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
36084
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _742 => _742.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _743 => _743.locale, 'optionalAccess', _744 => _744.options, 'optionalAccess', _745 => _745.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _746 => _746.locale, 'optionalAccess', _747 => _747.options, 'optionalAccess', _748 => _748.firstWeekContainsDate]))), () => ( 1));
|
|
36085
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _749 => _749.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _750 => _750.locale, 'optionalAccess', _751 => _751.options, 'optionalAccess', _752 => _752.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _753 => _753.locale, 'optionalAccess', _754 => _754.options, 'optionalAccess', _755 => _755.weekStartsOn]))), () => ( 0));
|
|
36022
36086
|
const originalDate = toDate(date);
|
|
36023
36087
|
if (!isValid(originalDate)) {
|
|
36024
36088
|
throw new RangeError("Invalid time value");
|
|
@@ -36059,7 +36123,7 @@ function format(date, formatStr, options) {
|
|
|
36059
36123
|
return parts.map((part) => {
|
|
36060
36124
|
if (!part.isToken) return part.value;
|
|
36061
36125
|
const token = part.value;
|
|
36062
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
36126
|
+
if (!_optionalChain([options, 'optionalAccess', _756 => _756.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _757 => _757.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
36063
36127
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
36064
36128
|
}
|
|
36065
36129
|
const formatter = formatters[token[0]];
|
|
@@ -36237,7 +36301,7 @@ function ProgramCard({
|
|
|
36237
36301
|
const dur = formatDurationFromRange(w.start_at, w.end_at);
|
|
36238
36302
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
36239
36303
|
}
|
|
36240
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
36304
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _758 => _758.labels, 'optionalAccess', _759 => _759.singular])].filter(
|
|
36241
36305
|
(s) => typeof s === "string" && s.length > 0
|
|
36242
36306
|
);
|
|
36243
36307
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -36394,7 +36458,7 @@ function ProgramCard({
|
|
|
36394
36458
|
|
|
36395
36459
|
|
|
36396
36460
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
36397
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
36461
|
+
const goalsCount = _optionalChain([campaign, 'access', _760 => _760.goals, 'optionalAccess', _761 => _761.length]) || 0;
|
|
36398
36462
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
36399
36463
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
36400
36464
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -36485,33 +36549,6 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
|
|
|
36485
36549
|
|
|
36486
36550
|
// src/components/chat/hooks/use-chat-card-item.ts
|
|
36487
36551
|
var _reactquery = require('@tanstack/react-query');
|
|
36488
|
-
function extractItems(data) {
|
|
36489
|
-
if (!data || typeof data !== "object") return [];
|
|
36490
|
-
const obj = data;
|
|
36491
|
-
if (Array.isArray(obj.items)) return obj.items;
|
|
36492
|
-
if (Array.isArray(obj.posts)) return obj.posts;
|
|
36493
|
-
if (Array.isArray(obj.campaigns)) return obj.campaigns;
|
|
36494
|
-
if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
|
|
36495
|
-
const completed = Array.isArray(obj.completed) ? obj.completed : [];
|
|
36496
|
-
const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
|
|
36497
|
-
return [...completed, ...inProgress];
|
|
36498
|
-
}
|
|
36499
|
-
if (Array.isArray(obj.data)) return obj.data;
|
|
36500
|
-
if (Array.isArray(data)) return data;
|
|
36501
|
-
return [];
|
|
36502
|
-
}
|
|
36503
|
-
function extractItemId(type, item) {
|
|
36504
|
-
if (!item || typeof item !== "object") return null;
|
|
36505
|
-
const obj = item;
|
|
36506
|
-
if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
|
|
36507
|
-
const ext = obj.external_id;
|
|
36508
|
-
if (typeof ext === "string") return ext;
|
|
36509
|
-
}
|
|
36510
|
-
const id = obj.id;
|
|
36511
|
-
if (typeof id === "string") return id;
|
|
36512
|
-
if (typeof id === "number") return String(id);
|
|
36513
|
-
return null;
|
|
36514
|
-
}
|
|
36515
36552
|
function useChatCardItem(type, id) {
|
|
36516
36553
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
36517
36554
|
const url = runtime.endpoints.buildListUrl(type, [id]);
|
|
@@ -36583,7 +36620,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
36583
36620
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
36584
36621
|
const safePath = sanitizePath(row.path);
|
|
36585
36622
|
if (safePath) {
|
|
36586
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
36623
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _762 => _762.docPlatformTargets, 'optionalAccess', _763 => _763[row.documentType]]) : void 0;
|
|
36587
36624
|
if (docTarget) {
|
|
36588
36625
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
36589
36626
|
const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -36798,8 +36835,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
36798
36835
|
if (href) {
|
|
36799
36836
|
items.push({
|
|
36800
36837
|
id: "open-details",
|
|
36801
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36802
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36838
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _764 => _764.label]), () => ( "Open Details")),
|
|
36839
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _765 => _765.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
|
|
36803
36840
|
// Main row → open the entity (same tab, soft Link nav).
|
|
36804
36841
|
href,
|
|
36805
36842
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -36829,8 +36866,8 @@ function HubspotTicketChatCard({
|
|
|
36829
36866
|
isNewTab,
|
|
36830
36867
|
discuss
|
|
36831
36868
|
}) {
|
|
36832
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
36833
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
36869
|
+
const status = typeof _optionalChain([chatRef, 'access', _766 => _766.metadata, 'optionalAccess', _767 => _767.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
36870
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _768 => _768.metadata, 'optionalAccess', _769 => _769.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
36834
36871
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
36835
36872
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36836
36873
|
MingoInfoCard,
|
|
@@ -36853,7 +36890,7 @@ function SlackChatCard({
|
|
|
36853
36890
|
isNewTab,
|
|
36854
36891
|
discuss
|
|
36855
36892
|
}) {
|
|
36856
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
36893
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _770 => _770.metadata, 'optionalAccess', _771 => _771.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
36857
36894
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
36858
36895
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
36859
36896
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -36893,7 +36930,7 @@ function GenericFinancialChatCard({
|
|
|
36893
36930
|
isNewTab,
|
|
36894
36931
|
discuss
|
|
36895
36932
|
}) {
|
|
36896
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
36933
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _772 => _772.metadata, 'optionalAccess', _773 => _773.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
36897
36934
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36898
36935
|
MingoInfoCard,
|
|
36899
36936
|
{
|
|
@@ -36962,12 +36999,12 @@ function ProductReleaseChatCard({
|
|
|
36962
36999
|
discuss
|
|
36963
37000
|
}) {
|
|
36964
37001
|
const releaseProps = buildProps(item);
|
|
36965
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
37002
|
+
const status = _optionalChain([item, 'optionalAccess', _774 => _774.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
36966
37003
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36967
37004
|
EntityMingoCard,
|
|
36968
37005
|
{
|
|
36969
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36970
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37006
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.title]), () => ( "")),
|
|
37007
|
+
description: _optionalChain([item, 'optionalAccess', _776 => _776.summary]) || releaseProps.formattedDate || void 0,
|
|
36971
37008
|
cover: releaseProps.coverImage || void 0,
|
|
36972
37009
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
|
|
36973
37010
|
status,
|
|
@@ -36984,17 +37021,17 @@ function CampaignChatCard({
|
|
|
36984
37021
|
isNewTab,
|
|
36985
37022
|
discuss
|
|
36986
37023
|
}) {
|
|
36987
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
37024
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _777 => _777.goals])) ? item.goals.length : 0;
|
|
36988
37025
|
const meta = [
|
|
36989
|
-
_optionalChain([item, 'optionalAccess',
|
|
37026
|
+
_optionalChain([item, 'optionalAccess', _778 => _778.start_date]) ? formatDateShort(item.start_date) : null,
|
|
36990
37027
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
36991
37028
|
"Marketing campaign"
|
|
36992
37029
|
].filter(Boolean).join(" \xB7 ");
|
|
36993
37030
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36994
37031
|
EntityMingoCard,
|
|
36995
37032
|
{
|
|
36996
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36997
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
37033
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _779 => _779.name]), () => ( "")),
|
|
37034
|
+
description: meta || _optionalChain([item, 'optionalAccess', _780 => _780.description]) || void 0,
|
|
36998
37035
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
|
|
36999
37036
|
chatRef,
|
|
37000
37037
|
isNewTab,
|
|
@@ -37047,14 +37084,14 @@ function BlogChatCard({
|
|
|
37047
37084
|
hasEmbeddedVideo,
|
|
37048
37085
|
discuss
|
|
37049
37086
|
}) {
|
|
37050
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
37087
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _781 => _781.categories])) ? _optionalChain([item, 'access', _782 => _782.categories, 'access', _783 => _783.find, 'call', _784 => _784((c) => c && c.name), 'optionalAccess', _785 => _785.name]) : void 0;
|
|
37051
37088
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
37052
37089
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37053
37090
|
EntityMingoCard,
|
|
37054
37091
|
{
|
|
37055
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37056
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37057
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37092
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _786 => _786.title]), () => ( "")),
|
|
37093
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _787 => _787.summary]), () => ( void 0)),
|
|
37094
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _788 => _788.featured_image]), ogPlaceholder),
|
|
37058
37095
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
|
|
37059
37096
|
status,
|
|
37060
37097
|
chatRef,
|
|
@@ -37071,13 +37108,13 @@ function CaseStudyChatCard({
|
|
|
37071
37108
|
ogPlaceholder,
|
|
37072
37109
|
discuss
|
|
37073
37110
|
}) {
|
|
37074
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37111
|
+
const meta = [_optionalChain([item, 'optionalAccess', _789 => _789.msp, 'optionalAccess', _790 => _790.name]), _optionalChain([item, 'optionalAccess', _791 => _791.user, 'optionalAccess', _792 => _792.full_name])].filter(Boolean).join(" \xB7 ");
|
|
37075
37112
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37076
37113
|
EntityMingoCard,
|
|
37077
37114
|
{
|
|
37078
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37079
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37080
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37115
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _793 => _793.title]), () => ( "")),
|
|
37116
|
+
description: _optionalChain([item, 'optionalAccess', _794 => _794.summary]) || meta || void 0,
|
|
37117
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _795 => _795.featured_image]), ogPlaceholder),
|
|
37081
37118
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
|
|
37082
37119
|
status: { label: "Case study", variant: "grey" },
|
|
37083
37120
|
chatRef,
|
|
@@ -37094,13 +37131,13 @@ function CustomerInterviewChatCard({
|
|
|
37094
37131
|
ogPlaceholder,
|
|
37095
37132
|
discuss
|
|
37096
37133
|
}) {
|
|
37097
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37134
|
+
const meta = [_optionalChain([item, 'optionalAccess', _796 => _796.user, 'optionalAccess', _797 => _797.full_name]), _optionalChain([item, 'optionalAccess', _798 => _798.msp, 'optionalAccess', _799 => _799.name])].filter(Boolean).join(" \xB7 ");
|
|
37098
37135
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37099
37136
|
EntityMingoCard,
|
|
37100
37137
|
{
|
|
37101
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37102
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37103
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37138
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _800 => _800.title]), () => ( "")),
|
|
37139
|
+
description: _optionalChain([item, 'optionalAccess', _801 => _801.video_summary]) || meta || void 0,
|
|
37140
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _802 => _802.featured_image]), ogPlaceholder),
|
|
37104
37141
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
|
|
37105
37142
|
status: { label: "Interview", variant: "grey" },
|
|
37106
37143
|
chatRef,
|
|
@@ -37117,13 +37154,13 @@ function InvestorUpdateChatCard({
|
|
|
37117
37154
|
ogPlaceholder,
|
|
37118
37155
|
discuss
|
|
37119
37156
|
}) {
|
|
37120
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
37157
|
+
const title = _optionalChain([item, 'optionalAccess', _803 => _803.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _804 => _804.update_number]), () => ( "?"))}`;
|
|
37121
37158
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37122
37159
|
EntityMingoCard,
|
|
37123
37160
|
{
|
|
37124
37161
|
title,
|
|
37125
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37126
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37162
|
+
description: _optionalChain([item, 'optionalAccess', _805 => _805.strategic_update]) || _optionalChain([item, 'optionalAccess', _806 => _806.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _807 => _807.period_start]), _optionalChain([item, 'optionalAccess', _808 => _808.period_end])) || void 0,
|
|
37163
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _809 => _809.featured_image]), ogPlaceholder),
|
|
37127
37164
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
|
|
37128
37165
|
status: { label: "Investor update", variant: "grey" },
|
|
37129
37166
|
chatRef,
|
|
@@ -37140,12 +37177,12 @@ function OnboardingGuideChatCard({
|
|
|
37140
37177
|
ogPlaceholder,
|
|
37141
37178
|
discuss
|
|
37142
37179
|
}) {
|
|
37143
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
37180
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _810 => _810.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _811 => _811.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _812 => _812.og_image_url]), ogPlaceholder)));
|
|
37144
37181
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37145
37182
|
EntityMingoCard,
|
|
37146
37183
|
{
|
|
37147
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37148
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37184
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _813 => _813.title]), () => ( "")),
|
|
37185
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _814 => _814.summary]), () => ( _optionalChain([item, 'optionalAccess', _815 => _815.description]))), () => ( void 0)),
|
|
37149
37186
|
cover,
|
|
37150
37187
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
|
|
37151
37188
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -37166,25 +37203,25 @@ function ProgramChatCard({
|
|
|
37166
37203
|
discuss
|
|
37167
37204
|
}) {
|
|
37168
37205
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 });
|
|
37169
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
37206
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _816 => _816.status]) === "scheduled";
|
|
37170
37207
|
let typeMeta;
|
|
37171
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
37208
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _817 => _817.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
37172
37209
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
37173
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
37210
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _818 => _818.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
37174
37211
|
typeMeta = item.location_name;
|
|
37175
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
37212
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _819 => _819.start_at])) {
|
|
37176
37213
|
const time = formatTimeWithTimezone(item.start_at, null);
|
|
37177
37214
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
37178
37215
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
37179
37216
|
}
|
|
37180
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37217
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
37181
37218
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
37182
37219
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37183
37220
|
EntityMingoCard,
|
|
37184
37221
|
{
|
|
37185
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37186
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
37187
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37222
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _821 => _821.title]), () => ( "")),
|
|
37223
|
+
description: meta || _optionalChain([item, 'optionalAccess', _822 => _822.description]) || void 0,
|
|
37224
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _823 => _823.cover_url]), ogPlaceholder),
|
|
37188
37225
|
fallbackIcon: icon,
|
|
37189
37226
|
status: { label, variant: "grey" },
|
|
37190
37227
|
chatRef,
|
|
@@ -37201,10 +37238,10 @@ function RoadmapChatCard({
|
|
|
37201
37238
|
cardType,
|
|
37202
37239
|
discuss
|
|
37203
37240
|
}) {
|
|
37204
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
37205
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
37241
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _824 => _824.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
37242
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _825 => _825.customItemId]) != null;
|
|
37206
37243
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MapIcon, { size: 24 });
|
|
37207
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
37244
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _826 => _826.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
37208
37245
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
37209
37246
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
37210
37247
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -37212,10 +37249,10 @@ function RoadmapChatCard({
|
|
|
37212
37249
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37213
37250
|
EntityMingoCard,
|
|
37214
37251
|
{
|
|
37215
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37216
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37252
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _827 => _827.title]), () => ( "")),
|
|
37253
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _828 => _828.description]), () => ( void 0)),
|
|
37217
37254
|
fallbackIcon: icon,
|
|
37218
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
37255
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _829 => _829.status])),
|
|
37219
37256
|
chatRef,
|
|
37220
37257
|
isNewTab,
|
|
37221
37258
|
discuss,
|
|
@@ -37301,7 +37338,7 @@ function programRegistryEntries() {
|
|
|
37301
37338
|
discuss: opts.discuss,
|
|
37302
37339
|
configKey: cfg.configKey,
|
|
37303
37340
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
37304
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37341
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _830 => _830.extras, 'optionalAccess', _831 => _831.buildOgPlaceholderUrl, 'optionalCall', _832 => _832(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _833 => _833.title]), () => ( "")))]), () => ( null))
|
|
37305
37342
|
}
|
|
37306
37343
|
)
|
|
37307
37344
|
};
|
|
@@ -37447,8 +37484,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37447
37484
|
chatRef,
|
|
37448
37485
|
isNewTab: opts.isNewTab,
|
|
37449
37486
|
discuss: opts.discuss,
|
|
37450
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37451
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
37487
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _834 => _834.extras, 'optionalAccess', _835 => _835.buildOgPlaceholderUrl, 'optionalCall', _836 => _836(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _837 => _837.title]), () => ( "")))]), () => ( null)),
|
|
37488
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _838 => _838.metadata, 'optionalAccess', _839 => _839.hasEmbeddedVideo]) === true
|
|
37452
37489
|
}
|
|
37453
37490
|
)
|
|
37454
37491
|
},
|
|
@@ -37465,7 +37502,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37465
37502
|
chatRef,
|
|
37466
37503
|
isNewTab: opts.isNewTab,
|
|
37467
37504
|
discuss: opts.discuss,
|
|
37468
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37505
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildOgPlaceholderUrl, 'optionalCall', _842 => _842(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _843 => _843.title]), () => ( "")))]), () => ( null))
|
|
37469
37506
|
}
|
|
37470
37507
|
)
|
|
37471
37508
|
},
|
|
@@ -37482,7 +37519,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37482
37519
|
chatRef,
|
|
37483
37520
|
isNewTab: opts.isNewTab,
|
|
37484
37521
|
discuss: opts.discuss,
|
|
37485
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37522
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _844 => _844.extras, 'optionalAccess', _845 => _845.buildOgPlaceholderUrl, 'optionalCall', _846 => _846(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _847 => _847.title]), () => ( "")))]), () => ( null))
|
|
37486
37523
|
}
|
|
37487
37524
|
)
|
|
37488
37525
|
},
|
|
@@ -37493,7 +37530,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37493
37530
|
bareInline: true,
|
|
37494
37531
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
37495
37532
|
render: (item, chatRef, opts) => {
|
|
37496
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37533
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _848 => _848.extras, 'optionalAccess', _849 => _849.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
37497
37534
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37498
37535
|
ProductReleaseChatCard,
|
|
37499
37536
|
{
|
|
@@ -37520,7 +37557,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37520
37557
|
chatRef,
|
|
37521
37558
|
isNewTab: opts.isNewTab,
|
|
37522
37559
|
discuss: opts.discuss,
|
|
37523
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37560
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _850 => _850.extras, 'optionalAccess', _851 => _851.buildOgPlaceholderUrl, 'optionalCall', _852 => _852(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _853 => _853.title]), () => ( "")))]), () => ( null))
|
|
37524
37561
|
}
|
|
37525
37562
|
)
|
|
37526
37563
|
},
|
|
@@ -37539,7 +37576,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37539
37576
|
chatRef,
|
|
37540
37577
|
isNewTab: opts.isNewTab,
|
|
37541
37578
|
discuss: opts.discuss,
|
|
37542
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37579
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _854 => _854.extras, 'optionalAccess', _855 => _855.buildOgPlaceholderUrl, 'optionalCall', _856 => _856(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _857 => _857.title]), () => ( "")))]), () => ( null))
|
|
37543
37580
|
}
|
|
37544
37581
|
)
|
|
37545
37582
|
},
|
|
@@ -37551,7 +37588,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37551
37588
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
37552
37589
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
37553
37590
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
37554
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
37591
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _858 => _858.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
37555
37592
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37556
37593
|
CampaignChatCard,
|
|
37557
37594
|
{
|
|
@@ -37577,12 +37614,12 @@ function ChatCardNavWrap({
|
|
|
37577
37614
|
const onClickCapture = (e) => {
|
|
37578
37615
|
if (!href) return;
|
|
37579
37616
|
const targetEl = e.target;
|
|
37580
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
37581
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
37617
|
+
if (_optionalChain([targetEl, 'optionalAccess', _859 => _859.closest, 'optionalCall', _860 => _860("button")])) return;
|
|
37618
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _861 => _861.closest, 'optionalCall', _862 => _862("a")])) return;
|
|
37582
37619
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
37583
37620
|
if (!handled) return;
|
|
37584
37621
|
e.stopPropagation();
|
|
37585
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
37622
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _863 => _863.closeChat])) panel.closeChat();
|
|
37586
37623
|
};
|
|
37587
37624
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
37588
37625
|
}
|
|
@@ -37604,7 +37641,7 @@ function ChatCardLoader({
|
|
|
37604
37641
|
title: chatRef.title,
|
|
37605
37642
|
externalUrl: chatRef.url,
|
|
37606
37643
|
targetPlatform: chatRef.targetPlatform,
|
|
37607
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
37644
|
+
path: typeof _optionalChain([chatRef, 'access', _864 => _864.metadata, 'optionalAccess', _865 => _865.path]) === "string" ? chatRef.metadata.path : null
|
|
37608
37645
|
},
|
|
37609
37646
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
37610
37647
|
);
|
|
@@ -37618,7 +37655,7 @@ function ChatCardLoader({
|
|
|
37618
37655
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
37619
37656
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
37620
37657
|
const { item, isLoading } = useChatCardItem(
|
|
37621
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
37658
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _866 => _866.contentRefType]), () => ( "")),
|
|
37622
37659
|
fetchEntry ? resolvedChatRef.id : ""
|
|
37623
37660
|
);
|
|
37624
37661
|
if (!entry) return null;
|
|
@@ -37649,7 +37686,7 @@ function ChatCardLoader({
|
|
|
37649
37686
|
isNewTab,
|
|
37650
37687
|
discuss
|
|
37651
37688
|
};
|
|
37652
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
37689
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
37653
37690
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37654
37691
|
ChatCardNavWrap,
|
|
37655
37692
|
{
|
|
@@ -38175,7 +38212,7 @@ function useJetStreamDialogSubscription({
|
|
|
38175
38212
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
38176
38213
|
conn: sharedConn,
|
|
38177
38214
|
wsUrl,
|
|
38178
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38215
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _869 => _869.current, 'optionalCall', _870 => _870()]),
|
|
38179
38216
|
backoff: reconnectionBackoffRef.current,
|
|
38180
38217
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
38181
38218
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -38190,7 +38227,7 @@ function useJetStreamDialogSubscription({
|
|
|
38190
38227
|
setReconnectionCount((c) => c + 1);
|
|
38191
38228
|
}
|
|
38192
38229
|
hadConnectionBeforeRef.current = true;
|
|
38193
|
-
_optionalChain([onConnectRef, 'access',
|
|
38230
|
+
_optionalChain([onConnectRef, 'access', _871 => _871.current, 'optionalCall', _872 => _872()]);
|
|
38194
38231
|
}
|
|
38195
38232
|
if (status === "error") {
|
|
38196
38233
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -38200,7 +38237,7 @@ function useJetStreamDialogSubscription({
|
|
|
38200
38237
|
setIsConnected(false);
|
|
38201
38238
|
setIsSubscribed(false);
|
|
38202
38239
|
tearDownSubscription();
|
|
38203
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38240
|
+
_optionalChain([onDisconnectRef, 'access', _873 => _873.current, 'optionalCall', _874 => _874()]);
|
|
38204
38241
|
}
|
|
38205
38242
|
}
|
|
38206
38243
|
});
|
|
@@ -38279,7 +38316,7 @@ function useJetStreamDialogSubscription({
|
|
|
38279
38316
|
}
|
|
38280
38317
|
subscriptionRef.current = handle;
|
|
38281
38318
|
setIsSubscribed(true);
|
|
38282
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38319
|
+
_optionalChain([onSubscribedRef, 'access', _875 => _875.current, 'optionalCall', _876 => _876()]);
|
|
38283
38320
|
} catch (e35) {
|
|
38284
38321
|
if (!cancelled) {
|
|
38285
38322
|
setIsSubscribed(false);
|
|
@@ -38392,20 +38429,20 @@ function useNatsDialogSubscription({
|
|
|
38392
38429
|
const tearDownSubscriptions = () => {
|
|
38393
38430
|
subscriptionRefs.current.forEach((sub) => {
|
|
38394
38431
|
try {
|
|
38395
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38432
|
+
_optionalChain([sub, 'optionalAccess', _877 => _877.unsubscribe, 'call', _878 => _878()]);
|
|
38396
38433
|
} catch (e37) {
|
|
38397
38434
|
}
|
|
38398
38435
|
});
|
|
38399
38436
|
subscriptionRefs.current.clear();
|
|
38400
38437
|
lastSubscribedDialogIdRef.current = null;
|
|
38401
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38438
|
+
_optionalChain([abortControllerRef, 'access', _879 => _879.current, 'optionalAccess', _880 => _880.abort, 'call', _881 => _881()]);
|
|
38402
38439
|
abortControllerRef.current = null;
|
|
38403
38440
|
};
|
|
38404
38441
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
|
|
38405
38442
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
38406
38443
|
conn: sharedConn,
|
|
38407
38444
|
wsUrl,
|
|
38408
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38445
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _882 => _882.current, 'optionalCall', _883 => _883()]),
|
|
38409
38446
|
backoff: reconnectionBackoffRef.current,
|
|
38410
38447
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
38411
38448
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -38416,13 +38453,13 @@ function useNatsDialogSubscription({
|
|
|
38416
38453
|
setReconnectionCount((c) => c + 1);
|
|
38417
38454
|
}
|
|
38418
38455
|
hadConnectionBeforeRef.current = true;
|
|
38419
|
-
_optionalChain([onConnectRef, 'access',
|
|
38456
|
+
_optionalChain([onConnectRef, 'access', _884 => _884.current, 'optionalCall', _885 => _885()]);
|
|
38420
38457
|
}
|
|
38421
38458
|
if (isDisconnectStatus(status)) {
|
|
38422
38459
|
setIsConnected(false);
|
|
38423
38460
|
setIsSubscribed(false);
|
|
38424
38461
|
tearDownSubscriptions();
|
|
38425
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38462
|
+
_optionalChain([onDisconnectRef, 'access', _886 => _886.current, 'optionalCall', _887 => _887()]);
|
|
38426
38463
|
}
|
|
38427
38464
|
}
|
|
38428
38465
|
});
|
|
@@ -38453,13 +38490,13 @@ function useNatsDialogSubscription({
|
|
|
38453
38490
|
setIsSubscribed(false);
|
|
38454
38491
|
subscriptionRefs.current.forEach((sub) => {
|
|
38455
38492
|
try {
|
|
38456
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38493
|
+
_optionalChain([sub, 'optionalAccess', _888 => _888.unsubscribe, 'call', _889 => _889()]);
|
|
38457
38494
|
} catch (e38) {
|
|
38458
38495
|
}
|
|
38459
38496
|
});
|
|
38460
38497
|
subscriptionRefs.current.clear();
|
|
38461
38498
|
lastSubscribedDialogIdRef.current = null;
|
|
38462
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38499
|
+
_optionalChain([abortControllerRef, 'access', _890 => _890.current, 'optionalAccess', _891 => _891.abort, 'call', _892 => _892()]);
|
|
38463
38500
|
abortControllerRef.current = null;
|
|
38464
38501
|
}
|
|
38465
38502
|
return;
|
|
@@ -38471,12 +38508,12 @@ function useNatsDialogSubscription({
|
|
|
38471
38508
|
if (subscriptionRefs.current.size > 0) {
|
|
38472
38509
|
subscriptionRefs.current.forEach((sub) => {
|
|
38473
38510
|
try {
|
|
38474
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38511
|
+
_optionalChain([sub, 'optionalAccess', _893 => _893.unsubscribe, 'call', _894 => _894()]);
|
|
38475
38512
|
} catch (e39) {
|
|
38476
38513
|
}
|
|
38477
38514
|
});
|
|
38478
38515
|
subscriptionRefs.current.clear();
|
|
38479
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38516
|
+
_optionalChain([abortControllerRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.abort, 'call', _897 => _897()]);
|
|
38480
38517
|
}
|
|
38481
38518
|
abortControllerRef.current = new AbortController();
|
|
38482
38519
|
const abort = abortControllerRef.current;
|
|
@@ -38508,7 +38545,7 @@ function useNatsDialogSubscription({
|
|
|
38508
38545
|
});
|
|
38509
38546
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
38510
38547
|
setIsSubscribed(true);
|
|
38511
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38548
|
+
_optionalChain([onSubscribedRef, 'access', _898 => _898.current, 'optionalCall', _899 => _899()]);
|
|
38512
38549
|
};
|
|
38513
38550
|
if (isConnectedRef.current) {
|
|
38514
38551
|
createSubscriptions();
|
|
@@ -38518,7 +38555,7 @@ function useNatsDialogSubscription({
|
|
|
38518
38555
|
abort.abort();
|
|
38519
38556
|
subscriptionRefs.current.forEach((sub) => {
|
|
38520
38557
|
try {
|
|
38521
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38558
|
+
_optionalChain([sub, 'optionalAccess', _900 => _900.unsubscribe, 'call', _901 => _901()]);
|
|
38522
38559
|
} catch (e41) {
|
|
38523
38560
|
}
|
|
38524
38561
|
});
|
|
@@ -38559,7 +38596,7 @@ function useNatsDialogSubscription({
|
|
|
38559
38596
|
});
|
|
38560
38597
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
38561
38598
|
setIsSubscribed(true);
|
|
38562
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38599
|
+
_optionalChain([onSubscribedRef, 'access', _902 => _902.current, 'optionalCall', _903 => _903()]);
|
|
38563
38600
|
} else if (subscriptionRefs.current.size > 0) {
|
|
38564
38601
|
setIsSubscribed(true);
|
|
38565
38602
|
}
|
|
@@ -38567,10 +38604,10 @@ function useNatsDialogSubscription({
|
|
|
38567
38604
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
38568
38605
|
}
|
|
38569
38606
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
38570
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
38607
|
+
const path = _optionalChain([options, 'optionalAccess', _904 => _904.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
38571
38608
|
const u = new URL(path, apiBaseUrl);
|
|
38572
38609
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
38573
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
38610
|
+
if (_optionalChain([options, 'optionalAccess', _905 => _905.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _906 => _906.token])) {
|
|
38574
38611
|
u.searchParams.set("authorization", options.token);
|
|
38575
38612
|
}
|
|
38576
38613
|
return u.toString();
|
|
@@ -38888,8 +38925,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38888
38925
|
type: "tool_execution",
|
|
38889
38926
|
data: {
|
|
38890
38927
|
...toolData,
|
|
38891
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
38892
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
38928
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _907 => _907.data, 'access', _908 => _908.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _909 => _909.toolTitle]))),
|
|
38929
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _910 => _910.parameters])
|
|
38893
38930
|
}
|
|
38894
38931
|
};
|
|
38895
38932
|
if (existingIndex !== -1) {
|
|
@@ -38913,8 +38950,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38913
38950
|
if (seg.type !== "approval_batch") return seg;
|
|
38914
38951
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
38915
38952
|
if (!hasCall) return seg;
|
|
38916
|
-
const prev = _optionalChain([seg, 'access',
|
|
38917
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
38953
|
+
const prev = _optionalChain([seg, 'access', _911 => _911.data, 'access', _912 => _912.executions, 'optionalAccess', _913 => _913[execId]]);
|
|
38954
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _914 => _914.result]), success: _optionalChain([prev, 'optionalAccess', _915 => _915.success]) };
|
|
38918
38955
|
matched = true;
|
|
38919
38956
|
return {
|
|
38920
38957
|
...seg,
|
|
@@ -39034,10 +39071,10 @@ var MessageSegmentAccumulator = class {
|
|
|
39034
39071
|
const segment = {
|
|
39035
39072
|
type: "approval_request",
|
|
39036
39073
|
data: {
|
|
39037
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39038
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39074
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _916 => _916.command]) || "",
|
|
39075
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _917 => _917.explanation]),
|
|
39039
39076
|
requestId,
|
|
39040
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39077
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _918 => _918.approvalType]) || approvalType
|
|
39041
39078
|
},
|
|
39042
39079
|
status,
|
|
39043
39080
|
onApprove: this.callbacks.onApprove,
|
|
@@ -39227,7 +39264,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39227
39264
|
if (initialState.escalatedApprovals) {
|
|
39228
39265
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
39229
39266
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
39230
|
-
_optionalChain([callbacks, 'access',
|
|
39267
|
+
_optionalChain([callbacks, 'access', _919 => _919.onEscalatedApproval, 'optionalCall', _920 => _920(requestId, data)]);
|
|
39231
39268
|
});
|
|
39232
39269
|
}
|
|
39233
39270
|
hasEverStreamedRef.current = true;
|
|
@@ -39254,7 +39291,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39254
39291
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
39255
39292
|
if (isInStreamRef.current) {
|
|
39256
39293
|
isInStreamRef.current = false;
|
|
39257
|
-
_optionalChain([callbacks, 'access',
|
|
39294
|
+
_optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
|
|
39258
39295
|
accumulator.resetSegments();
|
|
39259
39296
|
}
|
|
39260
39297
|
return;
|
|
@@ -39263,32 +39300,32 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39263
39300
|
case "message_start":
|
|
39264
39301
|
isInStreamRef.current = true;
|
|
39265
39302
|
hasEverStreamedRef.current = true;
|
|
39266
|
-
_optionalChain([callbacks, 'access',
|
|
39303
|
+
_optionalChain([callbacks, 'access', _923 => _923.onStreamStart, 'optionalCall', _924 => _924()]);
|
|
39267
39304
|
accumulator.resetSegments();
|
|
39268
39305
|
break;
|
|
39269
39306
|
case "message_end":
|
|
39270
39307
|
isInStreamRef.current = false;
|
|
39271
|
-
_optionalChain([callbacks, 'access',
|
|
39308
|
+
_optionalChain([callbacks, 'access', _925 => _925.onStreamEnd, 'optionalCall', _926 => _926()]);
|
|
39272
39309
|
accumulator.resetSegments();
|
|
39273
39310
|
break;
|
|
39274
39311
|
case "metadata":
|
|
39275
|
-
_optionalChain([callbacks, 'access',
|
|
39312
|
+
_optionalChain([callbacks, 'access', _927 => _927.onMetadata, 'optionalCall', _928 => _928(action)]);
|
|
39276
39313
|
break;
|
|
39277
39314
|
case "text": {
|
|
39278
39315
|
const segments = accumulator.appendText(action.text);
|
|
39279
39316
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39280
|
-
_optionalChain([callbacks, 'access',
|
|
39317
|
+
_optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
|
|
39281
39318
|
} else {
|
|
39282
|
-
_optionalChain([callbacks, 'access',
|
|
39319
|
+
_optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "text", text: action.text }], { append: true })]);
|
|
39283
39320
|
}
|
|
39284
39321
|
break;
|
|
39285
39322
|
}
|
|
39286
39323
|
case "thinking": {
|
|
39287
39324
|
const segments = accumulator.appendThinking(action.text);
|
|
39288
39325
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39289
|
-
_optionalChain([callbacks, 'access',
|
|
39326
|
+
_optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
|
|
39290
39327
|
} else {
|
|
39291
|
-
_optionalChain([callbacks, 'access',
|
|
39328
|
+
_optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936([{ type: "thinking", text: action.text }], { append: true })]);
|
|
39292
39329
|
}
|
|
39293
39330
|
break;
|
|
39294
39331
|
}
|
|
@@ -39298,7 +39335,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39298
39335
|
break;
|
|
39299
39336
|
}
|
|
39300
39337
|
const segments = accumulator.addToolExecution(action.segment);
|
|
39301
|
-
_optionalChain([callbacks, 'access',
|
|
39338
|
+
_optionalChain([callbacks, 'access', _937 => _937.onSegmentsUpdate, 'optionalCall', _938 => _938(segments)]);
|
|
39302
39339
|
break;
|
|
39303
39340
|
}
|
|
39304
39341
|
case "approval_request": {
|
|
@@ -39312,10 +39349,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39312
39349
|
approvalType,
|
|
39313
39350
|
status
|
|
39314
39351
|
);
|
|
39315
|
-
_optionalChain([callbacks, 'access',
|
|
39352
|
+
_optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments)]);
|
|
39316
39353
|
} else {
|
|
39317
39354
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
39318
|
-
_optionalChain([callbacks, 'access',
|
|
39355
|
+
_optionalChain([callbacks, 'access', _941 => _941.onEscalatedApproval, 'optionalCall', _942 => _942(requestId, { command, explanation, approvalType })]);
|
|
39319
39356
|
}
|
|
39320
39357
|
break;
|
|
39321
39358
|
}
|
|
@@ -39327,20 +39364,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39327
39364
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
39328
39365
|
pendingEscalatedRef.current.set(requestId, {
|
|
39329
39366
|
command: summary,
|
|
39330
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39367
|
+
explanation: _optionalChain([required, 'optionalAccess', _943 => _943.toolExplanation]),
|
|
39331
39368
|
approvalType,
|
|
39332
39369
|
toolCalls
|
|
39333
39370
|
});
|
|
39334
|
-
_optionalChain([callbacks, 'access',
|
|
39371
|
+
_optionalChain([callbacks, 'access', _944 => _944.onEscalatedApproval, 'optionalCall', _945 => _945(requestId, {
|
|
39335
39372
|
command: summary,
|
|
39336
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39373
|
+
explanation: _optionalChain([required, 'optionalAccess', _946 => _946.toolExplanation]),
|
|
39337
39374
|
approvalType
|
|
39338
39375
|
})]);
|
|
39339
39376
|
break;
|
|
39340
39377
|
}
|
|
39341
39378
|
if (batchApprovalsEnabled) {
|
|
39342
39379
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
39343
|
-
_optionalChain([callbacks, 'access',
|
|
39380
|
+
_optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments2)]);
|
|
39344
39381
|
break;
|
|
39345
39382
|
}
|
|
39346
39383
|
let segments = accumulator.getSegments();
|
|
@@ -39354,7 +39391,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39354
39391
|
status
|
|
39355
39392
|
);
|
|
39356
39393
|
}
|
|
39357
|
-
_optionalChain([callbacks, 'access',
|
|
39394
|
+
_optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
|
|
39358
39395
|
break;
|
|
39359
39396
|
}
|
|
39360
39397
|
case "approval_result": {
|
|
@@ -39363,7 +39400,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39363
39400
|
const status = approved ? "approved" : "rejected";
|
|
39364
39401
|
if (escalatedData) {
|
|
39365
39402
|
pendingEscalatedRef.current.delete(requestId);
|
|
39366
|
-
_optionalChain([callbacks, 'access',
|
|
39403
|
+
_optionalChain([callbacks, 'access', _951 => _951.onEscalatedApprovalResult, 'optionalCall', _952 => _952(requestId, approved, {
|
|
39367
39404
|
command: escalatedData.command,
|
|
39368
39405
|
explanation: escalatedData.explanation,
|
|
39369
39406
|
approvalType: escalatedData.approvalType
|
|
@@ -39376,7 +39413,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39376
39413
|
escalatedData.toolCalls,
|
|
39377
39414
|
status
|
|
39378
39415
|
);
|
|
39379
|
-
_optionalChain([callbacks, 'access',
|
|
39416
|
+
_optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
|
|
39380
39417
|
} else {
|
|
39381
39418
|
let segments = accumulator.getSegments();
|
|
39382
39419
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -39389,7 +39426,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39389
39426
|
status
|
|
39390
39427
|
);
|
|
39391
39428
|
}
|
|
39392
|
-
_optionalChain([callbacks, 'access',
|
|
39429
|
+
_optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(segments)]);
|
|
39393
39430
|
}
|
|
39394
39431
|
} else {
|
|
39395
39432
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -39399,37 +39436,37 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39399
39436
|
escalatedData.approvalType,
|
|
39400
39437
|
status
|
|
39401
39438
|
);
|
|
39402
|
-
_optionalChain([callbacks, 'access',
|
|
39439
|
+
_optionalChain([callbacks, 'access', _957 => _957.onSegmentsUpdate, 'optionalCall', _958 => _958(segments)]);
|
|
39403
39440
|
}
|
|
39404
39441
|
} else {
|
|
39405
39442
|
accumulator.updateApprovalStatus(requestId, status);
|
|
39406
39443
|
if (!callbacks.onApprovalResolved) {
|
|
39407
|
-
_optionalChain([callbacks, 'access',
|
|
39444
|
+
_optionalChain([callbacks, 'access', _959 => _959.onSegmentsUpdate, 'optionalCall', _960 => _960(accumulator.getSegments())]);
|
|
39408
39445
|
}
|
|
39409
39446
|
}
|
|
39410
|
-
_optionalChain([callbacks, 'access',
|
|
39447
|
+
_optionalChain([callbacks, 'access', _961 => _961.onApprovalResolved, 'optionalCall', _962 => _962(requestId, status, approvalType)]);
|
|
39411
39448
|
break;
|
|
39412
39449
|
}
|
|
39413
39450
|
case "error": {
|
|
39414
39451
|
let message2;
|
|
39415
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
39452
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _963 => _963.details])) {
|
|
39416
39453
|
try {
|
|
39417
|
-
message2 = _optionalChain([JSON, 'access',
|
|
39454
|
+
message2 = _optionalChain([JSON, 'access', _964 => _964.parse, 'call', _965 => _965(action.details), 'optionalAccess', _966 => _966.error, 'optionalAccess', _967 => _967.message]);
|
|
39418
39455
|
} catch (e43) {
|
|
39419
39456
|
message2 = action.details;
|
|
39420
39457
|
}
|
|
39421
39458
|
}
|
|
39422
39459
|
const segments = accumulator.addError(action.error, message2);
|
|
39423
|
-
_optionalChain([callbacks, 'access',
|
|
39424
|
-
_optionalChain([callbacks, 'access',
|
|
39460
|
+
_optionalChain([callbacks, 'access', _968 => _968.onSegmentsUpdate, 'optionalCall', _969 => _969(segments)]);
|
|
39461
|
+
_optionalChain([callbacks, 'access', _970 => _970.onError, 'optionalCall', _971 => _971(action.error, message2)]);
|
|
39425
39462
|
break;
|
|
39426
39463
|
}
|
|
39427
39464
|
case "system": {
|
|
39428
|
-
_optionalChain([callbacks, 'access',
|
|
39465
|
+
_optionalChain([callbacks, 'access', _972 => _972.onSystemMessage, 'optionalCall', _973 => _973(action.text)]);
|
|
39429
39466
|
break;
|
|
39430
39467
|
}
|
|
39431
39468
|
case "direct_message": {
|
|
39432
|
-
_optionalChain([callbacks, 'access',
|
|
39469
|
+
_optionalChain([callbacks, 'access', _974 => _974.onDirectMessage, 'optionalCall', _975 => _975(action.text, {
|
|
39433
39470
|
ownerType: action.ownerType,
|
|
39434
39471
|
displayName: action.displayName,
|
|
39435
39472
|
userId: action.userId
|
|
@@ -39437,29 +39474,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39437
39474
|
break;
|
|
39438
39475
|
}
|
|
39439
39476
|
case "message_request":
|
|
39440
|
-
_optionalChain([callbacks, 'access',
|
|
39477
|
+
_optionalChain([callbacks, 'access', _976 => _976.onUserMessage, 'optionalCall', _977 => _977(action.text, {
|
|
39441
39478
|
ownerType: action.ownerType,
|
|
39442
39479
|
displayName: action.displayName,
|
|
39443
39480
|
userId: action.userId
|
|
39444
39481
|
})]);
|
|
39445
39482
|
break;
|
|
39446
39483
|
case "token_usage":
|
|
39447
|
-
_optionalChain([callbacks, 'access',
|
|
39484
|
+
_optionalChain([callbacks, 'access', _978 => _978.onTokenUsage, 'optionalCall', _979 => _979(action.data)]);
|
|
39448
39485
|
break;
|
|
39449
39486
|
case "context_compaction_start": {
|
|
39450
39487
|
const standalone = !isInStreamRef.current;
|
|
39451
39488
|
const segments = accumulator.addContextCompaction();
|
|
39452
|
-
_optionalChain([callbacks, 'access',
|
|
39489
|
+
_optionalChain([callbacks, 'access', _980 => _980.onSegmentsUpdate, 'optionalCall', _981 => _981(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39453
39490
|
break;
|
|
39454
39491
|
}
|
|
39455
39492
|
case "context_compaction_end": {
|
|
39456
39493
|
const standalone = !isInStreamRef.current;
|
|
39457
39494
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
39458
|
-
_optionalChain([callbacks, 'access',
|
|
39495
|
+
_optionalChain([callbacks, 'access', _982 => _982.onSegmentsUpdate, 'optionalCall', _983 => _983(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39459
39496
|
break;
|
|
39460
39497
|
}
|
|
39461
39498
|
case "dialog_closed":
|
|
39462
|
-
_optionalChain([callbacks, 'access',
|
|
39499
|
+
_optionalChain([callbacks, 'access', _984 => _984.onDialogClosed, 'optionalCall', _985 => _985()]);
|
|
39463
39500
|
break;
|
|
39464
39501
|
default:
|
|
39465
39502
|
break;
|
|
@@ -39521,7 +39558,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
39521
39558
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
39522
39559
|
if (!cancelled) setCommands(next);
|
|
39523
39560
|
} catch (err) {
|
|
39524
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
39561
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _986 => _986.name]) !== "AbortError") {
|
|
39525
39562
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
39526
39563
|
}
|
|
39527
39564
|
} finally {
|
|
@@ -39540,7 +39577,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
39540
39577
|
const query = _reactquery.useQuery.call(void 0, {
|
|
39541
39578
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
39542
39579
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
39543
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
39580
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _987 => _987.enabled]), () => ( true)),
|
|
39544
39581
|
staleTime: Infinity,
|
|
39545
39582
|
gcTime: Infinity
|
|
39546
39583
|
});
|
|
@@ -39561,7 +39598,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
39561
39598
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
39562
39599
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
39563
39600
|
return new Promise((resolve, reject) => {
|
|
39564
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
39601
|
+
if (_optionalChain([signal, 'optionalAccess', _988 => _988.aborted])) {
|
|
39565
39602
|
reject(new Error("Upload cancelled"));
|
|
39566
39603
|
return;
|
|
39567
39604
|
}
|
|
@@ -39575,7 +39612,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39575
39612
|
xhr.removeEventListener("error", handleError);
|
|
39576
39613
|
xhr.removeEventListener("abort", handleAbort);
|
|
39577
39614
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
39578
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39615
|
+
_optionalChain([signal, 'optionalAccess', _989 => _989.removeEventListener, 'call', _990 => _990("abort", handleSignalAbort)]);
|
|
39579
39616
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
39580
39617
|
};
|
|
39581
39618
|
const handleProgress = (event) => {
|
|
@@ -39611,7 +39648,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39611
39648
|
const handleSignalAbort = () => {
|
|
39612
39649
|
xhr.abort();
|
|
39613
39650
|
};
|
|
39614
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39651
|
+
_optionalChain([signal, 'optionalAccess', _991 => _991.addEventListener, 'call', _992 => _992("abort", handleSignalAbort, { once: true })]);
|
|
39615
39652
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
39616
39653
|
xhr.addEventListener("load", handleLoad);
|
|
39617
39654
|
xhr.addEventListener("error", handleError);
|
|
@@ -39655,12 +39692,12 @@ function useChatAttachments() {
|
|
|
39655
39692
|
try {
|
|
39656
39693
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
39657
39694
|
} catch (err) {
|
|
39658
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39695
|
+
if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
|
|
39659
39696
|
throw new Error(
|
|
39660
39697
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
39661
39698
|
);
|
|
39662
39699
|
}
|
|
39663
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39700
|
+
if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
|
|
39664
39701
|
if (!sniffed) {
|
|
39665
39702
|
throw new Error("Unrecognized file format");
|
|
39666
39703
|
}
|
|
@@ -39674,7 +39711,7 @@ function useChatAttachments() {
|
|
|
39674
39711
|
const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
|
|
39675
39712
|
method: "POST",
|
|
39676
39713
|
headers: { "Content-Type": "application/json" },
|
|
39677
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
39714
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _997 => _997.signal]),
|
|
39678
39715
|
body: JSON.stringify({
|
|
39679
39716
|
fileName: att.file.name,
|
|
39680
39717
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -39700,9 +39737,9 @@ function useChatAttachments() {
|
|
|
39700
39737
|
(pct) => {
|
|
39701
39738
|
updateOne(att.id, { progress: pct });
|
|
39702
39739
|
},
|
|
39703
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
39740
|
+
_optionalChain([ctrl, 'optionalAccess', _998 => _998.signal])
|
|
39704
39741
|
);
|
|
39705
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39742
|
+
if (_optionalChain([ctrl, 'optionalAccess', _999 => _999.signal, 'access', _1000 => _1000.aborted])) return;
|
|
39706
39743
|
updateOne(att.id, {
|
|
39707
39744
|
status: "ready",
|
|
39708
39745
|
progress: 100,
|
|
@@ -39710,7 +39747,7 @@ function useChatAttachments() {
|
|
|
39710
39747
|
viewToken: mintData.viewToken
|
|
39711
39748
|
});
|
|
39712
39749
|
} catch (err) {
|
|
39713
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39750
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1001 => _1001.signal, 'access', _1002 => _1002.aborted])) return;
|
|
39714
39751
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
39715
39752
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
39716
39753
|
} finally {
|
|
@@ -39861,7 +39898,7 @@ var ANON_DEFAULTS = {
|
|
|
39861
39898
|
function useResolveChatIdentity(enabled) {
|
|
39862
39899
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
39863
39900
|
const url = runtime.endpoints.identityUrl;
|
|
39864
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call',
|
|
39901
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _1003 => _1003(), 'optionalAccess', _1004 => _1004.email]), () => ( null));
|
|
39865
39902
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
39866
39903
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
39867
39904
|
_react.useEffect.call(void 0, () => {
|
|
@@ -39949,7 +39986,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
39949
39986
|
yield chunk;
|
|
39950
39987
|
}
|
|
39951
39988
|
} catch (err) {
|
|
39952
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
39989
|
+
if (_optionalChain([err, 'optionalAccess', _1005 => _1005.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
39953
39990
|
return;
|
|
39954
39991
|
}
|
|
39955
39992
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -40000,7 +40037,7 @@ function useChat({
|
|
|
40000
40037
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
40001
40038
|
onMessagesChangeRef.current = onMessagesChange;
|
|
40002
40039
|
_react.useEffect.call(void 0, () => {
|
|
40003
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
40040
|
+
_optionalChain([onMessagesChangeRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007(messages)]);
|
|
40004
40041
|
}, [messages]);
|
|
40005
40042
|
const {
|
|
40006
40043
|
streamMessage,
|
|
@@ -40037,7 +40074,7 @@ function useChat({
|
|
|
40037
40074
|
name: "You",
|
|
40038
40075
|
content: text,
|
|
40039
40076
|
timestamp: /* @__PURE__ */ new Date(),
|
|
40040
|
-
..._optionalChain([options, 'optionalAccess',
|
|
40077
|
+
..._optionalChain([options, 'optionalAccess', _1008 => _1008.hidden]) ? { hidden: true } : {}
|
|
40041
40078
|
};
|
|
40042
40079
|
addMessage(userMessage);
|
|
40043
40080
|
setIsTyping(true);
|
|
@@ -40099,7 +40136,7 @@ function useChat({
|
|
|
40099
40136
|
currentTextSegment = "";
|
|
40100
40137
|
}
|
|
40101
40138
|
const seg = segment;
|
|
40102
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
40139
|
+
const proposalId = _optionalChain([seg, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]);
|
|
40103
40140
|
const updateApprovalMessage = (transform) => {
|
|
40104
40141
|
setMessages((prev) => {
|
|
40105
40142
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -40108,7 +40145,7 @@ function useChat({
|
|
|
40108
40145
|
if (!Array.isArray(m.content)) continue;
|
|
40109
40146
|
const segments = m.content;
|
|
40110
40147
|
const hasMatch = segments.some(
|
|
40111
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40148
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === proposalId
|
|
40112
40149
|
);
|
|
40113
40150
|
if (!hasMatch) continue;
|
|
40114
40151
|
const next = [...prev];
|
|
@@ -40150,11 +40187,11 @@ function useChat({
|
|
|
40150
40187
|
if (!Array.isArray(m.content)) continue;
|
|
40151
40188
|
const segments = m.content;
|
|
40152
40189
|
const hasMatch = segments.some(
|
|
40153
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40190
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1013 => _1013.data, 'optionalAccess', _1014 => _1014.requestId]) === decision.proposalId
|
|
40154
40191
|
);
|
|
40155
40192
|
if (!hasMatch) continue;
|
|
40156
40193
|
const flipped = segments.map(
|
|
40157
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40194
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1015 => _1015.data, 'optionalAccess', _1016 => _1016.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
40158
40195
|
);
|
|
40159
40196
|
const next = [...prev];
|
|
40160
40197
|
next[i] = { ...m, content: flipped };
|
|
@@ -40316,8 +40353,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40316
40353
|
})),
|
|
40317
40354
|
{ role: "user", content: message2 }
|
|
40318
40355
|
];
|
|
40319
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
40320
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
40356
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1017 => _1017.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
40357
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1018 => _1018.approvalAction]) ? {
|
|
40321
40358
|
proposal_id: extra.approvalAction.proposalId,
|
|
40322
40359
|
action: extra.approvalAction.action,
|
|
40323
40360
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -40326,8 +40363,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40326
40363
|
}))
|
|
40327
40364
|
} : {
|
|
40328
40365
|
messages: apiMessages,
|
|
40329
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40330
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40366
|
+
..._optionalChain([extra, 'optionalAccess', _1019 => _1019.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
40367
|
+
..._optionalChain([extra, 'optionalAccess', _1020 => _1020.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
40331
40368
|
};
|
|
40332
40369
|
const response = await embedAuthedFetch(targetPath, {
|
|
40333
40370
|
method: "POST",
|
|
@@ -40337,7 +40374,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40337
40374
|
if (!response.ok) {
|
|
40338
40375
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
40339
40376
|
}
|
|
40340
|
-
const reader = _optionalChain([response, 'access',
|
|
40377
|
+
const reader = _optionalChain([response, 'access', _1021 => _1021.body, 'optionalAccess', _1022 => _1022.getReader, 'call', _1023 => _1023()]);
|
|
40341
40378
|
if (!reader) throw new Error("No response body");
|
|
40342
40379
|
const decoder = new TextDecoder();
|
|
40343
40380
|
let buffer = "";
|
|
@@ -40420,7 +40457,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40420
40457
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
40421
40458
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
40422
40459
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
40423
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
40460
|
+
if (_optionalChain([card, 'optionalAccess', _1024 => _1024.ref, 'optionalAccess', _1025 => _1025.id]) && _optionalChain([card, 'optionalAccess', _1026 => _1026.type])) {
|
|
40424
40461
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
40425
40462
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
40426
40463
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -40433,8 +40470,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40433
40470
|
willAutoContinue: meta.willAutoContinue === true,
|
|
40434
40471
|
...toolName ? { toolName } : {},
|
|
40435
40472
|
...result ? { result } : {},
|
|
40436
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40437
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40473
|
+
..._optionalChain([card, 'optionalAccess', _1027 => _1027.marker]) ? { marker: card.marker } : {},
|
|
40474
|
+
..._optionalChain([card, 'optionalAccess', _1028 => _1028.ref]) ? { cardRef: card.ref } : {},
|
|
40438
40475
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
40439
40476
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
40440
40477
|
};
|
|
@@ -40553,7 +40590,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
40553
40590
|
var chatStorageKey = (source) => {
|
|
40554
40591
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
40555
40592
|
const auth = getEmbedProxyAuth();
|
|
40556
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
40593
|
+
if (_optionalChain([auth, 'optionalAccess', _1029 => _1029.email])) {
|
|
40557
40594
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
40558
40595
|
}
|
|
40559
40596
|
return base;
|
|
@@ -40608,7 +40645,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40608
40645
|
const { active = true } = runtimeOptions;
|
|
40609
40646
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
40610
40647
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
40611
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
40648
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1030 => _1030.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
40612
40649
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
40613
40650
|
if (persistedRef.current === null) {
|
|
40614
40651
|
pruneStaleChatStorage(source);
|
|
@@ -40713,7 +40750,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40713
40750
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
40714
40751
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
40715
40752
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
40716
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
40753
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1031 => _1031.current, 'access', _1032 => _1032.get, 'call', _1033 => _1033(lookupIdx), 'optionalAccess', _1034 => _1034.scrollAnchor]), () => ( void 0));
|
|
40717
40754
|
}
|
|
40718
40755
|
return {
|
|
40719
40756
|
id: m.id,
|
|
@@ -40761,7 +40798,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40761
40798
|
);
|
|
40762
40799
|
return;
|
|
40763
40800
|
}
|
|
40764
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
40801
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1035 => _1035.metadata, 'optionalAccess', _1036 => _1036.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
40765
40802
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
40766
40803
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
40767
40804
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -40833,18 +40870,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40833
40870
|
clearMessages,
|
|
40834
40871
|
streamingPhase,
|
|
40835
40872
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
40836
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40837
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40838
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40873
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.provider]), () => ( null)),
|
|
40874
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.modelLabel]), () => ( null)),
|
|
40875
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.contextWindowMaxTokens]), () => ( null)),
|
|
40839
40876
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
40840
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40877
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1040 => _1040.inputTokens]), () => ( null)),
|
|
40841
40878
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
40842
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40879
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1041 => _1041.outputTokens]), () => ( null)),
|
|
40843
40880
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
40844
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40881
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1042 => _1042.cacheHitRatePct]), () => ( null)),
|
|
40845
40882
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
40846
40883
|
* token counts). null until the trailing usage frame lands. */
|
|
40847
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40884
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1043 => _1043.breakdown]), () => ( null)),
|
|
40848
40885
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
40849
40886
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
40850
40887
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -40902,15 +40939,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
40902
40939
|
|
|
40903
40940
|
// src/components/chat/utils/process-historical-messages.ts
|
|
40904
40941
|
function getOwnerDisplayName(owner) {
|
|
40905
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
40942
|
+
if (_optionalChain([owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
40906
40943
|
const { firstName, lastName } = owner.user;
|
|
40907
40944
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
40908
40945
|
if (name) return name;
|
|
40909
40946
|
}
|
|
40910
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
40947
|
+
return _optionalChain([owner, 'optionalAccess', _1045 => _1045.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
40911
40948
|
}
|
|
40912
40949
|
function getOwnerAvatar(owner) {
|
|
40913
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
40950
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1046 => _1046.user, 'optionalAccess', _1047 => _1047.image, 'optionalAccess', _1048 => _1048.imageUrl]), () => ( void 0));
|
|
40914
40951
|
}
|
|
40915
40952
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
40916
40953
|
messageDataArray.forEach((data) => {
|
|
@@ -40973,10 +41010,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
40973
41010
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
40974
41011
|
return;
|
|
40975
41012
|
}
|
|
40976
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
41013
|
+
const isUserMessage = _optionalChain([msg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1051 => _1051.owner, 'optionalAccess', _1052 => _1052.type]) === OWNER_TYPE.ADMIN;
|
|
40977
41014
|
if (isUserMessage) {
|
|
40978
41015
|
flushAssistantMessage();
|
|
40979
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
41016
|
+
const userAuthorType = _optionalChain([msg, 'access', _1053 => _1053.owner, 'optionalAccess', _1054 => _1054.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
40980
41017
|
messageDataArray.forEach((data) => {
|
|
40981
41018
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
40982
41019
|
processedMessages.push({
|
|
@@ -41001,7 +41038,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
41001
41038
|
});
|
|
41002
41039
|
const nextMsg = messages[index + 1];
|
|
41003
41040
|
const isLastMessage = index === messages.length - 1;
|
|
41004
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
41041
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1055 => _1055.owner, 'optionalAccess', _1056 => _1056.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1057 => _1057.owner, 'optionalAccess', _1058 => _1058.type]) === OWNER_TYPE.ADMIN);
|
|
41005
41042
|
if (isLastMessage || nextIsFromUser) {
|
|
41006
41043
|
flushAssistantMessage();
|
|
41007
41044
|
}
|
|
@@ -41111,7 +41148,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41111
41148
|
}
|
|
41112
41149
|
}
|
|
41113
41150
|
} else {
|
|
41114
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41151
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1059 => _1059.set, 'call', _1060 => _1060(data.approvalRequestId, {
|
|
41115
41152
|
command: data.command || "",
|
|
41116
41153
|
explanation: data.explanation,
|
|
41117
41154
|
approvalType,
|
|
@@ -41124,8 +41161,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41124
41161
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
41125
41162
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
41126
41163
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
41127
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41128
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
41164
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1061 => _1061.get, 'call', _1062 => _1062(data.approvalRequestId)]);
|
|
41165
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1063 => _1063.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
41129
41166
|
if (batchApprovalsEnabled) {
|
|
41130
41167
|
accumulator.addApprovalBatch(
|
|
41131
41168
|
data.approvalRequestId,
|
|
@@ -41145,7 +41182,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41145
41182
|
);
|
|
41146
41183
|
}
|
|
41147
41184
|
}
|
|
41148
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41185
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1064 => _1064.delete, 'call', _1065 => _1065(data.approvalRequestId)]);
|
|
41149
41186
|
break;
|
|
41150
41187
|
}
|
|
41151
41188
|
if (escalatedData) {
|
|
@@ -41154,7 +41191,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41154
41191
|
explanation: escalatedData.explanation,
|
|
41155
41192
|
approvalType: escalatedData.approvalType
|
|
41156
41193
|
});
|
|
41157
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41194
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1066 => _1066.delete, 'call', _1067 => _1067(data.approvalRequestId)]);
|
|
41158
41195
|
}
|
|
41159
41196
|
const before = accumulator.getSegments();
|
|
41160
41197
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -41170,9 +41207,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41170
41207
|
case MESSAGE_TYPE.ERROR:
|
|
41171
41208
|
if ("error" in data) {
|
|
41172
41209
|
let message2;
|
|
41173
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
41210
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1068 => _1068.details])) {
|
|
41174
41211
|
try {
|
|
41175
|
-
message2 = _optionalChain([JSON, 'access',
|
|
41212
|
+
message2 = _optionalChain([JSON, 'access', _1069 => _1069.parse, 'call', _1070 => _1070(data.details), 'optionalAccess', _1071 => _1071.error, 'optionalAccess', _1072 => _1072.message]);
|
|
41176
41213
|
} catch (e50) {
|
|
41177
41214
|
message2 = data.details;
|
|
41178
41215
|
}
|
|
@@ -41255,10 +41292,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
41255
41292
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
41256
41293
|
return;
|
|
41257
41294
|
}
|
|
41258
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
41295
|
+
const isUserMessage = _optionalChain([msg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1075 => _1075.owner, 'optionalAccess', _1076 => _1076.type]) === OWNER_TYPE.ADMIN;
|
|
41259
41296
|
if (isUserMessage) {
|
|
41260
41297
|
flushAssistantMessage();
|
|
41261
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
41298
|
+
const userAuthorType = _optionalChain([msg, 'access', _1077 => _1077.owner, 'optionalAccess', _1078 => _1078.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
41262
41299
|
messageDataArray.forEach((data) => {
|
|
41263
41300
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
41264
41301
|
processedMessages.push({
|
|
@@ -41283,7 +41320,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
41283
41320
|
});
|
|
41284
41321
|
const nextMsg = messages[index + 1];
|
|
41285
41322
|
const isLastMessage = index === messages.length - 1;
|
|
41286
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
41323
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1079 => _1079.owner, 'optionalAccess', _1080 => _1080.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1081 => _1081.owner, 'optionalAccess', _1082 => _1082.type]) === OWNER_TYPE.ADMIN);
|
|
41287
41324
|
if (isLastMessage || nextIsFromUser) {
|
|
41288
41325
|
flushAssistantMessage();
|
|
41289
41326
|
}
|
|
@@ -41621,7 +41658,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41621
41658
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
41622
41659
|
const sendMessage = _react.useCallback.call(void 0,
|
|
41623
41660
|
async (text, sendOptions) => {
|
|
41624
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
41661
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1083 => _1083.hidden]), () => ( false));
|
|
41625
41662
|
setMessages((prev) => [
|
|
41626
41663
|
...prev,
|
|
41627
41664
|
{
|
|
@@ -41785,11 +41822,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41785
41822
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
41786
41823
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
41787
41824
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
41788
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
41789
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
41790
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41791
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41792
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41825
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1084 => _1084.provider]), () => ( modelProvider)), () => ( null)),
|
|
41826
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1085 => _1085.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
41827
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1086 => _1086.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1087 => _1087.contextWindowMaxTokens]))), () => ( null)),
|
|
41828
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1088 => _1088.inputTokensSize]), () => ( null)),
|
|
41829
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1089 => _1089.outputTokensSize]), () => ( null)),
|
|
41793
41830
|
currentCacheHitRatePct: null,
|
|
41794
41831
|
currentUsageBreakdown: null,
|
|
41795
41832
|
// Dialog management
|
|
@@ -42037,7 +42074,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
42037
42074
|
break;
|
|
42038
42075
|
case "approval_batch": {
|
|
42039
42076
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
42040
|
-
(c) => _optionalChain([segment, 'access',
|
|
42077
|
+
(c) => _optionalChain([segment, 'access', _1090 => _1090.data, 'access', _1091 => _1091.executions, 'optionalAccess', _1092 => _1092[c.toolExecutionRequestId], 'optionalAccess', _1093 => _1093.status]) === "done"
|
|
42041
42078
|
);
|
|
42042
42079
|
if (segment.status !== "rejected" && !allDone) {
|
|
42043
42080
|
hasIncompleteState = true;
|
|
@@ -42061,110 +42098,6 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
42061
42098
|
};
|
|
42062
42099
|
}
|
|
42063
42100
|
|
|
42064
|
-
// src/components/chat/utils/history-merge.ts
|
|
42065
|
-
var SYNTHETIC_REALTIME_ID_PREFIXES = ["assistant-", "user-", "error-"];
|
|
42066
|
-
function isSyntheticRealtimeId(id) {
|
|
42067
|
-
return SYNTHETIC_REALTIME_ID_PREFIXES.some((prefix) => id.startsWith(prefix));
|
|
42068
|
-
}
|
|
42069
|
-
function flattenMessagePagesChronological(pages) {
|
|
42070
|
-
if (!pages) return [];
|
|
42071
|
-
return [...pages].reverse().flatMap((page) => [...page.messages].reverse());
|
|
42072
|
-
}
|
|
42073
|
-
function maxPersistedStreamSeq(pages) {
|
|
42074
|
-
let max = 0;
|
|
42075
|
-
if (!pages) return max;
|
|
42076
|
-
for (const page of pages) {
|
|
42077
|
-
for (const msg of page.messages) {
|
|
42078
|
-
const seq = msg.lastChunkStreamSeq;
|
|
42079
|
-
if (typeof seq === "number" && seq > max) max = seq;
|
|
42080
|
-
}
|
|
42081
|
-
}
|
|
42082
|
-
return max;
|
|
42083
|
-
}
|
|
42084
|
-
function mergeHistoryWithRealtime(input) {
|
|
42085
|
-
const {
|
|
42086
|
-
processedHistory,
|
|
42087
|
-
rawHistoryIds,
|
|
42088
|
-
existingMessages,
|
|
42089
|
-
streamingMessageId,
|
|
42090
|
-
historyFetchedAt,
|
|
42091
|
-
historyMaxStreamSeq = 0,
|
|
42092
|
-
realtimeSeenStreamSeq = 0
|
|
42093
|
-
} = input;
|
|
42094
|
-
if (processedHistory.length === 0) return existingMessages;
|
|
42095
|
-
const processedIds = new Set(processedHistory.map((m) => m.id));
|
|
42096
|
-
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
42097
|
-
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
42098
|
-
const trailing = processedHistory[processedHistory.length - 1];
|
|
42099
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1086 => _1086.role]) === "assistant" ? trailing : null;
|
|
42100
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1087 => _1087.content, 'access', _1088 => _1088.find, 'call', _1089 => _1089((s) => s.type === "approval_batch"), 'optionalAccess', _1090 => _1090.data, 'optionalAccess', _1091 => _1091.approvalRequestId]), () => ( null)) : null;
|
|
42101
|
-
let processedToUse = processedHistory;
|
|
42102
|
-
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
42103
|
-
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
42104
|
-
if (historyBatchId) {
|
|
42105
|
-
const batchTwins = existingMessages.filter(
|
|
42106
|
-
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
42107
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1092 => _1092.data, 'optionalAccess', _1093 => _1093.approvalRequestId]) === historyBatchId
|
|
42108
|
-
)
|
|
42109
|
-
);
|
|
42110
|
-
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
42111
|
-
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
42112
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1094 => _1094.content])) ? historyTrailingAssistant.content.length : 0;
|
|
42113
|
-
const realtimeSize = existingWithSameBatch.content.length;
|
|
42114
|
-
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
42115
|
-
processedToUse = processedHistory.slice(0, -1);
|
|
42116
|
-
pinnedSyntheticIds.add(existingWithSameBatch.id);
|
|
42117
|
-
} else {
|
|
42118
|
-
droppedSyntheticIds.add(existingWithSameBatch.id);
|
|
42119
|
-
}
|
|
42120
|
-
}
|
|
42121
|
-
}
|
|
42122
|
-
const realtimeMessages = existingMessages.filter((m) => {
|
|
42123
|
-
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
42124
|
-
if (droppedSyntheticIds.has(m.id)) return false;
|
|
42125
|
-
if (processedIds.has(m.id)) return false;
|
|
42126
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1095 => _1095.has, 'call', _1096 => _1096(m.id)])) return false;
|
|
42127
|
-
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
42128
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1097 => _1097.timestamp, 'optionalAccess', _1098 => _1098.getTime, 'call', _1099 => _1099()]), () => ( 0))) <= historyFetchedAt;
|
|
42129
|
-
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
42130
|
-
}
|
|
42131
|
-
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
42132
|
-
const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1100 => _1100.timestamp, 'optionalAccess', _1101 => _1101.getTime, 'call', _1102 => _1102()]), () => ( 0))) <= historyFetchedAt;
|
|
42133
|
-
if (covered) return false;
|
|
42134
|
-
}
|
|
42135
|
-
return true;
|
|
42136
|
-
});
|
|
42137
|
-
return [...processedToUse, ...realtimeMessages];
|
|
42138
|
-
}
|
|
42139
|
-
function computeHistoryPrepend(processedHistory, existingMessages) {
|
|
42140
|
-
const existingIds = new Set(existingMessages.map((m) => m.id));
|
|
42141
|
-
const newMessages = [];
|
|
42142
|
-
let boundaryMessageIndex = -1;
|
|
42143
|
-
for (let i = 0; i < processedHistory.length; i++) {
|
|
42144
|
-
if (existingIds.has(processedHistory[i].id)) {
|
|
42145
|
-
boundaryMessageIndex = i;
|
|
42146
|
-
break;
|
|
42147
|
-
}
|
|
42148
|
-
newMessages.push(processedHistory[i]);
|
|
42149
|
-
}
|
|
42150
|
-
let boundaryMessageId;
|
|
42151
|
-
let boundaryUpdates;
|
|
42152
|
-
if (boundaryMessageIndex >= 0) {
|
|
42153
|
-
const boundaryMessage = processedHistory[boundaryMessageIndex];
|
|
42154
|
-
const existingBoundary = existingMessages.find((m) => m.id === boundaryMessage.id);
|
|
42155
|
-
if (existingBoundary) {
|
|
42156
|
-
const existingContent = JSON.stringify(existingBoundary.content);
|
|
42157
|
-
const newContent = JSON.stringify(boundaryMessage.content);
|
|
42158
|
-
if (existingContent !== newContent) {
|
|
42159
|
-
boundaryMessageId = boundaryMessage.id;
|
|
42160
|
-
boundaryUpdates = { content: boundaryMessage.content };
|
|
42161
|
-
}
|
|
42162
|
-
}
|
|
42163
|
-
}
|
|
42164
|
-
if (newMessages.length === 0 && !boundaryUpdates) return null;
|
|
42165
|
-
return { newMessages, boundaryMessageId, boundaryUpdates };
|
|
42166
|
-
}
|
|
42167
|
-
|
|
42168
42101
|
// src/components/chat/utils/chip-action-class.ts
|
|
42169
42102
|
var CHIP_ACTION_BUTTON_CLASS = "text-[11px] font-medium text-ods-text-secondary hover:text-ods-text-primary bg-transparent hover:bg-ods-card-hover border border-ods-border rounded-md px-2 py-1 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus";
|
|
42170
42103
|
|
|
@@ -42349,7 +42282,7 @@ function useChatDialogManager({
|
|
|
42349
42282
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
42350
42283
|
if (restoreTarget) {
|
|
42351
42284
|
try {
|
|
42352
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
42285
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1094 => _1094(restoreTarget.id)]);
|
|
42353
42286
|
} catch (err) {
|
|
42354
42287
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
42355
42288
|
return;
|
|
@@ -42748,7 +42681,7 @@ function EmbeddableChatInner({
|
|
|
42748
42681
|
}),
|
|
42749
42682
|
[commandsUrl]
|
|
42750
42683
|
);
|
|
42751
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
42684
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1095 => _1095.firstName, 'optionalAccess', _1096 => _1096.trim, 'call', _1097 => _1097()]) || _optionalChain([identityUser, 'optionalAccess', _1098 => _1098.name, 'optionalAccess', _1099 => _1099.split, 'call', _1100 => _1100(" "), 'access', _1101 => _1101[0], 'optionalAccess', _1102 => _1102.trim, 'call', _1103 => _1103()]) || void 0;
|
|
42752
42685
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
42753
42686
|
if (modes) return modes;
|
|
42754
42687
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -42757,17 +42690,17 @@ function EmbeddableChatInner({
|
|
|
42757
42690
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
42758
42691
|
if (mingoState) {
|
|
42759
42692
|
return {
|
|
42760
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42761
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42762
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42763
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42693
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1104 => _1104.canRename]), () => ( false)),
|
|
42694
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1105 => _1105.canArchive]), () => ( false)),
|
|
42695
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1106 => _1106.fetchArchivedDialogs]),
|
|
42696
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1107 => _1107.unarchiveDialog])
|
|
42764
42697
|
};
|
|
42765
42698
|
}
|
|
42766
42699
|
return {
|
|
42767
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
42768
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
42769
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
42770
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
42700
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.renameDialog]),
|
|
42701
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.archiveDialog]),
|
|
42702
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1112 => _1112.mingo, 'optionalAccess', _1113 => _1113.fetchArchivedDialogs]),
|
|
42703
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1114 => _1114.mingo, 'optionalAccess', _1115 => _1115.unarchiveDialog])
|
|
42771
42704
|
};
|
|
42772
42705
|
}, [mingoState, mingoDialogCapabilities, effectiveModes]);
|
|
42773
42706
|
const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
|
|
@@ -42779,7 +42712,7 @@ function EmbeddableChatInner({
|
|
|
42779
42712
|
if (controlledActiveMode === void 0) {
|
|
42780
42713
|
setUncontrolledActiveMode(next);
|
|
42781
42714
|
}
|
|
42782
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
42715
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1116 => _1116(next)]);
|
|
42783
42716
|
},
|
|
42784
42717
|
[controlledActiveMode, onActiveModeChange]
|
|
42785
42718
|
);
|
|
@@ -42986,9 +42919,9 @@ function EmbeddableChatInner({
|
|
|
42986
42919
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
42987
42920
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
42988
42921
|
if (chatLoading) return void 0;
|
|
42989
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42922
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1117 => _1117.sources]);
|
|
42990
42923
|
if (!sources || sources.length === 0) return void 0;
|
|
42991
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42924
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1118 => _1118.content]) || "";
|
|
42992
42925
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
42993
42926
|
(m) => parseInt(m[1], 10)
|
|
42994
42927
|
);
|
|
@@ -43035,7 +42968,7 @@ function EmbeddableChatInner({
|
|
|
43035
42968
|
ChatPanelHeader,
|
|
43036
42969
|
{
|
|
43037
42970
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
43038
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
42971
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1119 => _1119.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
|
|
43039
42972
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
43040
42973
|
isArchivedView: isViewingArchived,
|
|
43041
42974
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -43140,10 +43073,10 @@ function EmbeddableChatInner({
|
|
|
43140
43073
|
subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
|
|
43141
43074
|
...guideWelcome,
|
|
43142
43075
|
onQuickAction: (action) => {
|
|
43143
|
-
_optionalChain([chatInputRef, 'access',
|
|
43076
|
+
_optionalChain([chatInputRef, 'access', _1120 => _1120.current, 'optionalAccess', _1121 => _1121.setValue, 'call', _1122 => _1122(
|
|
43144
43077
|
_nullishCoalesce(action.prompt, () => ( action.label))
|
|
43145
43078
|
)]);
|
|
43146
|
-
_optionalChain([chatInputRef, 'access',
|
|
43079
|
+
_optionalChain([chatInputRef, 'access', _1123 => _1123.current, 'optionalAccess', _1124 => _1124.focus, 'call', _1125 => _1125()]);
|
|
43147
43080
|
},
|
|
43148
43081
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
43149
43082
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -44095,5 +44028,7 @@ function EmbeddableChatInner({
|
|
|
44095
44028
|
|
|
44096
44029
|
|
|
44097
44030
|
|
|
44098
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.buildListUrl = buildListUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
44099
|
-
|
|
44031
|
+
|
|
44032
|
+
|
|
44033
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
44034
|
+
//# sourceMappingURL=chunk-ESADULCN.cjs.map
|