@flamingo-stack/openframe-frontend-core 0.0.249 → 0.0.250
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-PCXI7ZB2.js → chunk-D2BC3NZ2.js} +135 -30
- package/dist/chunk-D2BC3NZ2.js.map +1 -0
- package/dist/{chunk-5ZVPKTXM.js → chunk-DZJ53RX6.js} +2 -2
- package/dist/{chunk-4EED3YEI.cjs → chunk-NCXHTQH2.cjs} +663 -558
- package/dist/chunk-NCXHTQH2.cjs.map +1 -0
- package/dist/{chunk-3DZ7QYNA.cjs → chunk-PDKBCCCD.cjs} +11 -11
- package/dist/{chunk-3DZ7QYNA.cjs.map → chunk-PDKBCCCD.cjs.map} +1 -1
- package/dist/{chunk-LHZYI23D.cjs → chunk-PDYT7T6K.cjs} +32 -29
- package/dist/chunk-PDYT7T6K.cjs.map +1 -0
- package/dist/{chunk-PVAYXHYF.js → chunk-PSG7H4KG.js} +2 -2
- package/dist/{chunk-VAKBNCV6.js → chunk-SGEO3W3F.js} +6 -3
- package/dist/chunk-SGEO3W3F.js.map +1 -0
- package/dist/{chunk-3VTHSACO.cjs → chunk-UMH4RR2F.cjs} +25 -25
- package/dist/{chunk-3VTHSACO.cjs.map → chunk-UMH4RR2F.cjs.map} +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +12 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +11 -1
- package/dist/components/chat/utils/history-merge.d.ts +92 -0
- package/dist/components/chat/utils/history-merge.d.ts.map +1 -0
- package/dist/components/chat/utils/index.d.ts +1 -0
- package/dist/components/chat/utils/index.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
- package/dist/components/index.cjs +59 -49
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +13 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +55 -55
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +12 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +11 -1
- package/dist/index.cjs +12 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +11 -1
- package/package.json +1 -1
- package/src/components/chat/__tests__/chat-message-list.test.tsx +92 -0
- package/src/components/chat/chat-message-list.tsx +74 -49
- package/src/components/chat/utils/__tests__/history-merge.test.ts +339 -0
- package/src/components/chat/utils/history-merge.ts +255 -0
- package/src/components/chat/utils/index.ts +12 -0
- package/src/components/features/policy-configuration-panel.tsx +1 -0
- package/src/components/related-content/related-content-section.tsx +6 -2
- package/dist/chunk-4EED3YEI.cjs.map +0 -1
- package/dist/chunk-LHZYI23D.cjs.map +0 -1
- package/dist/chunk-PCXI7ZB2.js.map +0 -1
- package/dist/chunk-VAKBNCV6.js.map +0 -1
- /package/dist/{chunk-5ZVPKTXM.js.map → chunk-DZJ53RX6.js.map} +0 -0
- /package/dist/{chunk-PVAYXHYF.js.map → chunk-PSG7H4KG.js.map} +0 -0
|
@@ -2924,12 +2924,15 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
2924
2924
|
onLoadMoreRef.current = onLoadMore;
|
|
2925
2925
|
const isFetchingRef = _react.useRef.call(void 0, isFetchingNextPage);
|
|
2926
2926
|
isFetchingRef.current = isFetchingNextPage;
|
|
2927
|
+
const dialogIdRef = _react.useRef.call(void 0, dialogId);
|
|
2928
|
+
dialogIdRef.current = dialogId;
|
|
2927
2929
|
const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
|
|
2928
|
-
const
|
|
2930
|
+
const loadOlderAnchorRef = _react.useRef.call(void 0, null);
|
|
2929
2931
|
_react.useEffect.call(void 0, () => {
|
|
2930
2932
|
if (!autoScroll) return;
|
|
2931
2933
|
const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
|
|
2932
2934
|
const prevCount = prevRenderRef.current.messageCount;
|
|
2935
|
+
const prevLastId = prevRenderRef.current.lastMessageId;
|
|
2933
2936
|
const newCount = messages.length;
|
|
2934
2937
|
const currentLastId = _optionalChain([messages, 'access', _36 => _36[messages.length - 1], 'optionalAccess', _37 => _37.id]);
|
|
2935
2938
|
prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
|
|
@@ -2942,7 +2945,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
2942
2945
|
return;
|
|
2943
2946
|
}
|
|
2944
2947
|
if (newCount > prevCount) {
|
|
2945
|
-
const
|
|
2948
|
+
const prevLastIdx = prevLastId ? messages.findIndex((m) => m.id === prevLastId) : -1;
|
|
2949
|
+
const newSlice = prevLastIdx >= 0 ? messages.slice(prevLastIdx + 1) : messages.slice(prevCount);
|
|
2946
2950
|
const hasNewUser = newSlice.some((m) => m.role === "user");
|
|
2947
2951
|
if (hasNewUser) {
|
|
2948
2952
|
void scrollToBottom({ animation: "instant", ignoreEscapes: true });
|
|
@@ -2966,34 +2970,17 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
2966
2970
|
}, [autoScroll, messages, dialogId, scrollToBottom, contentRef]);
|
|
2967
2971
|
_react.useLayoutEffect.call(void 0, () => {
|
|
2968
2972
|
const el = scrollRef.current;
|
|
2969
|
-
|
|
2970
|
-
|
|
2973
|
+
const anchor = loadOlderAnchorRef.current;
|
|
2974
|
+
if (!el || !anchor) return;
|
|
2975
|
+
if (anchor.dialogId !== dialogId) {
|
|
2976
|
+
loadOlderAnchorRef.current = null;
|
|
2971
2977
|
return;
|
|
2972
2978
|
}
|
|
2973
|
-
const
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
if (prevFirstId && prevHeight > 0) {
|
|
2979
|
-
const prevIdx = messages.findIndex((m) => m.id === prevFirstId);
|
|
2980
|
-
if (prevIdx > 0) {
|
|
2981
|
-
const addedHeight = el.scrollHeight - prevHeight;
|
|
2982
|
-
if (addedHeight > 0) el.scrollTop += addedHeight;
|
|
2983
|
-
}
|
|
2984
|
-
}
|
|
2985
|
-
prependRef.current = {
|
|
2986
|
-
firstMessageId: currentFirstId,
|
|
2987
|
-
firstMessageContent: currentFirstContent,
|
|
2988
|
-
scrollHeight: el.scrollHeight
|
|
2989
|
-
};
|
|
2990
|
-
return;
|
|
2991
|
-
}
|
|
2992
|
-
prependRef.current.scrollHeight = el.scrollHeight;
|
|
2993
|
-
if (currentFirstContent !== prependRef.current.firstMessageContent) {
|
|
2994
|
-
prependRef.current.firstMessageContent = currentFirstContent;
|
|
2995
|
-
}
|
|
2996
|
-
}, [messages, scrollRef]);
|
|
2979
|
+
const addedHeight = el.scrollHeight - anchor.scrollHeight;
|
|
2980
|
+
if (addedHeight <= 0) return;
|
|
2981
|
+
loadOlderAnchorRef.current = null;
|
|
2982
|
+
el.scrollTop = anchor.scrollTop + addedHeight;
|
|
2983
|
+
}, [messages, dialogId, scrollRef]);
|
|
2997
2984
|
const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
2998
2985
|
const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
2999
2986
|
const getRegisterMessageEl = (id) => {
|
|
@@ -3046,7 +3033,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
3046
3033
|
ro.observe(node);
|
|
3047
3034
|
const timer = setTimeout(() => {
|
|
3048
3035
|
ro.disconnect();
|
|
3049
|
-
if (_optionalChain([anchorWatcherRef, 'access',
|
|
3036
|
+
if (_optionalChain([anchorWatcherRef, 'access', _38 => _38.current, 'optionalAccess', _39 => _39.id]) === last.id) {
|
|
3050
3037
|
anchorWatcherRef.current = null;
|
|
3051
3038
|
}
|
|
3052
3039
|
}, 2e3);
|
|
@@ -3065,14 +3052,22 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
3065
3052
|
const entry = entries[0];
|
|
3066
3053
|
if (!entry) return;
|
|
3067
3054
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
3068
|
-
|
|
3055
|
+
const el = scrollRef.current;
|
|
3056
|
+
if (el) {
|
|
3057
|
+
loadOlderAnchorRef.current = {
|
|
3058
|
+
dialogId: dialogIdRef.current,
|
|
3059
|
+
scrollHeight: el.scrollHeight,
|
|
3060
|
+
scrollTop: el.scrollTop
|
|
3061
|
+
};
|
|
3062
|
+
}
|
|
3063
|
+
_optionalChain([onLoadMoreRef, 'access', _40 => _40.current, 'optionalCall', _41 => _41()]);
|
|
3069
3064
|
}
|
|
3070
3065
|
},
|
|
3071
3066
|
{ root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
|
|
3072
3067
|
);
|
|
3073
3068
|
observer.observe(sentinelElement);
|
|
3074
3069
|
return () => observer.disconnect();
|
|
3075
|
-
}, [hasNextPage, scrollRef]);
|
|
3070
|
+
}, [hasNextPage, isFetchingNextPage, scrollRef]);
|
|
3076
3071
|
_react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
|
|
3077
3072
|
if (isLoading) {
|
|
3078
3073
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -3093,8 +3088,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
3093
3088
|
contentRef(el);
|
|
3094
3089
|
};
|
|
3095
3090
|
const lastMessage = messages[messages.length - 1];
|
|
3096
|
-
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess',
|
|
3097
|
-
const lastSegment = _optionalChain([lastSegments, 'optionalAccess',
|
|
3091
|
+
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _42 => _42.content])) ? lastMessage.content : null;
|
|
3092
|
+
const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _43 => _43[lastSegments.length - 1]]);
|
|
3098
3093
|
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
3099
3094
|
const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
|
|
3100
3095
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
@@ -3193,9 +3188,9 @@ ChatMessageList.displayName = "ChatMessageList";
|
|
|
3193
3188
|
// src/utils/image-proxy.ts
|
|
3194
3189
|
function getProxiedImageUrl(imageUrl, options) {
|
|
3195
3190
|
if (!imageUrl) return null;
|
|
3196
|
-
const proxyPrefix = _optionalChain([options, 'optionalAccess',
|
|
3197
|
-
const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
3198
|
-
const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
3191
|
+
const proxyPrefix = _optionalChain([options, 'optionalAccess', _44 => _44.proxyPrefix]);
|
|
3192
|
+
const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _45 => _45.skipDomains]), () => ( []));
|
|
3193
|
+
const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _46 => _46.directHttps]), () => ( false));
|
|
3199
3194
|
if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
|
|
3200
3195
|
return imageUrl;
|
|
3201
3196
|
}
|
|
@@ -3361,7 +3356,7 @@ var ChatTicketItem = React6.forwardRef(
|
|
|
3361
3356
|
{
|
|
3362
3357
|
ref,
|
|
3363
3358
|
type: "button",
|
|
3364
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
3359
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _47 => _47(ticket.id)]),
|
|
3365
3360
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
3366
3361
|
"flex items-center gap-4 w-full h-20 px-4",
|
|
3367
3362
|
"bg-ods-card border-b border-ods-border",
|
|
@@ -3614,11 +3609,11 @@ function MingoChatHistoryRow({
|
|
|
3614
3609
|
{
|
|
3615
3610
|
role: "button",
|
|
3616
3611
|
tabIndex: 0,
|
|
3617
|
-
onClick: () => _optionalChain([onSelect, 'optionalCall',
|
|
3612
|
+
onClick: () => _optionalChain([onSelect, 'optionalCall', _48 => _48(dialog.id)]),
|
|
3618
3613
|
onKeyDown: (e) => {
|
|
3619
3614
|
if (e.key === "Enter" || e.key === " ") {
|
|
3620
3615
|
e.preventDefault();
|
|
3621
|
-
_optionalChain([onSelect, 'optionalCall',
|
|
3616
|
+
_optionalChain([onSelect, 'optionalCall', _49 => _49(dialog.id)]);
|
|
3622
3617
|
}
|
|
3623
3618
|
},
|
|
3624
3619
|
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",
|
|
@@ -3751,7 +3746,7 @@ function MingoChatHistory({
|
|
|
3751
3746
|
const io = new IntersectionObserver(
|
|
3752
3747
|
([entry]) => {
|
|
3753
3748
|
if (entry.isIntersecting && !isLoadingMoreRef.current) {
|
|
3754
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
3749
|
+
_optionalChain([onLoadMoreRef, 'access', _50 => _50.current, 'optionalCall', _51 => _51()]);
|
|
3755
3750
|
}
|
|
3756
3751
|
},
|
|
3757
3752
|
{ root, rootMargin: "120px", threshold: 0.1 }
|
|
@@ -4253,7 +4248,7 @@ function GuideWelcome({
|
|
|
4253
4248
|
"button",
|
|
4254
4249
|
{
|
|
4255
4250
|
type: "button",
|
|
4256
|
-
onClick: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
4251
|
+
onClick: () => _optionalChain([onQuickAction, 'optionalCall', _52 => _52(action)]),
|
|
4257
4252
|
className: "rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
|
|
4258
4253
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Tag, { variant: "outline", label: action.label })
|
|
4259
4254
|
},
|
|
@@ -4268,7 +4263,7 @@ function GuideWelcome({
|
|
|
4268
4263
|
items: overflowActions.map((action) => ({
|
|
4269
4264
|
id: action.id,
|
|
4270
4265
|
label: action.label,
|
|
4271
|
-
onClick: () => _optionalChain([onQuickAction, 'optionalCall',
|
|
4266
|
+
onClick: () => _optionalChain([onQuickAction, 'optionalCall', _53 => _53(action)])
|
|
4272
4267
|
}))
|
|
4273
4268
|
}],
|
|
4274
4269
|
customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4598,7 +4593,7 @@ function ChatDialogModals({
|
|
|
4598
4593
|
RenameChatModal,
|
|
4599
4594
|
{
|
|
4600
4595
|
isOpen: renameTarget != null,
|
|
4601
|
-
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess',
|
|
4596
|
+
initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _54 => _54.title]), () => ( "")),
|
|
4602
4597
|
onClose: () => setRenameTarget(null),
|
|
4603
4598
|
onSave: onConfirmRename
|
|
4604
4599
|
}
|
|
@@ -4859,7 +4854,7 @@ function ChatAttachmentAddButton({
|
|
|
4859
4854
|
const canAddMore = slotsAvailable > 0 && !disabled;
|
|
4860
4855
|
const handlePick = () => {
|
|
4861
4856
|
if (!canAddMore) return;
|
|
4862
|
-
_optionalChain([fileInputRef, 'access',
|
|
4857
|
+
_optionalChain([fileInputRef, 'access', _55 => _55.current, 'optionalAccess', _56 => _56.click, 'call', _57 => _57()]);
|
|
4863
4858
|
};
|
|
4864
4859
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
4865
4860
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -5397,8 +5392,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
5397
5392
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
5398
5393
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
5399
5394
|
const handleClick = (e) => {
|
|
5400
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
5401
|
-
_optionalChain([onClick, 'optionalCall',
|
|
5395
|
+
_optionalChain([onDialogSelect, 'optionalCall', _58 => _58(dialog.id)]);
|
|
5396
|
+
_optionalChain([onClick, 'optionalCall', _59 => _59(e)]);
|
|
5402
5397
|
};
|
|
5403
5398
|
const formatTimestamp2 = (timestamp) => {
|
|
5404
5399
|
if (!timestamp) return "";
|
|
@@ -5457,7 +5452,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
5457
5452
|
(entries) => {
|
|
5458
5453
|
const [entry] = entries;
|
|
5459
5454
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
5460
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
5455
|
+
_optionalChain([onLoadMoreRef, 'access', _60 => _60.current, 'optionalCall', _61 => _61()]);
|
|
5461
5456
|
}
|
|
5462
5457
|
},
|
|
5463
5458
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -5543,11 +5538,11 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
|
|
|
5543
5538
|
function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
|
|
5544
5539
|
const isNewTab = runtime ? _chunk6LK4VEXEcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
|
|
5545
5540
|
if (isNewTab) {
|
|
5546
|
-
if (_optionalChain([runtime, 'optionalAccess',
|
|
5541
|
+
if (_optionalChain([runtime, 'optionalAccess', _62 => _62.navigation, 'access', _63 => _63.openExternal])) runtime.navigation.openExternal(href);
|
|
5547
5542
|
else window.open(href, "_blank", _chunk6LK4VEXEcjs.NEW_TAB_FEATURES);
|
|
5548
5543
|
return;
|
|
5549
5544
|
}
|
|
5550
|
-
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
5545
|
+
const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _64 => _64.navigation, 'access', _65 => _65.navigate, 'optionalCall', _66 => _66({ href, path, targetPlatform })]), () => ( false));
|
|
5551
5546
|
if (!handled) {
|
|
5552
5547
|
const target = _chunk6LK4VEXEcjs.stripSameOriginToPath.call(void 0, href);
|
|
5553
5548
|
if (fallbackNavigate) fallbackNavigate(target);
|
|
@@ -5613,7 +5608,7 @@ function NavLinkAnchorViaRuntime({
|
|
|
5613
5608
|
path,
|
|
5614
5609
|
targetPlatform
|
|
5615
5610
|
}, router.push);
|
|
5616
|
-
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
5611
|
+
if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _67 => _67.closeChat])) panel.closeChat();
|
|
5617
5612
|
};
|
|
5618
5613
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5619
5614
|
"a",
|
|
@@ -5958,8 +5953,8 @@ function AdminContentCard({
|
|
|
5958
5953
|
/* @__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 }),
|
|
5959
5954
|
subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
|
|
5960
5955
|
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 }),
|
|
5961
|
-
(Number(_optionalChain([platforms, 'optionalAccess',
|
|
5962
|
-
_optionalChain([platforms, 'optionalAccess',
|
|
5956
|
+
(Number(_optionalChain([platforms, 'optionalAccess', _68 => _68.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
5957
|
+
_optionalChain([platforms, 'optionalAccess', _69 => _69.map, 'call', _70 => _70((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5963
5958
|
PlatformBadge,
|
|
5964
5959
|
{
|
|
5965
5960
|
platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
|
|
@@ -6111,7 +6106,7 @@ function ProductReleaseCard({
|
|
|
6111
6106
|
changelogCounts
|
|
6112
6107
|
}) {
|
|
6113
6108
|
if (size === "lg") {
|
|
6114
|
-
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess',
|
|
6109
|
+
const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _71 => _71.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _72 => _72.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _73 => _73.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _74 => _74.breaking]), () => ( 0)));
|
|
6115
6110
|
const valueCells = [
|
|
6116
6111
|
releaseType && releaseTypeBadgeColor ? {
|
|
6117
6112
|
value: releaseType.toUpperCase(),
|
|
@@ -6130,7 +6125,7 @@ function ProductReleaseCard({
|
|
|
6130
6125
|
uppercase: false
|
|
6131
6126
|
} : { value: "\u2014", label: "Released", uppercase: false }
|
|
6132
6127
|
];
|
|
6133
|
-
const effectiveAuthor = _optionalChain([author, 'optionalAccess',
|
|
6128
|
+
const effectiveAuthor = _optionalChain([author, 'optionalAccess', _75 => _75.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
|
|
6134
6129
|
const gridColsClass = "md:grid-cols-4";
|
|
6135
6130
|
const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
|
|
6136
6131
|
const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -6543,10 +6538,10 @@ function buildProductReleaseCardProps(item) {
|
|
|
6543
6538
|
job_title: release.author.job_title
|
|
6544
6539
|
} : void 0,
|
|
6545
6540
|
changelogCounts: {
|
|
6546
|
-
features: _nullishCoalesce(_optionalChain([release, 'access',
|
|
6547
|
-
fixes: _nullishCoalesce(_optionalChain([release, 'access',
|
|
6548
|
-
improvements: _nullishCoalesce(_optionalChain([release, 'access',
|
|
6549
|
-
breaking: _nullishCoalesce(_optionalChain([release, 'access',
|
|
6541
|
+
features: _nullishCoalesce(_optionalChain([release, 'access', _76 => _76.features_added, 'optionalAccess', _77 => _77.length]), () => ( 0)),
|
|
6542
|
+
fixes: _nullishCoalesce(_optionalChain([release, 'access', _78 => _78.bugs_fixed, 'optionalAccess', _79 => _79.length]), () => ( 0)),
|
|
6543
|
+
improvements: _nullishCoalesce(_optionalChain([release, 'access', _80 => _80.improvements, 'optionalAccess', _81 => _81.length]), () => ( 0)),
|
|
6544
|
+
breaking: _nullishCoalesce(_optionalChain([release, 'access', _82 => _82.breaking_changes, 'optionalAccess', _83 => _83.length]), () => ( 0))
|
|
6550
6545
|
}
|
|
6551
6546
|
};
|
|
6552
6547
|
}
|
|
@@ -6608,7 +6603,7 @@ function BlogCard({
|
|
|
6608
6603
|
const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
|
|
6609
6604
|
if (size === "sm") {
|
|
6610
6605
|
const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
|
|
6611
|
-
const firstCategory = _optionalChain([post, 'access',
|
|
6606
|
+
const firstCategory = _optionalChain([post, 'access', _84 => _84.categories, 'optionalAccess', _85 => _85.find, 'call', _86 => _86((c) => c && c.name), 'optionalAccess', _87 => _87.name]);
|
|
6612
6607
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
6613
6608
|
"a",
|
|
6614
6609
|
{
|
|
@@ -6814,14 +6809,14 @@ function CaseStudyCard({
|
|
|
6814
6809
|
"img",
|
|
6815
6810
|
{
|
|
6816
6811
|
src: coverImage,
|
|
6817
|
-
alt: `${_optionalChain([study, 'access',
|
|
6812
|
+
alt: `${_optionalChain([study, 'access', _88 => _88.msp, 'optionalAccess', _89 => _89.name]) || study.title} cover`,
|
|
6818
6813
|
className: "absolute inset-0 block w-full h-full object-contain",
|
|
6819
6814
|
onError: hideOnError
|
|
6820
6815
|
}
|
|
6821
6816
|
) : null }),
|
|
6822
6817
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
6823
6818
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE, children: study.title }) }),
|
|
6824
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access',
|
|
6819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _90 => _90.msp, 'optionalAccess', _91 => _91.name]), _optionalChain([study, 'access', _92 => _92.user, 'optionalAccess', _93 => _93.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
|
|
6825
6820
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUMMARY, children: study.summary || _chunk6LK4VEXEcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
6826
6821
|
] })
|
|
6827
6822
|
] });
|
|
@@ -6831,7 +6826,7 @@ function CaseStudyCard({
|
|
|
6831
6826
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
6832
6827
|
{
|
|
6833
6828
|
src: coverImage,
|
|
6834
|
-
alt: _optionalChain([study, 'access',
|
|
6829
|
+
alt: _optionalChain([study, 'access', _94 => _94.msp, 'optionalAccess', _95 => _95.name]) || study.title,
|
|
6835
6830
|
className: "w-full h-full object-cover",
|
|
6836
6831
|
sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
|
|
6837
6832
|
fill: true,
|
|
@@ -6842,18 +6837,18 @@ function CaseStudyCard({
|
|
|
6842
6837
|
/* @__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 }) }),
|
|
6843
6838
|
/* @__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: [
|
|
6844
6839
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
6845
|
-
_optionalChain([study, 'access',
|
|
6840
|
+
_optionalChain([study, 'access', _96 => _96.user, 'optionalAccess', _97 => _97.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6846
6841
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
6847
6842
|
{
|
|
6848
6843
|
src: study.user.avatar_url,
|
|
6849
|
-
alt: _optionalChain([study, 'access',
|
|
6844
|
+
alt: _optionalChain([study, 'access', _98 => _98.user, 'optionalAccess', _99 => _99.full_name]) || "User",
|
|
6850
6845
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
|
|
6851
6846
|
width: 48,
|
|
6852
6847
|
height: 48,
|
|
6853
6848
|
unoptimized: true
|
|
6854
6849
|
}
|
|
6855
|
-
) : /* @__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',
|
|
6856
|
-
_optionalChain([study, 'access',
|
|
6850
|
+
) : /* @__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', _100 => _100.user, 'optionalAccess', _101 => _101.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
6851
|
+
_optionalChain([study, 'access', _102 => _102.msp, 'optionalAccess', _103 => _103.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,
|
|
6857
6852
|
_chunkXL4V2PYGcjs.next_image_default,
|
|
6858
6853
|
{
|
|
6859
6854
|
src: study.msp.icon_url,
|
|
@@ -6867,13 +6862,13 @@ function CaseStudyCard({
|
|
|
6867
6862
|
] }),
|
|
6868
6863
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6869
6864
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
6870
|
-
_optionalChain([study, 'access',
|
|
6871
|
-
_optionalChain([study, 'access',
|
|
6865
|
+
_optionalChain([study, 'access', _104 => _104.user, 'optionalAccess', _105 => _105.full_name]) || "Anonymous",
|
|
6866
|
+
_optionalChain([study, 'access', _106 => _106.msp, 'optionalAccess', _107 => _107.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
6872
6867
|
" \u2022 ",
|
|
6873
6868
|
study.msp.name
|
|
6874
6869
|
] })
|
|
6875
6870
|
] }),
|
|
6876
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access',
|
|
6871
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _108 => _108.user, 'optionalAccess', _109 => _109.job_title]) || "\xA0" })
|
|
6877
6872
|
] })
|
|
6878
6873
|
] }) })
|
|
6879
6874
|
] }) });
|
|
@@ -6956,7 +6951,7 @@ function CustomerInterviewCard({
|
|
|
6956
6951
|
] }),
|
|
6957
6952
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
6958
6953
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE, children: interview.title }) }),
|
|
6959
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access',
|
|
6954
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _110 => _110.user, 'optionalAccess', _111 => _111.full_name]), _optionalChain([interview, 'access', _112 => _112.msp, 'optionalAccess', _113 => _113.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
|
|
6960
6955
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUMMARY, children: interview.video_summary || _chunk6LK4VEXEcjs.COMPACT_CARD_ROW_FILLER }) })
|
|
6961
6956
|
] })
|
|
6962
6957
|
] });
|
|
@@ -6978,15 +6973,15 @@ function CustomerInterviewCard({
|
|
|
6978
6973
|
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 }) }),
|
|
6979
6974
|
/* @__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: [
|
|
6980
6975
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
|
|
6981
|
-
_optionalChain([interview, 'access',
|
|
6976
|
+
_optionalChain([interview, 'access', _114 => _114.user, 'optionalAccess', _115 => _115.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
6982
6977
|
"img",
|
|
6983
6978
|
{
|
|
6984
6979
|
src: interview.user.avatar_url,
|
|
6985
|
-
alt: _optionalChain([interview, 'access',
|
|
6980
|
+
alt: _optionalChain([interview, 'access', _116 => _116.user, 'optionalAccess', _117 => _117.full_name]) || "Customer",
|
|
6986
6981
|
className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
|
|
6987
6982
|
}
|
|
6988
|
-
) : /* @__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',
|
|
6989
|
-
_optionalChain([interview, 'access',
|
|
6983
|
+
) : /* @__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', _118 => _118.user, 'optionalAccess', _119 => _119.full_name]) || "A").charAt(0).toUpperCase() }) }),
|
|
6984
|
+
_optionalChain([interview, 'access', _120 => _120.msp, 'optionalAccess', _121 => _121.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,
|
|
6990
6985
|
"img",
|
|
6991
6986
|
{
|
|
6992
6987
|
src: interview.msp.icon_url,
|
|
@@ -6997,13 +6992,13 @@ function CustomerInterviewCard({
|
|
|
6997
6992
|
] }),
|
|
6998
6993
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
6999
6994
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
|
|
7000
|
-
_optionalChain([interview, 'access',
|
|
7001
|
-
_optionalChain([interview, 'access',
|
|
6995
|
+
_optionalChain([interview, 'access', _122 => _122.user, 'optionalAccess', _123 => _123.full_name]) || "Anonymous",
|
|
6996
|
+
_optionalChain([interview, 'access', _124 => _124.msp, 'optionalAccess', _125 => _125.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
7002
6997
|
" \u2022 ",
|
|
7003
6998
|
interview.msp.name
|
|
7004
6999
|
] })
|
|
7005
7000
|
] }),
|
|
7006
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access',
|
|
7001
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _126 => _126.user, 'optionalAccess', _127 => _127.job_title]) || " " })
|
|
7007
7002
|
] })
|
|
7008
7003
|
] }) })
|
|
7009
7004
|
] }) });
|
|
@@ -7016,7 +7011,7 @@ function CustomerInterviewCard({
|
|
|
7016
7011
|
function formatInvestorUpdatePeriod(start, end, options) {
|
|
7017
7012
|
if (!start && !end) return "";
|
|
7018
7013
|
const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
|
|
7019
|
-
month: _optionalChain([options, 'optionalAccess',
|
|
7014
|
+
month: _optionalChain([options, 'optionalAccess', _128 => _128.monthFormat]) || "short",
|
|
7020
7015
|
year: "numeric"
|
|
7021
7016
|
});
|
|
7022
7017
|
const s = start ? fmt(start) : "?";
|
|
@@ -7106,7 +7101,7 @@ function InvestorUpdateCard({
|
|
|
7106
7101
|
imageUrl: update.featured_image,
|
|
7107
7102
|
placeholderUrl,
|
|
7108
7103
|
title: update.title || `Update #${update.update_number || "?"}`,
|
|
7109
|
-
summary: _optionalChain([update, 'access',
|
|
7104
|
+
summary: _optionalChain([update, 'access', _129 => _129.strategic_update, 'optionalAccess', _130 => _130.slice, 'call', _131 => _131(0, 120)]) || _optionalChain([update, 'access', _132 => _132.content, 'optionalAccess', _133 => _133.slice, 'call', _134 => _134(0, 120)]) || "No description",
|
|
7110
7105
|
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: [
|
|
7111
7106
|
"#",
|
|
7112
7107
|
update.update_number
|
|
@@ -7378,7 +7373,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7378
7373
|
if (!isInputControlled) {
|
|
7379
7374
|
setInternalInputValue(value);
|
|
7380
7375
|
}
|
|
7381
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
7376
|
+
_optionalChain([onInputChange, 'optionalCall', _135 => _135(value, reason)]);
|
|
7382
7377
|
};
|
|
7383
7378
|
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
7384
7379
|
const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
|
|
@@ -7406,8 +7401,8 @@ function AutocompleteInner(props, ref) {
|
|
|
7406
7401
|
if (!showHiddenTags) return;
|
|
7407
7402
|
const handleClick = (e) => {
|
|
7408
7403
|
const target = e.target;
|
|
7409
|
-
const inButton = _optionalChain([hiddenTagsRef, 'access',
|
|
7410
|
-
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access',
|
|
7404
|
+
const inButton = _optionalChain([hiddenTagsRef, 'access', _136 => _136.current, 'optionalAccess', _137 => _137.contains, 'call', _138 => _138(target)]);
|
|
7405
|
+
const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _139 => _139.current, 'optionalAccess', _140 => _140.contains, 'call', _141 => _141(target)]);
|
|
7411
7406
|
if (!inButton && !inPopup) {
|
|
7412
7407
|
setShowHiddenTags(false);
|
|
7413
7408
|
}
|
|
@@ -7451,7 +7446,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7451
7446
|
}
|
|
7452
7447
|
updateInputValue("", "reset");
|
|
7453
7448
|
setIsOpen(false);
|
|
7454
|
-
_optionalChain([onCreateOption, 'optionalCall',
|
|
7449
|
+
_optionalChain([onCreateOption, 'optionalCall', _142 => _142(trimmed)]);
|
|
7455
7450
|
};
|
|
7456
7451
|
_react.useEffect.call(void 0, () => {
|
|
7457
7452
|
setHighlightedIndex(-1);
|
|
@@ -7475,7 +7470,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7475
7470
|
props.onChange([...valueArray, option.value]);
|
|
7476
7471
|
}
|
|
7477
7472
|
updateInputValue("", "reset");
|
|
7478
|
-
_optionalChain([autoLimitTags, 'access',
|
|
7473
|
+
_optionalChain([autoLimitTags, 'access', _143 => _143.inputRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.focus, 'call', _146 => _146()]);
|
|
7479
7474
|
} else {
|
|
7480
7475
|
;
|
|
7481
7476
|
props.onChange(option.value);
|
|
@@ -7496,7 +7491,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7496
7491
|
if (!isInputControlled) {
|
|
7497
7492
|
setInternalInputValue("");
|
|
7498
7493
|
}
|
|
7499
|
-
_optionalChain([onInputChange, 'optionalCall',
|
|
7494
|
+
_optionalChain([onInputChange, 'optionalCall', _147 => _147("", "clear")]);
|
|
7500
7495
|
setIsOpen(false);
|
|
7501
7496
|
};
|
|
7502
7497
|
const handleKeyDown = (e) => {
|
|
@@ -7570,7 +7565,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7570
7565
|
),
|
|
7571
7566
|
onClick: () => {
|
|
7572
7567
|
if (!disabled) {
|
|
7573
|
-
_optionalChain([autoLimitTags, 'access',
|
|
7568
|
+
_optionalChain([autoLimitTags, 'access', _148 => _148.inputRef, 'access', _149 => _149.current, 'optionalAccess', _150 => _150.focus, 'call', _151 => _151()]);
|
|
7574
7569
|
openDropdown();
|
|
7575
7570
|
}
|
|
7576
7571
|
},
|
|
@@ -7686,10 +7681,10 @@ function AutocompleteInner(props, ref) {
|
|
|
7686
7681
|
align: "start",
|
|
7687
7682
|
onOpenAutoFocus: (e) => {
|
|
7688
7683
|
e.preventDefault();
|
|
7689
|
-
_optionalChain([autoLimitTags, 'access',
|
|
7684
|
+
_optionalChain([autoLimitTags, 'access', _152 => _152.inputRef, 'access', _153 => _153.current, 'optionalAccess', _154 => _154.focus, 'call', _155 => _155()]);
|
|
7690
7685
|
},
|
|
7691
7686
|
onInteractOutside: (e) => {
|
|
7692
|
-
if (_optionalChain([containerRef, 'access',
|
|
7687
|
+
if (_optionalChain([containerRef, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.contains, 'call', _158 => _158(e.target)])) {
|
|
7693
7688
|
e.preventDefault();
|
|
7694
7689
|
}
|
|
7695
7690
|
},
|
|
@@ -7761,7 +7756,7 @@ function AutocompleteInner(props, ref) {
|
|
|
7761
7756
|
items: hiddenTags,
|
|
7762
7757
|
disabled,
|
|
7763
7758
|
style: {
|
|
7764
|
-
left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
7759
|
+
left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _159 => _159.current, 'optionalAccess', _160 => _160.getBoundingClientRect, 'call', _161 => _161(), 'access', _162 => _162.left]), () => ( 0))) : 0
|
|
7765
7760
|
},
|
|
7766
7761
|
onRemove: (value) => {
|
|
7767
7762
|
const newValue = valueArray.filter((v) => v !== value);
|
|
@@ -8084,7 +8079,7 @@ var defaultFormatDate = (date) => {
|
|
|
8084
8079
|
});
|
|
8085
8080
|
};
|
|
8086
8081
|
var formatDateRange = (range, formatFn) => {
|
|
8087
|
-
if (!_optionalChain([range, 'optionalAccess',
|
|
8082
|
+
if (!_optionalChain([range, 'optionalAccess', _163 => _163.from])) return "";
|
|
8088
8083
|
if (!range.to) return formatFn(range.from);
|
|
8089
8084
|
return `${formatFn(range.from)} - ${formatFn(range.to)}`;
|
|
8090
8085
|
};
|
|
@@ -8112,7 +8107,7 @@ function DatePickerCalendar({
|
|
|
8112
8107
|
}) {
|
|
8113
8108
|
const today = /* @__PURE__ */ new Date();
|
|
8114
8109
|
const rangeSelected = selected;
|
|
8115
|
-
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess',
|
|
8110
|
+
const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _164 => _164.from]) && _optionalChain([rangeSelected, 'optionalAccess', _165 => _165.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
|
|
8116
8111
|
const classNames = {
|
|
8117
8112
|
root: "p-4 date-picker-calendar",
|
|
8118
8113
|
months: "flex gap-8",
|
|
@@ -8163,7 +8158,7 @@ function DatePickerCalendar({
|
|
|
8163
8158
|
range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
|
|
8164
8159
|
};
|
|
8165
8160
|
const [month, setMonth] = React26.useState(
|
|
8166
|
-
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess',
|
|
8161
|
+
mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _166 => _166.from]) || today
|
|
8167
8162
|
);
|
|
8168
8163
|
const handlePreviousMonth = () => {
|
|
8169
8164
|
setMonth((prev) => {
|
|
@@ -8382,14 +8377,14 @@ function DatePicker(props) {
|
|
|
8382
8377
|
}, [props.mode, props.value, formatDate2]);
|
|
8383
8378
|
const handleSelect = (value) => {
|
|
8384
8379
|
if (props.mode === "single") {
|
|
8385
|
-
_optionalChain([props, 'access',
|
|
8380
|
+
_optionalChain([props, 'access', _167 => _167.onChange, 'optionalCall', _168 => _168(value)]);
|
|
8386
8381
|
if (value) {
|
|
8387
8382
|
setOpen(false);
|
|
8388
8383
|
}
|
|
8389
8384
|
} else {
|
|
8390
8385
|
const range = value;
|
|
8391
|
-
_optionalChain([props, 'access',
|
|
8392
|
-
if (_optionalChain([range, 'optionalAccess',
|
|
8386
|
+
_optionalChain([props, 'access', _169 => _169.onChange, 'optionalCall', _170 => _170(range)]);
|
|
8387
|
+
if (_optionalChain([range, 'optionalAccess', _171 => _171.from]) && _optionalChain([range, 'optionalAccess', _172 => _172.to]) && range.from.getTime() !== range.to.getTime()) {
|
|
8393
8388
|
setOpen(false);
|
|
8394
8389
|
}
|
|
8395
8390
|
}
|
|
@@ -8496,7 +8491,7 @@ function DatePickerInput({
|
|
|
8496
8491
|
if (newDate && value) {
|
|
8497
8492
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
8498
8493
|
}
|
|
8499
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8494
|
+
_optionalChain([onChange, 'optionalCall', _173 => _173(newDate)]);
|
|
8500
8495
|
if (newDate) {
|
|
8501
8496
|
setOpen(false);
|
|
8502
8497
|
}
|
|
@@ -8513,12 +8508,12 @@ function DatePickerInput({
|
|
|
8513
8508
|
}
|
|
8514
8509
|
}
|
|
8515
8510
|
date.setHours(hours);
|
|
8516
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8511
|
+
_optionalChain([onChange, 'optionalCall', _174 => _174(date)]);
|
|
8517
8512
|
};
|
|
8518
8513
|
const handleMinuteChange = (newMinute) => {
|
|
8519
8514
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
8520
8515
|
date.setMinutes(parseInt(newMinute, 10));
|
|
8521
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8516
|
+
_optionalChain([onChange, 'optionalCall', _175 => _175(date)]);
|
|
8522
8517
|
};
|
|
8523
8518
|
const handlePeriodChange = (newPeriod) => {
|
|
8524
8519
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
@@ -8529,7 +8524,7 @@ function DatePickerInput({
|
|
|
8529
8524
|
hours += 12;
|
|
8530
8525
|
}
|
|
8531
8526
|
date.setHours(hours);
|
|
8532
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8527
|
+
_optionalChain([onChange, 'optionalCall', _176 => _176(date)]);
|
|
8533
8528
|
};
|
|
8534
8529
|
const hourOptions = React26.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
|
|
8535
8530
|
const minuteOptions = React26.useMemo(() => generateMinuteOptions(), []);
|
|
@@ -8690,7 +8685,7 @@ function DatePickerInputSimple({
|
|
|
8690
8685
|
if (newDate && value) {
|
|
8691
8686
|
newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
|
|
8692
8687
|
}
|
|
8693
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8688
|
+
_optionalChain([onChange, 'optionalCall', _177 => _177(newDate)]);
|
|
8694
8689
|
if (newDate) {
|
|
8695
8690
|
setOpen(false);
|
|
8696
8691
|
}
|
|
@@ -8699,7 +8694,7 @@ function DatePickerInputSimple({
|
|
|
8699
8694
|
const [hours, minutes] = newTime.split(":").map(Number);
|
|
8700
8695
|
const date = value ? new Date(value) : /* @__PURE__ */ new Date();
|
|
8701
8696
|
date.setHours(hours, minutes, 0, 0);
|
|
8702
|
-
_optionalChain([onChange, 'optionalCall',
|
|
8697
|
+
_optionalChain([onChange, 'optionalCall', _178 => _178(date)]);
|
|
8703
8698
|
};
|
|
8704
8699
|
const timeOptions = React26.useMemo(
|
|
8705
8700
|
() => generateTimeOptions(timeInterval, use24HourFormat),
|
|
@@ -9248,7 +9243,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
9248
9243
|
}, [checked]);
|
|
9249
9244
|
const handleCheckedChange = (newChecked) => {
|
|
9250
9245
|
setIsChecked(newChecked);
|
|
9251
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
9246
|
+
_optionalChain([onCheckedChange, 'optionalCall', _179 => _179(newChecked)]);
|
|
9252
9247
|
};
|
|
9253
9248
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9254
9249
|
SwitchPrimitives.Root,
|
|
@@ -9457,7 +9452,7 @@ function TagsManager({
|
|
|
9457
9452
|
const name = search.trim();
|
|
9458
9453
|
if (!name) return;
|
|
9459
9454
|
const result = await onCreateTag(name);
|
|
9460
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
9455
|
+
if (_optionalChain([result, 'optionalAccess', _180 => _180.id])) {
|
|
9461
9456
|
onChange([...selectedIds, result.id]);
|
|
9462
9457
|
setSearch("");
|
|
9463
9458
|
}
|
|
@@ -9465,7 +9460,7 @@ function TagsManager({
|
|
|
9465
9460
|
const startEdit = React34.useCallback((id, name) => {
|
|
9466
9461
|
setEditingId(id);
|
|
9467
9462
|
setEditingName(name);
|
|
9468
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
9463
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _181 => _181.current, 'optionalAccess', _182 => _182.focus, 'call', _183 => _183()]), 0);
|
|
9469
9464
|
}, []);
|
|
9470
9465
|
const confirmEdit = React34.useCallback(async () => {
|
|
9471
9466
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -9492,7 +9487,7 @@ function TagsManager({
|
|
|
9492
9487
|
e.stopPropagation();
|
|
9493
9488
|
onChange([]);
|
|
9494
9489
|
setSearch("");
|
|
9495
|
-
_optionalChain([inputRef, 'access',
|
|
9490
|
+
_optionalChain([inputRef, 'access', _184 => _184.current, 'optionalAccess', _185 => _185.focus, 'call', _186 => _186()]);
|
|
9496
9491
|
},
|
|
9497
9492
|
[onChange]
|
|
9498
9493
|
);
|
|
@@ -9591,10 +9586,10 @@ function TagsManager({
|
|
|
9591
9586
|
align: "start",
|
|
9592
9587
|
onOpenAutoFocus: (e) => {
|
|
9593
9588
|
e.preventDefault();
|
|
9594
|
-
_optionalChain([inputRef, 'access',
|
|
9589
|
+
_optionalChain([inputRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.focus, 'call', _189 => _189()]);
|
|
9595
9590
|
},
|
|
9596
9591
|
onInteractOutside: (e) => {
|
|
9597
|
-
if (_optionalChain([containerRef, 'access',
|
|
9592
|
+
if (_optionalChain([containerRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(e.target)])) {
|
|
9598
9593
|
e.preventDefault();
|
|
9599
9594
|
}
|
|
9600
9595
|
},
|
|
@@ -10989,19 +10984,19 @@ function TabNavigation({
|
|
|
10989
10984
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
10990
10985
|
const getInitialTab = () => {
|
|
10991
10986
|
if (isUrlSyncEnabled) {
|
|
10992
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
10987
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _193 => _193.get, 'call', _194 => _194(paramName)]) || "";
|
|
10993
10988
|
if (validTabIds.has(fromUrl)) {
|
|
10994
10989
|
return fromUrl;
|
|
10995
10990
|
}
|
|
10996
10991
|
}
|
|
10997
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
10992
|
+
return defaultTab || _optionalChain([tabs, 'access', _195 => _195[0], 'optionalAccess', _196 => _196.id]) || "";
|
|
10998
10993
|
};
|
|
10999
10994
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
11000
10995
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
11001
10996
|
_react.useEffect.call(void 0, () => {
|
|
11002
10997
|
if (!isUrlSyncEnabled) return;
|
|
11003
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
11004
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
10998
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _197 => _197.get, 'call', _198 => _198(paramName)]) || "";
|
|
10999
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _199 => _199[0], 'optionalAccess', _200 => _200.id]) || "";
|
|
11005
11000
|
if (nextTab !== internalActiveTab) {
|
|
11006
11001
|
setInternalActiveTab(nextTab);
|
|
11007
11002
|
}
|
|
@@ -11009,13 +11004,13 @@ function TabNavigation({
|
|
|
11009
11004
|
const handleTabChange = (tabId) => {
|
|
11010
11005
|
if (isUrlSyncEnabled) {
|
|
11011
11006
|
setInternalActiveTab(tabId);
|
|
11012
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
11007
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _201 => _201.toString, 'call', _202 => _202()]));
|
|
11013
11008
|
params.set(paramName, tabId);
|
|
11014
11009
|
const method = replaceState ? "replace" : "push";
|
|
11015
11010
|
router[method](`${pathname}?${params.toString()}`);
|
|
11016
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
11011
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _203 => _203(tabId)]);
|
|
11017
11012
|
} else {
|
|
11018
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
11013
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _204 => _204(tabId)]);
|
|
11019
11014
|
}
|
|
11020
11015
|
};
|
|
11021
11016
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -11103,7 +11098,7 @@ function TabNavigation({
|
|
|
11103
11098
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
11104
11099
|
var getTabComponent = (tabs, tabId) => {
|
|
11105
11100
|
const tab = getTabById(tabs, tabId);
|
|
11106
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
11101
|
+
return _optionalChain([tab, 'optionalAccess', _205 => _205.component]) || null;
|
|
11107
11102
|
};
|
|
11108
11103
|
|
|
11109
11104
|
// src/components/ui/alert.tsx
|
|
@@ -11243,7 +11238,7 @@ function ReleaseChangelogSection({
|
|
|
11243
11238
|
className: "overflow-hidden transition-[max-height] duration-500",
|
|
11244
11239
|
style: {
|
|
11245
11240
|
transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
|
|
11246
|
-
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access',
|
|
11241
|
+
maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _206 => _206.current, 'optionalAccess', _207 => _207.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
|
|
11247
11242
|
...previewNeedsFade && !previewExpanded ? {
|
|
11248
11243
|
maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
|
|
11249
11244
|
WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
|
|
@@ -11680,16 +11675,16 @@ function FilterModal({
|
|
|
11680
11675
|
};
|
|
11681
11676
|
const handleReset = () => {
|
|
11682
11677
|
onFilterChange({});
|
|
11683
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
11678
|
+
_optionalChain([onTagsChange, 'optionalCall', _208 => _208([])]);
|
|
11684
11679
|
onClose();
|
|
11685
11680
|
};
|
|
11686
11681
|
const handleApply = () => {
|
|
11687
11682
|
onFilterChange(selectedFilters);
|
|
11688
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
11683
|
+
_optionalChain([onTagsChange, 'optionalCall', _209 => _209(pendingTags)]);
|
|
11689
11684
|
onClose();
|
|
11690
11685
|
};
|
|
11691
11686
|
const getColumnDirection = (columnKey) => {
|
|
11692
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
11687
|
+
return _optionalChain([sortConfig, 'optionalAccess', _210 => _210.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
11693
11688
|
};
|
|
11694
11689
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
11695
11690
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -11738,7 +11733,7 @@ function FilterModal({
|
|
|
11738
11733
|
{
|
|
11739
11734
|
column,
|
|
11740
11735
|
currentDirection: getColumnDirection(column.key),
|
|
11741
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
11736
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _211 => _211(column.key, direction)]),
|
|
11742
11737
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
11743
11738
|
},
|
|
11744
11739
|
column.key
|
|
@@ -12434,7 +12429,7 @@ function getShellIcon(shellType) {
|
|
|
12434
12429
|
if (!shellType) return void 0;
|
|
12435
12430
|
const normalized = shellType.toUpperCase();
|
|
12436
12431
|
const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
|
|
12437
|
-
return _optionalChain([shellDef, 'optionalAccess',
|
|
12432
|
+
return _optionalChain([shellDef, 'optionalAccess', _212 => _212.icon]);
|
|
12438
12433
|
}
|
|
12439
12434
|
|
|
12440
12435
|
// src/types/os.types.ts
|
|
@@ -12507,7 +12502,7 @@ function getOSIcon(osType) {
|
|
|
12507
12502
|
const normalized = normalizeOSType(osType);
|
|
12508
12503
|
if (!normalized) return void 0;
|
|
12509
12504
|
const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
|
|
12510
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
12505
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _213 => _213.icon]);
|
|
12511
12506
|
}
|
|
12512
12507
|
function getOSTypeDefinition(osType) {
|
|
12513
12508
|
if (!osType) return void 0;
|
|
@@ -12517,7 +12512,7 @@ function getOSTypeDefinition(osType) {
|
|
|
12517
12512
|
}
|
|
12518
12513
|
function getOSPlatformId(osType) {
|
|
12519
12514
|
const osTypeDef = getOSTypeDefinition(osType);
|
|
12520
|
-
return _optionalChain([osTypeDef, 'optionalAccess',
|
|
12515
|
+
return _optionalChain([osTypeDef, 'optionalAccess', _214 => _214.platformId]);
|
|
12521
12516
|
}
|
|
12522
12517
|
function isOSPlatform(deviceOS, targetPlatform) {
|
|
12523
12518
|
if (!deviceOS || !targetPlatform) return false;
|
|
@@ -12610,10 +12605,10 @@ var GENERIC_EMAIL_DOMAINS = [
|
|
|
12610
12605
|
];
|
|
12611
12606
|
function extractDomainFromEmail(email) {
|
|
12612
12607
|
if (!email || !email.includes("@")) return null;
|
|
12613
|
-
return _optionalChain([email, 'access',
|
|
12608
|
+
return _optionalChain([email, 'access', _215 => _215.split, 'call', _216 => _216("@"), 'access', _217 => _217[1], 'optionalAccess', _218 => _218.toLowerCase, 'call', _219 => _219()]) || null;
|
|
12614
12609
|
}
|
|
12615
12610
|
function normalizeDomain(domain) {
|
|
12616
|
-
return _optionalChain([domain, 'optionalAccess',
|
|
12611
|
+
return _optionalChain([domain, 'optionalAccess', _220 => _220.toLowerCase, 'call', _221 => _221(), 'access', _222 => _222.replace, 'call', _223 => _223(/^https?:\/\//, ""), 'access', _224 => _224.replace, 'call', _225 => _225(/^www\./, ""), 'access', _226 => _226.split, 'call', _227 => _227("/"), 'access', _228 => _228[0], 'access', _229 => _229.trim, 'call', _230 => _230()]) || "";
|
|
12617
12612
|
}
|
|
12618
12613
|
function isGenericDomain(domain) {
|
|
12619
12614
|
const normalized = normalizeDomain(domain);
|
|
@@ -12896,7 +12891,7 @@ function createLocalStorageAdapter(options) {
|
|
|
12896
12891
|
const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
|
|
12897
12892
|
const backend = _nullishCoalesce(options.backend, () => ( "local"));
|
|
12898
12893
|
const resolveKey = () => {
|
|
12899
|
-
const ns = _optionalChain([options, 'access',
|
|
12894
|
+
const ns = _optionalChain([options, 'access', _231 => _231.namespace, 'optionalCall', _232 => _232()]);
|
|
12900
12895
|
return ns ? `${ns}.${options.key}` : options.key;
|
|
12901
12896
|
};
|
|
12902
12897
|
return {
|
|
@@ -12983,7 +12978,7 @@ function getEmbedProxyAuth() {
|
|
|
12983
12978
|
}
|
|
12984
12979
|
function getPersistedProxyEmail() {
|
|
12985
12980
|
const persisted = adapter.load();
|
|
12986
|
-
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess',
|
|
12981
|
+
return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _233 => _233.email, 'access', _234 => _234.trim, 'call', _235 => _235(), 'access', _236 => _236.toLowerCase, 'call', _237 => _237()]), () => ( null));
|
|
12987
12982
|
}
|
|
12988
12983
|
function setEmbedProxyAuth(value) {
|
|
12989
12984
|
adapter.save({
|
|
@@ -13000,15 +12995,15 @@ function clearEmbedProxyAuth() {
|
|
|
13000
12995
|
function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
|
|
13001
12996
|
const auth = getEmbedProxyAuth();
|
|
13002
12997
|
const headers = { ...baseHeaders };
|
|
13003
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
12998
|
+
if (_optionalChain([auth, 'optionalAccess', _238 => _238.secret])) {
|
|
13004
12999
|
headers.Authorization = `Bearer ${auth.secret}`;
|
|
13005
13000
|
}
|
|
13006
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
13001
|
+
if (_optionalChain([auth, 'optionalAccess', _239 => _239.email])) {
|
|
13007
13002
|
headers["X-Chat-Act-As"] = auth.email;
|
|
13008
13003
|
}
|
|
13009
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
13010
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
13011
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
13004
|
+
if (_optionalChain([auth, 'optionalAccess', _240 => _240.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
|
|
13005
|
+
if (_optionalChain([auth, 'optionalAccess', _241 => _241.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
|
|
13006
|
+
if (_optionalChain([auth, 'optionalAccess', _242 => _242.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
|
|
13012
13007
|
return { url, headers };
|
|
13013
13008
|
}
|
|
13014
13009
|
|
|
@@ -13060,7 +13055,7 @@ function setInFlightRefresh(refresh) {
|
|
|
13060
13055
|
}
|
|
13061
13056
|
function dedupedRefresh() {
|
|
13062
13057
|
const adapter2 = getRegisteredAuthAdapter();
|
|
13063
|
-
if (!_optionalChain([adapter2, 'optionalAccess',
|
|
13058
|
+
if (!_optionalChain([adapter2, 'optionalAccess', _243 => _243.refresh])) return Promise.resolve(false);
|
|
13064
13059
|
let inFlightRefresh = getInFlightRefresh();
|
|
13065
13060
|
if (!inFlightRefresh) {
|
|
13066
13061
|
inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
|
|
@@ -13073,12 +13068,12 @@ function dedupedRefresh() {
|
|
|
13073
13068
|
async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
13074
13069
|
const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
|
|
13075
13070
|
const adapter2 = getRegisteredAuthAdapter();
|
|
13076
|
-
if (_optionalChain([adapter2, 'optionalAccess',
|
|
13071
|
+
if (_optionalChain([adapter2, 'optionalAccess', _244 => _244.getHeaders])) {
|
|
13077
13072
|
for (const [k, v] of Object.entries(adapter2.getHeaders())) {
|
|
13078
13073
|
if (v !== void 0) headers[k] = v;
|
|
13079
13074
|
}
|
|
13080
13075
|
}
|
|
13081
|
-
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess',
|
|
13076
|
+
const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _245 => _245.credentials]), () => ( init.credentials)), () => ( "same-origin"));
|
|
13082
13077
|
const response = await fetch(authedUrl, {
|
|
13083
13078
|
...init,
|
|
13084
13079
|
headers,
|
|
@@ -13089,7 +13084,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
|
|
|
13089
13084
|
// `SameSite=None` must be configured server-side for that to work).
|
|
13090
13085
|
credentials
|
|
13091
13086
|
});
|
|
13092
|
-
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess',
|
|
13087
|
+
if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _246 => _246.refresh])) {
|
|
13093
13088
|
const refreshed = await dedupedRefresh();
|
|
13094
13089
|
if (refreshed) {
|
|
13095
13090
|
return fetchWithRefresh(url, init, baseHeaders, true);
|
|
@@ -13127,7 +13122,7 @@ function assertSameOrigin(url) {
|
|
|
13127
13122
|
|
|
13128
13123
|
// src/utils/sse-decision-frame.ts
|
|
13129
13124
|
async function readLeadingDecisionFrame(response) {
|
|
13130
|
-
const reader = _optionalChain([response, 'access',
|
|
13125
|
+
const reader = _optionalChain([response, 'access', _247 => _247.body, 'optionalAccess', _248 => _248.getReader, 'call', _249 => _249()]);
|
|
13131
13126
|
if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
|
|
13132
13127
|
const decoder = new TextDecoder();
|
|
13133
13128
|
let buffer = "";
|
|
@@ -13156,9 +13151,9 @@ async function readLeadingDecisionFrame(response) {
|
|
|
13156
13151
|
);
|
|
13157
13152
|
}
|
|
13158
13153
|
const obj = parsed;
|
|
13159
|
-
if (_optionalChain([obj, 'optionalAccess',
|
|
13154
|
+
if (_optionalChain([obj, 'optionalAccess', _250 => _250.kind]) !== "decision_resolved") {
|
|
13160
13155
|
throw new Error(
|
|
13161
|
-
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess',
|
|
13156
|
+
`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _251 => _251.kind]))}`
|
|
13162
13157
|
);
|
|
13163
13158
|
}
|
|
13164
13159
|
frame = normalizeDecisionFrame(obj);
|
|
@@ -13199,7 +13194,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
|
|
|
13199
13194
|
function buildAutoContinuationDirective(toolName, opts = {}) {
|
|
13200
13195
|
const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
|
|
13201
13196
|
const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
|
|
13202
|
-
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access',
|
|
13197
|
+
const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _252 => _252.status, 'optionalAccess', _253 => _253.toUpperCase, 'call', _254 => _254()]) === "CLOSED";
|
|
13203
13198
|
if (toolName === "create_ticket") {
|
|
13204
13199
|
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.`;
|
|
13205
13200
|
}
|
|
@@ -13261,7 +13256,7 @@ function formatSingularLookupInvocation(cmdId, value) {
|
|
|
13261
13256
|
return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
|
|
13262
13257
|
}
|
|
13263
13258
|
function extractEntityIdFilter(override, expectedTableId) {
|
|
13264
|
-
const f = _optionalChain([override, 'optionalAccess',
|
|
13259
|
+
const f = _optionalChain([override, 'optionalAccess', _255 => _255.entityIdFilter]);
|
|
13265
13260
|
if (!f) return null;
|
|
13266
13261
|
const tableId = typeof f.tableId === "string" ? f.tableId : "";
|
|
13267
13262
|
const id = typeof f.id === "string" ? f.id : "";
|
|
@@ -13336,7 +13331,7 @@ function getTaskTypeLabel(customItemId) {
|
|
|
13336
13331
|
|
|
13337
13332
|
// src/components/chat/utils/agent-status-message.ts
|
|
13338
13333
|
function getStatusColorScheme(status) {
|
|
13339
|
-
const s = _optionalChain([status, 'optionalAccess',
|
|
13334
|
+
const s = _optionalChain([status, 'optionalAccess', _256 => _256.toLowerCase, 'call', _257 => _257()]) || "";
|
|
13340
13335
|
switch (status) {
|
|
13341
13336
|
case "completed":
|
|
13342
13337
|
case "success":
|
|
@@ -13662,10 +13657,10 @@ var CONTENT_REF_GROUPS = {
|
|
|
13662
13657
|
onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
|
|
13663
13658
|
};
|
|
13664
13659
|
function getContentRefLabel(type) {
|
|
13665
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
13660
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _258 => _258[type], 'optionalAccess', _259 => _259.label]), () => ( null));
|
|
13666
13661
|
}
|
|
13667
13662
|
function getContentRefLabelOrTitleCase(type) {
|
|
13668
|
-
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access',
|
|
13663
|
+
return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _260 => _260[type], 'optionalAccess', _261 => _261.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
|
|
13669
13664
|
}
|
|
13670
13665
|
function orderContentRefTypes(present) {
|
|
13671
13666
|
const presentSet = new Set(present);
|
|
@@ -14337,26 +14332,26 @@ function DeviceCard({
|
|
|
14337
14332
|
] }),
|
|
14338
14333
|
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 })
|
|
14339
14334
|
] }),
|
|
14340
|
-
_optionalChain([actions, 'access',
|
|
14335
|
+
_optionalChain([actions, 'access', _262 => _262.moreButton, 'optionalAccess', _263 => _263.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14341
14336
|
"div",
|
|
14342
14337
|
{
|
|
14343
14338
|
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",
|
|
14344
14339
|
onClick: (e) => {
|
|
14345
14340
|
e.stopPropagation();
|
|
14346
|
-
_optionalChain([actions, 'access',
|
|
14341
|
+
_optionalChain([actions, 'access', _264 => _264.moreButton, 'optionalAccess', _265 => _265.onClick, 'optionalCall', _266 => _266()]);
|
|
14347
14342
|
},
|
|
14348
14343
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
14349
14344
|
}
|
|
14350
14345
|
),
|
|
14351
|
-
_optionalChain([actions, 'access',
|
|
14352
|
-
_optionalChain([actions, 'access',
|
|
14346
|
+
_optionalChain([actions, 'access', _267 => _267.detailsButton, 'optionalAccess', _268 => _268.visible]) !== false && _optionalChain([actions, 'access', _269 => _269.detailsButton, 'optionalAccess', _270 => _270.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
14347
|
+
_optionalChain([actions, 'access', _271 => _271.customActions, 'optionalAccess', _272 => _272.map, 'call', _273 => _273(
|
|
14353
14348
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14354
14349
|
"div",
|
|
14355
14350
|
{
|
|
14356
14351
|
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",
|
|
14357
14352
|
onClick: (e) => {
|
|
14358
14353
|
e.stopPropagation();
|
|
14359
|
-
_optionalChain([action, 'access',
|
|
14354
|
+
_optionalChain([action, 'access', _274 => _274.onClick, 'optionalCall', _275 => _275()]);
|
|
14360
14355
|
},
|
|
14361
14356
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
14362
14357
|
},
|
|
@@ -14856,7 +14851,7 @@ function MoreActionsMenu({
|
|
|
14856
14851
|
] });
|
|
14857
14852
|
const handleActivate = (e) => {
|
|
14858
14853
|
e.stopPropagation();
|
|
14859
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
14854
|
+
if (!item.disabled) _optionalChain([item, 'access', _276 => _276.onClick, 'optionalCall', _277 => _277()]);
|
|
14860
14855
|
};
|
|
14861
14856
|
if (item.href) {
|
|
14862
14857
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14923,7 +14918,7 @@ function OrganizationCard({
|
|
|
14923
14918
|
const handleActionClick = (e) => {
|
|
14924
14919
|
e.preventDefault();
|
|
14925
14920
|
e.stopPropagation();
|
|
14926
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
14921
|
+
_optionalChain([actionButton, 'optionalAccess', _278 => _278.onClick, 'call', _279 => _279(organization, e)]);
|
|
14927
14922
|
};
|
|
14928
14923
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
14929
14924
|
"div",
|
|
@@ -15798,10 +15793,10 @@ var getContentDimensions = (config) => {
|
|
|
15798
15793
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
15799
15794
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
15800
15795
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
15801
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
15802
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
15803
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
15804
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
15796
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _280 => _280.mobileContentDimensions, 'optionalAccess', _281 => _281.width]))), () => ( defaultMobile.width));
|
|
15797
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _282 => _282.mobileContentDimensions, 'optionalAccess', _283 => _283.height]))), () => ( defaultMobile.height));
|
|
15798
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _284 => _284.desktopContentDimensions, 'optionalAccess', _285 => _285.width]))), () => ( defaultDesktop.width));
|
|
15799
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _286 => _286.desktopContentDimensions, 'optionalAccess', _287 => _287.height]))), () => ( defaultDesktop.height));
|
|
15805
15800
|
return {
|
|
15806
15801
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
15807
15802
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -15935,7 +15930,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
15935
15930
|
const contentDimensions = getContentDimensions(config);
|
|
15936
15931
|
const mobileHeight = contentDimensions.mobile.height;
|
|
15937
15932
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
15938
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
15933
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _288 => _288.innerHeight]) * 0.85 || 650)}px`;
|
|
15939
15934
|
})(),
|
|
15940
15935
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
15941
15936
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -16040,7 +16035,7 @@ var FigmaPrototypeViewer = ({
|
|
|
16040
16035
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
16041
16036
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
16042
16037
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
16043
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
16038
|
+
config.defaultSectionId || _optionalChain([config, 'access', _289 => _289.sections, 'access', _290 => _290[0], 'optionalAccess', _291 => _291.id]) || ""
|
|
16044
16039
|
);
|
|
16045
16040
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
16046
16041
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -16130,7 +16125,7 @@ var FigmaPrototypeViewer = ({
|
|
|
16130
16125
|
const handleMessage = (event) => {
|
|
16131
16126
|
if (event.origin !== "https://www.figma.com") return;
|
|
16132
16127
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
16133
|
-
if (_optionalChain([event, 'access',
|
|
16128
|
+
if (_optionalChain([event, 'access', _292 => _292.data, 'optionalAccess', _293 => _293.type]) && validEvents.includes(event.data.type)) {
|
|
16134
16129
|
const figmaEvent = event.data;
|
|
16135
16130
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
16136
16131
|
switch (figmaEvent.type) {
|
|
@@ -16140,19 +16135,19 @@ var FigmaPrototypeViewer = ({
|
|
|
16140
16135
|
setIframeState("READY");
|
|
16141
16136
|
break;
|
|
16142
16137
|
case "PRESENTED_NODE_CHANGED":
|
|
16143
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
16138
|
+
if (_optionalChain([figmaEvent, 'access', _294 => _294.data, 'optionalAccess', _295 => _295.presentedNodeId])) {
|
|
16144
16139
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
16145
16140
|
if (!isNavigating) {
|
|
16146
16141
|
const matchingSection = config.sections.find((s) => {
|
|
16147
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
16148
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
16142
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _296 => _296.data, 'optionalAccess', _297 => _297.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _298 => _298.data, 'optionalAccess', _299 => _299.presentedNodeId]);
|
|
16143
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _300 => _300.data, 'optionalAccess', _301 => _301.presentedNodeId]) || _optionalChain([s, 'access', _302 => _302.mobileStartingNodeId, 'optionalAccess', _303 => _303.replace, 'call', _304 => _304(":", "-")]) === _optionalChain([figmaEvent, 'access', _305 => _305.data, 'optionalAccess', _306 => _306.presentedNodeId]);
|
|
16149
16144
|
return desktopMatch || mobileMatch;
|
|
16150
16145
|
});
|
|
16151
16146
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
16152
16147
|
if (!externalActiveSection) {
|
|
16153
16148
|
setInternalActiveSection(matchingSection.id);
|
|
16154
16149
|
}
|
|
16155
|
-
_optionalChain([config, 'access',
|
|
16150
|
+
_optionalChain([config, 'access', _307 => _307.onSectionChange, 'optionalCall', _308 => _308(matchingSection.id)]);
|
|
16156
16151
|
}
|
|
16157
16152
|
}
|
|
16158
16153
|
}
|
|
@@ -16165,7 +16160,7 @@ var FigmaPrototypeViewer = ({
|
|
|
16165
16160
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
16166
16161
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
16167
16162
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
16168
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
16163
|
+
if (!section || !_optionalChain([iframeRef, 'access', _309 => _309.current, 'optionalAccess', _310 => _310.contentWindow]) || !isInitialized) {
|
|
16169
16164
|
return;
|
|
16170
16165
|
}
|
|
16171
16166
|
setIsNavigating(true);
|
|
@@ -16173,7 +16168,7 @@ var FigmaPrototypeViewer = ({
|
|
|
16173
16168
|
if (!externalActiveSection) {
|
|
16174
16169
|
setInternalActiveSection(sectionId);
|
|
16175
16170
|
}
|
|
16176
|
-
_optionalChain([config, 'access',
|
|
16171
|
+
_optionalChain([config, 'access', _311 => _311.onSectionChange, 'optionalCall', _312 => _312(sectionId)]);
|
|
16177
16172
|
const command = {
|
|
16178
16173
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
16179
16174
|
data: { nodeId }
|
|
@@ -16493,7 +16488,7 @@ var FiltersDropdown = ({
|
|
|
16493
16488
|
defaults[section.id] = section.defaultSelected || [];
|
|
16494
16489
|
});
|
|
16495
16490
|
setSelectedFilters(defaults);
|
|
16496
|
-
_optionalChain([onReset, 'optionalCall',
|
|
16491
|
+
_optionalChain([onReset, 'optionalCall', _313 => _313()]);
|
|
16497
16492
|
setIsOpen(false);
|
|
16498
16493
|
};
|
|
16499
16494
|
const handleApply = () => {
|
|
@@ -16786,7 +16781,7 @@ function MediaGalleryManager({
|
|
|
16786
16781
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
16787
16782
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
16788
16783
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
16789
|
-
const file = _optionalChain([event, 'access',
|
|
16784
|
+
const file = _optionalChain([event, 'access', _314 => _314.target, 'access', _315 => _315.files, 'optionalAccess', _316 => _316[0]]);
|
|
16790
16785
|
if (!file) return;
|
|
16791
16786
|
let mediaType;
|
|
16792
16787
|
if (file.type.startsWith("image/")) {
|
|
@@ -16901,7 +16896,7 @@ function MediaGalleryManager({
|
|
|
16901
16896
|
{
|
|
16902
16897
|
type: "button",
|
|
16903
16898
|
variant: "outline",
|
|
16904
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
16899
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _317 => _317.current, 'optionalAccess', _318 => _318.click, 'call', _319 => _319()]),
|
|
16905
16900
|
disabled: isUploading,
|
|
16906
16901
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
16907
16902
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -17552,7 +17547,7 @@ function ReleaseMediaManager({
|
|
|
17552
17547
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
17553
17548
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
17554
17549
|
const handleFileSelect = async (event) => {
|
|
17555
|
-
const file = _optionalChain([event, 'access',
|
|
17550
|
+
const file = _optionalChain([event, 'access', _320 => _320.target, 'access', _321 => _321.files, 'optionalAccess', _322 => _322[0]]);
|
|
17556
17551
|
if (!file) return;
|
|
17557
17552
|
let mediaType;
|
|
17558
17553
|
if (file.type.startsWith("image/")) {
|
|
@@ -17632,7 +17627,7 @@ function ReleaseMediaManager({
|
|
|
17632
17627
|
{
|
|
17633
17628
|
type: "button",
|
|
17634
17629
|
variant: "outline",
|
|
17635
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
17630
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _323 => _323.current, 'optionalAccess', _324 => _324.click, 'call', _325 => _325()]),
|
|
17636
17631
|
disabled: uploadingIndex !== null,
|
|
17637
17632
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
17638
17633
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -17845,7 +17840,7 @@ function SEOEditorPreview({
|
|
|
17845
17840
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
17846
17841
|
const handleImageUpload = async (event) => {
|
|
17847
17842
|
if (!onOgImageUpload) return;
|
|
17848
|
-
const file = _optionalChain([event, 'access',
|
|
17843
|
+
const file = _optionalChain([event, 'access', _326 => _326.target, 'access', _327 => _327.files, 'optionalAccess', _328 => _328[0]]);
|
|
17849
17844
|
if (!file) return;
|
|
17850
17845
|
setIsUploading(true);
|
|
17851
17846
|
try {
|
|
@@ -17976,7 +17971,7 @@ function SEOEditorPreview({
|
|
|
17976
17971
|
type: "button",
|
|
17977
17972
|
variant: "outline",
|
|
17978
17973
|
size: "icon",
|
|
17979
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
17974
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _329 => _329.click, 'call', _330 => _330()]),
|
|
17980
17975
|
disabled: disabled || isUploading,
|
|
17981
17976
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
17982
17977
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -17999,7 +17994,7 @@ function SEOEditorPreview({
|
|
|
17999
17994
|
"div",
|
|
18000
17995
|
{
|
|
18001
17996
|
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",
|
|
18002
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
17997
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _331 => _331.click, 'call', _332 => _332()]),
|
|
18003
17998
|
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: [
|
|
18004
17999
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
18005
18000
|
/* @__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" })
|
|
@@ -18084,7 +18079,7 @@ function SocialLinksManager({
|
|
|
18084
18079
|
className = ""
|
|
18085
18080
|
}) {
|
|
18086
18081
|
const addLink = () => {
|
|
18087
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
18082
|
+
const firstPlatform = _optionalChain([platforms, 'access', _333 => _333[0], 'optionalAccess', _334 => _334.name]) || "website";
|
|
18088
18083
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
18089
18084
|
};
|
|
18090
18085
|
const removeLink = (index) => {
|
|
@@ -18096,7 +18091,7 @@ function SocialLinksManager({
|
|
|
18096
18091
|
onChange(updated);
|
|
18097
18092
|
};
|
|
18098
18093
|
const getIcon = (link, platform) => {
|
|
18099
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
18094
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _335 => _335.icon_name]) || link.platform;
|
|
18100
18095
|
const IconComponent = iconMap[iconKey];
|
|
18101
18096
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
18102
18097
|
};
|
|
@@ -18121,7 +18116,7 @@ function SocialLinksManager({
|
|
|
18121
18116
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18122
18117
|
_chunk6JINAOI7cjs.Input,
|
|
18123
18118
|
{
|
|
18124
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
18119
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _336 => _336.placeholder]) || "Profile URL",
|
|
18125
18120
|
value: link.url,
|
|
18126
18121
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
18127
18122
|
onKeyDown: (e) => {
|
|
@@ -18497,7 +18492,7 @@ function VideoSourceSelector({
|
|
|
18497
18492
|
input.accept = "video/*";
|
|
18498
18493
|
input.onchange = async (e) => {
|
|
18499
18494
|
const target = e.target;
|
|
18500
|
-
const file = _optionalChain([target, 'access',
|
|
18495
|
+
const file = _optionalChain([target, 'access', _337 => _337.files, 'optionalAccess', _338 => _338[0]]);
|
|
18501
18496
|
if (!file) return;
|
|
18502
18497
|
setIsUploading(true);
|
|
18503
18498
|
setUploadProgress(0);
|
|
@@ -18827,7 +18822,7 @@ function TranscriptSummaryEditor({
|
|
|
18827
18822
|
{
|
|
18828
18823
|
id: "subtitles",
|
|
18829
18824
|
value: subtitles || "",
|
|
18830
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
18825
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _339 => _339(e.target.value)]),
|
|
18831
18826
|
placeholder: subtitlesPlaceholder,
|
|
18832
18827
|
disabled: disabled || !onSubtitlesChange,
|
|
18833
18828
|
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",
|
|
@@ -18980,7 +18975,7 @@ var AIEnrichSection = ({
|
|
|
18980
18975
|
}) => {
|
|
18981
18976
|
const hasResults = status === "success" || status === "error";
|
|
18982
18977
|
const shouldDisable = disabled || !canEnrich;
|
|
18983
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
18978
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _340 => _340.filter, 'call', _341 => _341((f) => !f.isFilled)]) || [];
|
|
18984
18979
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
18985
18980
|
"div",
|
|
18986
18981
|
{
|
|
@@ -19018,7 +19013,7 @@ var AIEnrichSection = ({
|
|
|
19018
19013
|
{
|
|
19019
19014
|
id: "ai-enrich-custom-instructions",
|
|
19020
19015
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
19021
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
19016
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _342 => _342(e.target.value)]),
|
|
19022
19017
|
placeholder: customInstructionsPlaceholder,
|
|
19023
19018
|
disabled: loading,
|
|
19024
19019
|
maxLength: customInstructionsMaxLength,
|
|
@@ -19147,7 +19142,7 @@ function HighlightVideoSection({
|
|
|
19147
19142
|
input.accept = "video/*";
|
|
19148
19143
|
input.onchange = async (e) => {
|
|
19149
19144
|
const target = e.target;
|
|
19150
|
-
const file = _optionalChain([target, 'access',
|
|
19145
|
+
const file = _optionalChain([target, 'access', _343 => _343.files, 'optionalAccess', _344 => _344[0]]);
|
|
19151
19146
|
if (!file) return;
|
|
19152
19147
|
setUploadError(null);
|
|
19153
19148
|
try {
|
|
@@ -19649,7 +19644,7 @@ function HighlightVideoPreview({
|
|
|
19649
19644
|
input.accept = "video/*";
|
|
19650
19645
|
input.onchange = async (e) => {
|
|
19651
19646
|
const target = e.target;
|
|
19652
|
-
const file = _optionalChain([target, 'access',
|
|
19647
|
+
const file = _optionalChain([target, 'access', _345 => _345.files, 'optionalAccess', _346 => _346[0]]);
|
|
19653
19648
|
if (!file) return;
|
|
19654
19649
|
await onUpload(file);
|
|
19655
19650
|
};
|
|
@@ -19836,7 +19831,7 @@ function HighlightVideoCombinedSection({
|
|
|
19836
19831
|
input.accept = "video/*";
|
|
19837
19832
|
input.onchange = async (e) => {
|
|
19838
19833
|
const target = e.target;
|
|
19839
|
-
const file = _optionalChain([target, 'access',
|
|
19834
|
+
const file = _optionalChain([target, 'access', _347 => _347.files, 'optionalAccess', _348 => _348[0]]);
|
|
19840
19835
|
if (!file) return;
|
|
19841
19836
|
await onUpload(file);
|
|
19842
19837
|
};
|
|
@@ -20133,7 +20128,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
20133
20128
|
return editMode ? "Set Global Permission" : "";
|
|
20134
20129
|
}
|
|
20135
20130
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
20136
|
-
return _optionalChain([option, 'optionalAccess',
|
|
20131
|
+
return _optionalChain([option, 'optionalAccess', _349 => _349.label]) || level;
|
|
20137
20132
|
};
|
|
20138
20133
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
20139
20134
|
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: [
|
|
@@ -20247,6 +20242,7 @@ var CategorySection = ({
|
|
|
20247
20242
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20248
20243
|
_chunkTU26IZPOcjs.Button,
|
|
20249
20244
|
{
|
|
20245
|
+
type: "button",
|
|
20250
20246
|
variant: "transparent",
|
|
20251
20247
|
onClick: (e) => {
|
|
20252
20248
|
e.stopPropagation();
|
|
@@ -20346,12 +20342,12 @@ function PhoneInput({
|
|
|
20346
20342
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
20347
20343
|
if (!phone || digitCount(phone) === 0) {
|
|
20348
20344
|
setIsInvalid(false);
|
|
20349
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
20345
|
+
_optionalChain([onValidationChange, 'optionalCall', _350 => _350(false)]);
|
|
20350
20346
|
return;
|
|
20351
20347
|
}
|
|
20352
20348
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
20353
20349
|
setIsInvalid(invalid);
|
|
20354
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
20350
|
+
_optionalChain([onValidationChange, 'optionalCall', _351 => _351(invalid)]);
|
|
20355
20351
|
}, [countryCode, digitCount, onValidationChange]);
|
|
20356
20352
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
20357
20353
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -20400,7 +20396,7 @@ function PhoneInput({
|
|
|
20400
20396
|
debouncedValidation(val);
|
|
20401
20397
|
} else if (digitCount(val) === 0) {
|
|
20402
20398
|
setIsInvalid(false);
|
|
20403
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
20399
|
+
_optionalChain([onValidationChange, 'optionalCall', _352 => _352(false)]);
|
|
20404
20400
|
}
|
|
20405
20401
|
}
|
|
20406
20402
|
},
|
|
@@ -20736,19 +20732,19 @@ function NotificationsProvider({
|
|
|
20736
20732
|
}, []);
|
|
20737
20733
|
const markRead = React69.useCallback((id) => {
|
|
20738
20734
|
dispatch({ type: "markRead", id });
|
|
20739
|
-
void _optionalChain([actionsRef, 'access',
|
|
20735
|
+
void _optionalChain([actionsRef, 'access', _353 => _353.current, 'optionalAccess', _354 => _354.onMarkRead, 'optionalCall', _355 => _355(id)]);
|
|
20740
20736
|
}, []);
|
|
20741
20737
|
const markAllRead = React69.useCallback(() => {
|
|
20742
20738
|
dispatch({ type: "markAllRead" });
|
|
20743
|
-
void _optionalChain([actionsRef, 'access',
|
|
20739
|
+
void _optionalChain([actionsRef, 'access', _356 => _356.current, 'optionalAccess', _357 => _357.onMarkAllRead, 'optionalCall', _358 => _358()]);
|
|
20744
20740
|
}, []);
|
|
20745
20741
|
const markSettled = React69.useCallback((id) => {
|
|
20746
20742
|
dispatch({ type: "markSettled", id });
|
|
20747
|
-
void _optionalChain([actionsRef, 'access',
|
|
20743
|
+
void _optionalChain([actionsRef, 'access', _359 => _359.current, 'optionalAccess', _360 => _360.onMarkSettled, 'optionalCall', _361 => _361(id)]);
|
|
20748
20744
|
}, []);
|
|
20749
20745
|
const remove = React69.useCallback((id) => {
|
|
20750
20746
|
dispatch({ type: "remove", id });
|
|
20751
|
-
void _optionalChain([actionsRef, 'access',
|
|
20747
|
+
void _optionalChain([actionsRef, 'access', _362 => _362.current, 'optionalAccess', _363 => _363.onRemove, 'optionalCall', _364 => _364(id)]);
|
|
20752
20748
|
}, []);
|
|
20753
20749
|
const clear = React69.useCallback(() => dispatch({ type: "clear" }), []);
|
|
20754
20750
|
const open = React69.useCallback(() => setIsOpen(true), []);
|
|
@@ -20757,7 +20753,7 @@ function NotificationsProvider({
|
|
|
20757
20753
|
const setShowPopups = React69.useCallback(
|
|
20758
20754
|
(value2) => {
|
|
20759
20755
|
setShowPopupsState(value2);
|
|
20760
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
20756
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _365 => _365(value2)]);
|
|
20761
20757
|
},
|
|
20762
20758
|
[onShowPopupsChange]
|
|
20763
20759
|
);
|
|
@@ -20854,7 +20850,7 @@ function NotificationTile({
|
|
|
20854
20850
|
if (!counting) return;
|
|
20855
20851
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
20856
20852
|
const timer = window.setTimeout(() => {
|
|
20857
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
20853
|
+
_optionalChain([onSettle, 'optionalCall', _366 => _366(id)]);
|
|
20858
20854
|
}, remaining);
|
|
20859
20855
|
return () => window.clearTimeout(timer);
|
|
20860
20856
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -20916,7 +20912,7 @@ function NotificationTile({
|
|
|
20916
20912
|
"button",
|
|
20917
20913
|
{
|
|
20918
20914
|
type: "button",
|
|
20919
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
20915
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _367 => _367(id)]),
|
|
20920
20916
|
"aria-label": "Dismiss notification",
|
|
20921
20917
|
tabIndex: isLive ? 0 : -1,
|
|
20922
20918
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
@@ -21035,7 +21031,7 @@ function DrawerScrollList({
|
|
|
21035
21031
|
if (!sentinel || !root) return;
|
|
21036
21032
|
const observer = new IntersectionObserver(
|
|
21037
21033
|
(entries) => {
|
|
21038
|
-
if (_optionalChain([entries, 'access',
|
|
21034
|
+
if (_optionalChain([entries, 'access', _368 => _368[0], 'optionalAccess', _369 => _369.isIntersecting])) _optionalChain([loadMoreRef, 'access', _370 => _370.current, 'optionalCall', _371 => _371()]);
|
|
21039
21035
|
},
|
|
21040
21036
|
{ root, rootMargin: loadMoreRootMargin }
|
|
21041
21037
|
);
|
|
@@ -21050,7 +21046,7 @@ function DrawerScrollList({
|
|
|
21050
21046
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
21051
21047
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
21052
21048
|
unreadNotifications.map((n) => {
|
|
21053
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
21049
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _372 => _372(n, { onComplete, onSettle, liveDurationMs })]);
|
|
21054
21050
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
21055
21051
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21056
21052
|
NotificationTile,
|
|
@@ -21179,7 +21175,7 @@ function NotificationPopups({
|
|
|
21179
21175
|
className
|
|
21180
21176
|
),
|
|
21181
21177
|
children: live.map((n) => {
|
|
21182
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
21178
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _373 => _373(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
21183
21179
|
if (custom) {
|
|
21184
21180
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
21185
21181
|
}
|
|
@@ -21218,19 +21214,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
21218
21214
|
// src/components/features/notifications/types.ts
|
|
21219
21215
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
21220
21216
|
function isApprovalNotification(notification) {
|
|
21221
|
-
return _optionalChain([notification, 'access',
|
|
21217
|
+
return _optionalChain([notification, 'access', _374 => _374.meta, 'optionalAccess', _375 => _375.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
21222
21218
|
}
|
|
21223
21219
|
function getApprovalMeta(notification) {
|
|
21224
21220
|
if (!isApprovalNotification(notification)) return null;
|
|
21225
21221
|
const meta = notification.meta;
|
|
21226
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
21227
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
21222
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _376 => _376.approvalRequestId]);
|
|
21223
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _377 => _377.toolCalls]);
|
|
21228
21224
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
21229
21225
|
return {
|
|
21230
21226
|
approvalRequestId,
|
|
21231
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
21232
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
21233
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
21227
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _378 => _378.dialogId]), () => ( null)),
|
|
21228
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _379 => _379.ticketId]), () => ( null)),
|
|
21229
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _380 => _380.approvalType]), () => ( null)),
|
|
21234
21230
|
toolCalls
|
|
21235
21231
|
};
|
|
21236
21232
|
}
|
|
@@ -21491,15 +21487,15 @@ function TicketCard({
|
|
|
21491
21487
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
21492
21488
|
transition: sortable.transition
|
|
21493
21489
|
};
|
|
21494
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
21490
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _381 => _381.deviceHostnames, 'optionalAccess', _382 => _382.length]) || ticket.organizationName);
|
|
21495
21491
|
const deviceText = [
|
|
21496
|
-
_optionalChain([ticket, 'access',
|
|
21492
|
+
_optionalChain([ticket, 'access', _383 => _383.deviceHostnames, 'optionalAccess', _384 => _384.join, 'call', _385 => _385(", ")]),
|
|
21497
21493
|
ticket.organizationName
|
|
21498
21494
|
].filter(Boolean).join(", ");
|
|
21499
21495
|
const handleClick = (e) => {
|
|
21500
21496
|
if (sortable.isDragging) e.preventDefault();
|
|
21501
21497
|
};
|
|
21502
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
21498
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _386 => _386.assignees, 'optionalAccess', _387 => _387.length]) || renderAssignSlot);
|
|
21503
21499
|
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: [
|
|
21504
21500
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21505
21501
|
_chunkC6ASEPZLcjs.Flag02Icon,
|
|
@@ -21508,7 +21504,7 @@ function TicketCard({
|
|
|
21508
21504
|
"aria-label": `Priority: ${ticket.priority}`
|
|
21509
21505
|
}
|
|
21510
21506
|
),
|
|
21511
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
21507
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _388 => _388.assignees, 'optionalAccess', _389 => _389.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
21512
21508
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21513
21509
|
_chunk6LK4VEXEcjs.SquareAvatar,
|
|
21514
21510
|
{
|
|
@@ -21537,7 +21533,7 @@ function TicketCard({
|
|
|
21537
21533
|
] }),
|
|
21538
21534
|
rightSection
|
|
21539
21535
|
] }),
|
|
21540
|
-
_optionalChain([ticket, 'access',
|
|
21536
|
+
_optionalChain([ticket, 'access', _390 => _390.tags, 'optionalAccess', _391 => _391.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
21541
21537
|
] });
|
|
21542
21538
|
const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
21543
21539
|
"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",
|
|
@@ -21712,7 +21708,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
21712
21708
|
const observer = new IntersectionObserver(
|
|
21713
21709
|
(entries) => {
|
|
21714
21710
|
if (entries.some((e) => e.isIntersecting)) {
|
|
21715
|
-
_optionalChain([loadMoreRef, 'access',
|
|
21711
|
+
_optionalChain([loadMoreRef, 'access', _392 => _392.current, 'optionalCall', _393 => _393(columnIdRef.current)]);
|
|
21716
21712
|
}
|
|
21717
21713
|
},
|
|
21718
21714
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -21741,7 +21737,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
21741
21737
|
{
|
|
21742
21738
|
ticket: t,
|
|
21743
21739
|
columnId: column.id,
|
|
21744
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
21740
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _394 => _394(t.id)]),
|
|
21745
21741
|
renderAssignSlot,
|
|
21746
21742
|
dragDisabled: column.dragDisabled
|
|
21747
21743
|
},
|
|
@@ -21837,17 +21833,17 @@ function Board({
|
|
|
21837
21833
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
21838
21834
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
21839
21835
|
const ticketHit = intersections.find(
|
|
21840
|
-
(c) => _optionalChain([c, 'access',
|
|
21836
|
+
(c) => _optionalChain([c, 'access', _395 => _395.data, 'optionalAccess', _396 => _396.droppableContainer, 'optionalAccess', _397 => _397.data, 'optionalAccess', _398 => _398.current, 'optionalAccess', _399 => _399.type]) === "ticket"
|
|
21841
21837
|
);
|
|
21842
21838
|
if (ticketHit) return [ticketHit];
|
|
21843
21839
|
const columnHit = intersections.find(
|
|
21844
|
-
(c) => _optionalChain([c, 'access',
|
|
21840
|
+
(c) => _optionalChain([c, 'access', _400 => _400.data, 'optionalAccess', _401 => _401.droppableContainer, 'optionalAccess', _402 => _402.data, 'optionalAccess', _403 => _403.current, 'optionalAccess', _404 => _404.type]) === "column"
|
|
21845
21841
|
);
|
|
21846
21842
|
if (columnHit) {
|
|
21847
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
21843
|
+
const columnId = _optionalChain([columnHit, 'access', _405 => _405.data, 'optionalAccess', _406 => _406.droppableContainer, 'optionalAccess', _407 => _407.data, 'optionalAccess', _408 => _408.current, 'optionalAccess', _409 => _409.columnId]);
|
|
21848
21844
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
21849
21845
|
const d = c.data.current;
|
|
21850
|
-
return _optionalChain([d, 'optionalAccess',
|
|
21846
|
+
return _optionalChain([d, 'optionalAccess', _410 => _410.type]) === "ticket" && d.columnId === columnId;
|
|
21851
21847
|
});
|
|
21852
21848
|
if (ticketsInColumn.length > 0) {
|
|
21853
21849
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -21872,20 +21868,20 @@ function Board({
|
|
|
21872
21868
|
const overId = String(over.id);
|
|
21873
21869
|
if (activeId === overId) return;
|
|
21874
21870
|
const overData = over.data.current;
|
|
21875
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
21876
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
21871
|
+
const fromColumnId = _optionalChain([locate, 'call', _411 => _411(items, activeId), 'optionalAccess', _412 => _412.columnId]);
|
|
21872
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _413 => _413.columnId]);
|
|
21877
21873
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
21878
21874
|
const origin = dragOriginRef.current;
|
|
21879
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
21875
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _414 => _414.fromColumnId]) === toColumnId;
|
|
21880
21876
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
21881
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
21882
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
21877
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _415 => _415.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
21878
|
+
if (_optionalChain([targetCol, 'optionalAccess', _416 => _416.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
21883
21879
|
setItems((prev) => {
|
|
21884
21880
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
21885
21881
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
21886
21882
|
if (fromIndex < 0 || !toCol) return prev;
|
|
21887
21883
|
let toIndex;
|
|
21888
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
21884
|
+
if (_optionalChain([overData, 'optionalAccess', _417 => _417.type]) === "column") {
|
|
21889
21885
|
toIndex = toCol.tickets.length;
|
|
21890
21886
|
} else {
|
|
21891
21887
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -21927,14 +21923,14 @@ function Board({
|
|
|
21927
21923
|
const toColumnId = located.columnId;
|
|
21928
21924
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
21929
21925
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
21930
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
21926
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _418 => _418.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _419 => _419.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
21931
21927
|
setItems(columns);
|
|
21932
21928
|
return;
|
|
21933
21929
|
}
|
|
21934
21930
|
let finalIndex = located.index;
|
|
21935
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
21931
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _420 => _420.find, 'call', _421 => _421((c) => c.id === toColumnId), 'optionalAccess', _422 => _422.tickets]), () => ( []));
|
|
21936
21932
|
const overData = over.data.current;
|
|
21937
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
21933
|
+
if (_optionalChain([overData, 'optionalAccess', _423 => _423.type]) === "ticket") {
|
|
21938
21934
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
21939
21935
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
21940
21936
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -21954,8 +21950,8 @@ function Board({
|
|
|
21954
21950
|
ticketId: origin.ticketId,
|
|
21955
21951
|
fromColumnId: origin.fromColumnId,
|
|
21956
21952
|
toColumnId,
|
|
21957
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
21958
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
21953
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _424 => _424[finalIndex - 1], 'optionalAccess', _425 => _425.id]), () => ( null)),
|
|
21954
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _426 => _426[finalIndex + 1], 'optionalAccess', _427 => _427.id]), () => ( null))
|
|
21959
21955
|
});
|
|
21960
21956
|
};
|
|
21961
21957
|
const handleDragCancel = () => {
|
|
@@ -21984,8 +21980,8 @@ function Board({
|
|
|
21984
21980
|
children: items.map((column, i) => {
|
|
21985
21981
|
const prev = items[i - 1];
|
|
21986
21982
|
const next = items[i + 1];
|
|
21987
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
21988
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
21983
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _428 => _428.system]));
|
|
21984
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _429 => _429.system]));
|
|
21989
21985
|
const showGap = i > 0 && !joinLeft;
|
|
21990
21986
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React73.Fragment, { children: [
|
|
21991
21987
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -22044,7 +22040,7 @@ function locate(cols, ticketId) {
|
|
|
22044
22040
|
return null;
|
|
22045
22041
|
}
|
|
22046
22042
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
22047
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
22043
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _430 => _430.find, 'call', _431 => _431((c) => c.id === columnId), 'optionalAccess', _432 => _432.tickets, 'access', _433 => _433.findIndex, 'call', _434 => _434((t) => t.id === ticketId)]), () => ( -1));
|
|
22048
22044
|
}
|
|
22049
22045
|
|
|
22050
22046
|
// src/components/features/board/types.ts
|
|
@@ -22292,7 +22288,7 @@ function Header2({ config, platform }) {
|
|
|
22292
22288
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
22293
22289
|
"flex justify-start w-full",
|
|
22294
22290
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
22295
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
22291
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _435 => _435.children, 'optionalAccess', _436 => _436.length]), () => ( 0))) - 1 && "mb-1",
|
|
22296
22292
|
"text-ods-text-primary",
|
|
22297
22293
|
// All dropdown items use primary text color
|
|
22298
22294
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -22384,7 +22380,7 @@ function Header2({ config, platform }) {
|
|
|
22384
22380
|
style: config.style,
|
|
22385
22381
|
children: [
|
|
22386
22382
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
22387
|
-
_optionalChain([config, 'access',
|
|
22383
|
+
_optionalChain([config, 'access', _437 => _437.actions, 'optionalAccess', _438 => _438.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
22388
22384
|
/* @__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 })
|
|
22389
22385
|
] }),
|
|
22390
22386
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22401,7 +22397,7 @@ function Header2({ config, platform }) {
|
|
|
22401
22397
|
}
|
|
22402
22398
|
),
|
|
22403
22399
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
22404
|
-
_optionalChain([config, 'access',
|
|
22400
|
+
_optionalChain([config, 'access', _439 => _439.actions, 'optionalAccess', _440 => _440.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
22405
22401
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22406
22402
|
_chunkTU26IZPOcjs.Button,
|
|
22407
22403
|
{
|
|
@@ -22409,10 +22405,10 @@ function Header2({ config, platform }) {
|
|
|
22409
22405
|
size: "icon",
|
|
22410
22406
|
className: "flex md:hidden",
|
|
22411
22407
|
onClick: () => {
|
|
22412
|
-
_optionalChain([config, 'access',
|
|
22408
|
+
_optionalChain([config, 'access', _441 => _441.mobile, 'optionalAccess', _442 => _442.onToggle, 'optionalCall', _443 => _443()]);
|
|
22413
22409
|
},
|
|
22414
|
-
"aria-label": _optionalChain([config, 'access',
|
|
22415
|
-
leftIcon: _optionalChain([config, 'access',
|
|
22410
|
+
"aria-label": _optionalChain([config, 'access', _444 => _444.mobile, 'optionalAccess', _445 => _445.isOpen]) ? "Close menu" : "Open menu",
|
|
22411
|
+
leftIcon: _optionalChain([config, 'access', _446 => _446.mobile, 'optionalAccess', _447 => _447.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
|
|
22416
22412
|
}
|
|
22417
22413
|
)
|
|
22418
22414
|
] })
|
|
@@ -22429,10 +22425,10 @@ function Header2({ config, platform }) {
|
|
|
22429
22425
|
// src/components/navigation/header-skeleton.tsx
|
|
22430
22426
|
|
|
22431
22427
|
function HeaderSkeleton({ config }) {
|
|
22432
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
22433
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
22434
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
22435
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
22428
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _448 => _448.navigation]) && config.navigation.items.length > 0;
|
|
22429
|
+
const showActions = _optionalChain([config, 'optionalAccess', _449 => _449.actions, 'optionalAccess', _450 => _450.right]) && config.actions.right.length > 0;
|
|
22430
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _451 => _451.mobile, 'optionalAccess', _452 => _452.enabled]);
|
|
22431
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _453 => _453.className, 'optionalAccess', _454 => _454.includes, 'call', _455 => _455("admin")]);
|
|
22436
22432
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22437
22433
|
"header",
|
|
22438
22434
|
{
|
|
@@ -22441,11 +22437,11 @@ function HeaderSkeleton({ config }) {
|
|
|
22441
22437
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
22442
22438
|
"px-6 py-3",
|
|
22443
22439
|
"transition-opacity duration-300 ease-in-out",
|
|
22444
|
-
_optionalChain([config, 'optionalAccess',
|
|
22440
|
+
_optionalChain([config, 'optionalAccess', _456 => _456.className])
|
|
22445
22441
|
),
|
|
22446
22442
|
children: [
|
|
22447
22443
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
22448
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
22444
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _457 => _457.actions, 'optionalAccess', _458 => _458.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" }) }),
|
|
22449
22445
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22450
22446
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
22451
22447
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -22453,8 +22449,8 @@ function HeaderSkeleton({ config }) {
|
|
|
22453
22449
|
] }),
|
|
22454
22450
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
22455
22451
|
"hidden md:flex items-center gap-2",
|
|
22456
|
-
_optionalChain([config, 'optionalAccess',
|
|
22457
|
-
_optionalChain([config, 'optionalAccess',
|
|
22452
|
+
_optionalChain([config, 'optionalAccess', _459 => _459.navigation, 'optionalAccess', _460 => _460.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
22453
|
+
_optionalChain([config, 'optionalAccess', _461 => _461.navigation, 'optionalAccess', _462 => _462.position]) === "right" && "ml-auto mr-4"
|
|
22458
22454
|
), children: [
|
|
22459
22455
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
22460
22456
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -22502,7 +22498,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
22502
22498
|
_react.useEffect.call(void 0, () => {
|
|
22503
22499
|
const handleKeyDown = (e) => {
|
|
22504
22500
|
if (e.key === "Escape" && isOpen) {
|
|
22505
|
-
_optionalChain([config, 'access',
|
|
22501
|
+
_optionalChain([config, 'access', _463 => _463.onClose, 'optionalCall', _464 => _464()]);
|
|
22506
22502
|
}
|
|
22507
22503
|
};
|
|
22508
22504
|
if (isOpen) {
|
|
@@ -22519,7 +22515,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
22519
22515
|
if (item.onClick) {
|
|
22520
22516
|
item.onClick();
|
|
22521
22517
|
}
|
|
22522
|
-
_optionalChain([config, 'access',
|
|
22518
|
+
_optionalChain([config, 'access', _465 => _465.onClose, 'optionalCall', _466 => _466()]);
|
|
22523
22519
|
};
|
|
22524
22520
|
if (item.href) {
|
|
22525
22521
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22737,7 +22733,7 @@ function SlidingSidebar({ config }) {
|
|
|
22737
22733
|
variant: "transparent",
|
|
22738
22734
|
size: "default",
|
|
22739
22735
|
onClick: () => {
|
|
22740
|
-
_optionalChain([item, 'access',
|
|
22736
|
+
_optionalChain([item, 'access', _467 => _467.onClick, 'optionalCall', _468 => _468()]);
|
|
22741
22737
|
config.onClose();
|
|
22742
22738
|
},
|
|
22743
22739
|
leftIcon: item.icon,
|
|
@@ -22760,7 +22756,7 @@ function SlidingSidebar({ config }) {
|
|
|
22760
22756
|
variant: "transparent",
|
|
22761
22757
|
size: "default",
|
|
22762
22758
|
onClick: () => {
|
|
22763
|
-
_optionalChain([item, 'access',
|
|
22759
|
+
_optionalChain([item, 'access', _469 => _469.onClick, 'optionalCall', _470 => _470()]);
|
|
22764
22760
|
config.onClose();
|
|
22765
22761
|
},
|
|
22766
22762
|
leftIcon: item.icon,
|
|
@@ -22887,7 +22883,7 @@ function StickySectionNav({
|
|
|
22887
22883
|
] });
|
|
22888
22884
|
}
|
|
22889
22885
|
function useSectionNavigation(sections, options) {
|
|
22890
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
22886
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _471 => _471[0], 'optionalAccess', _472 => _472.id]) || "");
|
|
22891
22887
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
22892
22888
|
const { offset: offset2 = 100 } = options || {};
|
|
22893
22889
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -22911,7 +22907,7 @@ function useSectionNavigation(sections, options) {
|
|
|
22911
22907
|
const handleScroll = () => {
|
|
22912
22908
|
if (isScrollingFromClick.current) return;
|
|
22913
22909
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
22914
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
22910
|
+
let currentSection = _optionalChain([sections, 'access', _473 => _473[0], 'optionalAccess', _474 => _474.id]) || "";
|
|
22915
22911
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
22916
22912
|
const element = document.getElementById(sections[i].id);
|
|
22917
22913
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -23106,7 +23102,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
23106
23102
|
} else {
|
|
23107
23103
|
setDesktopMinimized((prev) => !prev);
|
|
23108
23104
|
}
|
|
23109
|
-
_optionalChain([config, 'access',
|
|
23105
|
+
_optionalChain([config, 'access', _475 => _475.onToggleMinimized, 'optionalCall', _476 => _476()]);
|
|
23110
23106
|
}, [isTablet, setDesktopMinimized, config]);
|
|
23111
23107
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
23112
23108
|
setTabletMinimized(true);
|
|
@@ -23120,11 +23116,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
23120
23116
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
23121
23117
|
}, [isOverlayOpen, closeOverlay]);
|
|
23122
23118
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
23123
|
-
_optionalChain([event, 'optionalAccess',
|
|
23119
|
+
_optionalChain([event, 'optionalAccess', _477 => _477.stopPropagation, 'call', _478 => _478()]);
|
|
23124
23120
|
if (item.onClick) {
|
|
23125
23121
|
item.onClick();
|
|
23126
23122
|
} else if (item.path) {
|
|
23127
|
-
_optionalChain([config, 'access',
|
|
23123
|
+
_optionalChain([config, 'access', _479 => _479.onNavigate, 'optionalCall', _480 => _480(item.path)]);
|
|
23128
23124
|
}
|
|
23129
23125
|
if (isTablet) setTabletMinimized(true);
|
|
23130
23126
|
}, [config, isTablet]);
|
|
@@ -23269,11 +23265,11 @@ function HeaderGlobalSearch({
|
|
|
23269
23265
|
};
|
|
23270
23266
|
const handleSubmit = (e) => {
|
|
23271
23267
|
e.preventDefault();
|
|
23272
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
23268
|
+
_optionalChain([onSubmit, 'optionalCall', _481 => _481(currentValue)]);
|
|
23273
23269
|
};
|
|
23274
23270
|
const handleKeyDown = (e) => {
|
|
23275
23271
|
if (e.key === "Enter") {
|
|
23276
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
23272
|
+
_optionalChain([onSubmit, 'optionalCall', _482 => _482(currentValue)]);
|
|
23277
23273
|
}
|
|
23278
23274
|
};
|
|
23279
23275
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -23367,8 +23363,8 @@ function HeaderOrganizationFilter({
|
|
|
23367
23363
|
className
|
|
23368
23364
|
}) {
|
|
23369
23365
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
23370
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
23371
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
23366
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _483 => _483.name]) || "All Organizations";
|
|
23367
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _484 => _484.deviceCount]), () => ( totalDeviceCount));
|
|
23372
23368
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTU26IZPOcjs.DropdownMenu, { children: [
|
|
23373
23369
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23374
23370
|
"button",
|
|
@@ -23393,11 +23389,11 @@ function HeaderOrganizationFilter({
|
|
|
23393
23389
|
}
|
|
23394
23390
|
) }),
|
|
23395
23391
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTU26IZPOcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
23396
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
23392
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _485 => _485("")]), children: "All Organizations" }),
|
|
23397
23393
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23398
23394
|
_chunkTU26IZPOcjs.DropdownMenuItem,
|
|
23399
23395
|
{
|
|
23400
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
23396
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _486 => _486(org.id)]),
|
|
23401
23397
|
children: org.name
|
|
23402
23398
|
},
|
|
23403
23399
|
org.id
|
|
@@ -23582,9 +23578,9 @@ function NotificationsHeaderButton({
|
|
|
23582
23578
|
dimmedClass
|
|
23583
23579
|
}) {
|
|
23584
23580
|
const ctx = useOptionalNotifications();
|
|
23585
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
23586
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
23587
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
23581
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _487 => _487.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
23582
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _488 => _488.isOpen]), () => ( false));
|
|
23583
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _489 => _489.toggle]);
|
|
23588
23584
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23589
23585
|
HeaderButton,
|
|
23590
23586
|
{
|
|
@@ -23648,7 +23644,7 @@ var MobileBurgerMenu = React89.default.memo(function MobileBurgerMenu2({
|
|
|
23648
23644
|
if (item.onClick) {
|
|
23649
23645
|
item.onClick();
|
|
23650
23646
|
} else if (item.path) {
|
|
23651
|
-
_optionalChain([config, 'access',
|
|
23647
|
+
_optionalChain([config, 'access', _490 => _490.onNavigate, 'optionalCall', _491 => _491(item.path)]);
|
|
23652
23648
|
}
|
|
23653
23649
|
onClose();
|
|
23654
23650
|
}, [config, onClose]);
|
|
@@ -23891,7 +23887,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
23891
23887
|
const handleOpenChange = React82.useCallback(
|
|
23892
23888
|
(next) => {
|
|
23893
23889
|
if (!isControlled) setInternalOpen(next);
|
|
23894
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
23890
|
+
_optionalChain([onOpenChange, 'optionalCall', _492 => _492(next)]);
|
|
23895
23891
|
},
|
|
23896
23892
|
[isControlled, onOpenChange]
|
|
23897
23893
|
);
|
|
@@ -24272,10 +24268,10 @@ var AppLayoutDrawerContent = React82.forwardRef(
|
|
|
24272
24268
|
),
|
|
24273
24269
|
style,
|
|
24274
24270
|
onInteractOutside: (event) => {
|
|
24275
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
24271
|
+
_optionalChain([onInteractOutside, 'optionalCall', _493 => _493(event)]);
|
|
24276
24272
|
if (event.defaultPrevented) return;
|
|
24277
24273
|
const target = event.target;
|
|
24278
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
24274
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _494 => _494.contains, 'call', _495 => _495(target)]);
|
|
24279
24275
|
if (!isInsideContainer) {
|
|
24280
24276
|
event.preventDefault();
|
|
24281
24277
|
return;
|
|
@@ -24464,7 +24460,7 @@ var ShellTypeBadge = ({
|
|
|
24464
24460
|
className,
|
|
24465
24461
|
iconClassName
|
|
24466
24462
|
}) => {
|
|
24467
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
24463
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _496 => _496.toUpperCase, 'call', _497 => _497()]);
|
|
24468
24464
|
const label = getShellLabel(normalizedType);
|
|
24469
24465
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
24470
24466
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -24851,12 +24847,12 @@ function OnboardingWalkthrough({
|
|
|
24851
24847
|
}
|
|
24852
24848
|
}, [state.completedSteps, markComplete]);
|
|
24853
24849
|
const handleStepSkip = (step) => {
|
|
24854
|
-
_optionalChain([step, 'access',
|
|
24850
|
+
_optionalChain([step, 'access', _498 => _498.onSkip, 'optionalCall', _499 => _499()]);
|
|
24855
24851
|
markSkipped(step.id);
|
|
24856
24852
|
};
|
|
24857
24853
|
const handleDismiss = () => {
|
|
24858
24854
|
dismissOnboarding();
|
|
24859
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
24855
|
+
_optionalChain([onDismiss, 'optionalCall', _500 => _500()]);
|
|
24860
24856
|
};
|
|
24861
24857
|
if (state.dismissed) {
|
|
24862
24858
|
return null;
|
|
@@ -24986,7 +24982,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
24986
24982
|
onKeyDown: (e) => {
|
|
24987
24983
|
if (e.key === "Enter" || e.key === " ") {
|
|
24988
24984
|
e.preventDefault();
|
|
24989
|
-
_optionalChain([onClick, 'optionalCall',
|
|
24985
|
+
_optionalChain([onClick, 'optionalCall', _501 => _501()]);
|
|
24990
24986
|
}
|
|
24991
24987
|
},
|
|
24992
24988
|
children: [
|
|
@@ -25087,7 +25083,7 @@ var LogsList = React86.forwardRef(({
|
|
|
25087
25083
|
log,
|
|
25088
25084
|
isLast: index === logs.length - 1,
|
|
25089
25085
|
showConnector,
|
|
25090
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
25086
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _502 => _502(log)])
|
|
25091
25087
|
},
|
|
25092
25088
|
log.id
|
|
25093
25089
|
))
|
|
@@ -25188,7 +25184,7 @@ var Slider = React88.forwardRef(
|
|
|
25188
25184
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
25189
25185
|
const handleChange = (e) => {
|
|
25190
25186
|
const newValue = [Number(e.target.value)];
|
|
25191
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
25187
|
+
_optionalChain([onValueChange, 'optionalCall', _503 => _503(newValue)]);
|
|
25192
25188
|
};
|
|
25193
25189
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25194
25190
|
"input",
|
|
@@ -25500,7 +25496,7 @@ function CursorPaginationSimple({
|
|
|
25500
25496
|
{
|
|
25501
25497
|
variant: "transparent",
|
|
25502
25498
|
size: "icon",
|
|
25503
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
25499
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _504 => _504("")]),
|
|
25504
25500
|
disabled: !hasPreviousPage || loading,
|
|
25505
25501
|
className: "h-8 w-8",
|
|
25506
25502
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -25512,7 +25508,7 @@ function CursorPaginationSimple({
|
|
|
25512
25508
|
{
|
|
25513
25509
|
variant: "transparent",
|
|
25514
25510
|
size: "icon",
|
|
25515
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
25511
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _505 => _505("")]),
|
|
25516
25512
|
disabled: !hasNextPage || loading,
|
|
25517
25513
|
className: "h-8 w-8",
|
|
25518
25514
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -25572,7 +25568,7 @@ function TableColumnFilterDropdown({
|
|
|
25572
25568
|
placement = "bottom-start",
|
|
25573
25569
|
dropdownClassName = "min-w-[240px]"
|
|
25574
25570
|
}) {
|
|
25575
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
25571
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _506 => _506[columnKey], 'optionalAccess', _507 => _507.length]) || 0;
|
|
25576
25572
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25577
25573
|
FiltersDropdown,
|
|
25578
25574
|
{
|
|
@@ -25615,7 +25611,7 @@ function TableColumnFilterDropdown({
|
|
|
25615
25611
|
delete newFilters[columnKey];
|
|
25616
25612
|
onFilterChange(newFilters);
|
|
25617
25613
|
},
|
|
25618
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
25614
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _508 => _508[columnKey]]) || [] },
|
|
25619
25615
|
placement,
|
|
25620
25616
|
dropdownClassName
|
|
25621
25617
|
}
|
|
@@ -25912,7 +25908,7 @@ function TableRow({
|
|
|
25912
25908
|
const keys = column.key.split(".");
|
|
25913
25909
|
let value = item;
|
|
25914
25910
|
for (const key of keys) {
|
|
25915
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
25911
|
+
value = _optionalChain([value, 'optionalAccess', _509 => _509[key]]);
|
|
25916
25912
|
}
|
|
25917
25913
|
if (value === null || value === void 0) {
|
|
25918
25914
|
return "-";
|
|
@@ -25982,7 +25978,7 @@ function TableRow({
|
|
|
25982
25978
|
// src/components/ui/table/table.tsx
|
|
25983
25979
|
|
|
25984
25980
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
25985
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
25981
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _510 => _510.length])) || Boolean(renderRowActions);
|
|
25986
25982
|
const result = [...columns];
|
|
25987
25983
|
if (hasActions) {
|
|
25988
25984
|
const actionsColumn = {
|
|
@@ -26076,7 +26072,7 @@ function Table({
|
|
|
26076
26072
|
return rowKey(item);
|
|
26077
26073
|
}
|
|
26078
26074
|
const key = item[rowKey];
|
|
26079
|
-
return _optionalChain([key, 'optionalAccess',
|
|
26075
|
+
return _optionalChain([key, 'optionalAccess', _511 => _511.toString, 'call', _512 => _512()]) || index.toString();
|
|
26080
26076
|
};
|
|
26081
26077
|
const getRowClassName = (item, index) => {
|
|
26082
26078
|
if (typeof rowClassName === "function") {
|
|
@@ -26110,23 +26106,23 @@ function Table({
|
|
|
26110
26106
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
26111
26107
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
26112
26108
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
26113
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
26114
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
26109
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _513 => _513.onLoadMore]));
|
|
26110
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _514 => _514.onLoadMore]);
|
|
26115
26111
|
_react.useEffect.call(void 0, () => {
|
|
26116
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
26112
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _515 => _515.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
26117
26113
|
const sentinel = sentinelRef.current;
|
|
26118
26114
|
if (!sentinel) return;
|
|
26119
26115
|
const observer = new IntersectionObserver(
|
|
26120
26116
|
(entries) => {
|
|
26121
|
-
if (_optionalChain([entries, 'access',
|
|
26122
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
26117
|
+
if (_optionalChain([entries, 'access', _516 => _516[0], 'optionalAccess', _517 => _517.isIntersecting])) {
|
|
26118
|
+
_optionalChain([onLoadMoreRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
|
|
26123
26119
|
}
|
|
26124
26120
|
},
|
|
26125
26121
|
{ rootMargin: "200px" }
|
|
26126
26122
|
);
|
|
26127
26123
|
observer.observe(sentinel);
|
|
26128
26124
|
return () => observer.disconnect();
|
|
26129
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
26125
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _520 => _520.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _521 => _521.isFetchingNextPage])]);
|
|
26130
26126
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
26131
26127
|
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: [
|
|
26132
26128
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -26197,7 +26193,7 @@ function Table({
|
|
|
26197
26193
|
},
|
|
26198
26194
|
getRowKey(item, index)
|
|
26199
26195
|
)),
|
|
26200
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
26196
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _522 => _522.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26201
26197
|
TableCardSkeleton,
|
|
26202
26198
|
{
|
|
26203
26199
|
columns,
|
|
@@ -26206,7 +26202,7 @@ function Table({
|
|
|
26206
26202
|
hasChevron: Boolean(rowHref)
|
|
26207
26203
|
}
|
|
26208
26204
|
),
|
|
26209
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
26205
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _523 => _523.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
26210
26206
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26211
26207
|
"div",
|
|
26212
26208
|
{
|
|
@@ -26564,7 +26560,7 @@ function QueryReportTable({
|
|
|
26564
26560
|
);
|
|
26565
26561
|
const handleExport = () => {
|
|
26566
26562
|
exportToCSV(data, columns, exportFilename);
|
|
26567
|
-
_optionalChain([onExport, 'optionalCall',
|
|
26563
|
+
_optionalChain([onExport, 'optionalCall', _524 => _524()]);
|
|
26568
26564
|
};
|
|
26569
26565
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
26570
26566
|
const {
|
|
@@ -26737,7 +26733,7 @@ function DataTableColumnFilter({
|
|
|
26737
26733
|
align = "left"
|
|
26738
26734
|
}) {
|
|
26739
26735
|
const currentValue = column.getFilterValue();
|
|
26740
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
26736
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _525 => _525.length]), () => ( 0));
|
|
26741
26737
|
const sections = _react.useMemo.call(void 0,
|
|
26742
26738
|
() => [
|
|
26743
26739
|
{
|
|
@@ -26817,7 +26813,7 @@ function DataTableHeader({
|
|
|
26817
26813
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
26818
26814
|
if (header.isPlaceholder) return false;
|
|
26819
26815
|
if (isLgUp) return true;
|
|
26820
|
-
return Boolean(_optionalChain([header, 'access',
|
|
26816
|
+
return Boolean(_optionalChain([header, 'access', _526 => _526.column, 'access', _527 => _527.columnDef, 'access', _528 => _528.meta, 'optionalAccess', _529 => _529.filter]));
|
|
26821
26817
|
});
|
|
26822
26818
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26823
26819
|
"div",
|
|
@@ -26847,20 +26843,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
26847
26843
|
if (header.isPlaceholder) return null;
|
|
26848
26844
|
const column = header.column;
|
|
26849
26845
|
const meta = column.columnDef.meta;
|
|
26850
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
26851
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
26852
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
26853
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
26846
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _530 => _530.filter]));
|
|
26847
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _531 => _531.align]), () => ( "left"));
|
|
26848
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _532 => _532.sortable]) === true;
|
|
26849
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _533 => _533.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
26854
26850
|
if (!isLgUp && !hasFilter) return null;
|
|
26855
26851
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26856
26852
|
"div",
|
|
26857
26853
|
{
|
|
26858
26854
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
26859
26855
|
"flex items-stretch",
|
|
26860
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
26861
|
-
_optionalChain([meta, 'optionalAccess',
|
|
26856
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _534 => _534.width]) || "flex-1 min-w-0"),
|
|
26857
|
+
_optionalChain([meta, 'optionalAccess', _535 => _535.headerClassName]),
|
|
26862
26858
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
26863
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
26859
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _536 => _536.hideAt]))
|
|
26864
26860
|
),
|
|
26865
26861
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26866
26862
|
DataTableColumnFilter,
|
|
@@ -26879,7 +26875,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
26879
26875
|
isLgUp && alignJustify(align),
|
|
26880
26876
|
canSort && "group cursor-pointer"
|
|
26881
26877
|
),
|
|
26882
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
26878
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _537 => _537(column.id)]) : void 0,
|
|
26883
26879
|
children: [
|
|
26884
26880
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
26885
26881
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -26963,7 +26959,7 @@ function DataTableSkeleton({
|
|
|
26963
26959
|
}) {
|
|
26964
26960
|
const table = useDataTableContext();
|
|
26965
26961
|
const columns = table.getVisibleFlatColumns();
|
|
26966
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
26962
|
+
const firstColumnId = _optionalChain([columns, 'access', _538 => _538[0], 'optionalAccess', _539 => _539.id]);
|
|
26967
26963
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26968
26964
|
"div",
|
|
26969
26965
|
{
|
|
@@ -26987,7 +26983,7 @@ function DataTableSkeleton({
|
|
|
26987
26983
|
{
|
|
26988
26984
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
26989
26985
|
"flex flex-col justify-center shrink-0",
|
|
26990
|
-
_optionalChain([meta, 'optionalAccess',
|
|
26986
|
+
_optionalChain([meta, 'optionalAccess', _540 => _540.width]) || "flex-1"
|
|
26991
26987
|
),
|
|
26992
26988
|
children: [
|
|
26993
26989
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -27036,7 +27032,7 @@ function DataTableRowImpl({
|
|
|
27036
27032
|
const handleClick = _react.useCallback.call(void 0,
|
|
27037
27033
|
(e) => {
|
|
27038
27034
|
const target = e.target;
|
|
27039
|
-
if (!_optionalChain([containerRef, 'access',
|
|
27035
|
+
if (!_optionalChain([containerRef, 'access', _541 => _541.current, 'optionalAccess', _542 => _542.contains, 'call', _543 => _543(target)])) {
|
|
27040
27036
|
if (isLinkMode) e.preventDefault();
|
|
27041
27037
|
return;
|
|
27042
27038
|
}
|
|
@@ -27044,7 +27040,7 @@ function DataTableRowImpl({
|
|
|
27044
27040
|
if (isLinkMode) e.preventDefault();
|
|
27045
27041
|
return;
|
|
27046
27042
|
}
|
|
27047
|
-
_optionalChain([onClick, 'optionalCall',
|
|
27043
|
+
_optionalChain([onClick, 'optionalCall', _544 => _544(row.original)]);
|
|
27048
27044
|
},
|
|
27049
27045
|
[onClick, row.original, isLinkMode]
|
|
27050
27046
|
);
|
|
@@ -27069,10 +27065,10 @@ function DataTableRowImpl({
|
|
|
27069
27065
|
{
|
|
27070
27066
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
27071
27067
|
"flex flex-col overflow-hidden",
|
|
27072
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
27073
|
-
_optionalChain([meta, 'optionalAccess',
|
|
27074
|
-
_optionalChain([meta, 'optionalAccess',
|
|
27075
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
27068
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _545 => _545.align])),
|
|
27069
|
+
_optionalChain([meta, 'optionalAccess', _546 => _546.width]) || "flex-1 min-w-0",
|
|
27070
|
+
_optionalChain([meta, 'optionalAccess', _547 => _547.cellClassName]),
|
|
27071
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _548 => _548.hideAt]))
|
|
27076
27072
|
),
|
|
27077
27073
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
27078
27074
|
},
|
|
@@ -27150,7 +27146,7 @@ function DataTableBody({
|
|
|
27150
27146
|
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: [
|
|
27151
27147
|
rows.map((row, index) => {
|
|
27152
27148
|
const item = row.original;
|
|
27153
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
27149
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _549 => _549(item)]), () => ( void 0));
|
|
27154
27150
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
27155
27151
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27156
27152
|
DataTableRow,
|
|
@@ -27160,7 +27156,7 @@ function DataTableBody({
|
|
|
27160
27156
|
href,
|
|
27161
27157
|
compact,
|
|
27162
27158
|
className: cls,
|
|
27163
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
27159
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _550 => _550(item)])
|
|
27164
27160
|
},
|
|
27165
27161
|
row.id
|
|
27166
27162
|
);
|
|
@@ -27215,7 +27211,7 @@ function DataTableInfiniteFooter({
|
|
|
27215
27211
|
if (!sentinel) return;
|
|
27216
27212
|
const observer = new IntersectionObserver(
|
|
27217
27213
|
(entries) => {
|
|
27218
|
-
if (_optionalChain([entries, 'access',
|
|
27214
|
+
if (_optionalChain([entries, 'access', _551 => _551[0], 'optionalAccess', _552 => _552.isIntersecting])) onLoadMoreRef.current();
|
|
27219
27215
|
},
|
|
27220
27216
|
{ rootMargin }
|
|
27221
27217
|
);
|
|
@@ -27263,7 +27259,7 @@ function DataTableRowCount({
|
|
|
27263
27259
|
const table = useDataTableContext();
|
|
27264
27260
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
27265
27261
|
if (hideWhenEmpty && count === 0) return null;
|
|
27266
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
27262
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _553 => _553(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
27267
27263
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27268
27264
|
"span",
|
|
27269
27265
|
{
|
|
@@ -27348,7 +27344,7 @@ function FilterListItem({
|
|
|
27348
27344
|
}) {
|
|
27349
27345
|
const handleToggle = () => {
|
|
27350
27346
|
if (disabled) return;
|
|
27351
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
27347
|
+
_optionalChain([onToggle, 'optionalCall', _554 => _554(!selected)]);
|
|
27352
27348
|
};
|
|
27353
27349
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27354
27350
|
"div",
|
|
@@ -27395,7 +27391,7 @@ function FilterListItem({
|
|
|
27395
27391
|
CheckboxPrimitive4.Root,
|
|
27396
27392
|
{
|
|
27397
27393
|
checked: selected,
|
|
27398
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
27394
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _555 => _555(c === true)]),
|
|
27399
27395
|
onClick: (e) => e.stopPropagation(),
|
|
27400
27396
|
disabled,
|
|
27401
27397
|
"aria-label": title,
|
|
@@ -27494,7 +27490,7 @@ function TagSearchInput({
|
|
|
27494
27490
|
if (!showHiddenTags) return;
|
|
27495
27491
|
const handleClick = (e) => {
|
|
27496
27492
|
const target = e.target;
|
|
27497
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
27493
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _556 => _556.current, 'optionalAccess', _557 => _557.contains, 'call', _558 => _558(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _559 => _559.current, 'optionalAccess', _560 => _560.contains, 'call', _561 => _561(target)])) {
|
|
27498
27494
|
setShowHiddenTags(false);
|
|
27499
27495
|
}
|
|
27500
27496
|
};
|
|
@@ -27510,13 +27506,13 @@ function TagSearchInput({
|
|
|
27510
27506
|
e.preventDefault();
|
|
27511
27507
|
onSubmit(searchValue);
|
|
27512
27508
|
}
|
|
27513
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
27509
|
+
_optionalChain([onKeyDown, 'optionalCall', _562 => _562(e)]);
|
|
27514
27510
|
};
|
|
27515
27511
|
const handleClearAll = (e) => {
|
|
27516
27512
|
e.stopPropagation();
|
|
27517
27513
|
e.preventDefault();
|
|
27518
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
27519
|
-
_optionalChain([inputRef, 'access',
|
|
27514
|
+
_optionalChain([onClearAll, 'optionalCall', _563 => _563()]);
|
|
27515
|
+
_optionalChain([inputRef, 'access', _564 => _564.current, 'optionalAccess', _565 => _565.focus, 'call', _566 => _566()]);
|
|
27520
27516
|
};
|
|
27521
27517
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
27522
27518
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -27533,7 +27529,7 @@ function TagSearchInput({
|
|
|
27533
27529
|
className
|
|
27534
27530
|
),
|
|
27535
27531
|
onClick: () => {
|
|
27536
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
27532
|
+
if (!disabled) _optionalChain([inputRef, 'access', _567 => _567.current, 'optionalAccess', _568 => _568.focus, 'call', _569 => _569()]);
|
|
27537
27533
|
},
|
|
27538
27534
|
children: [
|
|
27539
27535
|
/* @__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" }) }),
|
|
@@ -27605,7 +27601,7 @@ function TagSearchInput({
|
|
|
27605
27601
|
items: hiddenTags,
|
|
27606
27602
|
disabled,
|
|
27607
27603
|
style: {
|
|
27608
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
27604
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _570 => _570.current, 'optionalAccess', _571 => _571.getBoundingClientRect, 'call', _572 => _572(), 'access', _573 => _573.left]), () => ( 0))) : 0
|
|
27609
27605
|
},
|
|
27610
27606
|
onRemove: (value) => {
|
|
27611
27607
|
onTagRemove(value);
|
|
@@ -27706,7 +27702,7 @@ function MarkdownEditor({
|
|
|
27706
27702
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
27707
27703
|
_react.useEffect.call(void 0, () => {
|
|
27708
27704
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
27709
|
-
if (_optionalChain([mod, 'access',
|
|
27705
|
+
if (_optionalChain([mod, 'access', _574 => _574.commands, 'optionalAccess', _575 => _575.getExtraCommands])) {
|
|
27710
27706
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
27711
27707
|
}
|
|
27712
27708
|
});
|
|
@@ -27740,7 +27736,7 @@ function MarkdownEditor({
|
|
|
27740
27736
|
const isImage = file.type.startsWith("image/");
|
|
27741
27737
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
27742
27738
|
insertTextAtCursor(markdown);
|
|
27743
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
27739
|
+
_optionalChain([onFileUploaded, 'optionalCall', _576 => _576(url, file.name)]);
|
|
27744
27740
|
} catch (error) {
|
|
27745
27741
|
console.error("File upload failed:", error);
|
|
27746
27742
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -27753,7 +27749,7 @@ function MarkdownEditor({
|
|
|
27753
27749
|
);
|
|
27754
27750
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
27755
27751
|
(e) => {
|
|
27756
|
-
const file = _optionalChain([e, 'access',
|
|
27752
|
+
const file = _optionalChain([e, 'access', _577 => _577.target, 'access', _578 => _578.files, 'optionalAccess', _579 => _579[0]]);
|
|
27757
27753
|
if (file) {
|
|
27758
27754
|
handleFileUpload(file);
|
|
27759
27755
|
e.target.value = "";
|
|
@@ -27764,7 +27760,7 @@ function MarkdownEditor({
|
|
|
27764
27760
|
const handlePaste = _react.useCallback.call(void 0,
|
|
27765
27761
|
(e) => {
|
|
27766
27762
|
if (!onUploadFile) return;
|
|
27767
|
-
const items = _optionalChain([e, 'access',
|
|
27763
|
+
const items = _optionalChain([e, 'access', _580 => _580.clipboardData, 'optionalAccess', _581 => _581.items]);
|
|
27768
27764
|
if (!items) return;
|
|
27769
27765
|
for (const item of items) {
|
|
27770
27766
|
if (item.type.startsWith("image/")) {
|
|
@@ -27789,7 +27785,7 @@ function MarkdownEditor({
|
|
|
27789
27785
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
27790
27786
|
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" }),
|
|
27791
27787
|
execute: () => {
|
|
27792
|
-
_optionalChain([fileInputRef, 'access',
|
|
27788
|
+
_optionalChain([fileInputRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.click, 'call', _584 => _584()]);
|
|
27793
27789
|
}
|
|
27794
27790
|
} : null;
|
|
27795
27791
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -27801,7 +27797,7 @@ function MarkdownEditor({
|
|
|
27801
27797
|
const EDGE_ZONE = 60;
|
|
27802
27798
|
const MAX_SCROLL_SPEED = 15;
|
|
27803
27799
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
27804
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
27800
|
+
let node = _optionalChain([el, 'optionalAccess', _585 => _585.parentElement]);
|
|
27805
27801
|
while (node && node !== document.documentElement) {
|
|
27806
27802
|
const { overflowY } = window.getComputedStyle(node);
|
|
27807
27803
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -27944,7 +27940,7 @@ function matchesAccept(file, accept) {
|
|
|
27944
27940
|
});
|
|
27945
27941
|
}
|
|
27946
27942
|
function dragHasFiles(e) {
|
|
27947
|
-
const types = _optionalChain([e, 'access',
|
|
27943
|
+
const types = _optionalChain([e, 'access', _586 => _586.dataTransfer, 'optionalAccess', _587 => _587.types]);
|
|
27948
27944
|
if (!types) return false;
|
|
27949
27945
|
for (let i = 0; i < types.length; i++) {
|
|
27950
27946
|
if (types[i] === "Files") return true;
|
|
@@ -28039,7 +28035,7 @@ function FileUpload({
|
|
|
28039
28035
|
e.stopPropagation();
|
|
28040
28036
|
setDragActive(false);
|
|
28041
28037
|
if (disabled) return;
|
|
28042
|
-
if (_optionalChain([e, 'access',
|
|
28038
|
+
if (_optionalChain([e, 'access', _588 => _588.dataTransfer, 'access', _589 => _589.files, 'optionalAccess', _590 => _590.length])) {
|
|
28043
28039
|
handleFiles(e.dataTransfer.files);
|
|
28044
28040
|
}
|
|
28045
28041
|
};
|
|
@@ -28067,7 +28063,7 @@ function FileUpload({
|
|
|
28067
28063
|
e.preventDefault();
|
|
28068
28064
|
dragCounter = 0;
|
|
28069
28065
|
setDragActive(false);
|
|
28070
|
-
if (_optionalChain([e, 'access',
|
|
28066
|
+
if (_optionalChain([e, 'access', _591 => _591.dataTransfer, 'optionalAccess', _592 => _592.files, 'optionalAccess', _593 => _593.length])) {
|
|
28071
28067
|
handleFilesRef.current(e.dataTransfer.files);
|
|
28072
28068
|
}
|
|
28073
28069
|
};
|
|
@@ -28089,7 +28085,7 @@ function FileUpload({
|
|
|
28089
28085
|
};
|
|
28090
28086
|
}, [acceptWindowDrops, disabled]);
|
|
28091
28087
|
const handleFileSelect = (e) => {
|
|
28092
|
-
if (_optionalChain([e, 'access',
|
|
28088
|
+
if (_optionalChain([e, 'access', _594 => _594.target, 'access', _595 => _595.files, 'optionalAccess', _596 => _596.length])) {
|
|
28093
28089
|
handleFiles(e.target.files);
|
|
28094
28090
|
}
|
|
28095
28091
|
};
|
|
@@ -28106,7 +28102,7 @@ function FileUpload({
|
|
|
28106
28102
|
};
|
|
28107
28103
|
const openDialog = async () => {
|
|
28108
28104
|
if (disabled) return;
|
|
28109
|
-
_optionalChain([fileInputRef, 'access',
|
|
28105
|
+
_optionalChain([fileInputRef, 'access', _597 => _597.current, 'optionalAccess', _598 => _598.click, 'call', _599 => _599()]);
|
|
28110
28106
|
};
|
|
28111
28107
|
const displayError = error || validationError || void 0;
|
|
28112
28108
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -28184,7 +28180,7 @@ function FileUpload({
|
|
|
28184
28180
|
"button",
|
|
28185
28181
|
{
|
|
28186
28182
|
type: "button",
|
|
28187
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
28183
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _600 => _600(entry.id)]),
|
|
28188
28184
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
28189
28185
|
"aria-label": `Remove ${entry.fileName}`,
|
|
28190
28186
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -28307,7 +28303,7 @@ function ImageUploader({
|
|
|
28307
28303
|
onChange(file);
|
|
28308
28304
|
};
|
|
28309
28305
|
const handleFileSelect = (e) => {
|
|
28310
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
28306
|
+
validateAndEmit(_optionalChain([e, 'access', _601 => _601.target, 'access', _602 => _602.files, 'optionalAccess', _603 => _603[0]]));
|
|
28311
28307
|
if (inputRef.current) inputRef.current.value = "";
|
|
28312
28308
|
};
|
|
28313
28309
|
const handleDrag = (e) => {
|
|
@@ -28322,11 +28318,11 @@ function ImageUploader({
|
|
|
28322
28318
|
e.stopPropagation();
|
|
28323
28319
|
setDragActive(false);
|
|
28324
28320
|
if (!interactive) return;
|
|
28325
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
28321
|
+
validateAndEmit(_optionalChain([e, 'access', _604 => _604.dataTransfer, 'access', _605 => _605.files, 'optionalAccess', _606 => _606[0]]));
|
|
28326
28322
|
};
|
|
28327
28323
|
const openDialog = () => {
|
|
28328
28324
|
if (!interactive) return;
|
|
28329
|
-
_optionalChain([inputRef, 'access',
|
|
28325
|
+
_optionalChain([inputRef, 'access', _607 => _607.current, 'optionalAccess', _608 => _608.click, 'call', _609 => _609()]);
|
|
28330
28326
|
};
|
|
28331
28327
|
const handleRootKeyDown = (e) => {
|
|
28332
28328
|
if (hasImage || !interactive) return;
|
|
@@ -28516,8 +28512,8 @@ function ColorPresetSelect({
|
|
|
28516
28512
|
}) {
|
|
28517
28513
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
28518
28514
|
const isCustom = !selectedPreset;
|
|
28519
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
28520
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
28515
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _610 => _610.label]), () => ( "Custom"));
|
|
28516
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _611 => _611.color]), () => ( value));
|
|
28521
28517
|
const groups = [
|
|
28522
28518
|
{
|
|
28523
28519
|
items: [
|
|
@@ -28807,7 +28803,7 @@ function TicketStatusConfigRow({
|
|
|
28807
28803
|
_chunk6JINAOI7cjs.Input,
|
|
28808
28804
|
{
|
|
28809
28805
|
value: name,
|
|
28810
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
28806
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _612 => _612(e.target.value)]),
|
|
28811
28807
|
disabled: isSystem,
|
|
28812
28808
|
readOnly: isSystem,
|
|
28813
28809
|
"aria-label": "Status name",
|
|
@@ -28890,7 +28886,7 @@ function CompactAssigneeDropdown({
|
|
|
28890
28886
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
28891
28887
|
}, [filtered, currentAssignee]);
|
|
28892
28888
|
const handleSelect = (userId) => {
|
|
28893
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
28889
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _613 => _613.id]) === userId ? null : userId;
|
|
28894
28890
|
onAssign(next);
|
|
28895
28891
|
setIsOpen(false);
|
|
28896
28892
|
};
|
|
@@ -28955,7 +28951,7 @@ function CompactAssigneeDropdown({
|
|
|
28955
28951
|
}
|
|
28956
28952
|
) }),
|
|
28957
28953
|
/* @__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) => {
|
|
28958
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
28954
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _614 => _614.id]) === opt.value;
|
|
28959
28955
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
28960
28956
|
"button",
|
|
28961
28957
|
{
|
|
@@ -29024,7 +29020,7 @@ function DefaultAssigneeDropdown({
|
|
|
29024
29020
|
Autocomplete,
|
|
29025
29021
|
{
|
|
29026
29022
|
options,
|
|
29027
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
29023
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _615 => _615.id]), () => ( null)),
|
|
29028
29024
|
onChange: (val) => {
|
|
29029
29025
|
onAssign(val);
|
|
29030
29026
|
setIsEditing(false);
|
|
@@ -29413,14 +29409,14 @@ function TicketInfoSection({
|
|
|
29413
29409
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29414
29410
|
_chunk6LK4VEXEcjs.SquareAvatar,
|
|
29415
29411
|
{
|
|
29416
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
29417
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
29418
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
29412
|
+
src: _optionalChain([organization, 'optionalAccess', _616 => _616.imageSrc]),
|
|
29413
|
+
alt: _optionalChain([organization, 'optionalAccess', _617 => _617.name]),
|
|
29414
|
+
fallback: _optionalChain([organization, 'optionalAccess', _618 => _618.name]) || "Org",
|
|
29419
29415
|
size: "md",
|
|
29420
29416
|
className: "shrink-0"
|
|
29421
29417
|
}
|
|
29422
29418
|
),
|
|
29423
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
29419
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _619 => _619.name]) || "Unassigned", label: "Organization" })
|
|
29424
29420
|
] }),
|
|
29425
29421
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29426
29422
|
AssigneeDropdown,
|
|
@@ -29441,10 +29437,10 @@ function TicketInfoSection({
|
|
|
29441
29437
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29442
29438
|
InfoCell2,
|
|
29443
29439
|
{
|
|
29444
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
29440
|
+
value: _optionalChain([device, 'optionalAccess', _620 => _620.name]) || "Unassigned",
|
|
29445
29441
|
label: "Device",
|
|
29446
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
29447
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
29442
|
+
icon: _optionalChain([device, 'optionalAccess', _621 => _621.icon]),
|
|
29443
|
+
onClick: _optionalChain([device, 'optionalAccess', _622 => _622.onClick])
|
|
29448
29444
|
}
|
|
29449
29445
|
),
|
|
29450
29446
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -29740,7 +29736,7 @@ function RoadmapCard({
|
|
|
29740
29736
|
const compactHref = _chunk6LK4VEXEcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
|
|
29741
29737
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
29742
29738
|
const hasFigma = !!item.figmaUrl;
|
|
29743
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
29739
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _623 => _623.screenshots, 'optionalAccess', _624 => _624.length]), () => ( 0))) > 0;
|
|
29744
29740
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
29745
29741
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
29746
29742
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -29759,7 +29755,7 @@ function RoadmapCard({
|
|
|
29759
29755
|
unoptimized: true,
|
|
29760
29756
|
className: "h-8 w-8 object-contain"
|
|
29761
29757
|
}
|
|
29762
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
29758
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _625 => _625.title, 'optionalAccess', _626 => _626.substring, 'call', _627 => _627(0, 2)]) || "??" })
|
|
29763
29759
|
}
|
|
29764
29760
|
),
|
|
29765
29761
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -29834,7 +29830,7 @@ function RoadmapCard({
|
|
|
29834
29830
|
unoptimized: true,
|
|
29835
29831
|
className: "object-contain p-1"
|
|
29836
29832
|
}
|
|
29837
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
29833
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _628 => _628.title, 'optionalAccess', _629 => _629.substring, 'call', _630 => _630(0, 2)]) || "??" }) }),
|
|
29838
29834
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
29839
29835
|
/* @__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 }) }),
|
|
29840
29836
|
/* @__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: [
|
|
@@ -30344,7 +30340,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
30344
30340
|
] }) : null,
|
|
30345
30341
|
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
|
|
30346
30342
|
] }),
|
|
30347
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
30343
|
+
_optionalChain([anchorProps, 'optionalAccess', _631 => _631.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
|
|
30348
30344
|
] });
|
|
30349
30345
|
if (!anchorProps) {
|
|
30350
30346
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk6LK4VEXEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -30414,7 +30410,7 @@ function getDefaultOptions() {
|
|
|
30414
30410
|
// node_modules/date-fns/startOfWeek.mjs
|
|
30415
30411
|
function startOfWeek(date, options) {
|
|
30416
30412
|
const defaultOptions2 = getDefaultOptions();
|
|
30417
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
30413
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _632 => _632.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _633 => _633.locale, 'optionalAccess', _634 => _634.options, 'optionalAccess', _635 => _635.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _636 => _636.locale, 'optionalAccess', _637 => _637.options, 'optionalAccess', _638 => _638.weekStartsOn]))), () => ( 0));
|
|
30418
30414
|
const _date = toDate(date);
|
|
30419
30415
|
const day = _date.getDay();
|
|
30420
30416
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -30589,7 +30585,7 @@ var formatDistance = (token, count, options) => {
|
|
|
30589
30585
|
} else {
|
|
30590
30586
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
30591
30587
|
}
|
|
30592
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
30588
|
+
if (_optionalChain([options, 'optionalAccess', _639 => _639.addSuffix])) {
|
|
30593
30589
|
if (options.comparison && options.comparison > 0) {
|
|
30594
30590
|
return "in " + result;
|
|
30595
30591
|
} else {
|
|
@@ -30656,15 +30652,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
30656
30652
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
30657
30653
|
function buildLocalizeFn(args) {
|
|
30658
30654
|
return (value, options) => {
|
|
30659
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
30655
|
+
const context = _optionalChain([options, 'optionalAccess', _640 => _640.context]) ? String(options.context) : "standalone";
|
|
30660
30656
|
let valuesArray;
|
|
30661
30657
|
if (context === "formatting" && args.formattingValues) {
|
|
30662
30658
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
30663
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
30659
|
+
const width = _optionalChain([options, 'optionalAccess', _641 => _641.width]) ? String(options.width) : defaultWidth;
|
|
30664
30660
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
30665
30661
|
} else {
|
|
30666
30662
|
const defaultWidth = args.defaultWidth;
|
|
30667
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
30663
|
+
const width = _optionalChain([options, 'optionalAccess', _642 => _642.width]) ? String(options.width) : args.defaultWidth;
|
|
30668
30664
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
30669
30665
|
}
|
|
30670
30666
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -31044,7 +31040,7 @@ function getWeekYear(date, options) {
|
|
|
31044
31040
|
const _date = toDate(date);
|
|
31045
31041
|
const year = _date.getFullYear();
|
|
31046
31042
|
const defaultOptions2 = getDefaultOptions();
|
|
31047
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
31043
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _643 => _643.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _644 => _644.locale, 'optionalAccess', _645 => _645.options, 'optionalAccess', _646 => _646.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _647 => _647.locale, 'optionalAccess', _648 => _648.options, 'optionalAccess', _649 => _649.firstWeekContainsDate]))), () => ( 1));
|
|
31048
31044
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
31049
31045
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
31050
31046
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -31065,7 +31061,7 @@ function getWeekYear(date, options) {
|
|
|
31065
31061
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
31066
31062
|
function startOfWeekYear(date, options) {
|
|
31067
31063
|
const defaultOptions2 = getDefaultOptions();
|
|
31068
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
31064
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _650 => _650.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _651 => _651.locale, 'optionalAccess', _652 => _652.options, 'optionalAccess', _653 => _653.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _654 => _654.locale, 'optionalAccess', _655 => _655.options, 'optionalAccess', _656 => _656.firstWeekContainsDate]))), () => ( 1));
|
|
31069
31065
|
const year = getWeekYear(date, options);
|
|
31070
31066
|
const firstWeek = constructFrom(date, 0);
|
|
31071
31067
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -31880,9 +31876,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
31880
31876
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
31881
31877
|
function format(date, formatStr, options) {
|
|
31882
31878
|
const defaultOptions2 = getDefaultOptions();
|
|
31883
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
31884
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
31885
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
31879
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _657 => _657.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
31880
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _658 => _658.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _659 => _659.locale, 'optionalAccess', _660 => _660.options, 'optionalAccess', _661 => _661.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _662 => _662.locale, 'optionalAccess', _663 => _663.options, 'optionalAccess', _664 => _664.firstWeekContainsDate]))), () => ( 1));
|
|
31881
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _665 => _665.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _666 => _666.locale, 'optionalAccess', _667 => _667.options, 'optionalAccess', _668 => _668.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _669 => _669.locale, 'optionalAccess', _670 => _670.options, 'optionalAccess', _671 => _671.weekStartsOn]))), () => ( 0));
|
|
31886
31882
|
const originalDate = toDate(date);
|
|
31887
31883
|
if (!isValid(originalDate)) {
|
|
31888
31884
|
throw new RangeError("Invalid time value");
|
|
@@ -31923,7 +31919,7 @@ function format(date, formatStr, options) {
|
|
|
31923
31919
|
return parts.map((part) => {
|
|
31924
31920
|
if (!part.isToken) return part.value;
|
|
31925
31921
|
const token = part.value;
|
|
31926
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
31922
|
+
if (!_optionalChain([options, 'optionalAccess', _672 => _672.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _673 => _673.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
31927
31923
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
31928
31924
|
}
|
|
31929
31925
|
const formatter = formatters[token[0]];
|
|
@@ -32101,7 +32097,7 @@ function ProgramCard({
|
|
|
32101
32097
|
const dur = _chunk6LK4VEXEcjs.formatDurationFromRange.call(void 0, w.start_at, w.end_at);
|
|
32102
32098
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
32103
32099
|
}
|
|
32104
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
32100
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _674 => _674.labels, 'optionalAccess', _675 => _675.singular])].filter(
|
|
32105
32101
|
(s) => typeof s === "string" && s.length > 0
|
|
32106
32102
|
);
|
|
32107
32103
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, _chunk6LK4VEXEcjs.COMPACT_CARD_OUTER, className), children: [
|
|
@@ -32258,7 +32254,7 @@ function ProgramCard({
|
|
|
32258
32254
|
|
|
32259
32255
|
|
|
32260
32256
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
32261
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
32257
|
+
const goalsCount = _optionalChain([campaign, 'access', _676 => _676.goals, 'optionalAccess', _677 => _677.length]) || 0;
|
|
32262
32258
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
32263
32259
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
32264
32260
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -32545,8 +32541,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
32545
32541
|
if (href) {
|
|
32546
32542
|
items.push({
|
|
32547
32543
|
id: "open-details",
|
|
32548
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
32549
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
32544
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _678 => _678.label]), () => ( "Open Details")),
|
|
32545
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _679 => _679.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
|
|
32550
32546
|
// Main row → open the entity (same tab, soft Link nav).
|
|
32551
32547
|
href,
|
|
32552
32548
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -32576,8 +32572,8 @@ function HubspotTicketChatCard({
|
|
|
32576
32572
|
isNewTab,
|
|
32577
32573
|
discuss
|
|
32578
32574
|
}) {
|
|
32579
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
32580
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
32575
|
+
const status = typeof _optionalChain([chatRef, 'access', _680 => _680.metadata, 'optionalAccess', _681 => _681.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
32576
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _682 => _682.metadata, 'optionalAccess', _683 => _683.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
32581
32577
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
32582
32578
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32583
32579
|
MingoInfoCard,
|
|
@@ -32600,7 +32596,7 @@ function SlackChatCard({
|
|
|
32600
32596
|
isNewTab,
|
|
32601
32597
|
discuss
|
|
32602
32598
|
}) {
|
|
32603
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
32599
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _684 => _684.metadata, 'optionalAccess', _685 => _685.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
32604
32600
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
32605
32601
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
32606
32602
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -32640,7 +32636,7 @@ function GenericFinancialChatCard({
|
|
|
32640
32636
|
isNewTab,
|
|
32641
32637
|
discuss
|
|
32642
32638
|
}) {
|
|
32643
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
32639
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _686 => _686.metadata, 'optionalAccess', _687 => _687.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
32644
32640
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32645
32641
|
MingoInfoCard,
|
|
32646
32642
|
{
|
|
@@ -32709,12 +32705,12 @@ function ProductReleaseChatCard({
|
|
|
32709
32705
|
discuss
|
|
32710
32706
|
}) {
|
|
32711
32707
|
const releaseProps = buildProps(item);
|
|
32712
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
32708
|
+
const status = _optionalChain([item, 'optionalAccess', _688 => _688.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
32713
32709
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32714
32710
|
EntityMingoCard,
|
|
32715
32711
|
{
|
|
32716
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32717
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
32712
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _689 => _689.title]), () => ( "")),
|
|
32713
|
+
description: _optionalChain([item, 'optionalAccess', _690 => _690.summary]) || releaseProps.formattedDate || void 0,
|
|
32718
32714
|
cover: releaseProps.coverImage || void 0,
|
|
32719
32715
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
|
|
32720
32716
|
status,
|
|
@@ -32731,17 +32727,17 @@ function CampaignChatCard({
|
|
|
32731
32727
|
isNewTab,
|
|
32732
32728
|
discuss
|
|
32733
32729
|
}) {
|
|
32734
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
32730
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _691 => _691.goals])) ? item.goals.length : 0;
|
|
32735
32731
|
const meta = [
|
|
32736
|
-
_optionalChain([item, 'optionalAccess',
|
|
32732
|
+
_optionalChain([item, 'optionalAccess', _692 => _692.start_date]) ? formatDateShort(item.start_date) : null,
|
|
32737
32733
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
32738
32734
|
"Marketing campaign"
|
|
32739
32735
|
].filter(Boolean).join(" \xB7 ");
|
|
32740
32736
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32741
32737
|
EntityMingoCard,
|
|
32742
32738
|
{
|
|
32743
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32744
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
32739
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _693 => _693.name]), () => ( "")),
|
|
32740
|
+
description: meta || _optionalChain([item, 'optionalAccess', _694 => _694.description]) || void 0,
|
|
32745
32741
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
|
|
32746
32742
|
chatRef,
|
|
32747
32743
|
isNewTab,
|
|
@@ -32794,14 +32790,14 @@ function BlogChatCard({
|
|
|
32794
32790
|
hasEmbeddedVideo,
|
|
32795
32791
|
discuss
|
|
32796
32792
|
}) {
|
|
32797
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
32793
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _695 => _695.categories])) ? _optionalChain([item, 'access', _696 => _696.categories, 'access', _697 => _697.find, 'call', _698 => _698((c) => c && c.name), 'optionalAccess', _699 => _699.name]) : void 0;
|
|
32798
32794
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
32799
32795
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32800
32796
|
EntityMingoCard,
|
|
32801
32797
|
{
|
|
32802
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32803
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32804
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
32798
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _700 => _700.title]), () => ( "")),
|
|
32799
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _701 => _701.summary]), () => ( void 0)),
|
|
32800
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _702 => _702.featured_image]), ogPlaceholder),
|
|
32805
32801
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
|
|
32806
32802
|
status,
|
|
32807
32803
|
chatRef,
|
|
@@ -32818,13 +32814,13 @@ function CaseStudyChatCard({
|
|
|
32818
32814
|
ogPlaceholder,
|
|
32819
32815
|
discuss
|
|
32820
32816
|
}) {
|
|
32821
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
32817
|
+
const meta = [_optionalChain([item, 'optionalAccess', _703 => _703.msp, 'optionalAccess', _704 => _704.name]), _optionalChain([item, 'optionalAccess', _705 => _705.user, 'optionalAccess', _706 => _706.full_name])].filter(Boolean).join(" \xB7 ");
|
|
32822
32818
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32823
32819
|
EntityMingoCard,
|
|
32824
32820
|
{
|
|
32825
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32826
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
32827
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
32821
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _707 => _707.title]), () => ( "")),
|
|
32822
|
+
description: _optionalChain([item, 'optionalAccess', _708 => _708.summary]) || meta || void 0,
|
|
32823
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _709 => _709.featured_image]), ogPlaceholder),
|
|
32828
32824
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
|
|
32829
32825
|
status: { label: "Case study", variant: "grey" },
|
|
32830
32826
|
chatRef,
|
|
@@ -32841,13 +32837,13 @@ function CustomerInterviewChatCard({
|
|
|
32841
32837
|
ogPlaceholder,
|
|
32842
32838
|
discuss
|
|
32843
32839
|
}) {
|
|
32844
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
32840
|
+
const meta = [_optionalChain([item, 'optionalAccess', _710 => _710.user, 'optionalAccess', _711 => _711.full_name]), _optionalChain([item, 'optionalAccess', _712 => _712.msp, 'optionalAccess', _713 => _713.name])].filter(Boolean).join(" \xB7 ");
|
|
32845
32841
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32846
32842
|
EntityMingoCard,
|
|
32847
32843
|
{
|
|
32848
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32849
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
32850
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
32844
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _714 => _714.title]), () => ( "")),
|
|
32845
|
+
description: _optionalChain([item, 'optionalAccess', _715 => _715.video_summary]) || meta || void 0,
|
|
32846
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _716 => _716.featured_image]), ogPlaceholder),
|
|
32851
32847
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
|
|
32852
32848
|
status: { label: "Interview", variant: "grey" },
|
|
32853
32849
|
chatRef,
|
|
@@ -32864,13 +32860,13 @@ function InvestorUpdateChatCard({
|
|
|
32864
32860
|
ogPlaceholder,
|
|
32865
32861
|
discuss
|
|
32866
32862
|
}) {
|
|
32867
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
32863
|
+
const title = _optionalChain([item, 'optionalAccess', _717 => _717.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _718 => _718.update_number]), () => ( "?"))}`;
|
|
32868
32864
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32869
32865
|
EntityMingoCard,
|
|
32870
32866
|
{
|
|
32871
32867
|
title,
|
|
32872
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
32873
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
32868
|
+
description: _optionalChain([item, 'optionalAccess', _719 => _719.strategic_update]) || _optionalChain([item, 'optionalAccess', _720 => _720.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _721 => _721.period_start]), _optionalChain([item, 'optionalAccess', _722 => _722.period_end])) || void 0,
|
|
32869
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _723 => _723.featured_image]), ogPlaceholder),
|
|
32874
32870
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
|
|
32875
32871
|
status: { label: "Investor update", variant: "grey" },
|
|
32876
32872
|
chatRef,
|
|
@@ -32887,12 +32883,12 @@ function OnboardingGuideChatCard({
|
|
|
32887
32883
|
ogPlaceholder,
|
|
32888
32884
|
discuss
|
|
32889
32885
|
}) {
|
|
32890
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
32886
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _724 => _724.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _725 => _725.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _726 => _726.og_image_url]), ogPlaceholder)));
|
|
32891
32887
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32892
32888
|
EntityMingoCard,
|
|
32893
32889
|
{
|
|
32894
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32895
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32890
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _727 => _727.title]), () => ( "")),
|
|
32891
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _728 => _728.summary]), () => ( _optionalChain([item, 'optionalAccess', _729 => _729.description]))), () => ( void 0)),
|
|
32896
32892
|
cover,
|
|
32897
32893
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
|
|
32898
32894
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -32913,25 +32909,25 @@ function ProgramChatCard({
|
|
|
32913
32909
|
discuss
|
|
32914
32910
|
}) {
|
|
32915
32911
|
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 });
|
|
32916
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
32912
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _730 => _730.status]) === "scheduled";
|
|
32917
32913
|
let typeMeta;
|
|
32918
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
32914
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _731 => _731.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
32919
32915
|
typeMeta = _chunk6LK4VEXEcjs.formatDurationCompact.call(void 0, item.duration_seconds);
|
|
32920
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
32916
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _732 => _732.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
32921
32917
|
typeMeta = item.location_name;
|
|
32922
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
32918
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _733 => _733.start_at])) {
|
|
32923
32919
|
const time = _chunk6LK4VEXEcjs.formatTimeWithTimezone.call(void 0, item.start_at, null);
|
|
32924
32920
|
const dur = _chunk6LK4VEXEcjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
|
|
32925
32921
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
32926
32922
|
}
|
|
32927
|
-
const itemDate = _chunk6LK4VEXEcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32923
|
+
const itemDate = _chunk6LK4VEXEcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _734 => _734.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
32928
32924
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
32929
32925
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32930
32926
|
EntityMingoCard,
|
|
32931
32927
|
{
|
|
32932
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32933
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
32934
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
32928
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _735 => _735.title]), () => ( "")),
|
|
32929
|
+
description: meta || _optionalChain([item, 'optionalAccess', _736 => _736.description]) || void 0,
|
|
32930
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _737 => _737.cover_url]), ogPlaceholder),
|
|
32935
32931
|
fallbackIcon: icon,
|
|
32936
32932
|
status: { label, variant: "grey" },
|
|
32937
32933
|
chatRef,
|
|
@@ -32948,10 +32944,10 @@ function RoadmapChatCard({
|
|
|
32948
32944
|
cardType,
|
|
32949
32945
|
discuss
|
|
32950
32946
|
}) {
|
|
32951
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
32952
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
32947
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _738 => _738.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
32948
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _739 => _739.customItemId]) != null;
|
|
32953
32949
|
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 });
|
|
32954
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
32950
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _740 => _740.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
32955
32951
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
32956
32952
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
32957
32953
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -32959,10 +32955,10 @@ function RoadmapChatCard({
|
|
|
32959
32955
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32960
32956
|
EntityMingoCard,
|
|
32961
32957
|
{
|
|
32962
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32963
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
32958
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _741 => _741.title]), () => ( "")),
|
|
32959
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _742 => _742.description]), () => ( void 0)),
|
|
32964
32960
|
fallbackIcon: icon,
|
|
32965
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
32961
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _743 => _743.status])),
|
|
32966
32962
|
chatRef,
|
|
32967
32963
|
isNewTab,
|
|
32968
32964
|
discuss,
|
|
@@ -33048,7 +33044,7 @@ function programRegistryEntries() {
|
|
|
33048
33044
|
discuss: opts.discuss,
|
|
33049
33045
|
configKey: cfg.configKey,
|
|
33050
33046
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
33051
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33047
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _744 => _744.extras, 'optionalAccess', _745 => _745.buildOgPlaceholderUrl, 'optionalCall', _746 => _746(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _747 => _747.title]), () => ( "")))]), () => ( null))
|
|
33052
33048
|
}
|
|
33053
33049
|
)
|
|
33054
33050
|
};
|
|
@@ -33194,8 +33190,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33194
33190
|
chatRef,
|
|
33195
33191
|
isNewTab: opts.isNewTab,
|
|
33196
33192
|
discuss: opts.discuss,
|
|
33197
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33198
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
33193
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _748 => _748.extras, 'optionalAccess', _749 => _749.buildOgPlaceholderUrl, 'optionalCall', _750 => _750(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _751 => _751.title]), () => ( "")))]), () => ( null)),
|
|
33194
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _752 => _752.metadata, 'optionalAccess', _753 => _753.hasEmbeddedVideo]) === true
|
|
33199
33195
|
}
|
|
33200
33196
|
)
|
|
33201
33197
|
},
|
|
@@ -33212,7 +33208,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33212
33208
|
chatRef,
|
|
33213
33209
|
isNewTab: opts.isNewTab,
|
|
33214
33210
|
discuss: opts.discuss,
|
|
33215
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33211
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _754 => _754.extras, 'optionalAccess', _755 => _755.buildOgPlaceholderUrl, 'optionalCall', _756 => _756(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _757 => _757.title]), () => ( "")))]), () => ( null))
|
|
33216
33212
|
}
|
|
33217
33213
|
)
|
|
33218
33214
|
},
|
|
@@ -33229,7 +33225,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33229
33225
|
chatRef,
|
|
33230
33226
|
isNewTab: opts.isNewTab,
|
|
33231
33227
|
discuss: opts.discuss,
|
|
33232
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33228
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _758 => _758.extras, 'optionalAccess', _759 => _759.buildOgPlaceholderUrl, 'optionalCall', _760 => _760(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _761 => _761.title]), () => ( "")))]), () => ( null))
|
|
33233
33229
|
}
|
|
33234
33230
|
)
|
|
33235
33231
|
},
|
|
@@ -33240,7 +33236,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33240
33236
|
bareInline: true,
|
|
33241
33237
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
33242
33238
|
render: (item, chatRef, opts) => {
|
|
33243
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33239
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _762 => _762.extras, 'optionalAccess', _763 => _763.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
33244
33240
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33245
33241
|
ProductReleaseChatCard,
|
|
33246
33242
|
{
|
|
@@ -33267,7 +33263,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33267
33263
|
chatRef,
|
|
33268
33264
|
isNewTab: opts.isNewTab,
|
|
33269
33265
|
discuss: opts.discuss,
|
|
33270
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33266
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _764 => _764.extras, 'optionalAccess', _765 => _765.buildOgPlaceholderUrl, 'optionalCall', _766 => _766(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _767 => _767.title]), () => ( "")))]), () => ( null))
|
|
33271
33267
|
}
|
|
33272
33268
|
)
|
|
33273
33269
|
},
|
|
@@ -33286,7 +33282,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33286
33282
|
chatRef,
|
|
33287
33283
|
isNewTab: opts.isNewTab,
|
|
33288
33284
|
discuss: opts.discuss,
|
|
33289
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
33285
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _768 => _768.extras, 'optionalAccess', _769 => _769.buildOgPlaceholderUrl, 'optionalCall', _770 => _770(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.title]), () => ( "")))]), () => ( null))
|
|
33290
33286
|
}
|
|
33291
33287
|
)
|
|
33292
33288
|
},
|
|
@@ -33298,7 +33294,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
33298
33294
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
33299
33295
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
33300
33296
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
33301
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
33297
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _772 => _772.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
33302
33298
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33303
33299
|
CampaignChatCard,
|
|
33304
33300
|
{
|
|
@@ -33324,12 +33320,12 @@ function ChatCardNavWrap({
|
|
|
33324
33320
|
const onClickCapture = (e) => {
|
|
33325
33321
|
if (!href) return;
|
|
33326
33322
|
const targetEl = e.target;
|
|
33327
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
33328
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
33323
|
+
if (_optionalChain([targetEl, 'optionalAccess', _773 => _773.closest, 'optionalCall', _774 => _774("button")])) return;
|
|
33324
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _775 => _775.closest, 'optionalCall', _776 => _776("a")])) return;
|
|
33329
33325
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
33330
33326
|
if (!handled) return;
|
|
33331
33327
|
e.stopPropagation();
|
|
33332
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
33328
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _777 => _777.closeChat])) panel.closeChat();
|
|
33333
33329
|
};
|
|
33334
33330
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
33335
33331
|
}
|
|
@@ -33351,7 +33347,7 @@ function ChatCardLoader({
|
|
|
33351
33347
|
title: chatRef.title,
|
|
33352
33348
|
externalUrl: chatRef.url,
|
|
33353
33349
|
targetPlatform: chatRef.targetPlatform,
|
|
33354
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
33350
|
+
path: typeof _optionalChain([chatRef, 'access', _778 => _778.metadata, 'optionalAccess', _779 => _779.path]) === "string" ? chatRef.metadata.path : null
|
|
33355
33351
|
},
|
|
33356
33352
|
_chunk6LK4VEXEcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
|
|
33357
33353
|
);
|
|
@@ -33365,7 +33361,7 @@ function ChatCardLoader({
|
|
|
33365
33361
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
33366
33362
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
33367
33363
|
const { item, isLoading } = useChatCardItem(
|
|
33368
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
33364
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _780 => _780.contentRefType]), () => ( "")),
|
|
33369
33365
|
fetchEntry ? resolvedChatRef.id : ""
|
|
33370
33366
|
);
|
|
33371
33367
|
if (!entry) return null;
|
|
@@ -33396,7 +33392,7 @@ function ChatCardLoader({
|
|
|
33396
33392
|
isNewTab,
|
|
33397
33393
|
discuss
|
|
33398
33394
|
};
|
|
33399
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
33395
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _781 => _781.metadata, 'optionalAccess', _782 => _782.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
33400
33396
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33401
33397
|
ChatCardNavWrap,
|
|
33402
33398
|
{
|
|
@@ -33922,7 +33918,7 @@ function useJetStreamDialogSubscription({
|
|
|
33922
33918
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
33923
33919
|
conn: sharedConn,
|
|
33924
33920
|
wsUrl,
|
|
33925
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
33921
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _783 => _783.current, 'optionalCall', _784 => _784()]),
|
|
33926
33922
|
backoff: reconnectionBackoffRef.current,
|
|
33927
33923
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
33928
33924
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -33937,7 +33933,7 @@ function useJetStreamDialogSubscription({
|
|
|
33937
33933
|
setReconnectionCount((c) => c + 1);
|
|
33938
33934
|
}
|
|
33939
33935
|
hadConnectionBeforeRef.current = true;
|
|
33940
|
-
_optionalChain([onConnectRef, 'access',
|
|
33936
|
+
_optionalChain([onConnectRef, 'access', _785 => _785.current, 'optionalCall', _786 => _786()]);
|
|
33941
33937
|
}
|
|
33942
33938
|
if (status === "error") {
|
|
33943
33939
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -33947,7 +33943,7 @@ function useJetStreamDialogSubscription({
|
|
|
33947
33943
|
setIsConnected(false);
|
|
33948
33944
|
setIsSubscribed(false);
|
|
33949
33945
|
tearDownSubscription();
|
|
33950
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
33946
|
+
_optionalChain([onDisconnectRef, 'access', _787 => _787.current, 'optionalCall', _788 => _788()]);
|
|
33951
33947
|
}
|
|
33952
33948
|
}
|
|
33953
33949
|
});
|
|
@@ -34026,7 +34022,7 @@ function useJetStreamDialogSubscription({
|
|
|
34026
34022
|
}
|
|
34027
34023
|
subscriptionRef.current = handle;
|
|
34028
34024
|
setIsSubscribed(true);
|
|
34029
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
34025
|
+
_optionalChain([onSubscribedRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]);
|
|
34030
34026
|
} catch (e28) {
|
|
34031
34027
|
if (!cancelled) {
|
|
34032
34028
|
setIsSubscribed(false);
|
|
@@ -34139,20 +34135,20 @@ function useNatsDialogSubscription({
|
|
|
34139
34135
|
const tearDownSubscriptions = () => {
|
|
34140
34136
|
subscriptionRefs.current.forEach((sub) => {
|
|
34141
34137
|
try {
|
|
34142
|
-
_optionalChain([sub, 'optionalAccess',
|
|
34138
|
+
_optionalChain([sub, 'optionalAccess', _791 => _791.unsubscribe, 'call', _792 => _792()]);
|
|
34143
34139
|
} catch (e30) {
|
|
34144
34140
|
}
|
|
34145
34141
|
});
|
|
34146
34142
|
subscriptionRefs.current.clear();
|
|
34147
34143
|
lastSubscribedDialogIdRef.current = null;
|
|
34148
|
-
_optionalChain([abortControllerRef, 'access',
|
|
34144
|
+
_optionalChain([abortControllerRef, 'access', _793 => _793.current, 'optionalAccess', _794 => _794.abort, 'call', _795 => _795()]);
|
|
34149
34145
|
abortControllerRef.current = null;
|
|
34150
34146
|
};
|
|
34151
34147
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
|
|
34152
34148
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
34153
34149
|
conn: sharedConn,
|
|
34154
34150
|
wsUrl,
|
|
34155
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
34151
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _796 => _796.current, 'optionalCall', _797 => _797()]),
|
|
34156
34152
|
backoff: reconnectionBackoffRef.current,
|
|
34157
34153
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
34158
34154
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -34163,13 +34159,13 @@ function useNatsDialogSubscription({
|
|
|
34163
34159
|
setReconnectionCount((c) => c + 1);
|
|
34164
34160
|
}
|
|
34165
34161
|
hadConnectionBeforeRef.current = true;
|
|
34166
|
-
_optionalChain([onConnectRef, 'access',
|
|
34162
|
+
_optionalChain([onConnectRef, 'access', _798 => _798.current, 'optionalCall', _799 => _799()]);
|
|
34167
34163
|
}
|
|
34168
34164
|
if (isDisconnectStatus(status)) {
|
|
34169
34165
|
setIsConnected(false);
|
|
34170
34166
|
setIsSubscribed(false);
|
|
34171
34167
|
tearDownSubscriptions();
|
|
34172
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
34168
|
+
_optionalChain([onDisconnectRef, 'access', _800 => _800.current, 'optionalCall', _801 => _801()]);
|
|
34173
34169
|
}
|
|
34174
34170
|
}
|
|
34175
34171
|
});
|
|
@@ -34200,13 +34196,13 @@ function useNatsDialogSubscription({
|
|
|
34200
34196
|
setIsSubscribed(false);
|
|
34201
34197
|
subscriptionRefs.current.forEach((sub) => {
|
|
34202
34198
|
try {
|
|
34203
|
-
_optionalChain([sub, 'optionalAccess',
|
|
34199
|
+
_optionalChain([sub, 'optionalAccess', _802 => _802.unsubscribe, 'call', _803 => _803()]);
|
|
34204
34200
|
} catch (e31) {
|
|
34205
34201
|
}
|
|
34206
34202
|
});
|
|
34207
34203
|
subscriptionRefs.current.clear();
|
|
34208
34204
|
lastSubscribedDialogIdRef.current = null;
|
|
34209
|
-
_optionalChain([abortControllerRef, 'access',
|
|
34205
|
+
_optionalChain([abortControllerRef, 'access', _804 => _804.current, 'optionalAccess', _805 => _805.abort, 'call', _806 => _806()]);
|
|
34210
34206
|
abortControllerRef.current = null;
|
|
34211
34207
|
}
|
|
34212
34208
|
return;
|
|
@@ -34218,12 +34214,12 @@ function useNatsDialogSubscription({
|
|
|
34218
34214
|
if (subscriptionRefs.current.size > 0) {
|
|
34219
34215
|
subscriptionRefs.current.forEach((sub) => {
|
|
34220
34216
|
try {
|
|
34221
|
-
_optionalChain([sub, 'optionalAccess',
|
|
34217
|
+
_optionalChain([sub, 'optionalAccess', _807 => _807.unsubscribe, 'call', _808 => _808()]);
|
|
34222
34218
|
} catch (e32) {
|
|
34223
34219
|
}
|
|
34224
34220
|
});
|
|
34225
34221
|
subscriptionRefs.current.clear();
|
|
34226
|
-
_optionalChain([abortControllerRef, 'access',
|
|
34222
|
+
_optionalChain([abortControllerRef, 'access', _809 => _809.current, 'optionalAccess', _810 => _810.abort, 'call', _811 => _811()]);
|
|
34227
34223
|
}
|
|
34228
34224
|
abortControllerRef.current = new AbortController();
|
|
34229
34225
|
const abort = abortControllerRef.current;
|
|
@@ -34255,7 +34251,7 @@ function useNatsDialogSubscription({
|
|
|
34255
34251
|
});
|
|
34256
34252
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
34257
34253
|
setIsSubscribed(true);
|
|
34258
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
34254
|
+
_optionalChain([onSubscribedRef, 'access', _812 => _812.current, 'optionalCall', _813 => _813()]);
|
|
34259
34255
|
};
|
|
34260
34256
|
if (isConnectedRef.current) {
|
|
34261
34257
|
createSubscriptions();
|
|
@@ -34265,7 +34261,7 @@ function useNatsDialogSubscription({
|
|
|
34265
34261
|
abort.abort();
|
|
34266
34262
|
subscriptionRefs.current.forEach((sub) => {
|
|
34267
34263
|
try {
|
|
34268
|
-
_optionalChain([sub, 'optionalAccess',
|
|
34264
|
+
_optionalChain([sub, 'optionalAccess', _814 => _814.unsubscribe, 'call', _815 => _815()]);
|
|
34269
34265
|
} catch (e34) {
|
|
34270
34266
|
}
|
|
34271
34267
|
});
|
|
@@ -34306,7 +34302,7 @@ function useNatsDialogSubscription({
|
|
|
34306
34302
|
});
|
|
34307
34303
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
34308
34304
|
setIsSubscribed(true);
|
|
34309
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
34305
|
+
_optionalChain([onSubscribedRef, 'access', _816 => _816.current, 'optionalCall', _817 => _817()]);
|
|
34310
34306
|
} else if (subscriptionRefs.current.size > 0) {
|
|
34311
34307
|
setIsSubscribed(true);
|
|
34312
34308
|
}
|
|
@@ -34314,10 +34310,10 @@ function useNatsDialogSubscription({
|
|
|
34314
34310
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
34315
34311
|
}
|
|
34316
34312
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
34317
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
34313
|
+
const path = _optionalChain([options, 'optionalAccess', _818 => _818.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
34318
34314
|
const u = new URL(path, apiBaseUrl);
|
|
34319
34315
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
34320
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
34316
|
+
if (_optionalChain([options, 'optionalAccess', _819 => _819.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _820 => _820.token])) {
|
|
34321
34317
|
u.searchParams.set("authorization", options.token);
|
|
34322
34318
|
}
|
|
34323
34319
|
return u.toString();
|
|
@@ -34635,8 +34631,8 @@ var MessageSegmentAccumulator = class {
|
|
|
34635
34631
|
type: "tool_execution",
|
|
34636
34632
|
data: {
|
|
34637
34633
|
...toolData,
|
|
34638
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
34639
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
34634
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _821 => _821.data, 'access', _822 => _822.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _823 => _823.toolTitle]))),
|
|
34635
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _824 => _824.parameters])
|
|
34640
34636
|
}
|
|
34641
34637
|
};
|
|
34642
34638
|
if (existingIndex !== -1) {
|
|
@@ -34660,8 +34656,8 @@ var MessageSegmentAccumulator = class {
|
|
|
34660
34656
|
if (seg.type !== "approval_batch") return seg;
|
|
34661
34657
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
34662
34658
|
if (!hasCall) return seg;
|
|
34663
|
-
const prev = _optionalChain([seg, 'access',
|
|
34664
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
34659
|
+
const prev = _optionalChain([seg, 'access', _825 => _825.data, 'access', _826 => _826.executions, 'optionalAccess', _827 => _827[execId]]);
|
|
34660
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _828 => _828.result]), success: _optionalChain([prev, 'optionalAccess', _829 => _829.success]) };
|
|
34665
34661
|
matched = true;
|
|
34666
34662
|
return {
|
|
34667
34663
|
...seg,
|
|
@@ -34781,10 +34777,10 @@ var MessageSegmentAccumulator = class {
|
|
|
34781
34777
|
const segment = {
|
|
34782
34778
|
type: "approval_request",
|
|
34783
34779
|
data: {
|
|
34784
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
34785
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
34780
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _830 => _830.command]) || "",
|
|
34781
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _831 => _831.explanation]),
|
|
34786
34782
|
requestId,
|
|
34787
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
34783
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _832 => _832.approvalType]) || approvalType
|
|
34788
34784
|
},
|
|
34789
34785
|
status,
|
|
34790
34786
|
onApprove: this.callbacks.onApprove,
|
|
@@ -34974,7 +34970,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
34974
34970
|
if (initialState.escalatedApprovals) {
|
|
34975
34971
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
34976
34972
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
34977
|
-
_optionalChain([callbacks, 'access',
|
|
34973
|
+
_optionalChain([callbacks, 'access', _833 => _833.onEscalatedApproval, 'optionalCall', _834 => _834(requestId, data)]);
|
|
34978
34974
|
});
|
|
34979
34975
|
}
|
|
34980
34976
|
hasEverStreamedRef.current = true;
|
|
@@ -35001,7 +34997,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35001
34997
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
35002
34998
|
if (isInStreamRef.current) {
|
|
35003
34999
|
isInStreamRef.current = false;
|
|
35004
|
-
_optionalChain([callbacks, 'access',
|
|
35000
|
+
_optionalChain([callbacks, 'access', _835 => _835.onStreamEnd, 'optionalCall', _836 => _836()]);
|
|
35005
35001
|
accumulator.resetSegments();
|
|
35006
35002
|
}
|
|
35007
35003
|
return;
|
|
@@ -35010,32 +35006,32 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35010
35006
|
case "message_start":
|
|
35011
35007
|
isInStreamRef.current = true;
|
|
35012
35008
|
hasEverStreamedRef.current = true;
|
|
35013
|
-
_optionalChain([callbacks, 'access',
|
|
35009
|
+
_optionalChain([callbacks, 'access', _837 => _837.onStreamStart, 'optionalCall', _838 => _838()]);
|
|
35014
35010
|
accumulator.resetSegments();
|
|
35015
35011
|
break;
|
|
35016
35012
|
case "message_end":
|
|
35017
35013
|
isInStreamRef.current = false;
|
|
35018
|
-
_optionalChain([callbacks, 'access',
|
|
35014
|
+
_optionalChain([callbacks, 'access', _839 => _839.onStreamEnd, 'optionalCall', _840 => _840()]);
|
|
35019
35015
|
accumulator.resetSegments();
|
|
35020
35016
|
break;
|
|
35021
35017
|
case "metadata":
|
|
35022
|
-
_optionalChain([callbacks, 'access',
|
|
35018
|
+
_optionalChain([callbacks, 'access', _841 => _841.onMetadata, 'optionalCall', _842 => _842(action)]);
|
|
35023
35019
|
break;
|
|
35024
35020
|
case "text": {
|
|
35025
35021
|
const segments = accumulator.appendText(action.text);
|
|
35026
35022
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
35027
|
-
_optionalChain([callbacks, 'access',
|
|
35023
|
+
_optionalChain([callbacks, 'access', _843 => _843.onSegmentsUpdate, 'optionalCall', _844 => _844(segments)]);
|
|
35028
35024
|
} else {
|
|
35029
|
-
_optionalChain([callbacks, 'access',
|
|
35025
|
+
_optionalChain([callbacks, 'access', _845 => _845.onSegmentsUpdate, 'optionalCall', _846 => _846([{ type: "text", text: action.text }], { append: true })]);
|
|
35030
35026
|
}
|
|
35031
35027
|
break;
|
|
35032
35028
|
}
|
|
35033
35029
|
case "thinking": {
|
|
35034
35030
|
const segments = accumulator.appendThinking(action.text);
|
|
35035
35031
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
35036
|
-
_optionalChain([callbacks, 'access',
|
|
35032
|
+
_optionalChain([callbacks, 'access', _847 => _847.onSegmentsUpdate, 'optionalCall', _848 => _848(segments)]);
|
|
35037
35033
|
} else {
|
|
35038
|
-
_optionalChain([callbacks, 'access',
|
|
35034
|
+
_optionalChain([callbacks, 'access', _849 => _849.onSegmentsUpdate, 'optionalCall', _850 => _850([{ type: "thinking", text: action.text }], { append: true })]);
|
|
35039
35035
|
}
|
|
35040
35036
|
break;
|
|
35041
35037
|
}
|
|
@@ -35045,7 +35041,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35045
35041
|
break;
|
|
35046
35042
|
}
|
|
35047
35043
|
const segments = accumulator.addToolExecution(action.segment);
|
|
35048
|
-
_optionalChain([callbacks, 'access',
|
|
35044
|
+
_optionalChain([callbacks, 'access', _851 => _851.onSegmentsUpdate, 'optionalCall', _852 => _852(segments)]);
|
|
35049
35045
|
break;
|
|
35050
35046
|
}
|
|
35051
35047
|
case "approval_request": {
|
|
@@ -35059,10 +35055,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35059
35055
|
approvalType,
|
|
35060
35056
|
status
|
|
35061
35057
|
);
|
|
35062
|
-
_optionalChain([callbacks, 'access',
|
|
35058
|
+
_optionalChain([callbacks, 'access', _853 => _853.onSegmentsUpdate, 'optionalCall', _854 => _854(segments)]);
|
|
35063
35059
|
} else {
|
|
35064
35060
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
35065
|
-
_optionalChain([callbacks, 'access',
|
|
35061
|
+
_optionalChain([callbacks, 'access', _855 => _855.onEscalatedApproval, 'optionalCall', _856 => _856(requestId, { command, explanation, approvalType })]);
|
|
35066
35062
|
}
|
|
35067
35063
|
break;
|
|
35068
35064
|
}
|
|
@@ -35074,20 +35070,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35074
35070
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
35075
35071
|
pendingEscalatedRef.current.set(requestId, {
|
|
35076
35072
|
command: summary,
|
|
35077
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
35073
|
+
explanation: _optionalChain([required, 'optionalAccess', _857 => _857.toolExplanation]),
|
|
35078
35074
|
approvalType,
|
|
35079
35075
|
toolCalls
|
|
35080
35076
|
});
|
|
35081
|
-
_optionalChain([callbacks, 'access',
|
|
35077
|
+
_optionalChain([callbacks, 'access', _858 => _858.onEscalatedApproval, 'optionalCall', _859 => _859(requestId, {
|
|
35082
35078
|
command: summary,
|
|
35083
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
35079
|
+
explanation: _optionalChain([required, 'optionalAccess', _860 => _860.toolExplanation]),
|
|
35084
35080
|
approvalType
|
|
35085
35081
|
})]);
|
|
35086
35082
|
break;
|
|
35087
35083
|
}
|
|
35088
35084
|
if (batchApprovalsEnabled) {
|
|
35089
35085
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
35090
|
-
_optionalChain([callbacks, 'access',
|
|
35086
|
+
_optionalChain([callbacks, 'access', _861 => _861.onSegmentsUpdate, 'optionalCall', _862 => _862(segments2)]);
|
|
35091
35087
|
break;
|
|
35092
35088
|
}
|
|
35093
35089
|
let segments = accumulator.getSegments();
|
|
@@ -35101,7 +35097,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35101
35097
|
status
|
|
35102
35098
|
);
|
|
35103
35099
|
}
|
|
35104
|
-
_optionalChain([callbacks, 'access',
|
|
35100
|
+
_optionalChain([callbacks, 'access', _863 => _863.onSegmentsUpdate, 'optionalCall', _864 => _864(segments)]);
|
|
35105
35101
|
break;
|
|
35106
35102
|
}
|
|
35107
35103
|
case "approval_result": {
|
|
@@ -35110,7 +35106,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35110
35106
|
const status = approved ? "approved" : "rejected";
|
|
35111
35107
|
if (escalatedData) {
|
|
35112
35108
|
pendingEscalatedRef.current.delete(requestId);
|
|
35113
|
-
_optionalChain([callbacks, 'access',
|
|
35109
|
+
_optionalChain([callbacks, 'access', _865 => _865.onEscalatedApprovalResult, 'optionalCall', _866 => _866(requestId, approved, {
|
|
35114
35110
|
command: escalatedData.command,
|
|
35115
35111
|
explanation: escalatedData.explanation,
|
|
35116
35112
|
approvalType: escalatedData.approvalType
|
|
@@ -35123,7 +35119,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35123
35119
|
escalatedData.toolCalls,
|
|
35124
35120
|
status
|
|
35125
35121
|
);
|
|
35126
|
-
_optionalChain([callbacks, 'access',
|
|
35122
|
+
_optionalChain([callbacks, 'access', _867 => _867.onSegmentsUpdate, 'optionalCall', _868 => _868(segments)]);
|
|
35127
35123
|
} else {
|
|
35128
35124
|
let segments = accumulator.getSegments();
|
|
35129
35125
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -35136,7 +35132,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35136
35132
|
status
|
|
35137
35133
|
);
|
|
35138
35134
|
}
|
|
35139
|
-
_optionalChain([callbacks, 'access',
|
|
35135
|
+
_optionalChain([callbacks, 'access', _869 => _869.onSegmentsUpdate, 'optionalCall', _870 => _870(segments)]);
|
|
35140
35136
|
}
|
|
35141
35137
|
} else {
|
|
35142
35138
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -35146,37 +35142,37 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35146
35142
|
escalatedData.approvalType,
|
|
35147
35143
|
status
|
|
35148
35144
|
);
|
|
35149
|
-
_optionalChain([callbacks, 'access',
|
|
35145
|
+
_optionalChain([callbacks, 'access', _871 => _871.onSegmentsUpdate, 'optionalCall', _872 => _872(segments)]);
|
|
35150
35146
|
}
|
|
35151
35147
|
} else {
|
|
35152
35148
|
accumulator.updateApprovalStatus(requestId, status);
|
|
35153
35149
|
if (!callbacks.onApprovalResolved) {
|
|
35154
|
-
_optionalChain([callbacks, 'access',
|
|
35150
|
+
_optionalChain([callbacks, 'access', _873 => _873.onSegmentsUpdate, 'optionalCall', _874 => _874(accumulator.getSegments())]);
|
|
35155
35151
|
}
|
|
35156
35152
|
}
|
|
35157
|
-
_optionalChain([callbacks, 'access',
|
|
35153
|
+
_optionalChain([callbacks, 'access', _875 => _875.onApprovalResolved, 'optionalCall', _876 => _876(requestId, status, approvalType)]);
|
|
35158
35154
|
break;
|
|
35159
35155
|
}
|
|
35160
35156
|
case "error": {
|
|
35161
35157
|
let message2;
|
|
35162
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
35158
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _877 => _877.details])) {
|
|
35163
35159
|
try {
|
|
35164
|
-
message2 = _optionalChain([JSON, 'access',
|
|
35160
|
+
message2 = _optionalChain([JSON, 'access', _878 => _878.parse, 'call', _879 => _879(action.details), 'optionalAccess', _880 => _880.error, 'optionalAccess', _881 => _881.message]);
|
|
35165
35161
|
} catch (e36) {
|
|
35166
35162
|
message2 = action.details;
|
|
35167
35163
|
}
|
|
35168
35164
|
}
|
|
35169
35165
|
const segments = accumulator.addError(action.error, message2);
|
|
35170
|
-
_optionalChain([callbacks, 'access',
|
|
35171
|
-
_optionalChain([callbacks, 'access',
|
|
35166
|
+
_optionalChain([callbacks, 'access', _882 => _882.onSegmentsUpdate, 'optionalCall', _883 => _883(segments)]);
|
|
35167
|
+
_optionalChain([callbacks, 'access', _884 => _884.onError, 'optionalCall', _885 => _885(action.error, message2)]);
|
|
35172
35168
|
break;
|
|
35173
35169
|
}
|
|
35174
35170
|
case "system": {
|
|
35175
|
-
_optionalChain([callbacks, 'access',
|
|
35171
|
+
_optionalChain([callbacks, 'access', _886 => _886.onSystemMessage, 'optionalCall', _887 => _887(action.text)]);
|
|
35176
35172
|
break;
|
|
35177
35173
|
}
|
|
35178
35174
|
case "direct_message": {
|
|
35179
|
-
_optionalChain([callbacks, 'access',
|
|
35175
|
+
_optionalChain([callbacks, 'access', _888 => _888.onDirectMessage, 'optionalCall', _889 => _889(action.text, {
|
|
35180
35176
|
ownerType: action.ownerType,
|
|
35181
35177
|
displayName: action.displayName,
|
|
35182
35178
|
userId: action.userId
|
|
@@ -35184,29 +35180,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
35184
35180
|
break;
|
|
35185
35181
|
}
|
|
35186
35182
|
case "message_request":
|
|
35187
|
-
_optionalChain([callbacks, 'access',
|
|
35183
|
+
_optionalChain([callbacks, 'access', _890 => _890.onUserMessage, 'optionalCall', _891 => _891(action.text, {
|
|
35188
35184
|
ownerType: action.ownerType,
|
|
35189
35185
|
displayName: action.displayName,
|
|
35190
35186
|
userId: action.userId
|
|
35191
35187
|
})]);
|
|
35192
35188
|
break;
|
|
35193
35189
|
case "token_usage":
|
|
35194
|
-
_optionalChain([callbacks, 'access',
|
|
35190
|
+
_optionalChain([callbacks, 'access', _892 => _892.onTokenUsage, 'optionalCall', _893 => _893(action.data)]);
|
|
35195
35191
|
break;
|
|
35196
35192
|
case "context_compaction_start": {
|
|
35197
35193
|
const standalone = !isInStreamRef.current;
|
|
35198
35194
|
const segments = accumulator.addContextCompaction();
|
|
35199
|
-
_optionalChain([callbacks, 'access',
|
|
35195
|
+
_optionalChain([callbacks, 'access', _894 => _894.onSegmentsUpdate, 'optionalCall', _895 => _895(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
35200
35196
|
break;
|
|
35201
35197
|
}
|
|
35202
35198
|
case "context_compaction_end": {
|
|
35203
35199
|
const standalone = !isInStreamRef.current;
|
|
35204
35200
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
35205
|
-
_optionalChain([callbacks, 'access',
|
|
35201
|
+
_optionalChain([callbacks, 'access', _896 => _896.onSegmentsUpdate, 'optionalCall', _897 => _897(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
35206
35202
|
break;
|
|
35207
35203
|
}
|
|
35208
35204
|
case "dialog_closed":
|
|
35209
|
-
_optionalChain([callbacks, 'access',
|
|
35205
|
+
_optionalChain([callbacks, 'access', _898 => _898.onDialogClosed, 'optionalCall', _899 => _899()]);
|
|
35210
35206
|
break;
|
|
35211
35207
|
default:
|
|
35212
35208
|
break;
|
|
@@ -35268,7 +35264,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
35268
35264
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
35269
35265
|
if (!cancelled) setCommands(next);
|
|
35270
35266
|
} catch (err) {
|
|
35271
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
35267
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _900 => _900.name]) !== "AbortError") {
|
|
35272
35268
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
35273
35269
|
}
|
|
35274
35270
|
} finally {
|
|
@@ -35287,7 +35283,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
35287
35283
|
const query = _reactquery.useQuery.call(void 0, {
|
|
35288
35284
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
35289
35285
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
35290
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35286
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _901 => _901.enabled]), () => ( true)),
|
|
35291
35287
|
staleTime: Infinity,
|
|
35292
35288
|
gcTime: Infinity
|
|
35293
35289
|
});
|
|
@@ -35308,7 +35304,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
35308
35304
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
35309
35305
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
35310
35306
|
return new Promise((resolve, reject) => {
|
|
35311
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
35307
|
+
if (_optionalChain([signal, 'optionalAccess', _902 => _902.aborted])) {
|
|
35312
35308
|
reject(new Error("Upload cancelled"));
|
|
35313
35309
|
return;
|
|
35314
35310
|
}
|
|
@@ -35322,7 +35318,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
35322
35318
|
xhr.removeEventListener("error", handleError);
|
|
35323
35319
|
xhr.removeEventListener("abort", handleAbort);
|
|
35324
35320
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
35325
|
-
_optionalChain([signal, 'optionalAccess',
|
|
35321
|
+
_optionalChain([signal, 'optionalAccess', _903 => _903.removeEventListener, 'call', _904 => _904("abort", handleSignalAbort)]);
|
|
35326
35322
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
35327
35323
|
};
|
|
35328
35324
|
const handleProgress = (event) => {
|
|
@@ -35358,7 +35354,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
35358
35354
|
const handleSignalAbort = () => {
|
|
35359
35355
|
xhr.abort();
|
|
35360
35356
|
};
|
|
35361
|
-
_optionalChain([signal, 'optionalAccess',
|
|
35357
|
+
_optionalChain([signal, 'optionalAccess', _905 => _905.addEventListener, 'call', _906 => _906("abort", handleSignalAbort, { once: true })]);
|
|
35362
35358
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
35363
35359
|
xhr.addEventListener("load", handleLoad);
|
|
35364
35360
|
xhr.addEventListener("error", handleError);
|
|
@@ -35402,12 +35398,12 @@ function useChatAttachments() {
|
|
|
35402
35398
|
try {
|
|
35403
35399
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
35404
35400
|
} catch (err) {
|
|
35405
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
35401
|
+
if (_optionalChain([ctrl, 'optionalAccess', _907 => _907.signal, 'access', _908 => _908.aborted])) return;
|
|
35406
35402
|
throw new Error(
|
|
35407
35403
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
35408
35404
|
);
|
|
35409
35405
|
}
|
|
35410
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
35406
|
+
if (_optionalChain([ctrl, 'optionalAccess', _909 => _909.signal, 'access', _910 => _910.aborted])) return;
|
|
35411
35407
|
if (!sniffed) {
|
|
35412
35408
|
throw new Error("Unrecognized file format");
|
|
35413
35409
|
}
|
|
@@ -35421,7 +35417,7 @@ function useChatAttachments() {
|
|
|
35421
35417
|
const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
|
|
35422
35418
|
method: "POST",
|
|
35423
35419
|
headers: { "Content-Type": "application/json" },
|
|
35424
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
35420
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _911 => _911.signal]),
|
|
35425
35421
|
body: JSON.stringify({
|
|
35426
35422
|
fileName: att.file.name,
|
|
35427
35423
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -35447,9 +35443,9 @@ function useChatAttachments() {
|
|
|
35447
35443
|
(pct) => {
|
|
35448
35444
|
updateOne(att.id, { progress: pct });
|
|
35449
35445
|
},
|
|
35450
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
35446
|
+
_optionalChain([ctrl, 'optionalAccess', _912 => _912.signal])
|
|
35451
35447
|
);
|
|
35452
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
35448
|
+
if (_optionalChain([ctrl, 'optionalAccess', _913 => _913.signal, 'access', _914 => _914.aborted])) return;
|
|
35453
35449
|
updateOne(att.id, {
|
|
35454
35450
|
status: "ready",
|
|
35455
35451
|
progress: 100,
|
|
@@ -35457,7 +35453,7 @@ function useChatAttachments() {
|
|
|
35457
35453
|
viewToken: mintData.viewToken
|
|
35458
35454
|
});
|
|
35459
35455
|
} catch (err) {
|
|
35460
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
35456
|
+
if (_optionalChain([ctrl, 'optionalAccess', _915 => _915.signal, 'access', _916 => _916.aborted])) return;
|
|
35461
35457
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
35462
35458
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
35463
35459
|
} finally {
|
|
@@ -35608,7 +35604,7 @@ var ANON_DEFAULTS = {
|
|
|
35608
35604
|
function useResolveChatIdentity(enabled) {
|
|
35609
35605
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
35610
35606
|
const url = runtime.endpoints.identityUrl;
|
|
35611
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call',
|
|
35607
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _917 => _917(), 'optionalAccess', _918 => _918.email]), () => ( null));
|
|
35612
35608
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
35613
35609
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
35614
35610
|
_react.useEffect.call(void 0, () => {
|
|
@@ -35696,7 +35692,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
35696
35692
|
yield chunk;
|
|
35697
35693
|
}
|
|
35698
35694
|
} catch (err) {
|
|
35699
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
35695
|
+
if (_optionalChain([err, 'optionalAccess', _919 => _919.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
35700
35696
|
return;
|
|
35701
35697
|
}
|
|
35702
35698
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -35747,7 +35743,7 @@ function useChat({
|
|
|
35747
35743
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
35748
35744
|
onMessagesChangeRef.current = onMessagesChange;
|
|
35749
35745
|
_react.useEffect.call(void 0, () => {
|
|
35750
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
35746
|
+
_optionalChain([onMessagesChangeRef, 'access', _920 => _920.current, 'optionalCall', _921 => _921(messages)]);
|
|
35751
35747
|
}, [messages]);
|
|
35752
35748
|
const {
|
|
35753
35749
|
streamMessage,
|
|
@@ -35784,7 +35780,7 @@ function useChat({
|
|
|
35784
35780
|
name: "You",
|
|
35785
35781
|
content: text,
|
|
35786
35782
|
timestamp: /* @__PURE__ */ new Date(),
|
|
35787
|
-
..._optionalChain([options, 'optionalAccess',
|
|
35783
|
+
..._optionalChain([options, 'optionalAccess', _922 => _922.hidden]) ? { hidden: true } : {}
|
|
35788
35784
|
};
|
|
35789
35785
|
addMessage(userMessage);
|
|
35790
35786
|
setIsTyping(true);
|
|
@@ -35846,7 +35842,7 @@ function useChat({
|
|
|
35846
35842
|
currentTextSegment = "";
|
|
35847
35843
|
}
|
|
35848
35844
|
const seg = segment;
|
|
35849
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
35845
|
+
const proposalId = _optionalChain([seg, 'access', _923 => _923.data, 'optionalAccess', _924 => _924.requestId]);
|
|
35850
35846
|
const updateApprovalMessage = (transform) => {
|
|
35851
35847
|
setMessages((prev) => {
|
|
35852
35848
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -35855,7 +35851,7 @@ function useChat({
|
|
|
35855
35851
|
if (!Array.isArray(m.content)) continue;
|
|
35856
35852
|
const segments = m.content;
|
|
35857
35853
|
const hasMatch = segments.some(
|
|
35858
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
35854
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _925 => _925.data, 'optionalAccess', _926 => _926.requestId]) === proposalId
|
|
35859
35855
|
);
|
|
35860
35856
|
if (!hasMatch) continue;
|
|
35861
35857
|
const next = [...prev];
|
|
@@ -35897,11 +35893,11 @@ function useChat({
|
|
|
35897
35893
|
if (!Array.isArray(m.content)) continue;
|
|
35898
35894
|
const segments = m.content;
|
|
35899
35895
|
const hasMatch = segments.some(
|
|
35900
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
35896
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _927 => _927.data, 'optionalAccess', _928 => _928.requestId]) === decision.proposalId
|
|
35901
35897
|
);
|
|
35902
35898
|
if (!hasMatch) continue;
|
|
35903
35899
|
const flipped = segments.map(
|
|
35904
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
35900
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _929 => _929.data, 'optionalAccess', _930 => _930.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
35905
35901
|
);
|
|
35906
35902
|
const next = [...prev];
|
|
35907
35903
|
next[i] = { ...m, content: flipped };
|
|
@@ -36063,8 +36059,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
36063
36059
|
})),
|
|
36064
36060
|
{ role: "user", content: message2 }
|
|
36065
36061
|
];
|
|
36066
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
36067
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
36062
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _931 => _931.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
36063
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _932 => _932.approvalAction]) ? {
|
|
36068
36064
|
proposal_id: extra.approvalAction.proposalId,
|
|
36069
36065
|
action: extra.approvalAction.action,
|
|
36070
36066
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -36073,8 +36069,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
36073
36069
|
}))
|
|
36074
36070
|
} : {
|
|
36075
36071
|
messages: apiMessages,
|
|
36076
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
36077
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
36072
|
+
..._optionalChain([extra, 'optionalAccess', _933 => _933.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
36073
|
+
..._optionalChain([extra, 'optionalAccess', _934 => _934.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
36078
36074
|
};
|
|
36079
36075
|
const response = await embedAuthedFetch(targetPath, {
|
|
36080
36076
|
method: "POST",
|
|
@@ -36084,7 +36080,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
36084
36080
|
if (!response.ok) {
|
|
36085
36081
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
36086
36082
|
}
|
|
36087
|
-
const reader = _optionalChain([response, 'access',
|
|
36083
|
+
const reader = _optionalChain([response, 'access', _935 => _935.body, 'optionalAccess', _936 => _936.getReader, 'call', _937 => _937()]);
|
|
36088
36084
|
if (!reader) throw new Error("No response body");
|
|
36089
36085
|
const decoder = new TextDecoder();
|
|
36090
36086
|
let buffer = "";
|
|
@@ -36167,7 +36163,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
36167
36163
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
36168
36164
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
36169
36165
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
36170
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
36166
|
+
if (_optionalChain([card, 'optionalAccess', _938 => _938.ref, 'optionalAccess', _939 => _939.id]) && _optionalChain([card, 'optionalAccess', _940 => _940.type])) {
|
|
36171
36167
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
36172
36168
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
36173
36169
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -36180,8 +36176,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
36180
36176
|
willAutoContinue: meta.willAutoContinue === true,
|
|
36181
36177
|
...toolName ? { toolName } : {},
|
|
36182
36178
|
...result ? { result } : {},
|
|
36183
|
-
..._optionalChain([card, 'optionalAccess',
|
|
36184
|
-
..._optionalChain([card, 'optionalAccess',
|
|
36179
|
+
..._optionalChain([card, 'optionalAccess', _941 => _941.marker]) ? { marker: card.marker } : {},
|
|
36180
|
+
..._optionalChain([card, 'optionalAccess', _942 => _942.ref]) ? { cardRef: card.ref } : {},
|
|
36185
36181
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
36186
36182
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
36187
36183
|
};
|
|
@@ -36300,7 +36296,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
36300
36296
|
var chatStorageKey = (source) => {
|
|
36301
36297
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
36302
36298
|
const auth = getEmbedProxyAuth();
|
|
36303
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
36299
|
+
if (_optionalChain([auth, 'optionalAccess', _943 => _943.email])) {
|
|
36304
36300
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
36305
36301
|
}
|
|
36306
36302
|
return base;
|
|
@@ -36355,7 +36351,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
36355
36351
|
const { active = true } = runtimeOptions;
|
|
36356
36352
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
36357
36353
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
36358
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
36354
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _944 => _944.tableIdForDocumentType]), () => ( _chunk6LK4VEXEcjs.defaultTableIdForDocumentType));
|
|
36359
36355
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
36360
36356
|
if (persistedRef.current === null) {
|
|
36361
36357
|
pruneStaleChatStorage(source);
|
|
@@ -36460,7 +36456,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
36460
36456
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
36461
36457
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
36462
36458
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
36463
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
36459
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _945 => _945.current, 'access', _946 => _946.get, 'call', _947 => _947(lookupIdx), 'optionalAccess', _948 => _948.scrollAnchor]), () => ( void 0));
|
|
36464
36460
|
}
|
|
36465
36461
|
return {
|
|
36466
36462
|
id: m.id,
|
|
@@ -36508,7 +36504,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
36508
36504
|
);
|
|
36509
36505
|
return;
|
|
36510
36506
|
}
|
|
36511
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
36507
|
+
const refSlug = typeof _optionalChain([reference, 'access', _949 => _949.metadata, 'optionalAccess', _950 => _950.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
36512
36508
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
36513
36509
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
36514
36510
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -36580,18 +36576,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
36580
36576
|
clearMessages,
|
|
36581
36577
|
streamingPhase,
|
|
36582
36578
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
36583
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36584
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36585
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36579
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _951 => _951.provider]), () => ( null)),
|
|
36580
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _952 => _952.modelLabel]), () => ( null)),
|
|
36581
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _953 => _953.contextWindowMaxTokens]), () => ( null)),
|
|
36586
36582
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
36587
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36583
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _954 => _954.inputTokens]), () => ( null)),
|
|
36588
36584
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
36589
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36585
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _955 => _955.outputTokens]), () => ( null)),
|
|
36590
36586
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
36591
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36587
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _956 => _956.cacheHitRatePct]), () => ( null)),
|
|
36592
36588
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
36593
36589
|
* token counts). null until the trailing usage frame lands. */
|
|
36594
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
36590
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _957 => _957.breakdown]), () => ( null)),
|
|
36595
36591
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
36596
36592
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
36597
36593
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -36649,15 +36645,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
36649
36645
|
|
|
36650
36646
|
// src/components/chat/utils/process-historical-messages.ts
|
|
36651
36647
|
function getOwnerDisplayName(owner) {
|
|
36652
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
36648
|
+
if (_optionalChain([owner, 'optionalAccess', _958 => _958.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
36653
36649
|
const { firstName, lastName } = owner.user;
|
|
36654
36650
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
36655
36651
|
if (name) return name;
|
|
36656
36652
|
}
|
|
36657
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
36653
|
+
return _optionalChain([owner, 'optionalAccess', _959 => _959.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
36658
36654
|
}
|
|
36659
36655
|
function getOwnerAvatar(owner) {
|
|
36660
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
36656
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _960 => _960.user, 'optionalAccess', _961 => _961.image, 'optionalAccess', _962 => _962.imageUrl]), () => ( void 0));
|
|
36661
36657
|
}
|
|
36662
36658
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
36663
36659
|
messageDataArray.forEach((data) => {
|
|
@@ -36720,10 +36716,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
36720
36716
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
36721
36717
|
return;
|
|
36722
36718
|
}
|
|
36723
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
36719
|
+
const isUserMessage = _optionalChain([msg, 'access', _963 => _963.owner, 'optionalAccess', _964 => _964.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _965 => _965.owner, 'optionalAccess', _966 => _966.type]) === OWNER_TYPE.ADMIN;
|
|
36724
36720
|
if (isUserMessage) {
|
|
36725
36721
|
flushAssistantMessage();
|
|
36726
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
36722
|
+
const userAuthorType = _optionalChain([msg, 'access', _967 => _967.owner, 'optionalAccess', _968 => _968.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
36727
36723
|
messageDataArray.forEach((data) => {
|
|
36728
36724
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
36729
36725
|
processedMessages.push({
|
|
@@ -36748,7 +36744,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
36748
36744
|
});
|
|
36749
36745
|
const nextMsg = messages[index + 1];
|
|
36750
36746
|
const isLastMessage = index === messages.length - 1;
|
|
36751
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
36747
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _969 => _969.owner, 'optionalAccess', _970 => _970.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _971 => _971.owner, 'optionalAccess', _972 => _972.type]) === OWNER_TYPE.ADMIN);
|
|
36752
36748
|
if (isLastMessage || nextIsFromUser) {
|
|
36753
36749
|
flushAssistantMessage();
|
|
36754
36750
|
}
|
|
@@ -36858,7 +36854,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
36858
36854
|
}
|
|
36859
36855
|
}
|
|
36860
36856
|
} else {
|
|
36861
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
36857
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _973 => _973.set, 'call', _974 => _974(data.approvalRequestId, {
|
|
36862
36858
|
command: data.command || "",
|
|
36863
36859
|
explanation: data.explanation,
|
|
36864
36860
|
approvalType,
|
|
@@ -36871,8 +36867,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
36871
36867
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
36872
36868
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
36873
36869
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
36874
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
36875
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
36870
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _975 => _975.get, 'call', _976 => _976(data.approvalRequestId)]);
|
|
36871
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _977 => _977.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
36876
36872
|
if (batchApprovalsEnabled) {
|
|
36877
36873
|
accumulator.addApprovalBatch(
|
|
36878
36874
|
data.approvalRequestId,
|
|
@@ -36892,7 +36888,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
36892
36888
|
);
|
|
36893
36889
|
}
|
|
36894
36890
|
}
|
|
36895
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
36891
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _978 => _978.delete, 'call', _979 => _979(data.approvalRequestId)]);
|
|
36896
36892
|
break;
|
|
36897
36893
|
}
|
|
36898
36894
|
if (escalatedData) {
|
|
@@ -36901,7 +36897,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
36901
36897
|
explanation: escalatedData.explanation,
|
|
36902
36898
|
approvalType: escalatedData.approvalType
|
|
36903
36899
|
});
|
|
36904
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
36900
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _980 => _980.delete, 'call', _981 => _981(data.approvalRequestId)]);
|
|
36905
36901
|
}
|
|
36906
36902
|
const before = accumulator.getSegments();
|
|
36907
36903
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -36917,9 +36913,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
36917
36913
|
case MESSAGE_TYPE.ERROR:
|
|
36918
36914
|
if ("error" in data) {
|
|
36919
36915
|
let message2;
|
|
36920
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
36916
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _982 => _982.details])) {
|
|
36921
36917
|
try {
|
|
36922
|
-
message2 = _optionalChain([JSON, 'access',
|
|
36918
|
+
message2 = _optionalChain([JSON, 'access', _983 => _983.parse, 'call', _984 => _984(data.details), 'optionalAccess', _985 => _985.error, 'optionalAccess', _986 => _986.message]);
|
|
36923
36919
|
} catch (e43) {
|
|
36924
36920
|
message2 = data.details;
|
|
36925
36921
|
}
|
|
@@ -37002,10 +36998,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
37002
36998
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
37003
36999
|
return;
|
|
37004
37000
|
}
|
|
37005
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
37001
|
+
const isUserMessage = _optionalChain([msg, 'access', _987 => _987.owner, 'optionalAccess', _988 => _988.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _989 => _989.owner, 'optionalAccess', _990 => _990.type]) === OWNER_TYPE.ADMIN;
|
|
37006
37002
|
if (isUserMessage) {
|
|
37007
37003
|
flushAssistantMessage();
|
|
37008
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
37004
|
+
const userAuthorType = _optionalChain([msg, 'access', _991 => _991.owner, 'optionalAccess', _992 => _992.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
37009
37005
|
messageDataArray.forEach((data) => {
|
|
37010
37006
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
37011
37007
|
processedMessages.push({
|
|
@@ -37030,7 +37026,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
37030
37026
|
});
|
|
37031
37027
|
const nextMsg = messages[index + 1];
|
|
37032
37028
|
const isLastMessage = index === messages.length - 1;
|
|
37033
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
37029
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _993 => _993.owner, 'optionalAccess', _994 => _994.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _995 => _995.owner, 'optionalAccess', _996 => _996.type]) === OWNER_TYPE.ADMIN);
|
|
37034
37030
|
if (isLastMessage || nextIsFromUser) {
|
|
37035
37031
|
flushAssistantMessage();
|
|
37036
37032
|
}
|
|
@@ -37368,7 +37364,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
37368
37364
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
37369
37365
|
const sendMessage = _react.useCallback.call(void 0,
|
|
37370
37366
|
async (text, sendOptions) => {
|
|
37371
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
37367
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _997 => _997.hidden]), () => ( false));
|
|
37372
37368
|
setMessages((prev) => [
|
|
37373
37369
|
...prev,
|
|
37374
37370
|
{
|
|
@@ -37532,11 +37528,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
37532
37528
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
37533
37529
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
37534
37530
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
37535
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
37536
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
37537
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
37538
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
37539
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
37531
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _998 => _998.provider]), () => ( modelProvider)), () => ( null)),
|
|
37532
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _999 => _999.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
37533
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1000 => _1000.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1001 => _1001.contextWindowMaxTokens]))), () => ( null)),
|
|
37534
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1002 => _1002.inputTokensSize]), () => ( null)),
|
|
37535
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1003 => _1003.outputTokensSize]), () => ( null)),
|
|
37540
37536
|
currentCacheHitRatePct: null,
|
|
37541
37537
|
currentUsageBreakdown: null,
|
|
37542
37538
|
// Dialog management
|
|
@@ -37784,7 +37780,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
37784
37780
|
break;
|
|
37785
37781
|
case "approval_batch": {
|
|
37786
37782
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
37787
|
-
(c) => _optionalChain([segment, 'access',
|
|
37783
|
+
(c) => _optionalChain([segment, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[c.toolExecutionRequestId], 'optionalAccess', _1007 => _1007.status]) === "done"
|
|
37788
37784
|
);
|
|
37789
37785
|
if (segment.status !== "rejected" && !allDone) {
|
|
37790
37786
|
hasIncompleteState = true;
|
|
@@ -37808,6 +37804,110 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
37808
37804
|
};
|
|
37809
37805
|
}
|
|
37810
37806
|
|
|
37807
|
+
// src/components/chat/utils/history-merge.ts
|
|
37808
|
+
var SYNTHETIC_REALTIME_ID_PREFIXES = ["assistant-", "user-", "error-"];
|
|
37809
|
+
function isSyntheticRealtimeId(id) {
|
|
37810
|
+
return SYNTHETIC_REALTIME_ID_PREFIXES.some((prefix) => id.startsWith(prefix));
|
|
37811
|
+
}
|
|
37812
|
+
function flattenMessagePagesChronological(pages) {
|
|
37813
|
+
if (!pages) return [];
|
|
37814
|
+
return [...pages].reverse().flatMap((page) => [...page.messages].reverse());
|
|
37815
|
+
}
|
|
37816
|
+
function maxPersistedStreamSeq(pages) {
|
|
37817
|
+
let max = 0;
|
|
37818
|
+
if (!pages) return max;
|
|
37819
|
+
for (const page of pages) {
|
|
37820
|
+
for (const msg of page.messages) {
|
|
37821
|
+
const seq = msg.lastChunkStreamSeq;
|
|
37822
|
+
if (typeof seq === "number" && seq > max) max = seq;
|
|
37823
|
+
}
|
|
37824
|
+
}
|
|
37825
|
+
return max;
|
|
37826
|
+
}
|
|
37827
|
+
function mergeHistoryWithRealtime(input) {
|
|
37828
|
+
const {
|
|
37829
|
+
processedHistory,
|
|
37830
|
+
rawHistoryIds,
|
|
37831
|
+
existingMessages,
|
|
37832
|
+
streamingMessageId,
|
|
37833
|
+
historyFetchedAt,
|
|
37834
|
+
historyMaxStreamSeq = 0,
|
|
37835
|
+
realtimeSeenStreamSeq = 0
|
|
37836
|
+
} = input;
|
|
37837
|
+
if (processedHistory.length === 0) return existingMessages;
|
|
37838
|
+
const processedIds = new Set(processedHistory.map((m) => m.id));
|
|
37839
|
+
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
37840
|
+
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
37841
|
+
const trailing = processedHistory[processedHistory.length - 1];
|
|
37842
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1008 => _1008.role]) === "assistant" ? trailing : null;
|
|
37843
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1009 => _1009.content, 'access', _1010 => _1010.find, 'call', _1011 => _1011((s) => s.type === "approval_batch"), 'optionalAccess', _1012 => _1012.data, 'optionalAccess', _1013 => _1013.approvalRequestId]), () => ( null)) : null;
|
|
37844
|
+
let processedToUse = processedHistory;
|
|
37845
|
+
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
37846
|
+
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
37847
|
+
if (historyBatchId) {
|
|
37848
|
+
const batchTwins = existingMessages.filter(
|
|
37849
|
+
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
37850
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1014 => _1014.data, 'optionalAccess', _1015 => _1015.approvalRequestId]) === historyBatchId
|
|
37851
|
+
)
|
|
37852
|
+
);
|
|
37853
|
+
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
37854
|
+
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
37855
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1016 => _1016.content])) ? historyTrailingAssistant.content.length : 0;
|
|
37856
|
+
const realtimeSize = existingWithSameBatch.content.length;
|
|
37857
|
+
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
37858
|
+
processedToUse = processedHistory.slice(0, -1);
|
|
37859
|
+
pinnedSyntheticIds.add(existingWithSameBatch.id);
|
|
37860
|
+
} else {
|
|
37861
|
+
droppedSyntheticIds.add(existingWithSameBatch.id);
|
|
37862
|
+
}
|
|
37863
|
+
}
|
|
37864
|
+
}
|
|
37865
|
+
const realtimeMessages = existingMessages.filter((m) => {
|
|
37866
|
+
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
37867
|
+
if (droppedSyntheticIds.has(m.id)) return false;
|
|
37868
|
+
if (processedIds.has(m.id)) return false;
|
|
37869
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1017 => _1017.has, 'call', _1018 => _1018(m.id)])) return false;
|
|
37870
|
+
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
37871
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1019 => _1019.timestamp, 'optionalAccess', _1020 => _1020.getTime, 'call', _1021 => _1021()]), () => ( 0))) <= historyFetchedAt;
|
|
37872
|
+
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
37873
|
+
}
|
|
37874
|
+
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
37875
|
+
const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1022 => _1022.timestamp, 'optionalAccess', _1023 => _1023.getTime, 'call', _1024 => _1024()]), () => ( 0))) <= historyFetchedAt;
|
|
37876
|
+
if (covered) return false;
|
|
37877
|
+
}
|
|
37878
|
+
return true;
|
|
37879
|
+
});
|
|
37880
|
+
return [...processedToUse, ...realtimeMessages];
|
|
37881
|
+
}
|
|
37882
|
+
function computeHistoryPrepend(processedHistory, existingMessages) {
|
|
37883
|
+
const existingIds = new Set(existingMessages.map((m) => m.id));
|
|
37884
|
+
const newMessages = [];
|
|
37885
|
+
let boundaryMessageIndex = -1;
|
|
37886
|
+
for (let i = 0; i < processedHistory.length; i++) {
|
|
37887
|
+
if (existingIds.has(processedHistory[i].id)) {
|
|
37888
|
+
boundaryMessageIndex = i;
|
|
37889
|
+
break;
|
|
37890
|
+
}
|
|
37891
|
+
newMessages.push(processedHistory[i]);
|
|
37892
|
+
}
|
|
37893
|
+
let boundaryMessageId;
|
|
37894
|
+
let boundaryUpdates;
|
|
37895
|
+
if (boundaryMessageIndex >= 0) {
|
|
37896
|
+
const boundaryMessage = processedHistory[boundaryMessageIndex];
|
|
37897
|
+
const existingBoundary = existingMessages.find((m) => m.id === boundaryMessage.id);
|
|
37898
|
+
if (existingBoundary) {
|
|
37899
|
+
const existingContent = JSON.stringify(existingBoundary.content);
|
|
37900
|
+
const newContent = JSON.stringify(boundaryMessage.content);
|
|
37901
|
+
if (existingContent !== newContent) {
|
|
37902
|
+
boundaryMessageId = boundaryMessage.id;
|
|
37903
|
+
boundaryUpdates = { content: boundaryMessage.content };
|
|
37904
|
+
}
|
|
37905
|
+
}
|
|
37906
|
+
}
|
|
37907
|
+
if (newMessages.length === 0 && !boundaryUpdates) return null;
|
|
37908
|
+
return { newMessages, boundaryMessageId, boundaryUpdates };
|
|
37909
|
+
}
|
|
37910
|
+
|
|
37811
37911
|
// src/components/chat/utils/chip-action-class.ts
|
|
37812
37912
|
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";
|
|
37813
37913
|
|
|
@@ -37992,7 +38092,7 @@ function useChatDialogManager({
|
|
|
37992
38092
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
37993
38093
|
if (restoreTarget) {
|
|
37994
38094
|
try {
|
|
37995
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
38095
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1025 => _1025(restoreTarget.id)]);
|
|
37996
38096
|
} catch (err) {
|
|
37997
38097
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
37998
38098
|
return;
|
|
@@ -38391,7 +38491,7 @@ function EmbeddableChatInner({
|
|
|
38391
38491
|
}),
|
|
38392
38492
|
[commandsUrl]
|
|
38393
38493
|
);
|
|
38394
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
38494
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1026 => _1026.firstName, 'optionalAccess', _1027 => _1027.trim, 'call', _1028 => _1028()]) || _optionalChain([identityUser, 'optionalAccess', _1029 => _1029.name, 'optionalAccess', _1030 => _1030.split, 'call', _1031 => _1031(" "), 'access', _1032 => _1032[0], 'optionalAccess', _1033 => _1033.trim, 'call', _1034 => _1034()]) || void 0;
|
|
38395
38495
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
38396
38496
|
if (modes) return modes;
|
|
38397
38497
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -38400,17 +38500,17 @@ function EmbeddableChatInner({
|
|
|
38400
38500
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
38401
38501
|
if (mingoState) {
|
|
38402
38502
|
return {
|
|
38403
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
38404
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
38405
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
38406
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
38503
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1035 => _1035.canRename]), () => ( false)),
|
|
38504
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1036 => _1036.canArchive]), () => ( false)),
|
|
38505
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1037 => _1037.fetchArchivedDialogs]),
|
|
38506
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1038 => _1038.unarchiveDialog])
|
|
38407
38507
|
};
|
|
38408
38508
|
}
|
|
38409
38509
|
return {
|
|
38410
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
38411
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
38412
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
38413
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
38510
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1039 => _1039.mingo, 'optionalAccess', _1040 => _1040.renameDialog]),
|
|
38511
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1041 => _1041.mingo, 'optionalAccess', _1042 => _1042.archiveDialog]),
|
|
38512
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1043 => _1043.mingo, 'optionalAccess', _1044 => _1044.fetchArchivedDialogs]),
|
|
38513
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1045 => _1045.mingo, 'optionalAccess', _1046 => _1046.unarchiveDialog])
|
|
38414
38514
|
};
|
|
38415
38515
|
}, [mingoState, mingoDialogCapabilities, effectiveModes]);
|
|
38416
38516
|
const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
|
|
@@ -38422,7 +38522,7 @@ function EmbeddableChatInner({
|
|
|
38422
38522
|
if (controlledActiveMode === void 0) {
|
|
38423
38523
|
setUncontrolledActiveMode(next);
|
|
38424
38524
|
}
|
|
38425
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
38525
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1047 => _1047(next)]);
|
|
38426
38526
|
},
|
|
38427
38527
|
[controlledActiveMode, onActiveModeChange]
|
|
38428
38528
|
);
|
|
@@ -38629,9 +38729,9 @@ function EmbeddableChatInner({
|
|
|
38629
38729
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
38630
38730
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
38631
38731
|
if (chatLoading) return void 0;
|
|
38632
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
38732
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1048 => _1048.sources]);
|
|
38633
38733
|
if (!sources || sources.length === 0) return void 0;
|
|
38634
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
38734
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1049 => _1049.content]) || "";
|
|
38635
38735
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
38636
38736
|
(m) => parseInt(m[1], 10)
|
|
38637
38737
|
);
|
|
@@ -38678,7 +38778,7 @@ function EmbeddableChatInner({
|
|
|
38678
38778
|
ChatPanelHeader,
|
|
38679
38779
|
{
|
|
38680
38780
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
38681
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
38781
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1050 => _1050.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
|
|
38682
38782
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
38683
38783
|
isArchivedView: isViewingArchived,
|
|
38684
38784
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -38783,10 +38883,10 @@ function EmbeddableChatInner({
|
|
|
38783
38883
|
subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
|
|
38784
38884
|
...guideWelcome,
|
|
38785
38885
|
onQuickAction: (action) => {
|
|
38786
|
-
_optionalChain([chatInputRef, 'access',
|
|
38886
|
+
_optionalChain([chatInputRef, 'access', _1051 => _1051.current, 'optionalAccess', _1052 => _1052.setValue, 'call', _1053 => _1053(
|
|
38787
38887
|
_nullishCoalesce(action.prompt, () => ( action.label))
|
|
38788
38888
|
)]);
|
|
38789
|
-
_optionalChain([chatInputRef, 'access',
|
|
38889
|
+
_optionalChain([chatInputRef, 'access', _1054 => _1054.current, 'optionalAccess', _1055 => _1055.focus, 'call', _1056 => _1056()]);
|
|
38790
38890
|
},
|
|
38791
38891
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
38792
38892
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -39609,5 +39709,10 @@ function EmbeddableChatInner({
|
|
|
39609
39709
|
|
|
39610
39710
|
|
|
39611
39711
|
|
|
39612
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.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.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.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; 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.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; 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.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.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.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.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; 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.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.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.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.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.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.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;
|
|
39613
|
-
|
|
39712
|
+
|
|
39713
|
+
|
|
39714
|
+
|
|
39715
|
+
|
|
39716
|
+
|
|
39717
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.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.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.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; 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.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; 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.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.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.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.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; 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.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.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.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.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.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.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;
|
|
39718
|
+
//# sourceMappingURL=chunk-NCXHTQH2.cjs.map
|