@flamingo-stack/openframe-frontend-core 0.0.244 → 0.0.245
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-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-7ZHFCEJH.js} +6 -6
- package/dist/{chunk-EJ7J4QAD.cjs → chunk-BKPS6M2F.cjs} +12 -12
- package/dist/{chunk-EJ7J4QAD.cjs.map → chunk-BKPS6M2F.cjs.map} +1 -1
- package/dist/{chunk-EPXROXYC.cjs → chunk-CZITXP77.cjs} +645 -713
- package/dist/chunk-CZITXP77.cjs.map +1 -0
- package/dist/{chunk-Z6GGYZDR.cjs → chunk-DUZBTUXF.cjs} +27 -27
- package/dist/{chunk-Z6GGYZDR.cjs.map → chunk-DUZBTUXF.cjs.map} +1 -1
- package/dist/{chunk-M7DPUWAL.js → chunk-FRRMXLU5.js} +120 -188
- package/dist/chunk-FRRMXLU5.js.map +1 -0
- package/dist/chunk-GIDH6UL4.js +287 -0
- package/dist/chunk-GIDH6UL4.js.map +1 -0
- package/dist/{chunk-PTSAF7T2.js → chunk-JJV3XGCY.js} +2 -2
- package/dist/{chunk-APGMNHPY.js → chunk-MKVKVJQQ.js} +32 -19
- package/dist/chunk-MKVKVJQQ.js.map +1 -0
- package/dist/chunk-ML2ROCYA.cjs +287 -0
- package/dist/chunk-ML2ROCYA.cjs.map +1 -0
- package/dist/{chunk-STKMIMLP.cjs → chunk-MP5HOP7N.cjs} +12 -12
- package/dist/{chunk-STKMIMLP.cjs.map → chunk-MP5HOP7N.cjs.map} +1 -1
- package/dist/{chunk-NKGNRFSS.js → chunk-SEVJT2HP.js} +8 -8
- package/dist/{chunk-FSS2MIEA.cjs → chunk-SGJBUL2Y.cjs} +20 -3
- package/dist/chunk-SGJBUL2Y.cjs.map +1 -0
- package/dist/{chunk-WD2MZVJI.js → chunk-V35PZSUA.js} +5 -5
- 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-RJC3L5DT.cjs → chunk-VXP553WT.cjs} +7 -7
- package/dist/{chunk-RJC3L5DT.cjs.map → chunk-VXP553WT.cjs.map} +1 -1
- package/dist/components/chat/chat-message-list.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/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-7ZHFCEJH.js.map} +0 -0
- /package/dist/{chunk-PTSAF7T2.js.map → chunk-JJV3XGCY.js.map} +0 -0
- /package/dist/{chunk-NKGNRFSS.js.map → chunk-SEVJT2HP.js.map} +0 -0
- /package/dist/{chunk-WD2MZVJI.js.map → chunk-V35PZSUA.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
|
-
|
|
4449
|
-
|
|
4442
|
+
if (!el) {
|
|
4443
|
+
prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
|
|
4444
|
+
return;
|
|
4445
|
+
}
|
|
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
|
+
};
|
|
4450
4463
|
return;
|
|
4451
4464
|
}
|
|
4452
|
-
|
|
4453
|
-
if (
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
}, [messages,
|
|
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
|
|
@@ -9753,7 +9758,7 @@ function OnboardingGuideCard({
|
|
|
9753
9758
|
const compactCover = coverImage || placeholderUrl || null;
|
|
9754
9759
|
const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
|
|
9755
9760
|
const summary2 = (guide.video_summary || guide.content || "").trim();
|
|
9756
|
-
const author = _optionalChain([guide, 'access',
|
|
9761
|
+
const author = _optionalChain([guide, 'access', _182 => _182.author, 'optionalAccess', _183 => _183.full_name, 'optionalAccess', _184 => _184.trim, 'call', _185 => _185()]) || "";
|
|
9757
9762
|
const subtitleParts = [
|
|
9758
9763
|
`Step ${guide.step_order}`,
|
|
9759
9764
|
guide.section,
|
|
@@ -10124,7 +10129,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10124
10129
|
if (!isInputControlled) {
|
|
10125
10130
|
setInternalInputValue(value);
|
|
10126
10131
|
}
|
|
10127
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
10132
|
+
_optionalChain([onInputChange, 'optionalCall', _186 => _186(value, reason)]);
|
|
10128
10133
|
};
|
|
10129
10134
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
10130
10135
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
@@ -10152,8 +10157,8 @@ function AutocompleteInner(props, ref) {
|
|
|
10152
10157
|
if (!showHiddenTags) return;
|
|
10153
10158
|
const handleClick = (e) => {
|
|
10154
10159
|
const target = e.target;
|
|
10155
|
-
const inButton = _optionalChain([hiddenTagsRef, 'access',
|
|
10156
|
-
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access',
|
|
10160
|
+
const inButton = _optionalChain([hiddenTagsRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.contains, 'call', _189 => _189(target)]);
|
|
10161
|
+
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(target)]);
|
|
10157
10162
|
if (!inButton && !inPopup) {
|
|
10158
10163
|
setShowHiddenTags(false);
|
|
10159
10164
|
}
|
|
@@ -10197,7 +10202,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10197
10202
|
}
|
|
10198
10203
|
updateInputValue("", "reset");
|
|
10199
10204
|
setIsOpen(false);
|
|
10200
|
-
_optionalChain([onCreateOption, 'optionalCall',
|
|
10205
|
+
_optionalChain([onCreateOption, 'optionalCall', _193 => _193(trimmed)]);
|
|
10201
10206
|
};
|
|
10202
10207
|
_react.useEffect.call(void 0, () => {
|
|
10203
10208
|
setHighlightedIndex(-1);
|
|
@@ -10221,7 +10226,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10221
10226
|
props.onChange([...valueArray, option.value]);
|
|
10222
10227
|
}
|
|
10223
10228
|
updateInputValue("", "reset");
|
|
10224
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10229
|
+
_optionalChain([autoLimitTags, 'access', _194 => _194.inputRef, 'access', _195 => _195.current, 'optionalAccess', _196 => _196.focus, 'call', _197 => _197()]);
|
|
10225
10230
|
} else {
|
|
10226
10231
|
;
|
|
10227
10232
|
props.onChange(option.value);
|
|
@@ -10242,7 +10247,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10242
10247
|
if (!isInputControlled) {
|
|
10243
10248
|
setInternalInputValue("");
|
|
10244
10249
|
}
|
|
10245
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
10250
|
+
_optionalChain([onInputChange, 'optionalCall', _198 => _198("", "clear")]);
|
|
10246
10251
|
setIsOpen(false);
|
|
10247
10252
|
};
|
|
10248
10253
|
const handleKeyDown = (e) => {
|
|
@@ -10316,7 +10321,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10316
10321
|
),
|
|
10317
10322
|
onClick: () => {
|
|
10318
10323
|
if (!disabled) {
|
|
10319
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10324
|
+
_optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
|
|
10320
10325
|
openDropdown();
|
|
10321
10326
|
}
|
|
10322
10327
|
},
|
|
@@ -10432,10 +10437,10 @@ function AutocompleteInner(props, ref) {
|
|
|
10432
10437
|
align: "start",
|
|
10433
10438
|
onOpenAutoFocus: (e) => {
|
|
10434
10439
|
e.preventDefault();
|
|
10435
|
-
_optionalChain([autoLimitTags, 'access',
|
|
10440
|
+
_optionalChain([autoLimitTags, 'access', _203 => _203.inputRef, 'access', _204 => _204.current, 'optionalAccess', _205 => _205.focus, 'call', _206 => _206()]);
|
|
10436
10441
|
},
|
|
10437
10442
|
onInteractOutside: (e) => {
|
|
10438
|
-
if (_optionalChain([containerRef, 'access',
|
|
10443
|
+
if (_optionalChain([containerRef, 'access', _207 => _207.current, 'optionalAccess', _208 => _208.contains, 'call', _209 => _209(e.target)])) {
|
|
10439
10444
|
e.preventDefault();
|
|
10440
10445
|
}
|
|
10441
10446
|
},
|
|
@@ -10507,7 +10512,7 @@ function AutocompleteInner(props, ref) {
|
|
|
10507
10512
|
items: hiddenTags,
|
|
10508
10513
|
disabled,
|
|
10509
10514
|
style: {
|
|
10510
|
-
left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
10515
|
+
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
10516
|
},
|
|
10512
10517
|
onRemove: (value) => {
|
|
10513
10518
|
const newValue = valueArray.filter((v) => v !== value);
|
|
@@ -10830,7 +10835,7 @@ var defaultFormatDate = (date) => {
|
|
|
10830
10835
|
});
|
|
10831
10836
|
};
|
|
10832
10837
|
var formatDateRange2 = (range, formatFn) => {
|
|
10833
|
-
if (!_optionalChain([range, 'optionalAccess',
|
|
10838
|
+
if (!_optionalChain([range, 'optionalAccess', _214 => _214.from])) return "";
|
|
10834
10839
|
if (!range.to) return formatFn(range.from);
|
|
10835
10840
|
return `${formatFn(range.from)} - ${formatFn(range.to)}`;
|
|
10836
10841
|
};
|
|
@@ -10858,7 +10863,7 @@ function DatePickerCalendar({
|
|
|
10858
10863
|
}) {
|
|
10859
10864
|
const today = /* @__PURE__ */ new Date();
|
|
10860
10865
|
const rangeSelected = selected;
|
|
10861
|
-
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess',
|
|
10866
|
+
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _215 => _215.from]) && _optionalChain([rangeSelected, 'optionalAccess', _216 => _216.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
|
|
10862
10867
|
const classNames = {
|
|
10863
10868
|
root: "p-4 date-picker-calendar",
|
|
10864
10869
|
months: "flex gap-8",
|
|
@@ -10909,7 +10914,7 @@ function DatePickerCalendar({
|
|
|
10909
10914
|
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
10915
|
};
|
|
10911
10916
|
const [month, setMonth] = React37.useState(
|
|
10912
|
-
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess',
|
|
10917
|
+
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _217 => _217.from]) || today
|
|
10913
10918
|
);
|
|
10914
10919
|
const handlePreviousMonth = () => {
|
|
10915
10920
|
setMonth((prev) => {
|
|
@@ -11128,14 +11133,14 @@ function DatePicker(props) {
|
|
|
11128
11133
|
}, [props.mode, props.value, formatDate2]);
|
|
11129
11134
|
const handleSelect = (value) => {
|
|
11130
11135
|
if (props.mode === "single") {
|
|
11131
|
-
_optionalChain([props, 'access',
|
|
11136
|
+
_optionalChain([props, 'access', _218 => _218.onChange, 'optionalCall', _219 => _219(value)]);
|
|
11132
11137
|
if (value) {
|
|
11133
11138
|
setOpen(false);
|
|
11134
11139
|
}
|
|
11135
11140
|
} else {
|
|
11136
11141
|
const range = value;
|
|
11137
|
-
_optionalChain([props, 'access',
|
|
11138
|
-
if (_optionalChain([range, 'optionalAccess',
|
|
11142
|
+
_optionalChain([props, 'access', _220 => _220.onChange, 'optionalCall', _221 => _221(range)]);
|
|
11143
|
+
if (_optionalChain([range, 'optionalAccess', _222 => _222.from]) && _optionalChain([range, 'optionalAccess', _223 => _223.to]) && range.from.getTime() !== range.to.getTime()) {
|
|
11139
11144
|
setOpen(false);
|
|
11140
11145
|
}
|
|
11141
11146
|
}
|
|
@@ -11242,7 +11247,7 @@ function DatePickerInput({
|
|
|
11242
11247
|
if (newDate && value) {
|
|
11243
11248
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
11244
11249
|
}
|
|
11245
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11250
|
+
_optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
|
|
11246
11251
|
if (newDate) {
|
|
11247
11252
|
setOpen(false);
|
|
11248
11253
|
}
|
|
@@ -11259,12 +11264,12 @@ function DatePickerInput({
|
|
|
11259
11264
|
}
|
|
11260
11265
|
}
|
|
11261
11266
|
date.setHours(hours);
|
|
11262
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11267
|
+
_optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
|
|
11263
11268
|
};
|
|
11264
11269
|
const handleMinuteChange = (newMinute) => {
|
|
11265
11270
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
11266
11271
|
date.setMinutes(parseInt(newMinute, 10));
|
|
11267
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11272
|
+
_optionalChain([onChange, 'optionalCall', _226 => _226(date)]);
|
|
11268
11273
|
};
|
|
11269
11274
|
const handlePeriodChange = (newPeriod) => {
|
|
11270
11275
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
@@ -11275,7 +11280,7 @@ function DatePickerInput({
|
|
|
11275
11280
|
hours += 12;
|
|
11276
11281
|
}
|
|
11277
11282
|
date.setHours(hours);
|
|
11278
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11283
|
+
_optionalChain([onChange, 'optionalCall', _227 => _227(date)]);
|
|
11279
11284
|
};
|
|
11280
11285
|
const hourOptions = React37.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
|
|
11281
11286
|
const minuteOptions = React37.useMemo(() => generateMinuteOptions(), []);
|
|
@@ -11436,7 +11441,7 @@ function DatePickerInputSimple({
|
|
|
11436
11441
|
if (newDate && value) {
|
|
11437
11442
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
11438
11443
|
}
|
|
11439
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11444
|
+
_optionalChain([onChange, 'optionalCall', _228 => _228(newDate)]);
|
|
11440
11445
|
if (newDate) {
|
|
11441
11446
|
setOpen(false);
|
|
11442
11447
|
}
|
|
@@ -11445,7 +11450,7 @@ function DatePickerInputSimple({
|
|
|
11445
11450
|
const [hours, minutes] = newTime.split(":").map(Number);
|
|
11446
11451
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
11447
11452
|
date.setHours(hours, minutes, 0, 0);
|
|
11448
|
-
_optionalChain([onChange, 'optionalCall',
|
|
11453
|
+
_optionalChain([onChange, 'optionalCall', _229 => _229(date)]);
|
|
11449
11454
|
};
|
|
11450
11455
|
const timeOptions = React37.useMemo(
|
|
11451
11456
|
() => generateTimeOptions(timeInterval, use24HourFormat),
|
|
@@ -11994,7 +11999,7 @@ var Switch = React43.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
11994
11999
|
}, [checked]);
|
|
11995
12000
|
const handleCheckedChange = (newChecked) => {
|
|
11996
12001
|
setIsChecked(newChecked);
|
|
11997
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
12002
|
+
_optionalChain([onCheckedChange, 'optionalCall', _230 => _230(newChecked)]);
|
|
11998
12003
|
};
|
|
11999
12004
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12000
12005
|
SwitchPrimitives.Root,
|
|
@@ -12203,7 +12208,7 @@ function TagsManager({
|
|
|
12203
12208
|
const name = search.trim();
|
|
12204
12209
|
if (!name) return;
|
|
12205
12210
|
const result = await onCreateTag(name);
|
|
12206
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
12211
|
+
if (_optionalChain([result, 'optionalAccess', _231 => _231.id])) {
|
|
12207
12212
|
onChange([...selectedIds, result.id]);
|
|
12208
12213
|
setSearch("");
|
|
12209
12214
|
}
|
|
@@ -12211,7 +12216,7 @@ function TagsManager({
|
|
|
12211
12216
|
const startEdit = React45.useCallback((id, name) => {
|
|
12212
12217
|
setEditingId(id);
|
|
12213
12218
|
setEditingName(name);
|
|
12214
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
12219
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.focus, 'call', _234 => _234()]), 0);
|
|
12215
12220
|
}, []);
|
|
12216
12221
|
const confirmEdit = React45.useCallback(async () => {
|
|
12217
12222
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -12238,7 +12243,7 @@ function TagsManager({
|
|
|
12238
12243
|
e.stopPropagation();
|
|
12239
12244
|
onChange([]);
|
|
12240
12245
|
setSearch("");
|
|
12241
|
-
_optionalChain([inputRef, 'access',
|
|
12246
|
+
_optionalChain([inputRef, 'access', _235 => _235.current, 'optionalAccess', _236 => _236.focus, 'call', _237 => _237()]);
|
|
12242
12247
|
},
|
|
12243
12248
|
[onChange]
|
|
12244
12249
|
);
|
|
@@ -12337,10 +12342,10 @@ function TagsManager({
|
|
|
12337
12342
|
align: "start",
|
|
12338
12343
|
onOpenAutoFocus: (e) => {
|
|
12339
12344
|
e.preventDefault();
|
|
12340
|
-
_optionalChain([inputRef, 'access',
|
|
12345
|
+
_optionalChain([inputRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.focus, 'call', _240 => _240()]);
|
|
12341
12346
|
},
|
|
12342
12347
|
onInteractOutside: (e) => {
|
|
12343
|
-
if (_optionalChain([containerRef, 'access',
|
|
12348
|
+
if (_optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.contains, 'call', _243 => _243(e.target)])) {
|
|
12344
12349
|
e.preventDefault();
|
|
12345
12350
|
}
|
|
12346
12351
|
},
|
|
@@ -13735,19 +13740,19 @@ function TabNavigation({
|
|
|
13735
13740
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
13736
13741
|
const getInitialTab = () => {
|
|
13737
13742
|
if (isUrlSyncEnabled) {
|
|
13738
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
13743
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _244 => _244.get, 'call', _245 => _245(paramName)]) || "";
|
|
13739
13744
|
if (validTabIds.has(fromUrl)) {
|
|
13740
13745
|
return fromUrl;
|
|
13741
13746
|
}
|
|
13742
13747
|
}
|
|
13743
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
13748
|
+
return defaultTab || _optionalChain([tabs, 'access', _246 => _246[0], 'optionalAccess', _247 => _247.id]) || "";
|
|
13744
13749
|
};
|
|
13745
13750
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
13746
13751
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
13747
13752
|
_react.useEffect.call(void 0, () => {
|
|
13748
13753
|
if (!isUrlSyncEnabled) return;
|
|
13749
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
13750
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
13754
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _248 => _248.get, 'call', _249 => _249(paramName)]) || "";
|
|
13755
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _250 => _250[0], 'optionalAccess', _251 => _251.id]) || "";
|
|
13751
13756
|
if (nextTab !== internalActiveTab) {
|
|
13752
13757
|
setInternalActiveTab(nextTab);
|
|
13753
13758
|
}
|
|
@@ -13755,13 +13760,13 @@ function TabNavigation({
|
|
|
13755
13760
|
const handleTabChange = (tabId) => {
|
|
13756
13761
|
if (isUrlSyncEnabled) {
|
|
13757
13762
|
setInternalActiveTab(tabId);
|
|
13758
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
13763
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _252 => _252.toString, 'call', _253 => _253()]));
|
|
13759
13764
|
params.set(paramName, tabId);
|
|
13760
13765
|
const method = replaceState ? "replace" : "push";
|
|
13761
13766
|
router[method](`${pathname}?${params.toString()}`);
|
|
13762
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
13767
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _254 => _254(tabId)]);
|
|
13763
13768
|
} else {
|
|
13764
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
13769
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _255 => _255(tabId)]);
|
|
13765
13770
|
}
|
|
13766
13771
|
};
|
|
13767
13772
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -13849,7 +13854,7 @@ function TabNavigation({
|
|
|
13849
13854
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
13850
13855
|
var getTabComponent = (tabs, tabId) => {
|
|
13851
13856
|
const tab = getTabById(tabs, tabId);
|
|
13852
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
13857
|
+
return _optionalChain([tab, 'optionalAccess', _256 => _256.component]) || null;
|
|
13853
13858
|
};
|
|
13854
13859
|
|
|
13855
13860
|
// src/components/ui/alert.tsx
|
|
@@ -13989,7 +13994,7 @@ function ReleaseChangelogSection({
|
|
|
13989
13994
|
className: "overflow-hidden transition-[max-height] duration-500",
|
|
13990
13995
|
style: {
|
|
13991
13996
|
transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
|
|
13992
|
-
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access',
|
|
13997
|
+
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
|
|
13993
13998
|
...previewNeedsFade && !previewExpanded ? {
|
|
13994
13999
|
maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
|
|
13995
14000
|
WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
|
|
@@ -14426,16 +14431,16 @@ function FilterModal({
|
|
|
14426
14431
|
};
|
|
14427
14432
|
const handleReset = () => {
|
|
14428
14433
|
onFilterChange({});
|
|
14429
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
14434
|
+
_optionalChain([onTagsChange, 'optionalCall', _259 => _259([])]);
|
|
14430
14435
|
onClose();
|
|
14431
14436
|
};
|
|
14432
14437
|
const handleApply = () => {
|
|
14433
14438
|
onFilterChange(selectedFilters);
|
|
14434
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
14439
|
+
_optionalChain([onTagsChange, 'optionalCall', _260 => _260(pendingTags)]);
|
|
14435
14440
|
onClose();
|
|
14436
14441
|
};
|
|
14437
14442
|
const getColumnDirection = (columnKey) => {
|
|
14438
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
14443
|
+
return _optionalChain([sortConfig, 'optionalAccess', _261 => _261.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
14439
14444
|
};
|
|
14440
14445
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
14441
14446
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -14484,7 +14489,7 @@ function FilterModal({
|
|
|
14484
14489
|
{
|
|
14485
14490
|
column,
|
|
14486
14491
|
currentDirection: getColumnDirection(column.key),
|
|
14487
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
14492
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _262 => _262(column.key, direction)]),
|
|
14488
14493
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
14489
14494
|
},
|
|
14490
14495
|
column.key
|
|
@@ -14662,7 +14667,7 @@ function IconButtonsVariant({
|
|
|
14662
14667
|
}) {
|
|
14663
14668
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
14664
14669
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
14665
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
14670
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _263 => _263[0], 'access', _264 => _264.submenu, 'optionalAccess', _265 => _265.length]);
|
|
14666
14671
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
14667
14672
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
14668
14673
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -15813,7 +15818,7 @@ function getShellIcon(shellType) {
|
|
|
15813
15818
|
if (!shellType) return void 0;
|
|
15814
15819
|
const normalized = shellType.toUpperCase();
|
|
15815
15820
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
15816
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
15821
|
+
return _optionalChain([shellDef, 'optionalAccess', _266 => _266.icon]);
|
|
15817
15822
|
}
|
|
15818
15823
|
|
|
15819
15824
|
// src/types/os.types.ts
|
|
@@ -15886,7 +15891,7 @@ function getOSIcon(osType) {
|
|
|
15886
15891
|
const normalized = normalizeOSType(osType);
|
|
15887
15892
|
if (!normalized) return void 0;
|
|
15888
15893
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
15889
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
15894
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _267 => _267.icon]);
|
|
15890
15895
|
}
|
|
15891
15896
|
function getOSTypeDefinition(osType) {
|
|
15892
15897
|
if (!osType) return void 0;
|
|
@@ -15896,7 +15901,7 @@ function getOSTypeDefinition(osType) {
|
|
|
15896
15901
|
}
|
|
15897
15902
|
function getOSPlatformId(osType) {
|
|
15898
15903
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
15899
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
15904
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _268 => _268.platformId]);
|
|
15900
15905
|
}
|
|
15901
15906
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
15902
15907
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -15989,10 +15994,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
15989
15994
|
];
|
|
15990
15995
|
function extractDomainFromEmail(email) {
|
|
15991
15996
|
if (!email || !email.includes("@")) return null;
|
|
15992
|
-
return _optionalChain([email, 'access',
|
|
15997
|
+
return _optionalChain([email, 'access', _269 => _269.split, 'call', _270 => _270("@"), 'access', _271 => _271[1], 'optionalAccess', _272 => _272.toLowerCase, 'call', _273 => _273()]) || null;
|
|
15993
15998
|
}
|
|
15994
15999
|
function normalizeDomain(domain) {
|
|
15995
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
16000
|
+
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
16001
|
}
|
|
15997
16002
|
function isGenericDomain(domain) {
|
|
15998
16003
|
const normalized = normalizeDomain(domain);
|
|
@@ -16401,7 +16406,7 @@ function createLocalStorageAdapter(options) {
|
|
|
16401
16406
|
const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
|
|
16402
16407
|
const backend = _nullishCoalesce(options.backend, () => ( "local"));
|
|
16403
16408
|
const resolveKey = () => {
|
|
16404
|
-
const ns = _optionalChain([options, 'access',
|
|
16409
|
+
const ns = _optionalChain([options, 'access', _285 => _285.namespace, 'optionalCall', _286 => _286()]);
|
|
16405
16410
|
return ns ? `${ns}.${options.key}` : options.key;
|
|
16406
16411
|
};
|
|
16407
16412
|
return {
|
|
@@ -16488,7 +16493,7 @@ function getEmbedProxyAuth() {
|
|
|
16488
16493
|
}
|
|
16489
16494
|
function getPersistedProxyEmail() {
|
|
16490
16495
|
const persisted = adapter.load();
|
|
16491
|
-
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess',
|
|
16496
|
+
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _287 => _287.email, 'access', _288 => _288.trim, 'call', _289 => _289(), 'access', _290 => _290.toLowerCase, 'call', _291 => _291()]), () => ( null));
|
|
16492
16497
|
}
|
|
16493
16498
|
function setEmbedProxyAuth(value) {
|
|
16494
16499
|
adapter.save({
|
|
@@ -16505,15 +16510,15 @@ function clearEmbedProxyAuth() {
|
|
|
16505
16510
|
function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
|
|
16506
16511
|
const auth = getEmbedProxyAuth();
|
|
16507
16512
|
const headers = { ...baseHeaders };
|
|
16508
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16513
|
+
if (_optionalChain([auth, 'optionalAccess', _292 => _292.secret])) {
|
|
16509
16514
|
headers.Authorization = `Bearer ${auth.secret}`;
|
|
16510
16515
|
}
|
|
16511
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16516
|
+
if (_optionalChain([auth, 'optionalAccess', _293 => _293.email])) {
|
|
16512
16517
|
headers["X-Chat-Act-As"] = auth.email;
|
|
16513
16518
|
}
|
|
16514
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16515
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16516
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
16519
|
+
if (_optionalChain([auth, 'optionalAccess', _294 => _294.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
|
|
16520
|
+
if (_optionalChain([auth, 'optionalAccess', _295 => _295.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
|
|
16521
|
+
if (_optionalChain([auth, 'optionalAccess', _296 => _296.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
|
|
16517
16522
|
return { url, headers };
|
|
16518
16523
|
}
|
|
16519
16524
|
|
|
@@ -16565,7 +16570,7 @@ function setInFlightRefresh(refresh) {
|
|
|
16565
16570
|
}
|
|
16566
16571
|
function dedupedRefresh() {
|
|
16567
16572
|
const adapter2 = getRegisteredAuthAdapter();
|
|
16568
|
-
if (!_optionalChain([adapter2, 'optionalAccess',
|
|
16573
|
+
if (!_optionalChain([adapter2, 'optionalAccess', _297 => _297.refresh])) return Promise.resolve(false);
|
|
16569
16574
|
let inFlightRefresh = getInFlightRefresh();
|
|
16570
16575
|
if (!inFlightRefresh) {
|
|
16571
16576
|
inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
|
|
@@ -16578,12 +16583,12 @@ function dedupedRefresh() {
|
|
|
16578
16583
|
async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
16579
16584
|
const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
|
|
16580
16585
|
const adapter2 = getRegisteredAuthAdapter();
|
|
16581
|
-
if (_optionalChain([adapter2, 'optionalAccess',
|
|
16586
|
+
if (_optionalChain([adapter2, 'optionalAccess', _298 => _298.getHeaders])) {
|
|
16582
16587
|
for (const [k, v] of Object.entries(adapter2.getHeaders())) {
|
|
16583
16588
|
if (v !== void 0) headers[k] = v;
|
|
16584
16589
|
}
|
|
16585
16590
|
}
|
|
16586
|
-
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess',
|
|
16591
|
+
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _299 => _299.credentials]), () => ( init.credentials)), () => ( "same-origin"));
|
|
16587
16592
|
const response = await fetch(authedUrl, {
|
|
16588
16593
|
...init,
|
|
16589
16594
|
headers,
|
|
@@ -16594,7 +16599,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
|
16594
16599
|
// `SameSite=None` must be configured server-side for that to work).
|
|
16595
16600
|
credentials
|
|
16596
16601
|
});
|
|
16597
|
-
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess',
|
|
16602
|
+
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _300 => _300.refresh])) {
|
|
16598
16603
|
const refreshed = await dedupedRefresh();
|
|
16599
16604
|
if (refreshed) {
|
|
16600
16605
|
return fetchWithRefresh(url, init, baseHeaders, true);
|
|
@@ -16632,7 +16637,7 @@ function assertSameOrigin(url) {
|
|
|
16632
16637
|
|
|
16633
16638
|
// src/utils/sse-decision-frame.ts
|
|
16634
16639
|
async function readLeadingDecisionFrame(response) {
|
|
16635
|
-
const reader = _optionalChain([response, 'access',
|
|
16640
|
+
const reader = _optionalChain([response, 'access', _301 => _301.body, 'optionalAccess', _302 => _302.getReader, 'call', _303 => _303()]);
|
|
16636
16641
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
16637
16642
|
const decoder = new TextDecoder();
|
|
16638
16643
|
let buffer = "";
|
|
@@ -16661,9 +16666,9 @@ async function readLeadingDecisionFrame(response) {
|
|
|
16661
16666
|
);
|
|
16662
16667
|
}
|
|
16663
16668
|
const obj = parsed;
|
|
16664
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
16669
|
+
if (_optionalChain([obj, 'optionalAccess', _304 => _304.kind]) !== "decision_resolved") {
|
|
16665
16670
|
throw new Error(
|
|
16666
|
-
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
16671
|
+
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _305 => _305.kind]))}`
|
|
16667
16672
|
);
|
|
16668
16673
|
}
|
|
16669
16674
|
frame = normalizeDecisionFrame(obj);
|
|
@@ -16704,7 +16709,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
16704
16709
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
16705
16710
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
16706
16711
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
16707
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
16712
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _306 => _306.status, 'optionalAccess', _307 => _307.toUpperCase, 'call', _308 => _308()]) === "CLOSED";
|
|
16708
16713
|
if (toolName === "create_ticket") {
|
|
16709
16714
|
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
16715
|
}
|
|
@@ -16766,7 +16771,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
16766
16771
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
16767
16772
|
}
|
|
16768
16773
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
16769
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
16774
|
+
const f = _optionalChain([override, 'optionalAccess', _309 => _309.entityIdFilter]);
|
|
16770
16775
|
if (!f) return null;
|
|
16771
16776
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
16772
16777
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -16841,7 +16846,7 @@ function getTaskTypeLabel(customItemId) {
|
|
|
16841
16846
|
|
|
16842
16847
|
// src/components/chat/utils/agent-status-message.ts
|
|
16843
16848
|
function getStatusColorScheme(status) {
|
|
16844
|
-
const s = _optionalChain([status, 'optionalAccess',
|
|
16849
|
+
const s = _optionalChain([status, 'optionalAccess', _310 => _310.toLowerCase, 'call', _311 => _311()]) || "";
|
|
16845
16850
|
switch (status) {
|
|
16846
16851
|
case "completed":
|
|
16847
16852
|
case "success":
|
|
@@ -17127,6 +17132,9 @@ function scrollElementIntoView(target, options = {}) {
|
|
|
17127
17132
|
|
|
17128
17133
|
// src/utils/list-url.ts
|
|
17129
17134
|
var ALIASES = { blog_post_existing: "blog_post" };
|
|
17135
|
+
function canonicalContentRefType(contentRefType) {
|
|
17136
|
+
return _nullishCoalesce(ALIASES[contentRefType], () => ( contentRefType));
|
|
17137
|
+
}
|
|
17130
17138
|
var BUILDERS = {
|
|
17131
17139
|
roadmap_item: (ids, b) => `${b}/api/roadmap?task_ids=${ids.join(",")}`,
|
|
17132
17140
|
delivery_item: (ids, b) => `${b}/api/delivery?task_ids=${ids.join(",")}`,
|
|
@@ -17151,6 +17159,60 @@ function buildListUrl(contentRefType, ids, base = "") {
|
|
|
17151
17159
|
return fn ? fn(ids, base) : null;
|
|
17152
17160
|
}
|
|
17153
17161
|
|
|
17162
|
+
// src/utils/content-ref-groups.ts
|
|
17163
|
+
var CONTENT_REF_GROUPS = {
|
|
17164
|
+
investor_update: { label: "Investor Updates", order: 1, layout: "grid", gridSize: "default" },
|
|
17165
|
+
product_release: { label: "Product Releases", order: 2, layout: "list", gridSize: "lg" },
|
|
17166
|
+
podcast: { label: "Podcasts", order: 3, layout: "list", gridSize: "default" },
|
|
17167
|
+
webinar: { label: "Webinars", order: 4, layout: "list", gridSize: "default" },
|
|
17168
|
+
case_study: { label: "Case Studies", order: 5, layout: "grid", gridSize: "default" },
|
|
17169
|
+
event: { label: "Events", order: 6, layout: "list", gridSize: "default" },
|
|
17170
|
+
blog_post_existing: { label: "Blog Posts", order: 7, layout: "grid", gridSize: "default" },
|
|
17171
|
+
customer_interview: { label: "Customer Interviews", order: 8, layout: "grid", gridSize: "default" },
|
|
17172
|
+
onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
|
|
17173
|
+
};
|
|
17174
|
+
function getContentRefLabel(type) {
|
|
17175
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _312 => _312[type], 'optionalAccess', _313 => _313.label]), () => ( null));
|
|
17176
|
+
}
|
|
17177
|
+
function getContentRefLabelOrTitleCase(type) {
|
|
17178
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _314 => _314[type], 'optionalAccess', _315 => _315.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
|
|
17179
|
+
}
|
|
17180
|
+
function orderContentRefTypes(present) {
|
|
17181
|
+
const presentSet = new Set(present);
|
|
17182
|
+
const registeredInOrder = Object.entries(CONTENT_REF_GROUPS).sort(([, a], [, b]) => a.order - b.order).map(([type]) => type).filter((type) => presentSet.has(type));
|
|
17183
|
+
const unregistered = [...presentSet].filter((type) => !CONTENT_REF_GROUPS[type]);
|
|
17184
|
+
return [...registeredInOrder, ...unregistered];
|
|
17185
|
+
}
|
|
17186
|
+
|
|
17187
|
+
// src/utils/extract-items.ts
|
|
17188
|
+
function extractItems(data) {
|
|
17189
|
+
if (!data || typeof data !== "object") return [];
|
|
17190
|
+
const obj = data;
|
|
17191
|
+
if (Array.isArray(obj.items)) return obj.items;
|
|
17192
|
+
if (Array.isArray(obj.posts)) return obj.posts;
|
|
17193
|
+
if (Array.isArray(obj.campaigns)) return obj.campaigns;
|
|
17194
|
+
if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
|
|
17195
|
+
const completed = Array.isArray(obj.completed) ? obj.completed : [];
|
|
17196
|
+
const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
|
|
17197
|
+
return [...completed, ...inProgress];
|
|
17198
|
+
}
|
|
17199
|
+
if (Array.isArray(obj.data)) return obj.data;
|
|
17200
|
+
if (Array.isArray(data)) return data;
|
|
17201
|
+
return [];
|
|
17202
|
+
}
|
|
17203
|
+
function extractItemId(type, item) {
|
|
17204
|
+
if (!item || typeof item !== "object") return null;
|
|
17205
|
+
const obj = item;
|
|
17206
|
+
if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
|
|
17207
|
+
const ext = obj.external_id;
|
|
17208
|
+
if (typeof ext === "string") return ext;
|
|
17209
|
+
}
|
|
17210
|
+
const id = obj.id;
|
|
17211
|
+
if (typeof id === "string") return id;
|
|
17212
|
+
if (typeof id === "number") return String(id);
|
|
17213
|
+
return null;
|
|
17214
|
+
}
|
|
17215
|
+
|
|
17154
17216
|
// src/utils/content-href.ts
|
|
17155
17217
|
var DEFAULT_CONTENT_SUFFIXES = {
|
|
17156
17218
|
onboarding_guide: "onboarding-guides",
|
|
@@ -17827,26 +17889,26 @@ function DeviceCard({
|
|
|
17827
17889
|
] }),
|
|
17828
17890
|
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
17891
|
] }),
|
|
17830
|
-
_optionalChain([actions, 'access',
|
|
17892
|
+
_optionalChain([actions, 'access', _316 => _316.moreButton, 'optionalAccess', _317 => _317.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17831
17893
|
"div",
|
|
17832
17894
|
{
|
|
17833
17895
|
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
17896
|
onClick: (e) => {
|
|
17835
17897
|
e.stopPropagation();
|
|
17836
|
-
_optionalChain([actions, 'access',
|
|
17898
|
+
_optionalChain([actions, 'access', _318 => _318.moreButton, 'optionalAccess', _319 => _319.onClick, 'optionalCall', _320 => _320()]);
|
|
17837
17899
|
},
|
|
17838
17900
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
17839
17901
|
}
|
|
17840
17902
|
),
|
|
17841
|
-
_optionalChain([actions, 'access',
|
|
17842
|
-
_optionalChain([actions, 'access',
|
|
17903
|
+
_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 }),
|
|
17904
|
+
_optionalChain([actions, 'access', _325 => _325.customActions, 'optionalAccess', _326 => _326.map, 'call', _327 => _327(
|
|
17843
17905
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17844
17906
|
"div",
|
|
17845
17907
|
{
|
|
17846
17908
|
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
17909
|
onClick: (e) => {
|
|
17848
17910
|
e.stopPropagation();
|
|
17849
|
-
_optionalChain([action, 'access',
|
|
17911
|
+
_optionalChain([action, 'access', _328 => _328.onClick, 'optionalCall', _329 => _329()]);
|
|
17850
17912
|
},
|
|
17851
17913
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
17852
17914
|
},
|
|
@@ -18346,7 +18408,7 @@ function MoreActionsMenu({
|
|
|
18346
18408
|
] });
|
|
18347
18409
|
const handleActivate = (e) => {
|
|
18348
18410
|
e.stopPropagation();
|
|
18349
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
18411
|
+
if (!item.disabled) _optionalChain([item, 'access', _330 => _330.onClick, 'optionalCall', _331 => _331()]);
|
|
18350
18412
|
};
|
|
18351
18413
|
if (item.href) {
|
|
18352
18414
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18413,7 +18475,7 @@ function OrganizationCard({
|
|
|
18413
18475
|
const handleActionClick = (e) => {
|
|
18414
18476
|
e.preventDefault();
|
|
18415
18477
|
e.stopPropagation();
|
|
18416
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
18478
|
+
_optionalChain([actionButton, 'optionalAccess', _332 => _332.onClick, 'call', _333 => _333(organization, e)]);
|
|
18417
18479
|
};
|
|
18418
18480
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18419
18481
|
"div",
|
|
@@ -19318,10 +19380,10 @@ var getContentDimensions = (config) => {
|
|
|
19318
19380
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
19319
19381
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
19320
19382
|
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',
|
|
19383
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _334 => _334.mobileContentDimensions, 'optionalAccess', _335 => _335.width]))), () => ( defaultMobile.width));
|
|
19384
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _336 => _336.mobileContentDimensions, 'optionalAccess', _337 => _337.height]))), () => ( defaultMobile.height));
|
|
19385
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _338 => _338.desktopContentDimensions, 'optionalAccess', _339 => _339.width]))), () => ( defaultDesktop.width));
|
|
19386
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _340 => _340.desktopContentDimensions, 'optionalAccess', _341 => _341.height]))), () => ( defaultDesktop.height));
|
|
19325
19387
|
return {
|
|
19326
19388
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
19327
19389
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -19455,7 +19517,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
19455
19517
|
const contentDimensions = getContentDimensions(config);
|
|
19456
19518
|
const mobileHeight = contentDimensions.mobile.height;
|
|
19457
19519
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
19458
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
19520
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _342 => _342.innerHeight]) * 0.85 || 650)}px`;
|
|
19459
19521
|
})(),
|
|
19460
19522
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
19461
19523
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -19560,7 +19622,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19560
19622
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
19561
19623
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
19562
19624
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
19563
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
19625
|
+
config.defaultSectionId || _optionalChain([config, 'access', _343 => _343.sections, 'access', _344 => _344[0], 'optionalAccess', _345 => _345.id]) || ""
|
|
19564
19626
|
);
|
|
19565
19627
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
19566
19628
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -19650,7 +19712,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19650
19712
|
const handleMessage = (event) => {
|
|
19651
19713
|
if (event.origin !== "https://www.figma.com") return;
|
|
19652
19714
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
19653
|
-
if (_optionalChain([event, 'access',
|
|
19715
|
+
if (_optionalChain([event, 'access', _346 => _346.data, 'optionalAccess', _347 => _347.type]) && validEvents.includes(event.data.type)) {
|
|
19654
19716
|
const figmaEvent = event.data;
|
|
19655
19717
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
19656
19718
|
switch (figmaEvent.type) {
|
|
@@ -19660,19 +19722,19 @@ var FigmaPrototypeViewer = ({
|
|
|
19660
19722
|
setIframeState("READY");
|
|
19661
19723
|
break;
|
|
19662
19724
|
case "PRESENTED_NODE_CHANGED":
|
|
19663
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
19725
|
+
if (_optionalChain([figmaEvent, 'access', _348 => _348.data, 'optionalAccess', _349 => _349.presentedNodeId])) {
|
|
19664
19726
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
19665
19727
|
if (!isNavigating) {
|
|
19666
19728
|
const matchingSection = config.sections.find((s) => {
|
|
19667
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19668
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
19729
|
+
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]);
|
|
19730
|
+
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
19731
|
return desktopMatch || mobileMatch;
|
|
19670
19732
|
});
|
|
19671
19733
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
19672
19734
|
if (!externalActiveSection) {
|
|
19673
19735
|
setInternalActiveSection(matchingSection.id);
|
|
19674
19736
|
}
|
|
19675
|
-
_optionalChain([config, 'access',
|
|
19737
|
+
_optionalChain([config, 'access', _361 => _361.onSectionChange, 'optionalCall', _362 => _362(matchingSection.id)]);
|
|
19676
19738
|
}
|
|
19677
19739
|
}
|
|
19678
19740
|
}
|
|
@@ -19685,7 +19747,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19685
19747
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
19686
19748
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
19687
19749
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
19688
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
19750
|
+
if (!section || !_optionalChain([iframeRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.contentWindow]) || !isInitialized) {
|
|
19689
19751
|
return;
|
|
19690
19752
|
}
|
|
19691
19753
|
setIsNavigating(true);
|
|
@@ -19693,7 +19755,7 @@ var FigmaPrototypeViewer = ({
|
|
|
19693
19755
|
if (!externalActiveSection) {
|
|
19694
19756
|
setInternalActiveSection(sectionId);
|
|
19695
19757
|
}
|
|
19696
|
-
_optionalChain([config, 'access',
|
|
19758
|
+
_optionalChain([config, 'access', _365 => _365.onSectionChange, 'optionalCall', _366 => _366(sectionId)]);
|
|
19697
19759
|
const command = {
|
|
19698
19760
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
19699
19761
|
data: { nodeId }
|
|
@@ -20013,7 +20075,7 @@ var FiltersDropdown = ({
|
|
|
20013
20075
|
defaults[section.id] = section.defaultSelected || [];
|
|
20014
20076
|
});
|
|
20015
20077
|
setSelectedFilters(defaults);
|
|
20016
|
-
_optionalChain([onReset, 'optionalCall',
|
|
20078
|
+
_optionalChain([onReset, 'optionalCall', _367 => _367()]);
|
|
20017
20079
|
setIsOpen(false);
|
|
20018
20080
|
};
|
|
20019
20081
|
const handleApply = () => {
|
|
@@ -20306,7 +20368,7 @@ function MediaGalleryManager({
|
|
|
20306
20368
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
20307
20369
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
20308
20370
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
20309
|
-
const file = _optionalChain([event, 'access',
|
|
20371
|
+
const file = _optionalChain([event, 'access', _368 => _368.target, 'access', _369 => _369.files, 'optionalAccess', _370 => _370[0]]);
|
|
20310
20372
|
if (!file) return;
|
|
20311
20373
|
let mediaType;
|
|
20312
20374
|
if (file.type.startsWith("image/")) {
|
|
@@ -20421,7 +20483,7 @@ function MediaGalleryManager({
|
|
|
20421
20483
|
{
|
|
20422
20484
|
type: "button",
|
|
20423
20485
|
variant: "outline",
|
|
20424
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
20486
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _371 => _371.current, 'optionalAccess', _372 => _372.click, 'call', _373 => _373()]),
|
|
20425
20487
|
disabled: isUploading,
|
|
20426
20488
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
20427
20489
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -21072,7 +21134,7 @@ function ReleaseMediaManager({
|
|
|
21072
21134
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
21073
21135
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
21074
21136
|
const handleFileSelect = async (event) => {
|
|
21075
|
-
const file = _optionalChain([event, 'access',
|
|
21137
|
+
const file = _optionalChain([event, 'access', _374 => _374.target, 'access', _375 => _375.files, 'optionalAccess', _376 => _376[0]]);
|
|
21076
21138
|
if (!file) return;
|
|
21077
21139
|
let mediaType;
|
|
21078
21140
|
if (file.type.startsWith("image/")) {
|
|
@@ -21152,7 +21214,7 @@ function ReleaseMediaManager({
|
|
|
21152
21214
|
{
|
|
21153
21215
|
type: "button",
|
|
21154
21216
|
variant: "outline",
|
|
21155
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
21217
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _377 => _377.current, 'optionalAccess', _378 => _378.click, 'call', _379 => _379()]),
|
|
21156
21218
|
disabled: uploadingIndex !== null,
|
|
21157
21219
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
21158
21220
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -21365,7 +21427,7 @@ function SEOEditorPreview({
|
|
|
21365
21427
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
21366
21428
|
const handleImageUpload = async (event) => {
|
|
21367
21429
|
if (!onOgImageUpload) return;
|
|
21368
|
-
const file = _optionalChain([event, 'access',
|
|
21430
|
+
const file = _optionalChain([event, 'access', _380 => _380.target, 'access', _381 => _381.files, 'optionalAccess', _382 => _382[0]]);
|
|
21369
21431
|
if (!file) return;
|
|
21370
21432
|
setIsUploading(true);
|
|
21371
21433
|
try {
|
|
@@ -21496,7 +21558,7 @@ function SEOEditorPreview({
|
|
|
21496
21558
|
type: "button",
|
|
21497
21559
|
variant: "outline",
|
|
21498
21560
|
size: "icon",
|
|
21499
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
21561
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _383 => _383.click, 'call', _384 => _384()]),
|
|
21500
21562
|
disabled: disabled || isUploading,
|
|
21501
21563
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
21502
21564
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -21519,7 +21581,7 @@ function SEOEditorPreview({
|
|
|
21519
21581
|
"div",
|
|
21520
21582
|
{
|
|
21521
21583
|
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',
|
|
21584
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _385 => _385.click, 'call', _386 => _386()]),
|
|
21523
21585
|
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
21586
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
21525
21587
|
/* @__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 +21666,7 @@ function SocialLinksManager({
|
|
|
21604
21666
|
className = ""
|
|
21605
21667
|
}) {
|
|
21606
21668
|
const addLink = () => {
|
|
21607
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
21669
|
+
const firstPlatform = _optionalChain([platforms, 'access', _387 => _387[0], 'optionalAccess', _388 => _388.name]) || "website";
|
|
21608
21670
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
21609
21671
|
};
|
|
21610
21672
|
const removeLink = (index) => {
|
|
@@ -21616,7 +21678,7 @@ function SocialLinksManager({
|
|
|
21616
21678
|
onChange(updated);
|
|
21617
21679
|
};
|
|
21618
21680
|
const getIcon = (link, platform) => {
|
|
21619
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
21681
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _389 => _389.icon_name]) || link.platform;
|
|
21620
21682
|
const IconComponent = iconMap[iconKey];
|
|
21621
21683
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
21622
21684
|
};
|
|
@@ -21641,7 +21703,7 @@ function SocialLinksManager({
|
|
|
21641
21703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21642
21704
|
_chunkGRTZ23GLcjs.Input,
|
|
21643
21705
|
{
|
|
21644
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
21706
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _390 => _390.placeholder]) || "Profile URL",
|
|
21645
21707
|
value: link.url,
|
|
21646
21708
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
21647
21709
|
onKeyDown: (e) => {
|
|
@@ -21993,7 +22055,7 @@ function useVideoOriginPreconnect({
|
|
|
21993
22055
|
supabaseStorageOrigin
|
|
21994
22056
|
} = {}) {
|
|
21995
22057
|
const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
|
|
21996
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
22058
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _391 => _391.endpoints, 'access', _392 => _392.supabaseStorageOrigin])));
|
|
21997
22059
|
try {
|
|
21998
22060
|
ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
|
|
21999
22061
|
ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
|
|
@@ -22012,13 +22074,13 @@ function useVideoWarmup({
|
|
|
22012
22074
|
nearMargin = "1000px"
|
|
22013
22075
|
} = {}) {
|
|
22014
22076
|
const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
|
|
22015
|
-
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess',
|
|
22077
|
+
const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _393 => _393.endpoints, 'access', _394 => _394.supabaseStorageOrigin])));
|
|
22016
22078
|
useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
|
|
22017
22079
|
const { ref, isNear } = _chunk27VVOBDBcjs.useNearViewport.call(void 0, nearMargin);
|
|
22018
22080
|
_react.useEffect.call(void 0, () => {
|
|
22019
22081
|
if (!isNear || !videoUrl || !resolvedOrigin) return;
|
|
22020
22082
|
const conn = navigator.connection;
|
|
22021
|
-
if (_optionalChain([conn, 'optionalAccess',
|
|
22083
|
+
if (_optionalChain([conn, 'optionalAccess', _395 => _395.saveData]) === true) return;
|
|
22022
22084
|
let videoOrigin;
|
|
22023
22085
|
try {
|
|
22024
22086
|
videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
|
|
@@ -22087,7 +22149,7 @@ function VideoSourceSelector({
|
|
|
22087
22149
|
input.accept = "video/*";
|
|
22088
22150
|
input.onchange = async (e) => {
|
|
22089
22151
|
const target = e.target;
|
|
22090
|
-
const file = _optionalChain([target, 'access',
|
|
22152
|
+
const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
|
|
22091
22153
|
if (!file) return;
|
|
22092
22154
|
setIsUploading(true);
|
|
22093
22155
|
setUploadProgress(0);
|
|
@@ -22417,7 +22479,7 @@ function TranscriptSummaryEditor({
|
|
|
22417
22479
|
{
|
|
22418
22480
|
id: "subtitles",
|
|
22419
22481
|
value: subtitles || "",
|
|
22420
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
22482
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _398 => _398(e.target.value)]),
|
|
22421
22483
|
placeholder: subtitlesPlaceholder,
|
|
22422
22484
|
disabled: disabled || !onSubtitlesChange,
|
|
22423
22485
|
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 +22632,7 @@ var AIEnrichSection = ({
|
|
|
22570
22632
|
}) => {
|
|
22571
22633
|
const hasResults = status === "success" || status === "error";
|
|
22572
22634
|
const shouldDisable = disabled || !canEnrich;
|
|
22573
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
22635
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _399 => _399.filter, 'call', _400 => _400((f) => !f.isFilled)]) || [];
|
|
22574
22636
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22575
22637
|
"div",
|
|
22576
22638
|
{
|
|
@@ -22608,7 +22670,7 @@ var AIEnrichSection = ({
|
|
|
22608
22670
|
{
|
|
22609
22671
|
id: "ai-enrich-custom-instructions",
|
|
22610
22672
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
22611
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
22673
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _401 => _401(e.target.value)]),
|
|
22612
22674
|
placeholder: customInstructionsPlaceholder,
|
|
22613
22675
|
disabled: loading,
|
|
22614
22676
|
maxLength: customInstructionsMaxLength,
|
|
@@ -22737,7 +22799,7 @@ function HighlightVideoSection({
|
|
|
22737
22799
|
input.accept = "video/*";
|
|
22738
22800
|
input.onchange = async (e) => {
|
|
22739
22801
|
const target = e.target;
|
|
22740
|
-
const file = _optionalChain([target, 'access',
|
|
22802
|
+
const file = _optionalChain([target, 'access', _402 => _402.files, 'optionalAccess', _403 => _403[0]]);
|
|
22741
22803
|
if (!file) return;
|
|
22742
22804
|
setUploadError(null);
|
|
22743
22805
|
try {
|
|
@@ -23239,7 +23301,7 @@ function HighlightVideoPreview({
|
|
|
23239
23301
|
input.accept = "video/*";
|
|
23240
23302
|
input.onchange = async (e) => {
|
|
23241
23303
|
const target = e.target;
|
|
23242
|
-
const file = _optionalChain([target, 'access',
|
|
23304
|
+
const file = _optionalChain([target, 'access', _404 => _404.files, 'optionalAccess', _405 => _405[0]]);
|
|
23243
23305
|
if (!file) return;
|
|
23244
23306
|
await onUpload(file);
|
|
23245
23307
|
};
|
|
@@ -23426,7 +23488,7 @@ function HighlightVideoCombinedSection({
|
|
|
23426
23488
|
input.accept = "video/*";
|
|
23427
23489
|
input.onchange = async (e) => {
|
|
23428
23490
|
const target = e.target;
|
|
23429
|
-
const file = _optionalChain([target, 'access',
|
|
23491
|
+
const file = _optionalChain([target, 'access', _406 => _406.files, 'optionalAccess', _407 => _407[0]]);
|
|
23430
23492
|
if (!file) return;
|
|
23431
23493
|
await onUpload(file);
|
|
23432
23494
|
};
|
|
@@ -23723,7 +23785,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
23723
23785
|
return editMode ? "Set Global Permission" : "";
|
|
23724
23786
|
}
|
|
23725
23787
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
23726
|
-
return _optionalChain([option, 'optionalAccess',
|
|
23788
|
+
return _optionalChain([option, 'optionalAccess', _408 => _408.label]) || level;
|
|
23727
23789
|
};
|
|
23728
23790
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
23729
23791
|
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 +23899,6 @@ var CategorySection = ({
|
|
|
23837
23899
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23838
23900
|
_chunkGRTZ23GLcjs.Button,
|
|
23839
23901
|
{
|
|
23840
|
-
type: "button",
|
|
23841
23902
|
variant: "transparent",
|
|
23842
23903
|
onClick: (e) => {
|
|
23843
23904
|
e.stopPropagation();
|
|
@@ -23937,12 +23998,12 @@ function PhoneInput({
|
|
|
23937
23998
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
23938
23999
|
if (!phone || digitCount(phone) === 0) {
|
|
23939
24000
|
setIsInvalid(false);
|
|
23940
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24001
|
+
_optionalChain([onValidationChange, 'optionalCall', _409 => _409(false)]);
|
|
23941
24002
|
return;
|
|
23942
24003
|
}
|
|
23943
24004
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
23944
24005
|
setIsInvalid(invalid);
|
|
23945
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24006
|
+
_optionalChain([onValidationChange, 'optionalCall', _410 => _410(invalid)]);
|
|
23946
24007
|
}, [countryCode, digitCount, onValidationChange]);
|
|
23947
24008
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
23948
24009
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -23991,7 +24052,7 @@ function PhoneInput({
|
|
|
23991
24052
|
debouncedValidation(val);
|
|
23992
24053
|
} else if (digitCount(val) === 0) {
|
|
23993
24054
|
setIsInvalid(false);
|
|
23994
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
24055
|
+
_optionalChain([onValidationChange, 'optionalCall', _411 => _411(false)]);
|
|
23995
24056
|
}
|
|
23996
24057
|
}
|
|
23997
24058
|
},
|
|
@@ -24327,19 +24388,19 @@ function NotificationsProvider({
|
|
|
24327
24388
|
}, []);
|
|
24328
24389
|
const markRead = React81.useCallback((id) => {
|
|
24329
24390
|
dispatch({ type: "markRead", id });
|
|
24330
|
-
void _optionalChain([actionsRef, 'access',
|
|
24391
|
+
void _optionalChain([actionsRef, 'access', _412 => _412.current, 'optionalAccess', _413 => _413.onMarkRead, 'optionalCall', _414 => _414(id)]);
|
|
24331
24392
|
}, []);
|
|
24332
24393
|
const markAllRead = React81.useCallback(() => {
|
|
24333
24394
|
dispatch({ type: "markAllRead" });
|
|
24334
|
-
void _optionalChain([actionsRef, 'access',
|
|
24395
|
+
void _optionalChain([actionsRef, 'access', _415 => _415.current, 'optionalAccess', _416 => _416.onMarkAllRead, 'optionalCall', _417 => _417()]);
|
|
24335
24396
|
}, []);
|
|
24336
24397
|
const markSettled = React81.useCallback((id) => {
|
|
24337
24398
|
dispatch({ type: "markSettled", id });
|
|
24338
|
-
void _optionalChain([actionsRef, 'access',
|
|
24399
|
+
void _optionalChain([actionsRef, 'access', _418 => _418.current, 'optionalAccess', _419 => _419.onMarkSettled, 'optionalCall', _420 => _420(id)]);
|
|
24339
24400
|
}, []);
|
|
24340
24401
|
const remove = React81.useCallback((id) => {
|
|
24341
24402
|
dispatch({ type: "remove", id });
|
|
24342
|
-
void _optionalChain([actionsRef, 'access',
|
|
24403
|
+
void _optionalChain([actionsRef, 'access', _421 => _421.current, 'optionalAccess', _422 => _422.onRemove, 'optionalCall', _423 => _423(id)]);
|
|
24343
24404
|
}, []);
|
|
24344
24405
|
const clear = React81.useCallback(() => dispatch({ type: "clear" }), []);
|
|
24345
24406
|
const open = React81.useCallback(() => setIsOpen(true), []);
|
|
@@ -24348,7 +24409,7 @@ function NotificationsProvider({
|
|
|
24348
24409
|
const setShowPopups = React81.useCallback(
|
|
24349
24410
|
(value2) => {
|
|
24350
24411
|
setShowPopupsState(value2);
|
|
24351
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
24412
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _424 => _424(value2)]);
|
|
24352
24413
|
},
|
|
24353
24414
|
[onShowPopupsChange]
|
|
24354
24415
|
);
|
|
@@ -24445,7 +24506,7 @@ function NotificationTile({
|
|
|
24445
24506
|
if (!counting) return;
|
|
24446
24507
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
24447
24508
|
const timer = window.setTimeout(() => {
|
|
24448
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
24509
|
+
_optionalChain([onSettle, 'optionalCall', _425 => _425(id)]);
|
|
24449
24510
|
}, remaining);
|
|
24450
24511
|
return () => window.clearTimeout(timer);
|
|
24451
24512
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -24507,7 +24568,7 @@ function NotificationTile({
|
|
|
24507
24568
|
"button",
|
|
24508
24569
|
{
|
|
24509
24570
|
type: "button",
|
|
24510
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
24571
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _426 => _426(id)]),
|
|
24511
24572
|
"aria-label": "Dismiss notification",
|
|
24512
24573
|
tabIndex: isLive ? 0 : -1,
|
|
24513
24574
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -24626,7 +24687,7 @@ function DrawerScrollList({
|
|
|
24626
24687
|
if (!sentinel || !root) return;
|
|
24627
24688
|
const observer = new IntersectionObserver(
|
|
24628
24689
|
(entries) => {
|
|
24629
|
-
if (_optionalChain([entries, 'access',
|
|
24690
|
+
if (_optionalChain([entries, 'access', _427 => _427[0], 'optionalAccess', _428 => _428.isIntersecting])) _optionalChain([loadMoreRef, 'access', _429 => _429.current, 'optionalCall', _430 => _430()]);
|
|
24630
24691
|
},
|
|
24631
24692
|
{ root, rootMargin: loadMoreRootMargin }
|
|
24632
24693
|
);
|
|
@@ -24641,7 +24702,7 @@ function DrawerScrollList({
|
|
|
24641
24702
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
24642
24703
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
24643
24704
|
unreadNotifications.map((n) => {
|
|
24644
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
24705
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _431 => _431(n, { onComplete, onSettle, liveDurationMs })]);
|
|
24645
24706
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
24646
24707
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24647
24708
|
NotificationTile,
|
|
@@ -24770,7 +24831,7 @@ function NotificationPopups({
|
|
|
24770
24831
|
className
|
|
24771
24832
|
),
|
|
24772
24833
|
children: live.map((n) => {
|
|
24773
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
24834
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _432 => _432(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
24774
24835
|
if (custom) {
|
|
24775
24836
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
24776
24837
|
}
|
|
@@ -24809,19 +24870,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
24809
24870
|
// src/components/features/notifications/types.ts
|
|
24810
24871
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
24811
24872
|
function isApprovalNotification(notification) {
|
|
24812
|
-
return _optionalChain([notification, 'access',
|
|
24873
|
+
return _optionalChain([notification, 'access', _433 => _433.meta, 'optionalAccess', _434 => _434.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
24813
24874
|
}
|
|
24814
24875
|
function getApprovalMeta(notification) {
|
|
24815
24876
|
if (!isApprovalNotification(notification)) return null;
|
|
24816
24877
|
const meta = notification.meta;
|
|
24817
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
24818
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
24878
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _435 => _435.approvalRequestId]);
|
|
24879
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _436 => _436.toolCalls]);
|
|
24819
24880
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
24820
24881
|
return {
|
|
24821
24882
|
approvalRequestId,
|
|
24822
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24823
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24824
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24883
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _437 => _437.dialogId]), () => ( null)),
|
|
24884
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _438 => _438.ticketId]), () => ( null)),
|
|
24885
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _439 => _439.approvalType]), () => ( null)),
|
|
24825
24886
|
toolCalls
|
|
24826
24887
|
};
|
|
24827
24888
|
}
|
|
@@ -25082,15 +25143,15 @@ function TicketCard({
|
|
|
25082
25143
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
25083
25144
|
transition: sortable.transition
|
|
25084
25145
|
};
|
|
25085
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
25146
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _440 => _440.deviceHostnames, 'optionalAccess', _441 => _441.length]) || ticket.organizationName);
|
|
25086
25147
|
const deviceText = [
|
|
25087
|
-
_optionalChain([ticket, 'access',
|
|
25148
|
+
_optionalChain([ticket, 'access', _442 => _442.deviceHostnames, 'optionalAccess', _443 => _443.join, 'call', _444 => _444(", ")]),
|
|
25088
25149
|
ticket.organizationName
|
|
25089
25150
|
].filter(Boolean).join(", ");
|
|
25090
25151
|
const handleClick = (e) => {
|
|
25091
25152
|
if (sortable.isDragging) e.preventDefault();
|
|
25092
25153
|
};
|
|
25093
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
25154
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _445 => _445.assignees, 'optionalAccess', _446 => _446.length]) || renderAssignSlot);
|
|
25094
25155
|
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
25156
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25096
25157
|
_chunkC6ASEPZLcjs.Flag02Icon,
|
|
@@ -25099,7 +25160,7 @@ function TicketCard({
|
|
|
25099
25160
|
"aria-label": `Priority: ${ticket.priority}`
|
|
25100
25161
|
}
|
|
25101
25162
|
),
|
|
25102
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
25163
|
+
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
25164
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25104
25165
|
SquareAvatar,
|
|
25105
25166
|
{
|
|
@@ -25128,7 +25189,7 @@ function TicketCard({
|
|
|
25128
25189
|
] }),
|
|
25129
25190
|
rightSection
|
|
25130
25191
|
] }),
|
|
25131
|
-
_optionalChain([ticket, 'access',
|
|
25192
|
+
_optionalChain([ticket, 'access', _449 => _449.tags, 'optionalAccess', _450 => _450.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
25132
25193
|
] });
|
|
25133
25194
|
const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
25134
25195
|
"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 +25364,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25303
25364
|
const observer = new IntersectionObserver(
|
|
25304
25365
|
(entries) => {
|
|
25305
25366
|
if (entries.some((e) => e.isIntersecting)) {
|
|
25306
|
-
_optionalChain([loadMoreRef, 'access',
|
|
25367
|
+
_optionalChain([loadMoreRef, 'access', _451 => _451.current, 'optionalCall', _452 => _452(columnIdRef.current)]);
|
|
25307
25368
|
}
|
|
25308
25369
|
},
|
|
25309
25370
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -25332,7 +25393,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25332
25393
|
{
|
|
25333
25394
|
ticket: t,
|
|
25334
25395
|
columnId: column.id,
|
|
25335
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
25396
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _453 => _453(t.id)]),
|
|
25336
25397
|
renderAssignSlot,
|
|
25337
25398
|
dragDisabled: column.dragDisabled
|
|
25338
25399
|
},
|
|
@@ -25428,17 +25489,17 @@ function Board({
|
|
|
25428
25489
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
25429
25490
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
25430
25491
|
const ticketHit = intersections.find(
|
|
25431
|
-
(c) => _optionalChain([c, 'access',
|
|
25492
|
+
(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
25493
|
);
|
|
25433
25494
|
if (ticketHit) return [ticketHit];
|
|
25434
25495
|
const columnHit = intersections.find(
|
|
25435
|
-
(c) => _optionalChain([c, 'access',
|
|
25496
|
+
(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
25497
|
);
|
|
25437
25498
|
if (columnHit) {
|
|
25438
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
25499
|
+
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
25500
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
25440
25501
|
const d = c.data.current;
|
|
25441
|
-
return _optionalChain([d, 'optionalAccess',
|
|
25502
|
+
return _optionalChain([d, 'optionalAccess', _469 => _469.type]) === "ticket" && d.columnId === columnId;
|
|
25442
25503
|
});
|
|
25443
25504
|
if (ticketsInColumn.length > 0) {
|
|
25444
25505
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -25463,20 +25524,20 @@ function Board({
|
|
|
25463
25524
|
const overId = String(over.id);
|
|
25464
25525
|
if (activeId === overId) return;
|
|
25465
25526
|
const overData = over.data.current;
|
|
25466
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
25467
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
25527
|
+
const fromColumnId = _optionalChain([locate, 'call', _470 => _470(items, activeId), 'optionalAccess', _471 => _471.columnId]);
|
|
25528
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _472 => _472.columnId]);
|
|
25468
25529
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
25469
25530
|
const origin = dragOriginRef.current;
|
|
25470
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
25531
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _473 => _473.fromColumnId]) === toColumnId;
|
|
25471
25532
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25472
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
25473
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
25533
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _474 => _474.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
25534
|
+
if (_optionalChain([targetCol, 'optionalAccess', _475 => _475.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
25474
25535
|
setItems((prev) => {
|
|
25475
25536
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
25476
25537
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
25477
25538
|
if (fromIndex < 0 || !toCol) return prev;
|
|
25478
25539
|
let toIndex;
|
|
25479
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25540
|
+
if (_optionalChain([overData, 'optionalAccess', _476 => _476.type]) === "column") {
|
|
25480
25541
|
toIndex = toCol.tickets.length;
|
|
25481
25542
|
} else {
|
|
25482
25543
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -25518,14 +25579,14 @@ function Board({
|
|
|
25518
25579
|
const toColumnId = located.columnId;
|
|
25519
25580
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
25520
25581
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25521
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
25582
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _477 => _477.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _478 => _478.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
25522
25583
|
setItems(columns);
|
|
25523
25584
|
return;
|
|
25524
25585
|
}
|
|
25525
25586
|
let finalIndex = located.index;
|
|
25526
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
25587
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _479 => _479.find, 'call', _480 => _480((c) => c.id === toColumnId), 'optionalAccess', _481 => _481.tickets]), () => ( []));
|
|
25527
25588
|
const overData = over.data.current;
|
|
25528
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25589
|
+
if (_optionalChain([overData, 'optionalAccess', _482 => _482.type]) === "ticket") {
|
|
25529
25590
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
25530
25591
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
25531
25592
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -25545,8 +25606,8 @@ function Board({
|
|
|
25545
25606
|
ticketId: origin.ticketId,
|
|
25546
25607
|
fromColumnId: origin.fromColumnId,
|
|
25547
25608
|
toColumnId,
|
|
25548
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25549
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25609
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _483 => _483[finalIndex - 1], 'optionalAccess', _484 => _484.id]), () => ( null)),
|
|
25610
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _485 => _485[finalIndex + 1], 'optionalAccess', _486 => _486.id]), () => ( null))
|
|
25550
25611
|
});
|
|
25551
25612
|
};
|
|
25552
25613
|
const handleDragCancel = () => {
|
|
@@ -25575,8 +25636,8 @@ function Board({
|
|
|
25575
25636
|
children: items.map((column, i) => {
|
|
25576
25637
|
const prev = items[i - 1];
|
|
25577
25638
|
const next = items[i + 1];
|
|
25578
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
25579
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
25639
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _487 => _487.system]));
|
|
25640
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _488 => _488.system]));
|
|
25580
25641
|
const showGap = i > 0 && !joinLeft;
|
|
25581
25642
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React85.Fragment, { children: [
|
|
25582
25643
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -25635,7 +25696,7 @@ function locate(cols, ticketId) {
|
|
|
25635
25696
|
return null;
|
|
25636
25697
|
}
|
|
25637
25698
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
25638
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
25699
|
+
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
25700
|
}
|
|
25640
25701
|
|
|
25641
25702
|
// src/components/features/board/types.ts
|
|
@@ -25883,7 +25944,7 @@ function Header2({ config, platform }) {
|
|
|
25883
25944
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
25884
25945
|
"flex justify-start w-full",
|
|
25885
25946
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
25886
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
25947
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _494 => _494.children, 'optionalAccess', _495 => _495.length]), () => ( 0))) - 1 && "mb-1",
|
|
25887
25948
|
"text-ods-text-primary",
|
|
25888
25949
|
// All dropdown items use primary text color
|
|
25889
25950
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -25975,7 +26036,7 @@ function Header2({ config, platform }) {
|
|
|
25975
26036
|
style: config.style,
|
|
25976
26037
|
children: [
|
|
25977
26038
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
25978
|
-
_optionalChain([config, 'access',
|
|
26039
|
+
_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
26040
|
/* @__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
26041
|
] }),
|
|
25981
26042
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25992,7 +26053,7 @@ function Header2({ config, platform }) {
|
|
|
25992
26053
|
}
|
|
25993
26054
|
),
|
|
25994
26055
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
25995
|
-
_optionalChain([config, 'access',
|
|
26056
|
+
_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
26057
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25997
26058
|
_chunkGRTZ23GLcjs.Button,
|
|
25998
26059
|
{
|
|
@@ -26000,10 +26061,10 @@ function Header2({ config, platform }) {
|
|
|
26000
26061
|
size: "icon",
|
|
26001
26062
|
className: "flex md:hidden",
|
|
26002
26063
|
onClick: () => {
|
|
26003
|
-
_optionalChain([config, 'access',
|
|
26064
|
+
_optionalChain([config, 'access', _500 => _500.mobile, 'optionalAccess', _501 => _501.onToggle, 'optionalCall', _502 => _502()]);
|
|
26004
26065
|
},
|
|
26005
|
-
"aria-label": _optionalChain([config, 'access',
|
|
26006
|
-
leftIcon: _optionalChain([config, 'access',
|
|
26066
|
+
"aria-label": _optionalChain([config, 'access', _503 => _503.mobile, 'optionalAccess', _504 => _504.isOpen]) ? "Close menu" : "Open menu",
|
|
26067
|
+
leftIcon: _optionalChain([config, 'access', _505 => _505.mobile, 'optionalAccess', _506 => _506.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
|
|
26007
26068
|
}
|
|
26008
26069
|
)
|
|
26009
26070
|
] })
|
|
@@ -26020,10 +26081,10 @@ function Header2({ config, platform }) {
|
|
|
26020
26081
|
// src/components/navigation/header-skeleton.tsx
|
|
26021
26082
|
|
|
26022
26083
|
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',
|
|
26084
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _507 => _507.navigation]) && config.navigation.items.length > 0;
|
|
26085
|
+
const showActions = _optionalChain([config, 'optionalAccess', _508 => _508.actions, 'optionalAccess', _509 => _509.right]) && config.actions.right.length > 0;
|
|
26086
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _510 => _510.mobile, 'optionalAccess', _511 => _511.enabled]);
|
|
26087
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _512 => _512.className, 'optionalAccess', _513 => _513.includes, 'call', _514 => _514("admin")]);
|
|
26027
26088
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26028
26089
|
"header",
|
|
26029
26090
|
{
|
|
@@ -26032,11 +26093,11 @@ function HeaderSkeleton({ config }) {
|
|
|
26032
26093
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
26033
26094
|
"px-6 py-3",
|
|
26034
26095
|
"transition-opacity duration-300 ease-in-out",
|
|
26035
|
-
_optionalChain([config, 'optionalAccess',
|
|
26096
|
+
_optionalChain([config, 'optionalAccess', _515 => _515.className])
|
|
26036
26097
|
),
|
|
26037
26098
|
children: [
|
|
26038
26099
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
26039
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
26100
|
+
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
26101
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
26041
26102
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
26042
26103
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -26044,8 +26105,8 @@ function HeaderSkeleton({ config }) {
|
|
|
26044
26105
|
] }),
|
|
26045
26106
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
26046
26107
|
"hidden md:flex items-center gap-2",
|
|
26047
|
-
_optionalChain([config, 'optionalAccess',
|
|
26048
|
-
_optionalChain([config, 'optionalAccess',
|
|
26108
|
+
_optionalChain([config, 'optionalAccess', _518 => _518.navigation, 'optionalAccess', _519 => _519.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
26109
|
+
_optionalChain([config, 'optionalAccess', _520 => _520.navigation, 'optionalAccess', _521 => _521.position]) === "right" && "ml-auto mr-4"
|
|
26049
26110
|
), children: [
|
|
26050
26111
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
26051
26112
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -26093,7 +26154,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
26093
26154
|
_react.useEffect.call(void 0, () => {
|
|
26094
26155
|
const handleKeyDown = (e) => {
|
|
26095
26156
|
if (e.key === "Escape" && isOpen) {
|
|
26096
|
-
_optionalChain([config, 'access',
|
|
26157
|
+
_optionalChain([config, 'access', _522 => _522.onClose, 'optionalCall', _523 => _523()]);
|
|
26097
26158
|
}
|
|
26098
26159
|
};
|
|
26099
26160
|
if (isOpen) {
|
|
@@ -26110,7 +26171,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
26110
26171
|
if (item.onClick) {
|
|
26111
26172
|
item.onClick();
|
|
26112
26173
|
}
|
|
26113
|
-
_optionalChain([config, 'access',
|
|
26174
|
+
_optionalChain([config, 'access', _524 => _524.onClose, 'optionalCall', _525 => _525()]);
|
|
26114
26175
|
};
|
|
26115
26176
|
if (item.href) {
|
|
26116
26177
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26328,7 +26389,7 @@ function SlidingSidebar({ config }) {
|
|
|
26328
26389
|
variant: "transparent",
|
|
26329
26390
|
size: "default",
|
|
26330
26391
|
onClick: () => {
|
|
26331
|
-
_optionalChain([item, 'access',
|
|
26392
|
+
_optionalChain([item, 'access', _526 => _526.onClick, 'optionalCall', _527 => _527()]);
|
|
26332
26393
|
config.onClose();
|
|
26333
26394
|
},
|
|
26334
26395
|
leftIcon: item.icon,
|
|
@@ -26351,7 +26412,7 @@ function SlidingSidebar({ config }) {
|
|
|
26351
26412
|
variant: "transparent",
|
|
26352
26413
|
size: "default",
|
|
26353
26414
|
onClick: () => {
|
|
26354
|
-
_optionalChain([item, 'access',
|
|
26415
|
+
_optionalChain([item, 'access', _528 => _528.onClick, 'optionalCall', _529 => _529()]);
|
|
26355
26416
|
config.onClose();
|
|
26356
26417
|
},
|
|
26357
26418
|
leftIcon: item.icon,
|
|
@@ -26478,7 +26539,7 @@ function StickySectionNav({
|
|
|
26478
26539
|
] });
|
|
26479
26540
|
}
|
|
26480
26541
|
function useSectionNavigation(sections, options) {
|
|
26481
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
26542
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _530 => _530[0], 'optionalAccess', _531 => _531.id]) || "");
|
|
26482
26543
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
26483
26544
|
const { offset: offset2 = 100 } = options || {};
|
|
26484
26545
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -26502,7 +26563,7 @@ function useSectionNavigation(sections, options) {
|
|
|
26502
26563
|
const handleScroll = () => {
|
|
26503
26564
|
if (isScrollingFromClick.current) return;
|
|
26504
26565
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
26505
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
26566
|
+
let currentSection = _optionalChain([sections, 'access', _532 => _532[0], 'optionalAccess', _533 => _533.id]) || "";
|
|
26506
26567
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
26507
26568
|
const element = document.getElementById(sections[i].id);
|
|
26508
26569
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -26697,7 +26758,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26697
26758
|
} else {
|
|
26698
26759
|
setDesktopMinimized((prev) => !prev);
|
|
26699
26760
|
}
|
|
26700
|
-
_optionalChain([config, 'access',
|
|
26761
|
+
_optionalChain([config, 'access', _534 => _534.onToggleMinimized, 'optionalCall', _535 => _535()]);
|
|
26701
26762
|
}, [isTablet, setDesktopMinimized, config]);
|
|
26702
26763
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
26703
26764
|
setTabletMinimized(true);
|
|
@@ -26711,11 +26772,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26711
26772
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
26712
26773
|
}, [isOverlayOpen, closeOverlay]);
|
|
26713
26774
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
26714
|
-
_optionalChain([event, 'optionalAccess',
|
|
26775
|
+
_optionalChain([event, 'optionalAccess', _536 => _536.stopPropagation, 'call', _537 => _537()]);
|
|
26715
26776
|
if (item.onClick) {
|
|
26716
26777
|
item.onClick();
|
|
26717
26778
|
} else if (item.path) {
|
|
26718
|
-
_optionalChain([config, 'access',
|
|
26779
|
+
_optionalChain([config, 'access', _538 => _538.onNavigate, 'optionalCall', _539 => _539(item.path)]);
|
|
26719
26780
|
}
|
|
26720
26781
|
if (isTablet) setTabletMinimized(true);
|
|
26721
26782
|
}, [config, isTablet]);
|
|
@@ -26860,11 +26921,11 @@ function HeaderGlobalSearch({
|
|
|
26860
26921
|
};
|
|
26861
26922
|
const handleSubmit = (e) => {
|
|
26862
26923
|
e.preventDefault();
|
|
26863
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26924
|
+
_optionalChain([onSubmit, 'optionalCall', _540 => _540(currentValue)]);
|
|
26864
26925
|
};
|
|
26865
26926
|
const handleKeyDown = (e) => {
|
|
26866
26927
|
if (e.key === "Enter") {
|
|
26867
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26928
|
+
_optionalChain([onSubmit, 'optionalCall', _541 => _541(currentValue)]);
|
|
26868
26929
|
}
|
|
26869
26930
|
};
|
|
26870
26931
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26958,8 +27019,8 @@ function HeaderOrganizationFilter({
|
|
|
26958
27019
|
className
|
|
26959
27020
|
}) {
|
|
26960
27021
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
26961
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
26962
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
27022
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _542 => _542.name]) || "All Organizations";
|
|
27023
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _543 => _543.deviceCount]), () => ( totalDeviceCount));
|
|
26963
27024
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenu, { children: [
|
|
26964
27025
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26965
27026
|
"button",
|
|
@@ -26984,11 +27045,11 @@ function HeaderOrganizationFilter({
|
|
|
26984
27045
|
}
|
|
26985
27046
|
) }),
|
|
26986
27047
|
/* @__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',
|
|
27048
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _544 => _544("")]), children: "All Organizations" }),
|
|
26988
27049
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26989
27050
|
_chunkGRTZ23GLcjs.DropdownMenuItem,
|
|
26990
27051
|
{
|
|
26991
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
27052
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _545 => _545(org.id)]),
|
|
26992
27053
|
children: org.name
|
|
26993
27054
|
},
|
|
26994
27055
|
org.id
|
|
@@ -27173,9 +27234,9 @@ function NotificationsHeaderButton({
|
|
|
27173
27234
|
dimmedClass
|
|
27174
27235
|
}) {
|
|
27175
27236
|
const ctx = useOptionalNotifications();
|
|
27176
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
27177
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
27178
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
27237
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _546 => _546.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
27238
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _547 => _547.isOpen]), () => ( false));
|
|
27239
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _548 => _548.toggle]);
|
|
27179
27240
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27180
27241
|
HeaderButton,
|
|
27181
27242
|
{
|
|
@@ -27239,7 +27300,7 @@ var MobileBurgerMenu = React101.default.memo(function MobileBurgerMenu2({
|
|
|
27239
27300
|
if (item.onClick) {
|
|
27240
27301
|
item.onClick();
|
|
27241
27302
|
} else if (item.path) {
|
|
27242
|
-
_optionalChain([config, 'access',
|
|
27303
|
+
_optionalChain([config, 'access', _549 => _549.onNavigate, 'optionalCall', _550 => _550(item.path)]);
|
|
27243
27304
|
}
|
|
27244
27305
|
onClose();
|
|
27245
27306
|
}, [config, onClose]);
|
|
@@ -27482,7 +27543,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
27482
27543
|
const handleOpenChange = React94.useCallback(
|
|
27483
27544
|
(next) => {
|
|
27484
27545
|
if (!isControlled) setInternalOpen(next);
|
|
27485
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
27546
|
+
_optionalChain([onOpenChange, 'optionalCall', _551 => _551(next)]);
|
|
27486
27547
|
},
|
|
27487
27548
|
[isControlled, onOpenChange]
|
|
27488
27549
|
);
|
|
@@ -27863,10 +27924,10 @@ var AppLayoutDrawerContent = React94.forwardRef(
|
|
|
27863
27924
|
),
|
|
27864
27925
|
style,
|
|
27865
27926
|
onInteractOutside: (event) => {
|
|
27866
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
27927
|
+
_optionalChain([onInteractOutside, 'optionalCall', _552 => _552(event)]);
|
|
27867
27928
|
if (event.defaultPrevented) return;
|
|
27868
27929
|
const target = event.target;
|
|
27869
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
27930
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _553 => _553.contains, 'call', _554 => _554(target)]);
|
|
27870
27931
|
if (!isInsideContainer) {
|
|
27871
27932
|
event.preventDefault();
|
|
27872
27933
|
return;
|
|
@@ -28055,7 +28116,7 @@ var ShellTypeBadge = ({
|
|
|
28055
28116
|
className,
|
|
28056
28117
|
iconClassName
|
|
28057
28118
|
}) => {
|
|
28058
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
28119
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _555 => _555.toUpperCase, 'call', _556 => _556()]);
|
|
28059
28120
|
const label = getShellLabel(normalizedType);
|
|
28060
28121
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
28061
28122
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -28442,12 +28503,12 @@ function OnboardingWalkthrough({
|
|
|
28442
28503
|
}
|
|
28443
28504
|
}, [state.completedSteps, markComplete]);
|
|
28444
28505
|
const handleStepSkip = (step) => {
|
|
28445
|
-
_optionalChain([step, 'access',
|
|
28506
|
+
_optionalChain([step, 'access', _557 => _557.onSkip, 'optionalCall', _558 => _558()]);
|
|
28446
28507
|
markSkipped(step.id);
|
|
28447
28508
|
};
|
|
28448
28509
|
const handleDismiss = () => {
|
|
28449
28510
|
dismissOnboarding();
|
|
28450
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
28511
|
+
_optionalChain([onDismiss, 'optionalCall', _559 => _559()]);
|
|
28451
28512
|
};
|
|
28452
28513
|
if (state.dismissed) {
|
|
28453
28514
|
return null;
|
|
@@ -28577,7 +28638,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
28577
28638
|
onKeyDown: (e) => {
|
|
28578
28639
|
if (e.key === "Enter" || e.key === " ") {
|
|
28579
28640
|
e.preventDefault();
|
|
28580
|
-
_optionalChain([onClick, 'optionalCall',
|
|
28641
|
+
_optionalChain([onClick, 'optionalCall', _560 => _560()]);
|
|
28581
28642
|
}
|
|
28582
28643
|
},
|
|
28583
28644
|
children: [
|
|
@@ -28678,7 +28739,7 @@ var LogsList = React98.forwardRef(({
|
|
|
28678
28739
|
log,
|
|
28679
28740
|
isLast: index === logs.length - 1,
|
|
28680
28741
|
showConnector,
|
|
28681
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
28742
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _561 => _561(log)])
|
|
28682
28743
|
},
|
|
28683
28744
|
log.id
|
|
28684
28745
|
))
|
|
@@ -28779,7 +28840,7 @@ var Slider = React100.forwardRef(
|
|
|
28779
28840
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
28780
28841
|
const handleChange = (e) => {
|
|
28781
28842
|
const newValue = [Number(e.target.value)];
|
|
28782
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
28843
|
+
_optionalChain([onValueChange, 'optionalCall', _562 => _562(newValue)]);
|
|
28783
28844
|
};
|
|
28784
28845
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28785
28846
|
"input",
|
|
@@ -29210,7 +29271,7 @@ function CursorPaginationSimple({
|
|
|
29210
29271
|
{
|
|
29211
29272
|
variant: "transparent",
|
|
29212
29273
|
size: "icon",
|
|
29213
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
29274
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _563 => _563("")]),
|
|
29214
29275
|
disabled: !hasPreviousPage || loading,
|
|
29215
29276
|
className: "h-8 w-8",
|
|
29216
29277
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -29222,7 +29283,7 @@ function CursorPaginationSimple({
|
|
|
29222
29283
|
{
|
|
29223
29284
|
variant: "transparent",
|
|
29224
29285
|
size: "icon",
|
|
29225
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
29286
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _564 => _564("")]),
|
|
29226
29287
|
disabled: !hasNextPage || loading,
|
|
29227
29288
|
className: "h-8 w-8",
|
|
29228
29289
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -29282,7 +29343,7 @@ function TableColumnFilterDropdown({
|
|
|
29282
29343
|
placement = "bottom-start",
|
|
29283
29344
|
dropdownClassName = "min-w-[240px]"
|
|
29284
29345
|
}) {
|
|
29285
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
29346
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _565 => _565[columnKey], 'optionalAccess', _566 => _566.length]) || 0;
|
|
29286
29347
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29287
29348
|
FiltersDropdown,
|
|
29288
29349
|
{
|
|
@@ -29325,7 +29386,7 @@ function TableColumnFilterDropdown({
|
|
|
29325
29386
|
delete newFilters[columnKey];
|
|
29326
29387
|
onFilterChange(newFilters);
|
|
29327
29388
|
},
|
|
29328
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
29389
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _567 => _567[columnKey]]) || [] },
|
|
29329
29390
|
placement,
|
|
29330
29391
|
dropdownClassName
|
|
29331
29392
|
}
|
|
@@ -29622,7 +29683,7 @@ function TableRow({
|
|
|
29622
29683
|
const keys = column.key.split(".");
|
|
29623
29684
|
let value = item;
|
|
29624
29685
|
for (const key of keys) {
|
|
29625
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
29686
|
+
value = _optionalChain([value, 'optionalAccess', _568 => _568[key]]);
|
|
29626
29687
|
}
|
|
29627
29688
|
if (value === null || value === void 0) {
|
|
29628
29689
|
return "-";
|
|
@@ -29692,7 +29753,7 @@ function TableRow({
|
|
|
29692
29753
|
// src/components/ui/table/table.tsx
|
|
29693
29754
|
|
|
29694
29755
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
29695
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
29756
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _569 => _569.length])) || Boolean(renderRowActions);
|
|
29696
29757
|
const result = [...columns];
|
|
29697
29758
|
if (hasActions) {
|
|
29698
29759
|
const actionsColumn = {
|
|
@@ -29786,7 +29847,7 @@ function Table({
|
|
|
29786
29847
|
return rowKey(item);
|
|
29787
29848
|
}
|
|
29788
29849
|
const key = item[rowKey];
|
|
29789
|
-
return _optionalChain([key, 'optionalAccess',
|
|
29850
|
+
return _optionalChain([key, 'optionalAccess', _570 => _570.toString, 'call', _571 => _571()]) || index.toString();
|
|
29790
29851
|
};
|
|
29791
29852
|
const getRowClassName = (item, index) => {
|
|
29792
29853
|
if (typeof rowClassName === "function") {
|
|
@@ -29820,23 +29881,23 @@ function Table({
|
|
|
29820
29881
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
29821
29882
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
29822
29883
|
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',
|
|
29884
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.onLoadMore]));
|
|
29885
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.onLoadMore]);
|
|
29825
29886
|
_react.useEffect.call(void 0, () => {
|
|
29826
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29887
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
29827
29888
|
const sentinel = sentinelRef.current;
|
|
29828
29889
|
if (!sentinel) return;
|
|
29829
29890
|
const observer = new IntersectionObserver(
|
|
29830
29891
|
(entries) => {
|
|
29831
|
-
if (_optionalChain([entries, 'access',
|
|
29832
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
29892
|
+
if (_optionalChain([entries, 'access', _575 => _575[0], 'optionalAccess', _576 => _576.isIntersecting])) {
|
|
29893
|
+
_optionalChain([onLoadMoreRef, 'access', _577 => _577.current, 'optionalCall', _578 => _578()]);
|
|
29833
29894
|
}
|
|
29834
29895
|
},
|
|
29835
29896
|
{ rootMargin: "200px" }
|
|
29836
29897
|
);
|
|
29837
29898
|
observer.observe(sentinel);
|
|
29838
29899
|
return () => observer.disconnect();
|
|
29839
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29900
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _579 => _579.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _580 => _580.isFetchingNextPage])]);
|
|
29840
29901
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
29841
29902
|
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
29903
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -29907,7 +29968,7 @@ function Table({
|
|
|
29907
29968
|
},
|
|
29908
29969
|
getRowKey(item, index)
|
|
29909
29970
|
)),
|
|
29910
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29971
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _581 => _581.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29911
29972
|
TableCardSkeleton,
|
|
29912
29973
|
{
|
|
29913
29974
|
columns,
|
|
@@ -29916,7 +29977,7 @@ function Table({
|
|
|
29916
29977
|
hasChevron: Boolean(rowHref)
|
|
29917
29978
|
}
|
|
29918
29979
|
),
|
|
29919
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29980
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _582 => _582.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
29920
29981
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
29921
29982
|
"div",
|
|
29922
29983
|
{
|
|
@@ -30274,7 +30335,7 @@ function QueryReportTable({
|
|
|
30274
30335
|
);
|
|
30275
30336
|
const handleExport = () => {
|
|
30276
30337
|
exportToCSV(data, columns, exportFilename);
|
|
30277
|
-
_optionalChain([onExport, 'optionalCall',
|
|
30338
|
+
_optionalChain([onExport, 'optionalCall', _583 => _583()]);
|
|
30278
30339
|
};
|
|
30279
30340
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
30280
30341
|
const {
|
|
@@ -30447,7 +30508,7 @@ function DataTableColumnFilter({
|
|
|
30447
30508
|
align = "left"
|
|
30448
30509
|
}) {
|
|
30449
30510
|
const currentValue = column.getFilterValue();
|
|
30450
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
30511
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _584 => _584.length]), () => ( 0));
|
|
30451
30512
|
const sections = _react.useMemo.call(void 0,
|
|
30452
30513
|
() => [
|
|
30453
30514
|
{
|
|
@@ -30527,7 +30588,7 @@ function DataTableHeader({
|
|
|
30527
30588
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
30528
30589
|
if (header.isPlaceholder) return false;
|
|
30529
30590
|
if (isLgUp) return true;
|
|
30530
|
-
return Boolean(_optionalChain([header, 'access',
|
|
30591
|
+
return Boolean(_optionalChain([header, 'access', _585 => _585.column, 'access', _586 => _586.columnDef, 'access', _587 => _587.meta, 'optionalAccess', _588 => _588.filter]));
|
|
30531
30592
|
});
|
|
30532
30593
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30533
30594
|
"div",
|
|
@@ -30557,20 +30618,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30557
30618
|
if (header.isPlaceholder) return null;
|
|
30558
30619
|
const column = header.column;
|
|
30559
30620
|
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',
|
|
30621
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _589 => _589.filter]));
|
|
30622
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _590 => _590.align]), () => ( "left"));
|
|
30623
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _591 => _591.sortable]) === true;
|
|
30624
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _592 => _592.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
30564
30625
|
if (!isLgUp && !hasFilter) return null;
|
|
30565
30626
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30566
30627
|
"div",
|
|
30567
30628
|
{
|
|
30568
30629
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30569
30630
|
"flex items-stretch",
|
|
30570
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
30571
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30631
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _593 => _593.width]) || "flex-1 min-w-0"),
|
|
30632
|
+
_optionalChain([meta, 'optionalAccess', _594 => _594.headerClassName]),
|
|
30572
30633
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
30573
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30634
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _595 => _595.hideAt]))
|
|
30574
30635
|
),
|
|
30575
30636
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30576
30637
|
DataTableColumnFilter,
|
|
@@ -30589,7 +30650,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30589
30650
|
isLgUp && alignJustify(align),
|
|
30590
30651
|
canSort && "group cursor-pointer"
|
|
30591
30652
|
),
|
|
30592
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
30653
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _596 => _596(column.id)]) : void 0,
|
|
30593
30654
|
children: [
|
|
30594
30655
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
30595
30656
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -30673,7 +30734,7 @@ function DataTableSkeleton({
|
|
|
30673
30734
|
}) {
|
|
30674
30735
|
const table = useDataTableContext();
|
|
30675
30736
|
const columns = table.getVisibleFlatColumns();
|
|
30676
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
30737
|
+
const firstColumnId = _optionalChain([columns, 'access', _597 => _597[0], 'optionalAccess', _598 => _598.id]);
|
|
30677
30738
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30678
30739
|
"div",
|
|
30679
30740
|
{
|
|
@@ -30697,7 +30758,7 @@ function DataTableSkeleton({
|
|
|
30697
30758
|
{
|
|
30698
30759
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30699
30760
|
"flex flex-col justify-center shrink-0",
|
|
30700
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30761
|
+
_optionalChain([meta, 'optionalAccess', _599 => _599.width]) || "flex-1"
|
|
30701
30762
|
),
|
|
30702
30763
|
children: [
|
|
30703
30764
|
/* @__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 +30807,7 @@ function DataTableRowImpl({
|
|
|
30746
30807
|
const handleClick = _react.useCallback.call(void 0,
|
|
30747
30808
|
(e) => {
|
|
30748
30809
|
const target = e.target;
|
|
30749
|
-
if (!_optionalChain([containerRef, 'access',
|
|
30810
|
+
if (!_optionalChain([containerRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.contains, 'call', _602 => _602(target)])) {
|
|
30750
30811
|
if (isLinkMode) e.preventDefault();
|
|
30751
30812
|
return;
|
|
30752
30813
|
}
|
|
@@ -30754,7 +30815,7 @@ function DataTableRowImpl({
|
|
|
30754
30815
|
if (isLinkMode) e.preventDefault();
|
|
30755
30816
|
return;
|
|
30756
30817
|
}
|
|
30757
|
-
_optionalChain([onClick, 'optionalCall',
|
|
30818
|
+
_optionalChain([onClick, 'optionalCall', _603 => _603(row.original)]);
|
|
30758
30819
|
},
|
|
30759
30820
|
[onClick, row.original, isLinkMode]
|
|
30760
30821
|
);
|
|
@@ -30779,10 +30840,10 @@ function DataTableRowImpl({
|
|
|
30779
30840
|
{
|
|
30780
30841
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
30781
30842
|
"flex flex-col overflow-hidden",
|
|
30782
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
30783
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30784
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30785
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30843
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _604 => _604.align])),
|
|
30844
|
+
_optionalChain([meta, 'optionalAccess', _605 => _605.width]) || "flex-1 min-w-0",
|
|
30845
|
+
_optionalChain([meta, 'optionalAccess', _606 => _606.cellClassName]),
|
|
30846
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _607 => _607.hideAt]))
|
|
30786
30847
|
),
|
|
30787
30848
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
30788
30849
|
},
|
|
@@ -30860,7 +30921,7 @@ function DataTableBody({
|
|
|
30860
30921
|
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
30922
|
rows.map((row, index) => {
|
|
30862
30923
|
const item = row.original;
|
|
30863
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
30924
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _608 => _608(item)]), () => ( void 0));
|
|
30864
30925
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
30865
30926
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30866
30927
|
DataTableRow,
|
|
@@ -30870,7 +30931,7 @@ function DataTableBody({
|
|
|
30870
30931
|
href,
|
|
30871
30932
|
compact,
|
|
30872
30933
|
className: cls,
|
|
30873
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
30934
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _609 => _609(item)])
|
|
30874
30935
|
},
|
|
30875
30936
|
row.id
|
|
30876
30937
|
);
|
|
@@ -30925,7 +30986,7 @@ function DataTableInfiniteFooter({
|
|
|
30925
30986
|
if (!sentinel) return;
|
|
30926
30987
|
const observer = new IntersectionObserver(
|
|
30927
30988
|
(entries) => {
|
|
30928
|
-
if (_optionalChain([entries, 'access',
|
|
30989
|
+
if (_optionalChain([entries, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.isIntersecting])) onLoadMoreRef.current();
|
|
30929
30990
|
},
|
|
30930
30991
|
{ rootMargin }
|
|
30931
30992
|
);
|
|
@@ -30973,7 +31034,7 @@ function DataTableRowCount({
|
|
|
30973
31034
|
const table = useDataTableContext();
|
|
30974
31035
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
30975
31036
|
if (hideWhenEmpty && count === 0) return null;
|
|
30976
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
31037
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _612 => _612(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
30977
31038
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30978
31039
|
"span",
|
|
30979
31040
|
{
|
|
@@ -31132,7 +31193,7 @@ function SearchInput({
|
|
|
31132
31193
|
if (!showHiddenTags) return;
|
|
31133
31194
|
const handleClick = (e) => {
|
|
31134
31195
|
const target = e.target;
|
|
31135
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31196
|
+
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
31197
|
setShowHiddenTags(false);
|
|
31137
31198
|
}
|
|
31138
31199
|
};
|
|
@@ -31180,10 +31241,10 @@ function SearchInput({
|
|
|
31180
31241
|
} else {
|
|
31181
31242
|
setInternalValue("");
|
|
31182
31243
|
}
|
|
31183
|
-
_optionalChain([inputRef, 'access',
|
|
31244
|
+
_optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
|
|
31184
31245
|
};
|
|
31185
31246
|
const handleResultClick = (result, e) => {
|
|
31186
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
31247
|
+
_optionalChain([onResultSelect, 'optionalCall', _622 => _622(
|
|
31187
31248
|
result,
|
|
31188
31249
|
e ? {
|
|
31189
31250
|
metaKey: e.metaKey,
|
|
@@ -31215,7 +31276,7 @@ function SearchInput({
|
|
|
31215
31276
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
31216
31277
|
handleResultClick(flatResults[highlightedIndex]);
|
|
31217
31278
|
} else {
|
|
31218
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
31279
|
+
_optionalChain([onSubmit, 'optionalCall', _623 => _623(currentValue)]);
|
|
31219
31280
|
}
|
|
31220
31281
|
break;
|
|
31221
31282
|
case "Escape":
|
|
@@ -31293,7 +31354,7 @@ function SearchInput({
|
|
|
31293
31354
|
dropdownVisible && "!border-ods-accent"
|
|
31294
31355
|
),
|
|
31295
31356
|
onClick: () => {
|
|
31296
|
-
_optionalChain([inputRef, 'access',
|
|
31357
|
+
_optionalChain([inputRef, 'access', _624 => _624.current, 'optionalAccess', _625 => _625.focus, 'call', _626 => _626()]);
|
|
31297
31358
|
setIsOpen(true);
|
|
31298
31359
|
},
|
|
31299
31360
|
children: [
|
|
@@ -31377,10 +31438,10 @@ function SearchInput({
|
|
|
31377
31438
|
align: "start",
|
|
31378
31439
|
onOpenAutoFocus: (e) => {
|
|
31379
31440
|
e.preventDefault();
|
|
31380
|
-
_optionalChain([inputRef, 'access',
|
|
31441
|
+
_optionalChain([inputRef, 'access', _627 => _627.current, 'optionalAccess', _628 => _628.focus, 'call', _629 => _629()]);
|
|
31381
31442
|
},
|
|
31382
31443
|
onInteractOutside: (e) => {
|
|
31383
|
-
if (_optionalChain([containerRef, 'access',
|
|
31444
|
+
if (_optionalChain([containerRef, 'access', _630 => _630.current, 'optionalAccess', _631 => _631.contains, 'call', _632 => _632(e.target)])) {
|
|
31384
31445
|
e.preventDefault();
|
|
31385
31446
|
}
|
|
31386
31447
|
},
|
|
@@ -31397,10 +31458,10 @@ function SearchInput({
|
|
|
31397
31458
|
ref: hiddenTagsPopupRef,
|
|
31398
31459
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
31399
31460
|
style: {
|
|
31400
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
31461
|
+
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
31462
|
},
|
|
31402
31463
|
onRemove: (value2) => {
|
|
31403
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
31464
|
+
_optionalChain([onFilterRemove, 'optionalCall', _637 => _637(value2)]);
|
|
31404
31465
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
31405
31466
|
}
|
|
31406
31467
|
}
|
|
@@ -31451,7 +31512,7 @@ function FilterListItem({
|
|
|
31451
31512
|
}) {
|
|
31452
31513
|
const handleToggle = () => {
|
|
31453
31514
|
if (disabled) return;
|
|
31454
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
31515
|
+
_optionalChain([onToggle, 'optionalCall', _638 => _638(!selected)]);
|
|
31455
31516
|
};
|
|
31456
31517
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31457
31518
|
"div",
|
|
@@ -31498,7 +31559,7 @@ function FilterListItem({
|
|
|
31498
31559
|
CheckboxPrimitive4.Root,
|
|
31499
31560
|
{
|
|
31500
31561
|
checked: selected,
|
|
31501
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
31562
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _639 => _639(c === true)]),
|
|
31502
31563
|
onClick: (e) => e.stopPropagation(),
|
|
31503
31564
|
disabled,
|
|
31504
31565
|
"aria-label": title,
|
|
@@ -31597,7 +31658,7 @@ function TagSearchInput({
|
|
|
31597
31658
|
if (!showHiddenTags) return;
|
|
31598
31659
|
const handleClick = (e) => {
|
|
31599
31660
|
const target = e.target;
|
|
31600
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31661
|
+
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
31662
|
setShowHiddenTags(false);
|
|
31602
31663
|
}
|
|
31603
31664
|
};
|
|
@@ -31613,13 +31674,13 @@ function TagSearchInput({
|
|
|
31613
31674
|
e.preventDefault();
|
|
31614
31675
|
onSubmit(searchValue);
|
|
31615
31676
|
}
|
|
31616
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
31677
|
+
_optionalChain([onKeyDown, 'optionalCall', _646 => _646(e)]);
|
|
31617
31678
|
};
|
|
31618
31679
|
const handleClearAll = (e) => {
|
|
31619
31680
|
e.stopPropagation();
|
|
31620
31681
|
e.preventDefault();
|
|
31621
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
31622
|
-
_optionalChain([inputRef, 'access',
|
|
31682
|
+
_optionalChain([onClearAll, 'optionalCall', _647 => _647()]);
|
|
31683
|
+
_optionalChain([inputRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.focus, 'call', _650 => _650()]);
|
|
31623
31684
|
};
|
|
31624
31685
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
31625
31686
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -31636,7 +31697,7 @@ function TagSearchInput({
|
|
|
31636
31697
|
className
|
|
31637
31698
|
),
|
|
31638
31699
|
onClick: () => {
|
|
31639
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
31700
|
+
if (!disabled) _optionalChain([inputRef, 'access', _651 => _651.current, 'optionalAccess', _652 => _652.focus, 'call', _653 => _653()]);
|
|
31640
31701
|
},
|
|
31641
31702
|
children: [
|
|
31642
31703
|
/* @__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 +31769,7 @@ function TagSearchInput({
|
|
|
31708
31769
|
items: hiddenTags,
|
|
31709
31770
|
disabled,
|
|
31710
31771
|
style: {
|
|
31711
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
31772
|
+
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
31773
|
},
|
|
31713
31774
|
onRemove: (value) => {
|
|
31714
31775
|
onTagRemove(value);
|
|
@@ -31809,7 +31870,7 @@ function MarkdownEditor({
|
|
|
31809
31870
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
31810
31871
|
_react.useEffect.call(void 0, () => {
|
|
31811
31872
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
31812
|
-
if (_optionalChain([mod, 'access',
|
|
31873
|
+
if (_optionalChain([mod, 'access', _658 => _658.commands, 'optionalAccess', _659 => _659.getExtraCommands])) {
|
|
31813
31874
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
31814
31875
|
}
|
|
31815
31876
|
});
|
|
@@ -31843,7 +31904,7 @@ function MarkdownEditor({
|
|
|
31843
31904
|
const isImage = file.type.startsWith("image/");
|
|
31844
31905
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
31845
31906
|
insertTextAtCursor(markdown);
|
|
31846
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
31907
|
+
_optionalChain([onFileUploaded, 'optionalCall', _660 => _660(url, file.name)]);
|
|
31847
31908
|
} catch (error) {
|
|
31848
31909
|
console.error("File upload failed:", error);
|
|
31849
31910
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -31856,7 +31917,7 @@ function MarkdownEditor({
|
|
|
31856
31917
|
);
|
|
31857
31918
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
31858
31919
|
(e) => {
|
|
31859
|
-
const file = _optionalChain([e, 'access',
|
|
31920
|
+
const file = _optionalChain([e, 'access', _661 => _661.target, 'access', _662 => _662.files, 'optionalAccess', _663 => _663[0]]);
|
|
31860
31921
|
if (file) {
|
|
31861
31922
|
handleFileUpload(file);
|
|
31862
31923
|
e.target.value = "";
|
|
@@ -31867,7 +31928,7 @@ function MarkdownEditor({
|
|
|
31867
31928
|
const handlePaste = _react.useCallback.call(void 0,
|
|
31868
31929
|
(e) => {
|
|
31869
31930
|
if (!onUploadFile) return;
|
|
31870
|
-
const items = _optionalChain([e, 'access',
|
|
31931
|
+
const items = _optionalChain([e, 'access', _664 => _664.clipboardData, 'optionalAccess', _665 => _665.items]);
|
|
31871
31932
|
if (!items) return;
|
|
31872
31933
|
for (const item of items) {
|
|
31873
31934
|
if (item.type.startsWith("image/")) {
|
|
@@ -31892,7 +31953,7 @@ function MarkdownEditor({
|
|
|
31892
31953
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
31893
31954
|
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
31955
|
execute: () => {
|
|
31895
|
-
_optionalChain([fileInputRef, 'access',
|
|
31956
|
+
_optionalChain([fileInputRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.click, 'call', _668 => _668()]);
|
|
31896
31957
|
}
|
|
31897
31958
|
} : null;
|
|
31898
31959
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -31904,7 +31965,7 @@ function MarkdownEditor({
|
|
|
31904
31965
|
const EDGE_ZONE = 60;
|
|
31905
31966
|
const MAX_SCROLL_SPEED = 15;
|
|
31906
31967
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
31907
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
31968
|
+
let node = _optionalChain([el, 'optionalAccess', _669 => _669.parentElement]);
|
|
31908
31969
|
while (node && node !== document.documentElement) {
|
|
31909
31970
|
const { overflowY } = window.getComputedStyle(node);
|
|
31910
31971
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -32047,7 +32108,7 @@ function matchesAccept(file, accept) {
|
|
|
32047
32108
|
});
|
|
32048
32109
|
}
|
|
32049
32110
|
function dragHasFiles(e) {
|
|
32050
|
-
const types = _optionalChain([e, 'access',
|
|
32111
|
+
const types = _optionalChain([e, 'access', _670 => _670.dataTransfer, 'optionalAccess', _671 => _671.types]);
|
|
32051
32112
|
if (!types) return false;
|
|
32052
32113
|
for (let i = 0; i < types.length; i++) {
|
|
32053
32114
|
if (types[i] === "Files") return true;
|
|
@@ -32142,7 +32203,7 @@ function FileUpload({
|
|
|
32142
32203
|
e.stopPropagation();
|
|
32143
32204
|
setDragActive(false);
|
|
32144
32205
|
if (disabled) return;
|
|
32145
|
-
if (_optionalChain([e, 'access',
|
|
32206
|
+
if (_optionalChain([e, 'access', _672 => _672.dataTransfer, 'access', _673 => _673.files, 'optionalAccess', _674 => _674.length])) {
|
|
32146
32207
|
handleFiles(e.dataTransfer.files);
|
|
32147
32208
|
}
|
|
32148
32209
|
};
|
|
@@ -32170,7 +32231,7 @@ function FileUpload({
|
|
|
32170
32231
|
e.preventDefault();
|
|
32171
32232
|
dragCounter = 0;
|
|
32172
32233
|
setDragActive(false);
|
|
32173
|
-
if (_optionalChain([e, 'access',
|
|
32234
|
+
if (_optionalChain([e, 'access', _675 => _675.dataTransfer, 'optionalAccess', _676 => _676.files, 'optionalAccess', _677 => _677.length])) {
|
|
32174
32235
|
handleFilesRef.current(e.dataTransfer.files);
|
|
32175
32236
|
}
|
|
32176
32237
|
};
|
|
@@ -32192,7 +32253,7 @@ function FileUpload({
|
|
|
32192
32253
|
};
|
|
32193
32254
|
}, [acceptWindowDrops, disabled]);
|
|
32194
32255
|
const handleFileSelect = (e) => {
|
|
32195
|
-
if (_optionalChain([e, 'access',
|
|
32256
|
+
if (_optionalChain([e, 'access', _678 => _678.target, 'access', _679 => _679.files, 'optionalAccess', _680 => _680.length])) {
|
|
32196
32257
|
handleFiles(e.target.files);
|
|
32197
32258
|
}
|
|
32198
32259
|
};
|
|
@@ -32209,7 +32270,7 @@ function FileUpload({
|
|
|
32209
32270
|
};
|
|
32210
32271
|
const openDialog = async () => {
|
|
32211
32272
|
if (disabled) return;
|
|
32212
|
-
_optionalChain([fileInputRef, 'access',
|
|
32273
|
+
_optionalChain([fileInputRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.click, 'call', _683 => _683()]);
|
|
32213
32274
|
};
|
|
32214
32275
|
const displayError = error || validationError || void 0;
|
|
32215
32276
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -32287,7 +32348,7 @@ function FileUpload({
|
|
|
32287
32348
|
"button",
|
|
32288
32349
|
{
|
|
32289
32350
|
type: "button",
|
|
32290
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
32351
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _684 => _684(entry.id)]),
|
|
32291
32352
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
32292
32353
|
"aria-label": `Remove ${entry.fileName}`,
|
|
32293
32354
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -32410,7 +32471,7 @@ function ImageUploader({
|
|
|
32410
32471
|
onChange(file);
|
|
32411
32472
|
};
|
|
32412
32473
|
const handleFileSelect = (e) => {
|
|
32413
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32474
|
+
validateAndEmit(_optionalChain([e, 'access', _685 => _685.target, 'access', _686 => _686.files, 'optionalAccess', _687 => _687[0]]));
|
|
32414
32475
|
if (inputRef.current) inputRef.current.value = "";
|
|
32415
32476
|
};
|
|
32416
32477
|
const handleDrag = (e) => {
|
|
@@ -32425,11 +32486,11 @@ function ImageUploader({
|
|
|
32425
32486
|
e.stopPropagation();
|
|
32426
32487
|
setDragActive(false);
|
|
32427
32488
|
if (!interactive) return;
|
|
32428
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32489
|
+
validateAndEmit(_optionalChain([e, 'access', _688 => _688.dataTransfer, 'access', _689 => _689.files, 'optionalAccess', _690 => _690[0]]));
|
|
32429
32490
|
};
|
|
32430
32491
|
const openDialog = () => {
|
|
32431
32492
|
if (!interactive) return;
|
|
32432
|
-
_optionalChain([inputRef, 'access',
|
|
32493
|
+
_optionalChain([inputRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.click, 'call', _693 => _693()]);
|
|
32433
32494
|
};
|
|
32434
32495
|
const handleRootKeyDown = (e) => {
|
|
32435
32496
|
if (hasImage || !interactive) return;
|
|
@@ -32619,8 +32680,8 @@ function ColorPresetSelect({
|
|
|
32619
32680
|
}) {
|
|
32620
32681
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
32621
32682
|
const isCustom = !selectedPreset;
|
|
32622
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32623
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32683
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _694 => _694.label]), () => ( "Custom"));
|
|
32684
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _695 => _695.color]), () => ( value));
|
|
32624
32685
|
const groups = [
|
|
32625
32686
|
{
|
|
32626
32687
|
items: [
|
|
@@ -32910,7 +32971,7 @@ function TicketStatusConfigRow({
|
|
|
32910
32971
|
_chunkGRTZ23GLcjs.Input,
|
|
32911
32972
|
{
|
|
32912
32973
|
value: name,
|
|
32913
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
32974
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _696 => _696(e.target.value)]),
|
|
32914
32975
|
disabled: isSystem,
|
|
32915
32976
|
readOnly: isSystem,
|
|
32916
32977
|
"aria-label": "Status name",
|
|
@@ -32993,7 +33054,7 @@ function CompactAssigneeDropdown({
|
|
|
32993
33054
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
32994
33055
|
}, [filtered, currentAssignee]);
|
|
32995
33056
|
const handleSelect = (userId) => {
|
|
32996
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
33057
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _697 => _697.id]) === userId ? null : userId;
|
|
32997
33058
|
onAssign(next);
|
|
32998
33059
|
setIsOpen(false);
|
|
32999
33060
|
};
|
|
@@ -33058,7 +33119,7 @@ function CompactAssigneeDropdown({
|
|
|
33058
33119
|
}
|
|
33059
33120
|
) }),
|
|
33060
33121
|
/* @__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',
|
|
33122
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _698 => _698.id]) === opt.value;
|
|
33062
33123
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33063
33124
|
"button",
|
|
33064
33125
|
{
|
|
@@ -33127,7 +33188,7 @@ function DefaultAssigneeDropdown({
|
|
|
33127
33188
|
Autocomplete,
|
|
33128
33189
|
{
|
|
33129
33190
|
options,
|
|
33130
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
33191
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _699 => _699.id]), () => ( null)),
|
|
33131
33192
|
onChange: (val) => {
|
|
33132
33193
|
onAssign(val);
|
|
33133
33194
|
setIsEditing(false);
|
|
@@ -33516,14 +33577,14 @@ function TicketInfoSection({
|
|
|
33516
33577
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33517
33578
|
SquareAvatar,
|
|
33518
33579
|
{
|
|
33519
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
33520
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
33521
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
33580
|
+
src: _optionalChain([organization, 'optionalAccess', _700 => _700.imageSrc]),
|
|
33581
|
+
alt: _optionalChain([organization, 'optionalAccess', _701 => _701.name]),
|
|
33582
|
+
fallback: _optionalChain([organization, 'optionalAccess', _702 => _702.name]) || "Org",
|
|
33522
33583
|
size: "md",
|
|
33523
33584
|
className: "shrink-0"
|
|
33524
33585
|
}
|
|
33525
33586
|
),
|
|
33526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
33587
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _703 => _703.name]) || "Unassigned", label: "Organization" })
|
|
33527
33588
|
] }),
|
|
33528
33589
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33529
33590
|
AssigneeDropdown,
|
|
@@ -33544,10 +33605,10 @@ function TicketInfoSection({
|
|
|
33544
33605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33545
33606
|
InfoCell2,
|
|
33546
33607
|
{
|
|
33547
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
33608
|
+
value: _optionalChain([device, 'optionalAccess', _704 => _704.name]) || "Unassigned",
|
|
33548
33609
|
label: "Device",
|
|
33549
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
33550
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
33610
|
+
icon: _optionalChain([device, 'optionalAccess', _705 => _705.icon]),
|
|
33611
|
+
onClick: _optionalChain([device, 'optionalAccess', _706 => _706.onClick])
|
|
33551
33612
|
}
|
|
33552
33613
|
),
|
|
33553
33614
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -33876,7 +33937,7 @@ function RoadmapCard({
|
|
|
33876
33937
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
33877
33938
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
33878
33939
|
const hasFigma = !!item.figmaUrl;
|
|
33879
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
33940
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _707 => _707.screenshots, 'optionalAccess', _708 => _708.length]), () => ( 0))) > 0;
|
|
33880
33941
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
33881
33942
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
33882
33943
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -33895,7 +33956,7 @@ function RoadmapCard({
|
|
|
33895
33956
|
unoptimized: true,
|
|
33896
33957
|
className: "h-8 w-8 object-contain"
|
|
33897
33958
|
}
|
|
33898
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
33959
|
+
) : /* @__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
33960
|
}
|
|
33900
33961
|
),
|
|
33901
33962
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -33970,7 +34031,7 @@ function RoadmapCard({
|
|
|
33970
34031
|
unoptimized: true,
|
|
33971
34032
|
className: "object-contain p-1"
|
|
33972
34033
|
}
|
|
33973
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
34034
|
+
) : /* @__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
34035
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
33975
34036
|
/* @__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
34037
|
/* @__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 +34541,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
34480
34541
|
] }) : null,
|
|
34481
34542
|
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
34543
|
] }),
|
|
34483
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
34544
|
+
_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
34545
|
] });
|
|
34485
34546
|
if (!anchorProps) {
|
|
34486
34547
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -34550,7 +34611,7 @@ function getDefaultOptions() {
|
|
|
34550
34611
|
// node_modules/date-fns/startOfWeek.mjs
|
|
34551
34612
|
function startOfWeek(date, options) {
|
|
34552
34613
|
const defaultOptions2 = getDefaultOptions();
|
|
34553
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
34614
|
+
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
34615
|
const _date = toDate(date);
|
|
34555
34616
|
const day = _date.getDay();
|
|
34556
34617
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -34725,7 +34786,7 @@ var formatDistance = (token, count, options) => {
|
|
|
34725
34786
|
} else {
|
|
34726
34787
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
34727
34788
|
}
|
|
34728
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
34789
|
+
if (_optionalChain([options, 'optionalAccess', _723 => _723.addSuffix])) {
|
|
34729
34790
|
if (options.comparison && options.comparison > 0) {
|
|
34730
34791
|
return "in " + result;
|
|
34731
34792
|
} else {
|
|
@@ -34792,15 +34853,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
34792
34853
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
34793
34854
|
function buildLocalizeFn(args) {
|
|
34794
34855
|
return (value, options) => {
|
|
34795
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
34856
|
+
const context = _optionalChain([options, 'optionalAccess', _724 => _724.context]) ? String(options.context) : "standalone";
|
|
34796
34857
|
let valuesArray;
|
|
34797
34858
|
if (context === "formatting" && args.formattingValues) {
|
|
34798
34859
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
34799
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34860
|
+
const width = _optionalChain([options, 'optionalAccess', _725 => _725.width]) ? String(options.width) : defaultWidth;
|
|
34800
34861
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
34801
34862
|
} else {
|
|
34802
34863
|
const defaultWidth = args.defaultWidth;
|
|
34803
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34864
|
+
const width = _optionalChain([options, 'optionalAccess', _726 => _726.width]) ? String(options.width) : args.defaultWidth;
|
|
34804
34865
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
34805
34866
|
}
|
|
34806
34867
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -35180,7 +35241,7 @@ function getWeekYear(date, options) {
|
|
|
35180
35241
|
const _date = toDate(date);
|
|
35181
35242
|
const year = _date.getFullYear();
|
|
35182
35243
|
const defaultOptions2 = getDefaultOptions();
|
|
35183
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35244
|
+
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
35245
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
35185
35246
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
35186
35247
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -35201,7 +35262,7 @@ function getWeekYear(date, options) {
|
|
|
35201
35262
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
35202
35263
|
function startOfWeekYear(date, options) {
|
|
35203
35264
|
const defaultOptions2 = getDefaultOptions();
|
|
35204
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35265
|
+
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
35266
|
const year = getWeekYear(date, options);
|
|
35206
35267
|
const firstWeek = constructFrom(date, 0);
|
|
35207
35268
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -36016,9 +36077,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
36016
36077
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
36017
36078
|
function format(date, formatStr, options) {
|
|
36018
36079
|
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',
|
|
36080
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _741 => _741.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
36081
|
+
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));
|
|
36082
|
+
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
36083
|
const originalDate = toDate(date);
|
|
36023
36084
|
if (!isValid(originalDate)) {
|
|
36024
36085
|
throw new RangeError("Invalid time value");
|
|
@@ -36059,7 +36120,7 @@ function format(date, formatStr, options) {
|
|
|
36059
36120
|
return parts.map((part) => {
|
|
36060
36121
|
if (!part.isToken) return part.value;
|
|
36061
36122
|
const token = part.value;
|
|
36062
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
36123
|
+
if (!_optionalChain([options, 'optionalAccess', _756 => _756.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _757 => _757.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
36063
36124
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
36064
36125
|
}
|
|
36065
36126
|
const formatter = formatters[token[0]];
|
|
@@ -36237,7 +36298,7 @@ function ProgramCard({
|
|
|
36237
36298
|
const dur = formatDurationFromRange(w.start_at, w.end_at);
|
|
36238
36299
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
36239
36300
|
}
|
|
36240
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
36301
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _758 => _758.labels, 'optionalAccess', _759 => _759.singular])].filter(
|
|
36241
36302
|
(s) => typeof s === "string" && s.length > 0
|
|
36242
36303
|
);
|
|
36243
36304
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -36394,7 +36455,7 @@ function ProgramCard({
|
|
|
36394
36455
|
|
|
36395
36456
|
|
|
36396
36457
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
36397
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
36458
|
+
const goalsCount = _optionalChain([campaign, 'access', _760 => _760.goals, 'optionalAccess', _761 => _761.length]) || 0;
|
|
36398
36459
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
36399
36460
|
/* @__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
36461
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -36485,33 +36546,6 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
|
|
|
36485
36546
|
|
|
36486
36547
|
// src/components/chat/hooks/use-chat-card-item.ts
|
|
36487
36548
|
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
36549
|
function useChatCardItem(type, id) {
|
|
36516
36550
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
36517
36551
|
const url = runtime.endpoints.buildListUrl(type, [id]);
|
|
@@ -36583,7 +36617,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
36583
36617
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
36584
36618
|
const safePath = sanitizePath(row.path);
|
|
36585
36619
|
if (safePath) {
|
|
36586
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
36620
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _762 => _762.docPlatformTargets, 'optionalAccess', _763 => _763[row.documentType]]) : void 0;
|
|
36587
36621
|
if (docTarget) {
|
|
36588
36622
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
36589
36623
|
const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -36798,8 +36832,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
36798
36832
|
if (href) {
|
|
36799
36833
|
items.push({
|
|
36800
36834
|
id: "open-details",
|
|
36801
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36802
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36835
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _764 => _764.label]), () => ( "Open Details")),
|
|
36836
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _765 => _765.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
|
|
36803
36837
|
// Main row → open the entity (same tab, soft Link nav).
|
|
36804
36838
|
href,
|
|
36805
36839
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -36829,8 +36863,8 @@ function HubspotTicketChatCard({
|
|
|
36829
36863
|
isNewTab,
|
|
36830
36864
|
discuss
|
|
36831
36865
|
}) {
|
|
36832
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
36833
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
36866
|
+
const status = typeof _optionalChain([chatRef, 'access', _766 => _766.metadata, 'optionalAccess', _767 => _767.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
36867
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _768 => _768.metadata, 'optionalAccess', _769 => _769.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
36834
36868
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
36835
36869
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36836
36870
|
MingoInfoCard,
|
|
@@ -36853,7 +36887,7 @@ function SlackChatCard({
|
|
|
36853
36887
|
isNewTab,
|
|
36854
36888
|
discuss
|
|
36855
36889
|
}) {
|
|
36856
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
36890
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _770 => _770.metadata, 'optionalAccess', _771 => _771.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
36857
36891
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
36858
36892
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
36859
36893
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -36893,7 +36927,7 @@ function GenericFinancialChatCard({
|
|
|
36893
36927
|
isNewTab,
|
|
36894
36928
|
discuss
|
|
36895
36929
|
}) {
|
|
36896
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
36930
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _772 => _772.metadata, 'optionalAccess', _773 => _773.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
36897
36931
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36898
36932
|
MingoInfoCard,
|
|
36899
36933
|
{
|
|
@@ -36962,12 +36996,12 @@ function ProductReleaseChatCard({
|
|
|
36962
36996
|
discuss
|
|
36963
36997
|
}) {
|
|
36964
36998
|
const releaseProps = buildProps(item);
|
|
36965
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
36999
|
+
const status = _optionalChain([item, 'optionalAccess', _774 => _774.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
36966
37000
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36967
37001
|
EntityMingoCard,
|
|
36968
37002
|
{
|
|
36969
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36970
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37003
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.title]), () => ( "")),
|
|
37004
|
+
description: _optionalChain([item, 'optionalAccess', _776 => _776.summary]) || releaseProps.formattedDate || void 0,
|
|
36971
37005
|
cover: releaseProps.coverImage || void 0,
|
|
36972
37006
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
|
|
36973
37007
|
status,
|
|
@@ -36984,17 +37018,17 @@ function CampaignChatCard({
|
|
|
36984
37018
|
isNewTab,
|
|
36985
37019
|
discuss
|
|
36986
37020
|
}) {
|
|
36987
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
37021
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _777 => _777.goals])) ? item.goals.length : 0;
|
|
36988
37022
|
const meta = [
|
|
36989
|
-
_optionalChain([item, 'optionalAccess',
|
|
37023
|
+
_optionalChain([item, 'optionalAccess', _778 => _778.start_date]) ? formatDateShort(item.start_date) : null,
|
|
36990
37024
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
36991
37025
|
"Marketing campaign"
|
|
36992
37026
|
].filter(Boolean).join(" \xB7 ");
|
|
36993
37027
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36994
37028
|
EntityMingoCard,
|
|
36995
37029
|
{
|
|
36996
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36997
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
37030
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _779 => _779.name]), () => ( "")),
|
|
37031
|
+
description: meta || _optionalChain([item, 'optionalAccess', _780 => _780.description]) || void 0,
|
|
36998
37032
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
|
|
36999
37033
|
chatRef,
|
|
37000
37034
|
isNewTab,
|
|
@@ -37047,14 +37081,14 @@ function BlogChatCard({
|
|
|
37047
37081
|
hasEmbeddedVideo,
|
|
37048
37082
|
discuss
|
|
37049
37083
|
}) {
|
|
37050
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
37084
|
+
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
37085
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
37052
37086
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37053
37087
|
EntityMingoCard,
|
|
37054
37088
|
{
|
|
37055
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37056
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37057
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37089
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _786 => _786.title]), () => ( "")),
|
|
37090
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _787 => _787.summary]), () => ( void 0)),
|
|
37091
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _788 => _788.featured_image]), ogPlaceholder),
|
|
37058
37092
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
|
|
37059
37093
|
status,
|
|
37060
37094
|
chatRef,
|
|
@@ -37071,13 +37105,13 @@ function CaseStudyChatCard({
|
|
|
37071
37105
|
ogPlaceholder,
|
|
37072
37106
|
discuss
|
|
37073
37107
|
}) {
|
|
37074
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37108
|
+
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
37109
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37076
37110
|
EntityMingoCard,
|
|
37077
37111
|
{
|
|
37078
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37079
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37080
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37112
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _793 => _793.title]), () => ( "")),
|
|
37113
|
+
description: _optionalChain([item, 'optionalAccess', _794 => _794.summary]) || meta || void 0,
|
|
37114
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _795 => _795.featured_image]), ogPlaceholder),
|
|
37081
37115
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
|
|
37082
37116
|
status: { label: "Case study", variant: "grey" },
|
|
37083
37117
|
chatRef,
|
|
@@ -37094,13 +37128,13 @@ function CustomerInterviewChatCard({
|
|
|
37094
37128
|
ogPlaceholder,
|
|
37095
37129
|
discuss
|
|
37096
37130
|
}) {
|
|
37097
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37131
|
+
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
37132
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37099
37133
|
EntityMingoCard,
|
|
37100
37134
|
{
|
|
37101
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37102
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37103
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37135
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _800 => _800.title]), () => ( "")),
|
|
37136
|
+
description: _optionalChain([item, 'optionalAccess', _801 => _801.video_summary]) || meta || void 0,
|
|
37137
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _802 => _802.featured_image]), ogPlaceholder),
|
|
37104
37138
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
|
|
37105
37139
|
status: { label: "Interview", variant: "grey" },
|
|
37106
37140
|
chatRef,
|
|
@@ -37117,13 +37151,13 @@ function InvestorUpdateChatCard({
|
|
|
37117
37151
|
ogPlaceholder,
|
|
37118
37152
|
discuss
|
|
37119
37153
|
}) {
|
|
37120
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
37154
|
+
const title = _optionalChain([item, 'optionalAccess', _803 => _803.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _804 => _804.update_number]), () => ( "?"))}`;
|
|
37121
37155
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37122
37156
|
EntityMingoCard,
|
|
37123
37157
|
{
|
|
37124
37158
|
title,
|
|
37125
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
37126
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37159
|
+
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,
|
|
37160
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _809 => _809.featured_image]), ogPlaceholder),
|
|
37127
37161
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
|
|
37128
37162
|
status: { label: "Investor update", variant: "grey" },
|
|
37129
37163
|
chatRef,
|
|
@@ -37140,12 +37174,12 @@ function OnboardingGuideChatCard({
|
|
|
37140
37174
|
ogPlaceholder,
|
|
37141
37175
|
discuss
|
|
37142
37176
|
}) {
|
|
37143
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
37177
|
+
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
37178
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37145
37179
|
EntityMingoCard,
|
|
37146
37180
|
{
|
|
37147
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37148
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37181
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _813 => _813.title]), () => ( "")),
|
|
37182
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _814 => _814.summary]), () => ( _optionalChain([item, 'optionalAccess', _815 => _815.description]))), () => ( void 0)),
|
|
37149
37183
|
cover,
|
|
37150
37184
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
|
|
37151
37185
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -37166,25 +37200,25 @@ function ProgramChatCard({
|
|
|
37166
37200
|
discuss
|
|
37167
37201
|
}) {
|
|
37168
37202
|
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',
|
|
37203
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _816 => _816.status]) === "scheduled";
|
|
37170
37204
|
let typeMeta;
|
|
37171
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
37205
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _817 => _817.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
37172
37206
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
37173
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
37207
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _818 => _818.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
37174
37208
|
typeMeta = item.location_name;
|
|
37175
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
37209
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _819 => _819.start_at])) {
|
|
37176
37210
|
const time = formatTimeWithTimezone(item.start_at, null);
|
|
37177
37211
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
37178
37212
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
37179
37213
|
}
|
|
37180
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37214
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
37181
37215
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
37182
37216
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37183
37217
|
EntityMingoCard,
|
|
37184
37218
|
{
|
|
37185
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37186
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
37187
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37219
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _821 => _821.title]), () => ( "")),
|
|
37220
|
+
description: meta || _optionalChain([item, 'optionalAccess', _822 => _822.description]) || void 0,
|
|
37221
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _823 => _823.cover_url]), ogPlaceholder),
|
|
37188
37222
|
fallbackIcon: icon,
|
|
37189
37223
|
status: { label, variant: "grey" },
|
|
37190
37224
|
chatRef,
|
|
@@ -37201,10 +37235,10 @@ function RoadmapChatCard({
|
|
|
37201
37235
|
cardType,
|
|
37202
37236
|
discuss
|
|
37203
37237
|
}) {
|
|
37204
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
37205
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
37238
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _824 => _824.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
37239
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _825 => _825.customItemId]) != null;
|
|
37206
37240
|
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',
|
|
37241
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _826 => _826.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
37208
37242
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
37209
37243
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
37210
37244
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -37212,10 +37246,10 @@ function RoadmapChatCard({
|
|
|
37212
37246
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37213
37247
|
EntityMingoCard,
|
|
37214
37248
|
{
|
|
37215
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37216
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37249
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _827 => _827.title]), () => ( "")),
|
|
37250
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _828 => _828.description]), () => ( void 0)),
|
|
37217
37251
|
fallbackIcon: icon,
|
|
37218
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
37252
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _829 => _829.status])),
|
|
37219
37253
|
chatRef,
|
|
37220
37254
|
isNewTab,
|
|
37221
37255
|
discuss,
|
|
@@ -37301,7 +37335,7 @@ function programRegistryEntries() {
|
|
|
37301
37335
|
discuss: opts.discuss,
|
|
37302
37336
|
configKey: cfg.configKey,
|
|
37303
37337
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
37304
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37338
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _830 => _830.extras, 'optionalAccess', _831 => _831.buildOgPlaceholderUrl, 'optionalCall', _832 => _832(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _833 => _833.title]), () => ( "")))]), () => ( null))
|
|
37305
37339
|
}
|
|
37306
37340
|
)
|
|
37307
37341
|
};
|
|
@@ -37447,8 +37481,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37447
37481
|
chatRef,
|
|
37448
37482
|
isNewTab: opts.isNewTab,
|
|
37449
37483
|
discuss: opts.discuss,
|
|
37450
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37451
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
37484
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _834 => _834.extras, 'optionalAccess', _835 => _835.buildOgPlaceholderUrl, 'optionalCall', _836 => _836(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _837 => _837.title]), () => ( "")))]), () => ( null)),
|
|
37485
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _838 => _838.metadata, 'optionalAccess', _839 => _839.hasEmbeddedVideo]) === true
|
|
37452
37486
|
}
|
|
37453
37487
|
)
|
|
37454
37488
|
},
|
|
@@ -37465,7 +37499,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37465
37499
|
chatRef,
|
|
37466
37500
|
isNewTab: opts.isNewTab,
|
|
37467
37501
|
discuss: opts.discuss,
|
|
37468
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37502
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildOgPlaceholderUrl, 'optionalCall', _842 => _842(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _843 => _843.title]), () => ( "")))]), () => ( null))
|
|
37469
37503
|
}
|
|
37470
37504
|
)
|
|
37471
37505
|
},
|
|
@@ -37482,7 +37516,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37482
37516
|
chatRef,
|
|
37483
37517
|
isNewTab: opts.isNewTab,
|
|
37484
37518
|
discuss: opts.discuss,
|
|
37485
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37519
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _844 => _844.extras, 'optionalAccess', _845 => _845.buildOgPlaceholderUrl, 'optionalCall', _846 => _846(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _847 => _847.title]), () => ( "")))]), () => ( null))
|
|
37486
37520
|
}
|
|
37487
37521
|
)
|
|
37488
37522
|
},
|
|
@@ -37493,7 +37527,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37493
37527
|
bareInline: true,
|
|
37494
37528
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
37495
37529
|
render: (item, chatRef, opts) => {
|
|
37496
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37530
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _848 => _848.extras, 'optionalAccess', _849 => _849.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
37497
37531
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37498
37532
|
ProductReleaseChatCard,
|
|
37499
37533
|
{
|
|
@@ -37520,7 +37554,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37520
37554
|
chatRef,
|
|
37521
37555
|
isNewTab: opts.isNewTab,
|
|
37522
37556
|
discuss: opts.discuss,
|
|
37523
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37557
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _850 => _850.extras, 'optionalAccess', _851 => _851.buildOgPlaceholderUrl, 'optionalCall', _852 => _852(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _853 => _853.title]), () => ( "")))]), () => ( null))
|
|
37524
37558
|
}
|
|
37525
37559
|
)
|
|
37526
37560
|
},
|
|
@@ -37539,7 +37573,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37539
37573
|
chatRef,
|
|
37540
37574
|
isNewTab: opts.isNewTab,
|
|
37541
37575
|
discuss: opts.discuss,
|
|
37542
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37576
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _854 => _854.extras, 'optionalAccess', _855 => _855.buildOgPlaceholderUrl, 'optionalCall', _856 => _856(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _857 => _857.title]), () => ( "")))]), () => ( null))
|
|
37543
37577
|
}
|
|
37544
37578
|
)
|
|
37545
37579
|
},
|
|
@@ -37551,7 +37585,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37551
37585
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
37552
37586
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
37553
37587
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
37554
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
37588
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _858 => _858.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
37555
37589
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37556
37590
|
CampaignChatCard,
|
|
37557
37591
|
{
|
|
@@ -37577,12 +37611,12 @@ function ChatCardNavWrap({
|
|
|
37577
37611
|
const onClickCapture = (e) => {
|
|
37578
37612
|
if (!href) return;
|
|
37579
37613
|
const targetEl = e.target;
|
|
37580
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
37581
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
37614
|
+
if (_optionalChain([targetEl, 'optionalAccess', _859 => _859.closest, 'optionalCall', _860 => _860("button")])) return;
|
|
37615
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _861 => _861.closest, 'optionalCall', _862 => _862("a")])) return;
|
|
37582
37616
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
37583
37617
|
if (!handled) return;
|
|
37584
37618
|
e.stopPropagation();
|
|
37585
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
37619
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _863 => _863.closeChat])) panel.closeChat();
|
|
37586
37620
|
};
|
|
37587
37621
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
37588
37622
|
}
|
|
@@ -37604,7 +37638,7 @@ function ChatCardLoader({
|
|
|
37604
37638
|
title: chatRef.title,
|
|
37605
37639
|
externalUrl: chatRef.url,
|
|
37606
37640
|
targetPlatform: chatRef.targetPlatform,
|
|
37607
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
37641
|
+
path: typeof _optionalChain([chatRef, 'access', _864 => _864.metadata, 'optionalAccess', _865 => _865.path]) === "string" ? chatRef.metadata.path : null
|
|
37608
37642
|
},
|
|
37609
37643
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
37610
37644
|
);
|
|
@@ -37618,7 +37652,7 @@ function ChatCardLoader({
|
|
|
37618
37652
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
37619
37653
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
37620
37654
|
const { item, isLoading } = useChatCardItem(
|
|
37621
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
37655
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _866 => _866.contentRefType]), () => ( "")),
|
|
37622
37656
|
fetchEntry ? resolvedChatRef.id : ""
|
|
37623
37657
|
);
|
|
37624
37658
|
if (!entry) return null;
|
|
@@ -37649,7 +37683,7 @@ function ChatCardLoader({
|
|
|
37649
37683
|
isNewTab,
|
|
37650
37684
|
discuss
|
|
37651
37685
|
};
|
|
37652
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
37686
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
37653
37687
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37654
37688
|
ChatCardNavWrap,
|
|
37655
37689
|
{
|
|
@@ -38175,7 +38209,7 @@ function useJetStreamDialogSubscription({
|
|
|
38175
38209
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
38176
38210
|
conn: sharedConn,
|
|
38177
38211
|
wsUrl,
|
|
38178
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38212
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _869 => _869.current, 'optionalCall', _870 => _870()]),
|
|
38179
38213
|
backoff: reconnectionBackoffRef.current,
|
|
38180
38214
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
38181
38215
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -38190,7 +38224,7 @@ function useJetStreamDialogSubscription({
|
|
|
38190
38224
|
setReconnectionCount((c) => c + 1);
|
|
38191
38225
|
}
|
|
38192
38226
|
hadConnectionBeforeRef.current = true;
|
|
38193
|
-
_optionalChain([onConnectRef, 'access',
|
|
38227
|
+
_optionalChain([onConnectRef, 'access', _871 => _871.current, 'optionalCall', _872 => _872()]);
|
|
38194
38228
|
}
|
|
38195
38229
|
if (status === "error") {
|
|
38196
38230
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -38200,7 +38234,7 @@ function useJetStreamDialogSubscription({
|
|
|
38200
38234
|
setIsConnected(false);
|
|
38201
38235
|
setIsSubscribed(false);
|
|
38202
38236
|
tearDownSubscription();
|
|
38203
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38237
|
+
_optionalChain([onDisconnectRef, 'access', _873 => _873.current, 'optionalCall', _874 => _874()]);
|
|
38204
38238
|
}
|
|
38205
38239
|
}
|
|
38206
38240
|
});
|
|
@@ -38279,7 +38313,7 @@ function useJetStreamDialogSubscription({
|
|
|
38279
38313
|
}
|
|
38280
38314
|
subscriptionRef.current = handle;
|
|
38281
38315
|
setIsSubscribed(true);
|
|
38282
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38316
|
+
_optionalChain([onSubscribedRef, 'access', _875 => _875.current, 'optionalCall', _876 => _876()]);
|
|
38283
38317
|
} catch (e35) {
|
|
38284
38318
|
if (!cancelled) {
|
|
38285
38319
|
setIsSubscribed(false);
|
|
@@ -38392,20 +38426,20 @@ function useNatsDialogSubscription({
|
|
|
38392
38426
|
const tearDownSubscriptions = () => {
|
|
38393
38427
|
subscriptionRefs.current.forEach((sub) => {
|
|
38394
38428
|
try {
|
|
38395
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38429
|
+
_optionalChain([sub, 'optionalAccess', _877 => _877.unsubscribe, 'call', _878 => _878()]);
|
|
38396
38430
|
} catch (e37) {
|
|
38397
38431
|
}
|
|
38398
38432
|
});
|
|
38399
38433
|
subscriptionRefs.current.clear();
|
|
38400
38434
|
lastSubscribedDialogIdRef.current = null;
|
|
38401
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38435
|
+
_optionalChain([abortControllerRef, 'access', _879 => _879.current, 'optionalAccess', _880 => _880.abort, 'call', _881 => _881()]);
|
|
38402
38436
|
abortControllerRef.current = null;
|
|
38403
38437
|
};
|
|
38404
38438
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
|
|
38405
38439
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
38406
38440
|
conn: sharedConn,
|
|
38407
38441
|
wsUrl,
|
|
38408
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38442
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _882 => _882.current, 'optionalCall', _883 => _883()]),
|
|
38409
38443
|
backoff: reconnectionBackoffRef.current,
|
|
38410
38444
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
38411
38445
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -38416,13 +38450,13 @@ function useNatsDialogSubscription({
|
|
|
38416
38450
|
setReconnectionCount((c) => c + 1);
|
|
38417
38451
|
}
|
|
38418
38452
|
hadConnectionBeforeRef.current = true;
|
|
38419
|
-
_optionalChain([onConnectRef, 'access',
|
|
38453
|
+
_optionalChain([onConnectRef, 'access', _884 => _884.current, 'optionalCall', _885 => _885()]);
|
|
38420
38454
|
}
|
|
38421
38455
|
if (isDisconnectStatus(status)) {
|
|
38422
38456
|
setIsConnected(false);
|
|
38423
38457
|
setIsSubscribed(false);
|
|
38424
38458
|
tearDownSubscriptions();
|
|
38425
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38459
|
+
_optionalChain([onDisconnectRef, 'access', _886 => _886.current, 'optionalCall', _887 => _887()]);
|
|
38426
38460
|
}
|
|
38427
38461
|
}
|
|
38428
38462
|
});
|
|
@@ -38453,13 +38487,13 @@ function useNatsDialogSubscription({
|
|
|
38453
38487
|
setIsSubscribed(false);
|
|
38454
38488
|
subscriptionRefs.current.forEach((sub) => {
|
|
38455
38489
|
try {
|
|
38456
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38490
|
+
_optionalChain([sub, 'optionalAccess', _888 => _888.unsubscribe, 'call', _889 => _889()]);
|
|
38457
38491
|
} catch (e38) {
|
|
38458
38492
|
}
|
|
38459
38493
|
});
|
|
38460
38494
|
subscriptionRefs.current.clear();
|
|
38461
38495
|
lastSubscribedDialogIdRef.current = null;
|
|
38462
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38496
|
+
_optionalChain([abortControllerRef, 'access', _890 => _890.current, 'optionalAccess', _891 => _891.abort, 'call', _892 => _892()]);
|
|
38463
38497
|
abortControllerRef.current = null;
|
|
38464
38498
|
}
|
|
38465
38499
|
return;
|
|
@@ -38471,12 +38505,12 @@ function useNatsDialogSubscription({
|
|
|
38471
38505
|
if (subscriptionRefs.current.size > 0) {
|
|
38472
38506
|
subscriptionRefs.current.forEach((sub) => {
|
|
38473
38507
|
try {
|
|
38474
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38508
|
+
_optionalChain([sub, 'optionalAccess', _893 => _893.unsubscribe, 'call', _894 => _894()]);
|
|
38475
38509
|
} catch (e39) {
|
|
38476
38510
|
}
|
|
38477
38511
|
});
|
|
38478
38512
|
subscriptionRefs.current.clear();
|
|
38479
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38513
|
+
_optionalChain([abortControllerRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.abort, 'call', _897 => _897()]);
|
|
38480
38514
|
}
|
|
38481
38515
|
abortControllerRef.current = new AbortController();
|
|
38482
38516
|
const abort = abortControllerRef.current;
|
|
@@ -38508,7 +38542,7 @@ function useNatsDialogSubscription({
|
|
|
38508
38542
|
});
|
|
38509
38543
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
38510
38544
|
setIsSubscribed(true);
|
|
38511
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38545
|
+
_optionalChain([onSubscribedRef, 'access', _898 => _898.current, 'optionalCall', _899 => _899()]);
|
|
38512
38546
|
};
|
|
38513
38547
|
if (isConnectedRef.current) {
|
|
38514
38548
|
createSubscriptions();
|
|
@@ -38518,7 +38552,7 @@ function useNatsDialogSubscription({
|
|
|
38518
38552
|
abort.abort();
|
|
38519
38553
|
subscriptionRefs.current.forEach((sub) => {
|
|
38520
38554
|
try {
|
|
38521
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38555
|
+
_optionalChain([sub, 'optionalAccess', _900 => _900.unsubscribe, 'call', _901 => _901()]);
|
|
38522
38556
|
} catch (e41) {
|
|
38523
38557
|
}
|
|
38524
38558
|
});
|
|
@@ -38559,7 +38593,7 @@ function useNatsDialogSubscription({
|
|
|
38559
38593
|
});
|
|
38560
38594
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
38561
38595
|
setIsSubscribed(true);
|
|
38562
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38596
|
+
_optionalChain([onSubscribedRef, 'access', _902 => _902.current, 'optionalCall', _903 => _903()]);
|
|
38563
38597
|
} else if (subscriptionRefs.current.size > 0) {
|
|
38564
38598
|
setIsSubscribed(true);
|
|
38565
38599
|
}
|
|
@@ -38567,10 +38601,10 @@ function useNatsDialogSubscription({
|
|
|
38567
38601
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
38568
38602
|
}
|
|
38569
38603
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
38570
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
38604
|
+
const path = _optionalChain([options, 'optionalAccess', _904 => _904.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
38571
38605
|
const u = new URL(path, apiBaseUrl);
|
|
38572
38606
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
38573
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
38607
|
+
if (_optionalChain([options, 'optionalAccess', _905 => _905.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _906 => _906.token])) {
|
|
38574
38608
|
u.searchParams.set("authorization", options.token);
|
|
38575
38609
|
}
|
|
38576
38610
|
return u.toString();
|
|
@@ -38888,8 +38922,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38888
38922
|
type: "tool_execution",
|
|
38889
38923
|
data: {
|
|
38890
38924
|
...toolData,
|
|
38891
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
38892
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
38925
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _907 => _907.data, 'access', _908 => _908.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _909 => _909.toolTitle]))),
|
|
38926
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _910 => _910.parameters])
|
|
38893
38927
|
}
|
|
38894
38928
|
};
|
|
38895
38929
|
if (existingIndex !== -1) {
|
|
@@ -38913,8 +38947,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38913
38947
|
if (seg.type !== "approval_batch") return seg;
|
|
38914
38948
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
38915
38949
|
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',
|
|
38950
|
+
const prev = _optionalChain([seg, 'access', _911 => _911.data, 'access', _912 => _912.executions, 'optionalAccess', _913 => _913[execId]]);
|
|
38951
|
+
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
38952
|
matched = true;
|
|
38919
38953
|
return {
|
|
38920
38954
|
...seg,
|
|
@@ -39034,10 +39068,10 @@ var MessageSegmentAccumulator = class {
|
|
|
39034
39068
|
const segment = {
|
|
39035
39069
|
type: "approval_request",
|
|
39036
39070
|
data: {
|
|
39037
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39038
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39071
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _916 => _916.command]) || "",
|
|
39072
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _917 => _917.explanation]),
|
|
39039
39073
|
requestId,
|
|
39040
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39074
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _918 => _918.approvalType]) || approvalType
|
|
39041
39075
|
},
|
|
39042
39076
|
status,
|
|
39043
39077
|
onApprove: this.callbacks.onApprove,
|
|
@@ -39227,7 +39261,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39227
39261
|
if (initialState.escalatedApprovals) {
|
|
39228
39262
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
39229
39263
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
39230
|
-
_optionalChain([callbacks, 'access',
|
|
39264
|
+
_optionalChain([callbacks, 'access', _919 => _919.onEscalatedApproval, 'optionalCall', _920 => _920(requestId, data)]);
|
|
39231
39265
|
});
|
|
39232
39266
|
}
|
|
39233
39267
|
hasEverStreamedRef.current = true;
|
|
@@ -39254,7 +39288,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39254
39288
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
39255
39289
|
if (isInStreamRef.current) {
|
|
39256
39290
|
isInStreamRef.current = false;
|
|
39257
|
-
_optionalChain([callbacks, 'access',
|
|
39291
|
+
_optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
|
|
39258
39292
|
accumulator.resetSegments();
|
|
39259
39293
|
}
|
|
39260
39294
|
return;
|
|
@@ -39263,32 +39297,32 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39263
39297
|
case "message_start":
|
|
39264
39298
|
isInStreamRef.current = true;
|
|
39265
39299
|
hasEverStreamedRef.current = true;
|
|
39266
|
-
_optionalChain([callbacks, 'access',
|
|
39300
|
+
_optionalChain([callbacks, 'access', _923 => _923.onStreamStart, 'optionalCall', _924 => _924()]);
|
|
39267
39301
|
accumulator.resetSegments();
|
|
39268
39302
|
break;
|
|
39269
39303
|
case "message_end":
|
|
39270
39304
|
isInStreamRef.current = false;
|
|
39271
|
-
_optionalChain([callbacks, 'access',
|
|
39305
|
+
_optionalChain([callbacks, 'access', _925 => _925.onStreamEnd, 'optionalCall', _926 => _926()]);
|
|
39272
39306
|
accumulator.resetSegments();
|
|
39273
39307
|
break;
|
|
39274
39308
|
case "metadata":
|
|
39275
|
-
_optionalChain([callbacks, 'access',
|
|
39309
|
+
_optionalChain([callbacks, 'access', _927 => _927.onMetadata, 'optionalCall', _928 => _928(action)]);
|
|
39276
39310
|
break;
|
|
39277
39311
|
case "text": {
|
|
39278
39312
|
const segments = accumulator.appendText(action.text);
|
|
39279
39313
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39280
|
-
_optionalChain([callbacks, 'access',
|
|
39314
|
+
_optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
|
|
39281
39315
|
} else {
|
|
39282
|
-
_optionalChain([callbacks, 'access',
|
|
39316
|
+
_optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "text", text: action.text }], { append: true })]);
|
|
39283
39317
|
}
|
|
39284
39318
|
break;
|
|
39285
39319
|
}
|
|
39286
39320
|
case "thinking": {
|
|
39287
39321
|
const segments = accumulator.appendThinking(action.text);
|
|
39288
39322
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39289
|
-
_optionalChain([callbacks, 'access',
|
|
39323
|
+
_optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
|
|
39290
39324
|
} else {
|
|
39291
|
-
_optionalChain([callbacks, 'access',
|
|
39325
|
+
_optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936([{ type: "thinking", text: action.text }], { append: true })]);
|
|
39292
39326
|
}
|
|
39293
39327
|
break;
|
|
39294
39328
|
}
|
|
@@ -39298,7 +39332,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39298
39332
|
break;
|
|
39299
39333
|
}
|
|
39300
39334
|
const segments = accumulator.addToolExecution(action.segment);
|
|
39301
|
-
_optionalChain([callbacks, 'access',
|
|
39335
|
+
_optionalChain([callbacks, 'access', _937 => _937.onSegmentsUpdate, 'optionalCall', _938 => _938(segments)]);
|
|
39302
39336
|
break;
|
|
39303
39337
|
}
|
|
39304
39338
|
case "approval_request": {
|
|
@@ -39312,10 +39346,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39312
39346
|
approvalType,
|
|
39313
39347
|
status
|
|
39314
39348
|
);
|
|
39315
|
-
_optionalChain([callbacks, 'access',
|
|
39349
|
+
_optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments)]);
|
|
39316
39350
|
} else {
|
|
39317
39351
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
39318
|
-
_optionalChain([callbacks, 'access',
|
|
39352
|
+
_optionalChain([callbacks, 'access', _941 => _941.onEscalatedApproval, 'optionalCall', _942 => _942(requestId, { command, explanation, approvalType })]);
|
|
39319
39353
|
}
|
|
39320
39354
|
break;
|
|
39321
39355
|
}
|
|
@@ -39327,20 +39361,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39327
39361
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
39328
39362
|
pendingEscalatedRef.current.set(requestId, {
|
|
39329
39363
|
command: summary,
|
|
39330
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39364
|
+
explanation: _optionalChain([required, 'optionalAccess', _943 => _943.toolExplanation]),
|
|
39331
39365
|
approvalType,
|
|
39332
39366
|
toolCalls
|
|
39333
39367
|
});
|
|
39334
|
-
_optionalChain([callbacks, 'access',
|
|
39368
|
+
_optionalChain([callbacks, 'access', _944 => _944.onEscalatedApproval, 'optionalCall', _945 => _945(requestId, {
|
|
39335
39369
|
command: summary,
|
|
39336
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39370
|
+
explanation: _optionalChain([required, 'optionalAccess', _946 => _946.toolExplanation]),
|
|
39337
39371
|
approvalType
|
|
39338
39372
|
})]);
|
|
39339
39373
|
break;
|
|
39340
39374
|
}
|
|
39341
39375
|
if (batchApprovalsEnabled) {
|
|
39342
39376
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
39343
|
-
_optionalChain([callbacks, 'access',
|
|
39377
|
+
_optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments2)]);
|
|
39344
39378
|
break;
|
|
39345
39379
|
}
|
|
39346
39380
|
let segments = accumulator.getSegments();
|
|
@@ -39354,7 +39388,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39354
39388
|
status
|
|
39355
39389
|
);
|
|
39356
39390
|
}
|
|
39357
|
-
_optionalChain([callbacks, 'access',
|
|
39391
|
+
_optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
|
|
39358
39392
|
break;
|
|
39359
39393
|
}
|
|
39360
39394
|
case "approval_result": {
|
|
@@ -39363,7 +39397,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39363
39397
|
const status = approved ? "approved" : "rejected";
|
|
39364
39398
|
if (escalatedData) {
|
|
39365
39399
|
pendingEscalatedRef.current.delete(requestId);
|
|
39366
|
-
_optionalChain([callbacks, 'access',
|
|
39400
|
+
_optionalChain([callbacks, 'access', _951 => _951.onEscalatedApprovalResult, 'optionalCall', _952 => _952(requestId, approved, {
|
|
39367
39401
|
command: escalatedData.command,
|
|
39368
39402
|
explanation: escalatedData.explanation,
|
|
39369
39403
|
approvalType: escalatedData.approvalType
|
|
@@ -39376,7 +39410,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39376
39410
|
escalatedData.toolCalls,
|
|
39377
39411
|
status
|
|
39378
39412
|
);
|
|
39379
|
-
_optionalChain([callbacks, 'access',
|
|
39413
|
+
_optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
|
|
39380
39414
|
} else {
|
|
39381
39415
|
let segments = accumulator.getSegments();
|
|
39382
39416
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -39389,7 +39423,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39389
39423
|
status
|
|
39390
39424
|
);
|
|
39391
39425
|
}
|
|
39392
|
-
_optionalChain([callbacks, 'access',
|
|
39426
|
+
_optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(segments)]);
|
|
39393
39427
|
}
|
|
39394
39428
|
} else {
|
|
39395
39429
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -39399,37 +39433,37 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39399
39433
|
escalatedData.approvalType,
|
|
39400
39434
|
status
|
|
39401
39435
|
);
|
|
39402
|
-
_optionalChain([callbacks, 'access',
|
|
39436
|
+
_optionalChain([callbacks, 'access', _957 => _957.onSegmentsUpdate, 'optionalCall', _958 => _958(segments)]);
|
|
39403
39437
|
}
|
|
39404
39438
|
} else {
|
|
39405
39439
|
accumulator.updateApprovalStatus(requestId, status);
|
|
39406
39440
|
if (!callbacks.onApprovalResolved) {
|
|
39407
|
-
_optionalChain([callbacks, 'access',
|
|
39441
|
+
_optionalChain([callbacks, 'access', _959 => _959.onSegmentsUpdate, 'optionalCall', _960 => _960(accumulator.getSegments())]);
|
|
39408
39442
|
}
|
|
39409
39443
|
}
|
|
39410
|
-
_optionalChain([callbacks, 'access',
|
|
39444
|
+
_optionalChain([callbacks, 'access', _961 => _961.onApprovalResolved, 'optionalCall', _962 => _962(requestId, status, approvalType)]);
|
|
39411
39445
|
break;
|
|
39412
39446
|
}
|
|
39413
39447
|
case "error": {
|
|
39414
39448
|
let message2;
|
|
39415
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
39449
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _963 => _963.details])) {
|
|
39416
39450
|
try {
|
|
39417
|
-
message2 = _optionalChain([JSON, 'access',
|
|
39451
|
+
message2 = _optionalChain([JSON, 'access', _964 => _964.parse, 'call', _965 => _965(action.details), 'optionalAccess', _966 => _966.error, 'optionalAccess', _967 => _967.message]);
|
|
39418
39452
|
} catch (e43) {
|
|
39419
39453
|
message2 = action.details;
|
|
39420
39454
|
}
|
|
39421
39455
|
}
|
|
39422
39456
|
const segments = accumulator.addError(action.error, message2);
|
|
39423
|
-
_optionalChain([callbacks, 'access',
|
|
39424
|
-
_optionalChain([callbacks, 'access',
|
|
39457
|
+
_optionalChain([callbacks, 'access', _968 => _968.onSegmentsUpdate, 'optionalCall', _969 => _969(segments)]);
|
|
39458
|
+
_optionalChain([callbacks, 'access', _970 => _970.onError, 'optionalCall', _971 => _971(action.error, message2)]);
|
|
39425
39459
|
break;
|
|
39426
39460
|
}
|
|
39427
39461
|
case "system": {
|
|
39428
|
-
_optionalChain([callbacks, 'access',
|
|
39462
|
+
_optionalChain([callbacks, 'access', _972 => _972.onSystemMessage, 'optionalCall', _973 => _973(action.text)]);
|
|
39429
39463
|
break;
|
|
39430
39464
|
}
|
|
39431
39465
|
case "direct_message": {
|
|
39432
|
-
_optionalChain([callbacks, 'access',
|
|
39466
|
+
_optionalChain([callbacks, 'access', _974 => _974.onDirectMessage, 'optionalCall', _975 => _975(action.text, {
|
|
39433
39467
|
ownerType: action.ownerType,
|
|
39434
39468
|
displayName: action.displayName,
|
|
39435
39469
|
userId: action.userId
|
|
@@ -39437,29 +39471,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39437
39471
|
break;
|
|
39438
39472
|
}
|
|
39439
39473
|
case "message_request":
|
|
39440
|
-
_optionalChain([callbacks, 'access',
|
|
39474
|
+
_optionalChain([callbacks, 'access', _976 => _976.onUserMessage, 'optionalCall', _977 => _977(action.text, {
|
|
39441
39475
|
ownerType: action.ownerType,
|
|
39442
39476
|
displayName: action.displayName,
|
|
39443
39477
|
userId: action.userId
|
|
39444
39478
|
})]);
|
|
39445
39479
|
break;
|
|
39446
39480
|
case "token_usage":
|
|
39447
|
-
_optionalChain([callbacks, 'access',
|
|
39481
|
+
_optionalChain([callbacks, 'access', _978 => _978.onTokenUsage, 'optionalCall', _979 => _979(action.data)]);
|
|
39448
39482
|
break;
|
|
39449
39483
|
case "context_compaction_start": {
|
|
39450
39484
|
const standalone = !isInStreamRef.current;
|
|
39451
39485
|
const segments = accumulator.addContextCompaction();
|
|
39452
|
-
_optionalChain([callbacks, 'access',
|
|
39486
|
+
_optionalChain([callbacks, 'access', _980 => _980.onSegmentsUpdate, 'optionalCall', _981 => _981(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39453
39487
|
break;
|
|
39454
39488
|
}
|
|
39455
39489
|
case "context_compaction_end": {
|
|
39456
39490
|
const standalone = !isInStreamRef.current;
|
|
39457
39491
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
39458
|
-
_optionalChain([callbacks, 'access',
|
|
39492
|
+
_optionalChain([callbacks, 'access', _982 => _982.onSegmentsUpdate, 'optionalCall', _983 => _983(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39459
39493
|
break;
|
|
39460
39494
|
}
|
|
39461
39495
|
case "dialog_closed":
|
|
39462
|
-
_optionalChain([callbacks, 'access',
|
|
39496
|
+
_optionalChain([callbacks, 'access', _984 => _984.onDialogClosed, 'optionalCall', _985 => _985()]);
|
|
39463
39497
|
break;
|
|
39464
39498
|
default:
|
|
39465
39499
|
break;
|
|
@@ -39521,7 +39555,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
39521
39555
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
39522
39556
|
if (!cancelled) setCommands(next);
|
|
39523
39557
|
} catch (err) {
|
|
39524
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
39558
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _986 => _986.name]) !== "AbortError") {
|
|
39525
39559
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
39526
39560
|
}
|
|
39527
39561
|
} finally {
|
|
@@ -39540,7 +39574,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
39540
39574
|
const query = _reactquery.useQuery.call(void 0, {
|
|
39541
39575
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
39542
39576
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
39543
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
39577
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _987 => _987.enabled]), () => ( true)),
|
|
39544
39578
|
staleTime: Infinity,
|
|
39545
39579
|
gcTime: Infinity
|
|
39546
39580
|
});
|
|
@@ -39561,7 +39595,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
39561
39595
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
39562
39596
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
39563
39597
|
return new Promise((resolve, reject) => {
|
|
39564
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
39598
|
+
if (_optionalChain([signal, 'optionalAccess', _988 => _988.aborted])) {
|
|
39565
39599
|
reject(new Error("Upload cancelled"));
|
|
39566
39600
|
return;
|
|
39567
39601
|
}
|
|
@@ -39575,7 +39609,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39575
39609
|
xhr.removeEventListener("error", handleError);
|
|
39576
39610
|
xhr.removeEventListener("abort", handleAbort);
|
|
39577
39611
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
39578
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39612
|
+
_optionalChain([signal, 'optionalAccess', _989 => _989.removeEventListener, 'call', _990 => _990("abort", handleSignalAbort)]);
|
|
39579
39613
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
39580
39614
|
};
|
|
39581
39615
|
const handleProgress = (event) => {
|
|
@@ -39611,7 +39645,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39611
39645
|
const handleSignalAbort = () => {
|
|
39612
39646
|
xhr.abort();
|
|
39613
39647
|
};
|
|
39614
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39648
|
+
_optionalChain([signal, 'optionalAccess', _991 => _991.addEventListener, 'call', _992 => _992("abort", handleSignalAbort, { once: true })]);
|
|
39615
39649
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
39616
39650
|
xhr.addEventListener("load", handleLoad);
|
|
39617
39651
|
xhr.addEventListener("error", handleError);
|
|
@@ -39655,12 +39689,12 @@ function useChatAttachments() {
|
|
|
39655
39689
|
try {
|
|
39656
39690
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
39657
39691
|
} catch (err) {
|
|
39658
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39692
|
+
if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
|
|
39659
39693
|
throw new Error(
|
|
39660
39694
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
39661
39695
|
);
|
|
39662
39696
|
}
|
|
39663
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39697
|
+
if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
|
|
39664
39698
|
if (!sniffed) {
|
|
39665
39699
|
throw new Error("Unrecognized file format");
|
|
39666
39700
|
}
|
|
@@ -39674,7 +39708,7 @@ function useChatAttachments() {
|
|
|
39674
39708
|
const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
|
|
39675
39709
|
method: "POST",
|
|
39676
39710
|
headers: { "Content-Type": "application/json" },
|
|
39677
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
39711
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _997 => _997.signal]),
|
|
39678
39712
|
body: JSON.stringify({
|
|
39679
39713
|
fileName: att.file.name,
|
|
39680
39714
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -39700,9 +39734,9 @@ function useChatAttachments() {
|
|
|
39700
39734
|
(pct) => {
|
|
39701
39735
|
updateOne(att.id, { progress: pct });
|
|
39702
39736
|
},
|
|
39703
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
39737
|
+
_optionalChain([ctrl, 'optionalAccess', _998 => _998.signal])
|
|
39704
39738
|
);
|
|
39705
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39739
|
+
if (_optionalChain([ctrl, 'optionalAccess', _999 => _999.signal, 'access', _1000 => _1000.aborted])) return;
|
|
39706
39740
|
updateOne(att.id, {
|
|
39707
39741
|
status: "ready",
|
|
39708
39742
|
progress: 100,
|
|
@@ -39710,7 +39744,7 @@ function useChatAttachments() {
|
|
|
39710
39744
|
viewToken: mintData.viewToken
|
|
39711
39745
|
});
|
|
39712
39746
|
} catch (err) {
|
|
39713
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39747
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1001 => _1001.signal, 'access', _1002 => _1002.aborted])) return;
|
|
39714
39748
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
39715
39749
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
39716
39750
|
} finally {
|
|
@@ -39861,7 +39895,7 @@ var ANON_DEFAULTS = {
|
|
|
39861
39895
|
function useResolveChatIdentity(enabled) {
|
|
39862
39896
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
39863
39897
|
const url = runtime.endpoints.identityUrl;
|
|
39864
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call',
|
|
39898
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _1003 => _1003(), 'optionalAccess', _1004 => _1004.email]), () => ( null));
|
|
39865
39899
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
39866
39900
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
39867
39901
|
_react.useEffect.call(void 0, () => {
|
|
@@ -39949,7 +39983,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
39949
39983
|
yield chunk;
|
|
39950
39984
|
}
|
|
39951
39985
|
} catch (err) {
|
|
39952
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
39986
|
+
if (_optionalChain([err, 'optionalAccess', _1005 => _1005.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
39953
39987
|
return;
|
|
39954
39988
|
}
|
|
39955
39989
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -40000,7 +40034,7 @@ function useChat({
|
|
|
40000
40034
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
40001
40035
|
onMessagesChangeRef.current = onMessagesChange;
|
|
40002
40036
|
_react.useEffect.call(void 0, () => {
|
|
40003
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
40037
|
+
_optionalChain([onMessagesChangeRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007(messages)]);
|
|
40004
40038
|
}, [messages]);
|
|
40005
40039
|
const {
|
|
40006
40040
|
streamMessage,
|
|
@@ -40037,7 +40071,7 @@ function useChat({
|
|
|
40037
40071
|
name: "You",
|
|
40038
40072
|
content: text,
|
|
40039
40073
|
timestamp: /* @__PURE__ */ new Date(),
|
|
40040
|
-
..._optionalChain([options, 'optionalAccess',
|
|
40074
|
+
..._optionalChain([options, 'optionalAccess', _1008 => _1008.hidden]) ? { hidden: true } : {}
|
|
40041
40075
|
};
|
|
40042
40076
|
addMessage(userMessage);
|
|
40043
40077
|
setIsTyping(true);
|
|
@@ -40099,7 +40133,7 @@ function useChat({
|
|
|
40099
40133
|
currentTextSegment = "";
|
|
40100
40134
|
}
|
|
40101
40135
|
const seg = segment;
|
|
40102
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
40136
|
+
const proposalId = _optionalChain([seg, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]);
|
|
40103
40137
|
const updateApprovalMessage = (transform) => {
|
|
40104
40138
|
setMessages((prev) => {
|
|
40105
40139
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -40108,7 +40142,7 @@ function useChat({
|
|
|
40108
40142
|
if (!Array.isArray(m.content)) continue;
|
|
40109
40143
|
const segments = m.content;
|
|
40110
40144
|
const hasMatch = segments.some(
|
|
40111
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40145
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === proposalId
|
|
40112
40146
|
);
|
|
40113
40147
|
if (!hasMatch) continue;
|
|
40114
40148
|
const next = [...prev];
|
|
@@ -40150,11 +40184,11 @@ function useChat({
|
|
|
40150
40184
|
if (!Array.isArray(m.content)) continue;
|
|
40151
40185
|
const segments = m.content;
|
|
40152
40186
|
const hasMatch = segments.some(
|
|
40153
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40187
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1013 => _1013.data, 'optionalAccess', _1014 => _1014.requestId]) === decision.proposalId
|
|
40154
40188
|
);
|
|
40155
40189
|
if (!hasMatch) continue;
|
|
40156
40190
|
const flipped = segments.map(
|
|
40157
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40191
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1015 => _1015.data, 'optionalAccess', _1016 => _1016.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
40158
40192
|
);
|
|
40159
40193
|
const next = [...prev];
|
|
40160
40194
|
next[i] = { ...m, content: flipped };
|
|
@@ -40316,8 +40350,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40316
40350
|
})),
|
|
40317
40351
|
{ role: "user", content: message2 }
|
|
40318
40352
|
];
|
|
40319
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
40320
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
40353
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1017 => _1017.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
40354
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1018 => _1018.approvalAction]) ? {
|
|
40321
40355
|
proposal_id: extra.approvalAction.proposalId,
|
|
40322
40356
|
action: extra.approvalAction.action,
|
|
40323
40357
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -40326,8 +40360,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40326
40360
|
}))
|
|
40327
40361
|
} : {
|
|
40328
40362
|
messages: apiMessages,
|
|
40329
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40330
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40363
|
+
..._optionalChain([extra, 'optionalAccess', _1019 => _1019.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
40364
|
+
..._optionalChain([extra, 'optionalAccess', _1020 => _1020.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
40331
40365
|
};
|
|
40332
40366
|
const response = await embedAuthedFetch(targetPath, {
|
|
40333
40367
|
method: "POST",
|
|
@@ -40337,7 +40371,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40337
40371
|
if (!response.ok) {
|
|
40338
40372
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
40339
40373
|
}
|
|
40340
|
-
const reader = _optionalChain([response, 'access',
|
|
40374
|
+
const reader = _optionalChain([response, 'access', _1021 => _1021.body, 'optionalAccess', _1022 => _1022.getReader, 'call', _1023 => _1023()]);
|
|
40341
40375
|
if (!reader) throw new Error("No response body");
|
|
40342
40376
|
const decoder = new TextDecoder();
|
|
40343
40377
|
let buffer = "";
|
|
@@ -40420,7 +40454,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40420
40454
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
40421
40455
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
40422
40456
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
40423
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
40457
|
+
if (_optionalChain([card, 'optionalAccess', _1024 => _1024.ref, 'optionalAccess', _1025 => _1025.id]) && _optionalChain([card, 'optionalAccess', _1026 => _1026.type])) {
|
|
40424
40458
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
40425
40459
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
40426
40460
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -40433,8 +40467,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40433
40467
|
willAutoContinue: meta.willAutoContinue === true,
|
|
40434
40468
|
...toolName ? { toolName } : {},
|
|
40435
40469
|
...result ? { result } : {},
|
|
40436
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40437
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40470
|
+
..._optionalChain([card, 'optionalAccess', _1027 => _1027.marker]) ? { marker: card.marker } : {},
|
|
40471
|
+
..._optionalChain([card, 'optionalAccess', _1028 => _1028.ref]) ? { cardRef: card.ref } : {},
|
|
40438
40472
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
40439
40473
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
40440
40474
|
};
|
|
@@ -40553,7 +40587,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
40553
40587
|
var chatStorageKey = (source) => {
|
|
40554
40588
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
40555
40589
|
const auth = getEmbedProxyAuth();
|
|
40556
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
40590
|
+
if (_optionalChain([auth, 'optionalAccess', _1029 => _1029.email])) {
|
|
40557
40591
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
40558
40592
|
}
|
|
40559
40593
|
return base;
|
|
@@ -40608,7 +40642,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40608
40642
|
const { active = true } = runtimeOptions;
|
|
40609
40643
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
40610
40644
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
40611
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
40645
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1030 => _1030.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
40612
40646
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
40613
40647
|
if (persistedRef.current === null) {
|
|
40614
40648
|
pruneStaleChatStorage(source);
|
|
@@ -40713,7 +40747,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40713
40747
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
40714
40748
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
40715
40749
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
40716
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
40750
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1031 => _1031.current, 'access', _1032 => _1032.get, 'call', _1033 => _1033(lookupIdx), 'optionalAccess', _1034 => _1034.scrollAnchor]), () => ( void 0));
|
|
40717
40751
|
}
|
|
40718
40752
|
return {
|
|
40719
40753
|
id: m.id,
|
|
@@ -40761,7 +40795,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40761
40795
|
);
|
|
40762
40796
|
return;
|
|
40763
40797
|
}
|
|
40764
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
40798
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1035 => _1035.metadata, 'optionalAccess', _1036 => _1036.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
40765
40799
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
40766
40800
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
40767
40801
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -40833,18 +40867,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40833
40867
|
clearMessages,
|
|
40834
40868
|
streamingPhase,
|
|
40835
40869
|
/** 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',
|
|
40870
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.provider]), () => ( null)),
|
|
40871
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.modelLabel]), () => ( null)),
|
|
40872
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.contextWindowMaxTokens]), () => ( null)),
|
|
40839
40873
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
40840
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40874
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1040 => _1040.inputTokens]), () => ( null)),
|
|
40841
40875
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
40842
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40876
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1041 => _1041.outputTokens]), () => ( null)),
|
|
40843
40877
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
40844
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40878
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1042 => _1042.cacheHitRatePct]), () => ( null)),
|
|
40845
40879
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
40846
40880
|
* token counts). null until the trailing usage frame lands. */
|
|
40847
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40881
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1043 => _1043.breakdown]), () => ( null)),
|
|
40848
40882
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
40849
40883
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
40850
40884
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -40902,15 +40936,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
40902
40936
|
|
|
40903
40937
|
// src/components/chat/utils/process-historical-messages.ts
|
|
40904
40938
|
function getOwnerDisplayName(owner) {
|
|
40905
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
40939
|
+
if (_optionalChain([owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
40906
40940
|
const { firstName, lastName } = owner.user;
|
|
40907
40941
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
40908
40942
|
if (name) return name;
|
|
40909
40943
|
}
|
|
40910
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
40944
|
+
return _optionalChain([owner, 'optionalAccess', _1045 => _1045.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
40911
40945
|
}
|
|
40912
40946
|
function getOwnerAvatar(owner) {
|
|
40913
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
40947
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1046 => _1046.user, 'optionalAccess', _1047 => _1047.image, 'optionalAccess', _1048 => _1048.imageUrl]), () => ( void 0));
|
|
40914
40948
|
}
|
|
40915
40949
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
40916
40950
|
messageDataArray.forEach((data) => {
|
|
@@ -40973,10 +41007,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
40973
41007
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
40974
41008
|
return;
|
|
40975
41009
|
}
|
|
40976
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
41010
|
+
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
41011
|
if (isUserMessage) {
|
|
40978
41012
|
flushAssistantMessage();
|
|
40979
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
41013
|
+
const userAuthorType = _optionalChain([msg, 'access', _1053 => _1053.owner, 'optionalAccess', _1054 => _1054.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
40980
41014
|
messageDataArray.forEach((data) => {
|
|
40981
41015
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
40982
41016
|
processedMessages.push({
|
|
@@ -41001,7 +41035,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
41001
41035
|
});
|
|
41002
41036
|
const nextMsg = messages[index + 1];
|
|
41003
41037
|
const isLastMessage = index === messages.length - 1;
|
|
41004
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
41038
|
+
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
41039
|
if (isLastMessage || nextIsFromUser) {
|
|
41006
41040
|
flushAssistantMessage();
|
|
41007
41041
|
}
|
|
@@ -41111,7 +41145,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41111
41145
|
}
|
|
41112
41146
|
}
|
|
41113
41147
|
} else {
|
|
41114
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41148
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1059 => _1059.set, 'call', _1060 => _1060(data.approvalRequestId, {
|
|
41115
41149
|
command: data.command || "",
|
|
41116
41150
|
explanation: data.explanation,
|
|
41117
41151
|
approvalType,
|
|
@@ -41124,8 +41158,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41124
41158
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
41125
41159
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
41126
41160
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
41127
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41128
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
41161
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1061 => _1061.get, 'call', _1062 => _1062(data.approvalRequestId)]);
|
|
41162
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1063 => _1063.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
41129
41163
|
if (batchApprovalsEnabled) {
|
|
41130
41164
|
accumulator.addApprovalBatch(
|
|
41131
41165
|
data.approvalRequestId,
|
|
@@ -41145,7 +41179,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41145
41179
|
);
|
|
41146
41180
|
}
|
|
41147
41181
|
}
|
|
41148
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41182
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1064 => _1064.delete, 'call', _1065 => _1065(data.approvalRequestId)]);
|
|
41149
41183
|
break;
|
|
41150
41184
|
}
|
|
41151
41185
|
if (escalatedData) {
|
|
@@ -41154,7 +41188,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41154
41188
|
explanation: escalatedData.explanation,
|
|
41155
41189
|
approvalType: escalatedData.approvalType
|
|
41156
41190
|
});
|
|
41157
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41191
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1066 => _1066.delete, 'call', _1067 => _1067(data.approvalRequestId)]);
|
|
41158
41192
|
}
|
|
41159
41193
|
const before = accumulator.getSegments();
|
|
41160
41194
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -41170,9 +41204,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
41170
41204
|
case MESSAGE_TYPE.ERROR:
|
|
41171
41205
|
if ("error" in data) {
|
|
41172
41206
|
let message2;
|
|
41173
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
41207
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1068 => _1068.details])) {
|
|
41174
41208
|
try {
|
|
41175
|
-
message2 = _optionalChain([JSON, 'access',
|
|
41209
|
+
message2 = _optionalChain([JSON, 'access', _1069 => _1069.parse, 'call', _1070 => _1070(data.details), 'optionalAccess', _1071 => _1071.error, 'optionalAccess', _1072 => _1072.message]);
|
|
41176
41210
|
} catch (e50) {
|
|
41177
41211
|
message2 = data.details;
|
|
41178
41212
|
}
|
|
@@ -41255,10 +41289,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
41255
41289
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
41256
41290
|
return;
|
|
41257
41291
|
}
|
|
41258
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
41292
|
+
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
41293
|
if (isUserMessage) {
|
|
41260
41294
|
flushAssistantMessage();
|
|
41261
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
41295
|
+
const userAuthorType = _optionalChain([msg, 'access', _1077 => _1077.owner, 'optionalAccess', _1078 => _1078.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
41262
41296
|
messageDataArray.forEach((data) => {
|
|
41263
41297
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
41264
41298
|
processedMessages.push({
|
|
@@ -41283,7 +41317,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
41283
41317
|
});
|
|
41284
41318
|
const nextMsg = messages[index + 1];
|
|
41285
41319
|
const isLastMessage = index === messages.length - 1;
|
|
41286
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
41320
|
+
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
41321
|
if (isLastMessage || nextIsFromUser) {
|
|
41288
41322
|
flushAssistantMessage();
|
|
41289
41323
|
}
|
|
@@ -41621,7 +41655,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41621
41655
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
41622
41656
|
const sendMessage = _react.useCallback.call(void 0,
|
|
41623
41657
|
async (text, sendOptions) => {
|
|
41624
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
41658
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1083 => _1083.hidden]), () => ( false));
|
|
41625
41659
|
setMessages((prev) => [
|
|
41626
41660
|
...prev,
|
|
41627
41661
|
{
|
|
@@ -41785,11 +41819,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41785
41819
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
41786
41820
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
41787
41821
|
// 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',
|
|
41822
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1084 => _1084.provider]), () => ( modelProvider)), () => ( null)),
|
|
41823
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1085 => _1085.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
41824
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1086 => _1086.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1087 => _1087.contextWindowMaxTokens]))), () => ( null)),
|
|
41825
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1088 => _1088.inputTokensSize]), () => ( null)),
|
|
41826
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1089 => _1089.outputTokensSize]), () => ( null)),
|
|
41793
41827
|
currentCacheHitRatePct: null,
|
|
41794
41828
|
currentUsageBreakdown: null,
|
|
41795
41829
|
// Dialog management
|
|
@@ -42037,7 +42071,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
42037
42071
|
break;
|
|
42038
42072
|
case "approval_batch": {
|
|
42039
42073
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
42040
|
-
(c) => _optionalChain([segment, 'access',
|
|
42074
|
+
(c) => _optionalChain([segment, 'access', _1090 => _1090.data, 'access', _1091 => _1091.executions, 'optionalAccess', _1092 => _1092[c.toolExecutionRequestId], 'optionalAccess', _1093 => _1093.status]) === "done"
|
|
42041
42075
|
);
|
|
42042
42076
|
if (segment.status !== "rejected" && !allDone) {
|
|
42043
42077
|
hasIncompleteState = true;
|
|
@@ -42061,110 +42095,6 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
42061
42095
|
};
|
|
42062
42096
|
}
|
|
42063
42097
|
|
|
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
42098
|
// src/components/chat/utils/chip-action-class.ts
|
|
42169
42099
|
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
42100
|
|
|
@@ -42349,7 +42279,7 @@ function useChatDialogManager({
|
|
|
42349
42279
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
42350
42280
|
if (restoreTarget) {
|
|
42351
42281
|
try {
|
|
42352
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
42282
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1094 => _1094(restoreTarget.id)]);
|
|
42353
42283
|
} catch (err) {
|
|
42354
42284
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
42355
42285
|
return;
|
|
@@ -42748,7 +42678,7 @@ function EmbeddableChatInner({
|
|
|
42748
42678
|
}),
|
|
42749
42679
|
[commandsUrl]
|
|
42750
42680
|
);
|
|
42751
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
42681
|
+
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
42682
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
42753
42683
|
if (modes) return modes;
|
|
42754
42684
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -42757,17 +42687,17 @@ function EmbeddableChatInner({
|
|
|
42757
42687
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
42758
42688
|
if (mingoState) {
|
|
42759
42689
|
return {
|
|
42760
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42761
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42762
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42763
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42690
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1104 => _1104.canRename]), () => ( false)),
|
|
42691
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1105 => _1105.canArchive]), () => ( false)),
|
|
42692
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1106 => _1106.fetchArchivedDialogs]),
|
|
42693
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1107 => _1107.unarchiveDialog])
|
|
42764
42694
|
};
|
|
42765
42695
|
}
|
|
42766
42696
|
return {
|
|
42767
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
42768
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
42769
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
42770
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
42697
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.renameDialog]),
|
|
42698
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.archiveDialog]),
|
|
42699
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1112 => _1112.mingo, 'optionalAccess', _1113 => _1113.fetchArchivedDialogs]),
|
|
42700
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1114 => _1114.mingo, 'optionalAccess', _1115 => _1115.unarchiveDialog])
|
|
42771
42701
|
};
|
|
42772
42702
|
}, [mingoState, mingoDialogCapabilities, effectiveModes]);
|
|
42773
42703
|
const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
|
|
@@ -42779,7 +42709,7 @@ function EmbeddableChatInner({
|
|
|
42779
42709
|
if (controlledActiveMode === void 0) {
|
|
42780
42710
|
setUncontrolledActiveMode(next);
|
|
42781
42711
|
}
|
|
42782
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
42712
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1116 => _1116(next)]);
|
|
42783
42713
|
},
|
|
42784
42714
|
[controlledActiveMode, onActiveModeChange]
|
|
42785
42715
|
);
|
|
@@ -42986,9 +42916,9 @@ function EmbeddableChatInner({
|
|
|
42986
42916
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
42987
42917
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
42988
42918
|
if (chatLoading) return void 0;
|
|
42989
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42919
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1117 => _1117.sources]);
|
|
42990
42920
|
if (!sources || sources.length === 0) return void 0;
|
|
42991
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42921
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1118 => _1118.content]) || "";
|
|
42992
42922
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
42993
42923
|
(m) => parseInt(m[1], 10)
|
|
42994
42924
|
);
|
|
@@ -43035,7 +42965,7 @@ function EmbeddableChatInner({
|
|
|
43035
42965
|
ChatPanelHeader,
|
|
43036
42966
|
{
|
|
43037
42967
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
43038
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
42968
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1119 => _1119.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
|
|
43039
42969
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
43040
42970
|
isArchivedView: isViewingArchived,
|
|
43041
42971
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -43140,10 +43070,10 @@ function EmbeddableChatInner({
|
|
|
43140
43070
|
subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
|
|
43141
43071
|
...guideWelcome,
|
|
43142
43072
|
onQuickAction: (action) => {
|
|
43143
|
-
_optionalChain([chatInputRef, 'access',
|
|
43073
|
+
_optionalChain([chatInputRef, 'access', _1120 => _1120.current, 'optionalAccess', _1121 => _1121.setValue, 'call', _1122 => _1122(
|
|
43144
43074
|
_nullishCoalesce(action.prompt, () => ( action.label))
|
|
43145
43075
|
)]);
|
|
43146
|
-
_optionalChain([chatInputRef, 'access',
|
|
43076
|
+
_optionalChain([chatInputRef, 'access', _1123 => _1123.current, 'optionalAccess', _1124 => _1124.focus, 'call', _1125 => _1125()]);
|
|
43147
43077
|
},
|
|
43148
43078
|
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
43079
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -44095,5 +44025,7 @@ function EmbeddableChatInner({
|
|
|
44095
44025
|
|
|
44096
44026
|
|
|
44097
44027
|
|
|
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
|
-
|
|
44028
|
+
|
|
44029
|
+
|
|
44030
|
+
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;
|
|
44031
|
+
//# sourceMappingURL=chunk-CZITXP77.cjs.map
|