@flamingo-stack/openframe-frontend-core 0.0.193 → 0.0.194-snapshot.20260518210734
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-GMC5VU7X.cjs → chunk-IQM3G2I6.cjs} +480 -369
- package/dist/chunk-IQM3G2I6.cjs.map +1 -0
- package/dist/{chunk-E6VCRL42.js → chunk-U6AJSRJP.js} +140 -29
- package/dist/chunk-U6AJSRJP.js.map +1 -0
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/types/message.types.d.ts +19 -0
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.d.ts +16 -0
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +4 -2
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/ui/index.cjs +4 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +3 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/package.json +1 -1
- package/src/components/chat/chat-message-list.tsx +138 -1
- package/src/components/chat/types/message.types.ts +20 -0
- package/src/components/chat/utils/message-segment-accumulator.ts +28 -0
- package/src/components/chat/utils/process-historical-messages.ts +23 -5
- package/dist/chunk-E6VCRL42.js.map +0 -1
- package/dist/chunk-GMC5VU7X.cjs.map +0 -1
|
@@ -5521,6 +5521,28 @@ function CyclingPhrase({
|
|
|
5521
5521
|
] });
|
|
5522
5522
|
}
|
|
5523
5523
|
|
|
5524
|
+
// src/components/chat/types/message.types.ts
|
|
5525
|
+
var MESSAGE_TYPE = {
|
|
5526
|
+
TEXT: "TEXT",
|
|
5527
|
+
THINKING: "THINKING",
|
|
5528
|
+
EXECUTING_TOOL: "EXECUTING_TOOL",
|
|
5529
|
+
EXECUTED_TOOL: "EXECUTED_TOOL",
|
|
5530
|
+
APPROVAL_REQUEST: "APPROVAL_REQUEST",
|
|
5531
|
+
APPROVAL_RESULT: "APPROVAL_RESULT",
|
|
5532
|
+
ERROR: "ERROR",
|
|
5533
|
+
MESSAGE_START: "MESSAGE_START",
|
|
5534
|
+
MESSAGE_END: "MESSAGE_END",
|
|
5535
|
+
MESSAGE_REQUEST: "MESSAGE_REQUEST",
|
|
5536
|
+
AI_METADATA: "AI_METADATA",
|
|
5537
|
+
TOKEN_USAGE: "TOKEN_USAGE",
|
|
5538
|
+
CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
|
|
5539
|
+
CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
|
|
5540
|
+
DIRECT_MESSAGE: "DIRECT_MESSAGE",
|
|
5541
|
+
SYSTEM: "SYSTEM",
|
|
5542
|
+
DIALOG_CLOSED: "DIALOG_CLOSED"
|
|
5543
|
+
};
|
|
5544
|
+
var SCROLL_ANCHOR = { TOP: "top", BOTTOM: "bottom" };
|
|
5545
|
+
|
|
5524
5546
|
// src/components/chat/chat-message-list.tsx
|
|
5525
5547
|
|
|
5526
5548
|
var STREAMING_WORDS = [
|
|
@@ -5535,6 +5557,16 @@ var STREAMING_WORDS = [
|
|
|
5535
5557
|
"Conjuring",
|
|
5536
5558
|
"Riffing"
|
|
5537
5559
|
];
|
|
5560
|
+
function hasNonEmptyContent(content) {
|
|
5561
|
+
if (typeof content === "string") return content.length > 0;
|
|
5562
|
+
if (!Array.isArray(content)) return false;
|
|
5563
|
+
return content.some((s) => s.type === "text" && s.text.length > 0);
|
|
5564
|
+
}
|
|
5565
|
+
function disposeAnchorWatcher(w) {
|
|
5566
|
+
if (!w) return;
|
|
5567
|
+
w.ro.disconnect();
|
|
5568
|
+
clearTimeout(w.timer);
|
|
5569
|
+
}
|
|
5538
5570
|
var ChatMessageList = _react.forwardRef.call(void 0,
|
|
5539
5571
|
({
|
|
5540
5572
|
className,
|
|
@@ -5555,7 +5587,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5555
5587
|
NavLinkAnchor,
|
|
5556
5588
|
...props
|
|
5557
5589
|
}, ref) => {
|
|
5558
|
-
const { scrollRef, contentRef, scrollToBottom } = _usesticktobottom.useStickToBottom.call(void 0, {
|
|
5590
|
+
const { scrollRef, contentRef, scrollToBottom, stopScroll } = _usesticktobottom.useStickToBottom.call(void 0, {
|
|
5559
5591
|
resize: "smooth",
|
|
5560
5592
|
initial: false
|
|
5561
5593
|
});
|
|
@@ -5619,6 +5651,68 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5619
5651
|
prependRef.current.firstMessageContent = currentFirstContent;
|
|
5620
5652
|
}
|
|
5621
5653
|
}, [messages, scrollRef]);
|
|
5654
|
+
const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
5655
|
+
const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
5656
|
+
const getRegisterMessageEl = (id) => {
|
|
5657
|
+
let cb = refCallbacksRef.current.get(id);
|
|
5658
|
+
if (cb) return cb;
|
|
5659
|
+
cb = (el) => {
|
|
5660
|
+
if (el) {
|
|
5661
|
+
messageElsRef.current.set(id, el);
|
|
5662
|
+
} else {
|
|
5663
|
+
messageElsRef.current.delete(id);
|
|
5664
|
+
refCallbacksRef.current.delete(id);
|
|
5665
|
+
}
|
|
5666
|
+
};
|
|
5667
|
+
refCallbacksRef.current.set(id, cb);
|
|
5668
|
+
return cb;
|
|
5669
|
+
};
|
|
5670
|
+
const scrolledIdsRef = _react.useRef.call(void 0, null);
|
|
5671
|
+
if (scrolledIdsRef.current === null) {
|
|
5672
|
+
scrolledIdsRef.current = new Set(
|
|
5673
|
+
messages.filter((m) => hasNonEmptyContent(m.content)).map((m) => m.id)
|
|
5674
|
+
);
|
|
5675
|
+
}
|
|
5676
|
+
const anchorWatcherRef = _react.useRef.call(void 0, null);
|
|
5677
|
+
_react.useLayoutEffect.call(void 0, () => {
|
|
5678
|
+
if (!autoScroll) return;
|
|
5679
|
+
const last = messages[messages.length - 1];
|
|
5680
|
+
if (!last || last.role !== "assistant" || last.scrollAnchor !== SCROLL_ANCHOR.TOP) return;
|
|
5681
|
+
if (!hasNonEmptyContent(last.content)) return;
|
|
5682
|
+
const seen = scrolledIdsRef.current;
|
|
5683
|
+
if (seen.has(last.id)) return;
|
|
5684
|
+
const node = messageElsRef.current.get(last.id);
|
|
5685
|
+
const container = scrollRef.current;
|
|
5686
|
+
if (!node || !node.isConnected || !container) return;
|
|
5687
|
+
seen.add(last.id);
|
|
5688
|
+
stopScroll();
|
|
5689
|
+
node.scrollIntoView({ block: "start" });
|
|
5690
|
+
disposeAnchorWatcher(anchorWatcherRef.current);
|
|
5691
|
+
const baselineScrollTop = container.scrollTop;
|
|
5692
|
+
const ro = new ResizeObserver(() => {
|
|
5693
|
+
if (!node.isConnected) {
|
|
5694
|
+
ro.disconnect();
|
|
5695
|
+
return;
|
|
5696
|
+
}
|
|
5697
|
+
if (container.scrollTop > baselineScrollTop + 200) {
|
|
5698
|
+
ro.disconnect();
|
|
5699
|
+
return;
|
|
5700
|
+
}
|
|
5701
|
+
node.scrollIntoView({ block: "start" });
|
|
5702
|
+
});
|
|
5703
|
+
ro.observe(node);
|
|
5704
|
+
const timer = setTimeout(() => {
|
|
5705
|
+
ro.disconnect();
|
|
5706
|
+
if (_optionalChain([anchorWatcherRef, 'access', _117 => _117.current, 'optionalAccess', _118 => _118.id]) === last.id) {
|
|
5707
|
+
anchorWatcherRef.current = null;
|
|
5708
|
+
}
|
|
5709
|
+
}, 2e3);
|
|
5710
|
+
anchorWatcherRef.current = { id: last.id, ro, timer };
|
|
5711
|
+
}, [messages, autoScroll, stopScroll, scrollRef]);
|
|
5712
|
+
_react.useEffect.call(void 0, () => () => {
|
|
5713
|
+
disposeAnchorWatcher(anchorWatcherRef.current);
|
|
5714
|
+
anchorWatcherRef.current = null;
|
|
5715
|
+
}, []);
|
|
5622
5716
|
_react.useEffect.call(void 0, () => {
|
|
5623
5717
|
const scrollContainer = scrollRef.current;
|
|
5624
5718
|
const sentinelElement = sentinelRef.current;
|
|
@@ -5628,7 +5722,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5628
5722
|
const entry = entries[0];
|
|
5629
5723
|
if (!entry) return;
|
|
5630
5724
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
5631
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
5725
|
+
_optionalChain([onLoadMoreRef, 'access', _119 => _119.current, 'optionalCall', _120 => _120()]);
|
|
5632
5726
|
}
|
|
5633
5727
|
},
|
|
5634
5728
|
{ root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
|
|
@@ -5656,8 +5750,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5656
5750
|
contentRef(el);
|
|
5657
5751
|
};
|
|
5658
5752
|
const lastMessage = messages[messages.length - 1];
|
|
5659
|
-
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess',
|
|
5660
|
-
const lastSegment = _optionalChain([lastSegments, 'optionalAccess',
|
|
5753
|
+
const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _121 => _121.content])) ? lastMessage.content : null;
|
|
5754
|
+
const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _122 => _122[lastSegments.length - 1]]);
|
|
5661
5755
|
const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
|
|
5662
5756
|
const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
|
|
5663
5757
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
@@ -5686,6 +5780,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5686
5780
|
messages.map((message, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5687
5781
|
MemoizedChatMessageEnhanced,
|
|
5688
5782
|
{
|
|
5783
|
+
ref: getRegisterMessageEl(message.id),
|
|
5689
5784
|
role: message.role,
|
|
5690
5785
|
name: message.name,
|
|
5691
5786
|
content: message.content,
|
|
@@ -5795,7 +5890,7 @@ var _muxplayerreact = require('@mux/mux-player-react'); var _muxplayerreact2 = _
|
|
|
5795
5890
|
|
|
5796
5891
|
if (typeof window !== "undefined") {
|
|
5797
5892
|
const w = window;
|
|
5798
|
-
if (!_optionalChain([w, 'access',
|
|
5893
|
+
if (!_optionalChain([w, 'access', _123 => _123.chrome, 'optionalAccess', _124 => _124.cast])) {
|
|
5799
5894
|
w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
|
|
5800
5895
|
}
|
|
5801
5896
|
}
|
|
@@ -5971,7 +6066,7 @@ function YouTubeFacadeInner({
|
|
|
5971
6066
|
const iframe = iframeRef.current;
|
|
5972
6067
|
if (!iframe) return;
|
|
5973
6068
|
function subscribe() {
|
|
5974
|
-
_optionalChain([iframe, 'optionalAccess',
|
|
6069
|
+
_optionalChain([iframe, 'optionalAccess', _125 => _125.contentWindow, 'optionalAccess', _126 => _126.postMessage, 'call', _127 => _127(
|
|
5975
6070
|
'{"event":"listening"}',
|
|
5976
6071
|
YT_NOCOOKIE_ORIGIN
|
|
5977
6072
|
)]);
|
|
@@ -5989,13 +6084,13 @@ function YouTubeFacadeInner({
|
|
|
5989
6084
|
return;
|
|
5990
6085
|
}
|
|
5991
6086
|
if (!payload || payload.event !== "infoDelivery") return;
|
|
5992
|
-
const state = _optionalChain([payload, 'access',
|
|
6087
|
+
const state = _optionalChain([payload, 'access', _128 => _128.info, 'optionalAccess', _129 => _129.playerState]);
|
|
5993
6088
|
if (typeof state !== "number") return;
|
|
5994
6089
|
if (state === YT_STATE_PLAYING) {
|
|
5995
6090
|
if (blurTimer !== null) return;
|
|
5996
6091
|
blurTimer = setTimeout(() => {
|
|
5997
6092
|
blurTimer = null;
|
|
5998
|
-
_optionalChain([iframeRef, 'access',
|
|
6093
|
+
_optionalChain([iframeRef, 'access', _130 => _130.current, 'optionalAccess', _131 => _131.blur, 'call', _132 => _132()]);
|
|
5999
6094
|
}, YT_PLAYING_BLUR_DELAY_MS);
|
|
6000
6095
|
return;
|
|
6001
6096
|
}
|
|
@@ -6396,7 +6491,7 @@ var ChatTicketItem = React19.forwardRef(
|
|
|
6396
6491
|
{
|
|
6397
6492
|
ref,
|
|
6398
6493
|
type: "button",
|
|
6399
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
6494
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _133 => _133(ticket.id)]),
|
|
6400
6495
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
6401
6496
|
"flex items-center gap-4 w-full h-20 px-4",
|
|
6402
6497
|
"bg-ods-card border-b border-ods-border",
|
|
@@ -6744,8 +6839,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
6744
6839
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
6745
6840
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
6746
6841
|
const handleClick = (e) => {
|
|
6747
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
6748
|
-
_optionalChain([onClick, 'optionalCall',
|
|
6842
|
+
_optionalChain([onDialogSelect, 'optionalCall', _134 => _134(dialog.id)]);
|
|
6843
|
+
_optionalChain([onClick, 'optionalCall', _135 => _135(e)]);
|
|
6749
6844
|
};
|
|
6750
6845
|
const formatTimestamp2 = (timestamp) => {
|
|
6751
6846
|
if (!timestamp) return "";
|
|
@@ -6804,7 +6899,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6804
6899
|
(entries) => {
|
|
6805
6900
|
const [entry] = entries;
|
|
6806
6901
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
6807
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
6902
|
+
_optionalChain([onLoadMoreRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
|
|
6808
6903
|
}
|
|
6809
6904
|
},
|
|
6810
6905
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -6924,27 +7019,6 @@ var CONNECTION_STATUS = {
|
|
|
6924
7019
|
ERROR: "error"
|
|
6925
7020
|
};
|
|
6926
7021
|
|
|
6927
|
-
// src/components/chat/types/message.types.ts
|
|
6928
|
-
var MESSAGE_TYPE = {
|
|
6929
|
-
TEXT: "TEXT",
|
|
6930
|
-
THINKING: "THINKING",
|
|
6931
|
-
EXECUTING_TOOL: "EXECUTING_TOOL",
|
|
6932
|
-
EXECUTED_TOOL: "EXECUTED_TOOL",
|
|
6933
|
-
APPROVAL_REQUEST: "APPROVAL_REQUEST",
|
|
6934
|
-
APPROVAL_RESULT: "APPROVAL_RESULT",
|
|
6935
|
-
ERROR: "ERROR",
|
|
6936
|
-
MESSAGE_START: "MESSAGE_START",
|
|
6937
|
-
MESSAGE_END: "MESSAGE_END",
|
|
6938
|
-
MESSAGE_REQUEST: "MESSAGE_REQUEST",
|
|
6939
|
-
AI_METADATA: "AI_METADATA",
|
|
6940
|
-
TOKEN_USAGE: "TOKEN_USAGE",
|
|
6941
|
-
CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
|
|
6942
|
-
CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
|
|
6943
|
-
DIRECT_MESSAGE: "DIRECT_MESSAGE",
|
|
6944
|
-
SYSTEM: "SYSTEM",
|
|
6945
|
-
DIALOG_CLOSED: "DIALOG_CLOSED"
|
|
6946
|
-
};
|
|
6947
|
-
|
|
6948
7022
|
// src/components/chat/types/network.types.ts
|
|
6949
7023
|
var NETWORK_CONFIG = {
|
|
6950
7024
|
SHARED_CLOSE_DELAY_MS: 3e3,
|
|
@@ -7222,7 +7296,7 @@ function useNatsDialogSubscription({
|
|
|
7222
7296
|
reconnectionBackoffRef.current = reconnectionBackoff;
|
|
7223
7297
|
}, [reconnectionBackoff]);
|
|
7224
7298
|
const acquireClient = _react.useCallback.call(void 0, (url) => {
|
|
7225
|
-
if (_optionalChain([shared, 'optionalAccess',
|
|
7299
|
+
if (_optionalChain([shared, 'optionalAccess', _138 => _138.wsUrl]) !== url) {
|
|
7226
7300
|
if (shared) {
|
|
7227
7301
|
shared.closeTimer && clearTimeout(shared.closeTimer);
|
|
7228
7302
|
const old = shared;
|
|
@@ -7313,7 +7387,7 @@ function useNatsDialogSubscription({
|
|
|
7313
7387
|
if (closed) return;
|
|
7314
7388
|
if (shared !== sharedConn) return;
|
|
7315
7389
|
try {
|
|
7316
|
-
await _optionalChain([onBeforeReconnectRef, 'access',
|
|
7390
|
+
await _optionalChain([onBeforeReconnectRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140()]);
|
|
7317
7391
|
} catch (e10) {
|
|
7318
7392
|
}
|
|
7319
7393
|
if (closed) return;
|
|
@@ -7346,22 +7420,22 @@ function useNatsDialogSubscription({
|
|
|
7346
7420
|
}
|
|
7347
7421
|
hadConnectionBeforeRef.current = true;
|
|
7348
7422
|
retryAttempt = 0;
|
|
7349
|
-
_optionalChain([onConnectRef, 'access',
|
|
7423
|
+
_optionalChain([onConnectRef, 'access', _141 => _141.current, 'optionalCall', _142 => _142()]);
|
|
7350
7424
|
}
|
|
7351
7425
|
if (disconnected) {
|
|
7352
7426
|
setIsConnected(false);
|
|
7353
7427
|
setIsSubscribed(false);
|
|
7354
7428
|
subscriptionRefs.current.forEach((sub) => {
|
|
7355
7429
|
try {
|
|
7356
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7430
|
+
_optionalChain([sub, 'optionalAccess', _143 => _143.unsubscribe, 'call', _144 => _144()]);
|
|
7357
7431
|
} catch (e12) {
|
|
7358
7432
|
}
|
|
7359
7433
|
});
|
|
7360
7434
|
subscriptionRefs.current.clear();
|
|
7361
7435
|
lastSubscribedDialogIdRef.current = null;
|
|
7362
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7436
|
+
_optionalChain([abortControllerRef, 'access', _145 => _145.current, 'optionalAccess', _146 => _146.abort, 'call', _147 => _147()]);
|
|
7363
7437
|
abortControllerRef.current = null;
|
|
7364
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7438
|
+
_optionalChain([onDisconnectRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149()]);
|
|
7365
7439
|
scheduleRetry();
|
|
7366
7440
|
}
|
|
7367
7441
|
});
|
|
@@ -7377,7 +7451,7 @@ function useNatsDialogSubscription({
|
|
|
7377
7451
|
sharedConn.connectPromise = null;
|
|
7378
7452
|
if (!closed) {
|
|
7379
7453
|
setIsConnected(false);
|
|
7380
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7454
|
+
_optionalChain([onDisconnectRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151()]);
|
|
7381
7455
|
scheduleRetry();
|
|
7382
7456
|
}
|
|
7383
7457
|
}
|
|
@@ -7393,7 +7467,7 @@ function useNatsDialogSubscription({
|
|
|
7393
7467
|
}
|
|
7394
7468
|
subscriptionRefs.current.forEach((sub) => {
|
|
7395
7469
|
try {
|
|
7396
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7470
|
+
_optionalChain([sub, 'optionalAccess', _152 => _152.unsubscribe, 'call', _153 => _153()]);
|
|
7397
7471
|
} catch (e14) {
|
|
7398
7472
|
}
|
|
7399
7473
|
});
|
|
@@ -7421,13 +7495,13 @@ function useNatsDialogSubscription({
|
|
|
7421
7495
|
setIsSubscribed(false);
|
|
7422
7496
|
subscriptionRefs.current.forEach((sub) => {
|
|
7423
7497
|
try {
|
|
7424
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7498
|
+
_optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
|
|
7425
7499
|
} catch (e15) {
|
|
7426
7500
|
}
|
|
7427
7501
|
});
|
|
7428
7502
|
subscriptionRefs.current.clear();
|
|
7429
7503
|
lastSubscribedDialogIdRef.current = null;
|
|
7430
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7504
|
+
_optionalChain([abortControllerRef, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.abort, 'call', _158 => _158()]);
|
|
7431
7505
|
abortControllerRef.current = null;
|
|
7432
7506
|
}
|
|
7433
7507
|
return;
|
|
@@ -7439,12 +7513,12 @@ function useNatsDialogSubscription({
|
|
|
7439
7513
|
if (subscriptionRefs.current.size > 0) {
|
|
7440
7514
|
subscriptionRefs.current.forEach((sub) => {
|
|
7441
7515
|
try {
|
|
7442
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7516
|
+
_optionalChain([sub, 'optionalAccess', _159 => _159.unsubscribe, 'call', _160 => _160()]);
|
|
7443
7517
|
} catch (e16) {
|
|
7444
7518
|
}
|
|
7445
7519
|
});
|
|
7446
7520
|
subscriptionRefs.current.clear();
|
|
7447
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7521
|
+
_optionalChain([abortControllerRef, 'access', _161 => _161.current, 'optionalAccess', _162 => _162.abort, 'call', _163 => _163()]);
|
|
7448
7522
|
}
|
|
7449
7523
|
abortControllerRef.current = new AbortController();
|
|
7450
7524
|
const abort = abortControllerRef.current;
|
|
@@ -7476,7 +7550,7 @@ function useNatsDialogSubscription({
|
|
|
7476
7550
|
});
|
|
7477
7551
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
7478
7552
|
setIsSubscribed(true);
|
|
7479
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7553
|
+
_optionalChain([onSubscribedRef, 'access', _164 => _164.current, 'optionalCall', _165 => _165()]);
|
|
7480
7554
|
};
|
|
7481
7555
|
if (isConnectedRef.current) {
|
|
7482
7556
|
createSubscriptions();
|
|
@@ -7486,7 +7560,7 @@ function useNatsDialogSubscription({
|
|
|
7486
7560
|
abort.abort();
|
|
7487
7561
|
subscriptionRefs.current.forEach((sub) => {
|
|
7488
7562
|
try {
|
|
7489
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7563
|
+
_optionalChain([sub, 'optionalAccess', _166 => _166.unsubscribe, 'call', _167 => _167()]);
|
|
7490
7564
|
} catch (e18) {
|
|
7491
7565
|
}
|
|
7492
7566
|
});
|
|
@@ -7527,7 +7601,7 @@ function useNatsDialogSubscription({
|
|
|
7527
7601
|
});
|
|
7528
7602
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
7529
7603
|
setIsSubscribed(true);
|
|
7530
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7604
|
+
_optionalChain([onSubscribedRef, 'access', _168 => _168.current, 'optionalCall', _169 => _169()]);
|
|
7531
7605
|
} else if (subscriptionRefs.current.size > 0) {
|
|
7532
7606
|
setIsSubscribed(true);
|
|
7533
7607
|
}
|
|
@@ -7535,10 +7609,10 @@ function useNatsDialogSubscription({
|
|
|
7535
7609
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
7536
7610
|
}
|
|
7537
7611
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
7538
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
7612
|
+
const path = _optionalChain([options, 'optionalAccess', _170 => _170.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
7539
7613
|
const u = new URL(path, apiBaseUrl);
|
|
7540
7614
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
7541
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
7615
|
+
if (_optionalChain([options, 'optionalAccess', _171 => _171.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _172 => _172.token])) {
|
|
7542
7616
|
u.searchParams.set("authorization", options.token);
|
|
7543
7617
|
}
|
|
7544
7618
|
return u.toString();
|
|
@@ -7835,6 +7909,7 @@ var MessageSegmentAccumulator = class {
|
|
|
7835
7909
|
return this.getSegments();
|
|
7836
7910
|
}
|
|
7837
7911
|
const toolKey = execId || `${toolData.integratedToolType}-${toolData.toolFunction}`;
|
|
7912
|
+
this.resolvePendingApprovalForExecution();
|
|
7838
7913
|
if (toolData.type === "EXECUTING_TOOL") {
|
|
7839
7914
|
this.executingTools.set(toolKey, {
|
|
7840
7915
|
integratedToolType: toolData.integratedToolType,
|
|
@@ -7853,8 +7928,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7853
7928
|
type: "tool_execution",
|
|
7854
7929
|
data: {
|
|
7855
7930
|
...toolData,
|
|
7856
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
7857
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
7931
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _173 => _173.data, 'access', _174 => _174.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _175 => _175.toolTitle]))),
|
|
7932
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _176 => _176.parameters])
|
|
7858
7933
|
}
|
|
7859
7934
|
};
|
|
7860
7935
|
if (existingIndex !== -1) {
|
|
@@ -7878,8 +7953,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7878
7953
|
if (seg.type !== "approval_batch") return seg;
|
|
7879
7954
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
7880
7955
|
if (!hasCall) return seg;
|
|
7881
|
-
const prev = _optionalChain([seg, 'access',
|
|
7882
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
7956
|
+
const prev = _optionalChain([seg, 'access', _177 => _177.data, 'access', _178 => _178.executions, 'optionalAccess', _179 => _179[execId]]);
|
|
7957
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _180 => _180.result]), success: _optionalChain([prev, 'optionalAccess', _181 => _181.success]) };
|
|
7883
7958
|
matched = true;
|
|
7884
7959
|
return {
|
|
7885
7960
|
...seg,
|
|
@@ -7891,6 +7966,30 @@ var MessageSegmentAccumulator = class {
|
|
|
7891
7966
|
});
|
|
7892
7967
|
return matched;
|
|
7893
7968
|
}
|
|
7969
|
+
/**
|
|
7970
|
+
* A tool only ever runs after its approval gate was granted. The legacy /
|
|
7971
|
+
* single `approval_request` segment carries no `toolExecutionRequestId` to
|
|
7972
|
+
* correlate with the execution, and an observer (e.g. a technician
|
|
7973
|
+
* mirroring the client chat) may never receive an `APPROVAL_RESULT` chunk —
|
|
7974
|
+
* only the tool's `EXECUTING_TOOL` / `EXECUTED_TOOL` events. Treat the
|
|
7975
|
+
* arrival of a tool execution as implicit approval of the most recent
|
|
7976
|
+
* still-pending gate so the card does not stay stuck `pending` in realtime.
|
|
7977
|
+
*
|
|
7978
|
+
* The agent stays paused while an approval is outstanding, so there is at
|
|
7979
|
+
* most one relevant gate; flipping only the latest pending one is safe and
|
|
7980
|
+
* monotonic (never downgrades, can't make a correct state wrong — an
|
|
7981
|
+
* unapproved tool cannot execute). `approval_batch` is handled separately by
|
|
7982
|
+
* `applyExecutionToBatch` and is intentionally left untouched here.
|
|
7983
|
+
*/
|
|
7984
|
+
resolvePendingApprovalForExecution() {
|
|
7985
|
+
for (let i = this.segments.length - 1; i >= 0; i--) {
|
|
7986
|
+
const seg = this.segments[i];
|
|
7987
|
+
if (seg.type === "approval_request" && seg.status === "pending") {
|
|
7988
|
+
this.segments[i] = { ...seg, status: "approved" };
|
|
7989
|
+
return;
|
|
7990
|
+
}
|
|
7991
|
+
}
|
|
7992
|
+
}
|
|
7894
7993
|
/**
|
|
7895
7994
|
* Track a pending approval request
|
|
7896
7995
|
*/
|
|
@@ -7975,10 +8074,10 @@ var MessageSegmentAccumulator = class {
|
|
|
7975
8074
|
const segment = {
|
|
7976
8075
|
type: "approval_request",
|
|
7977
8076
|
data: {
|
|
7978
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7979
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
8077
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.command]) || "",
|
|
8078
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _183 => _183.explanation]),
|
|
7980
8079
|
requestId,
|
|
7981
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
8080
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _184 => _184.approvalType]) || approvalType
|
|
7982
8081
|
},
|
|
7983
8082
|
status,
|
|
7984
8083
|
onApprove: this.callbacks.onApprove,
|
|
@@ -8166,7 +8265,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8166
8265
|
if (initialState.escalatedApprovals) {
|
|
8167
8266
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
8168
8267
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
8169
|
-
_optionalChain([callbacks, 'access',
|
|
8268
|
+
_optionalChain([callbacks, 'access', _185 => _185.onEscalatedApproval, 'optionalCall', _186 => _186(requestId, data)]);
|
|
8170
8269
|
});
|
|
8171
8270
|
}
|
|
8172
8271
|
hasInitializedWithData.current = true;
|
|
@@ -8185,30 +8284,30 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8185
8284
|
switch (action.action) {
|
|
8186
8285
|
case "message_start":
|
|
8187
8286
|
isInStreamRef.current = true;
|
|
8188
|
-
_optionalChain([callbacks, 'access',
|
|
8287
|
+
_optionalChain([callbacks, 'access', _187 => _187.onStreamStart, 'optionalCall', _188 => _188()]);
|
|
8189
8288
|
accumulator.resetSegments();
|
|
8190
8289
|
break;
|
|
8191
8290
|
case "message_end":
|
|
8192
8291
|
isInStreamRef.current = false;
|
|
8193
|
-
_optionalChain([callbacks, 'access',
|
|
8292
|
+
_optionalChain([callbacks, 'access', _189 => _189.onStreamEnd, 'optionalCall', _190 => _190()]);
|
|
8194
8293
|
accumulator.resetSegments();
|
|
8195
8294
|
break;
|
|
8196
8295
|
case "metadata":
|
|
8197
|
-
_optionalChain([callbacks, 'access',
|
|
8296
|
+
_optionalChain([callbacks, 'access', _191 => _191.onMetadata, 'optionalCall', _192 => _192(action)]);
|
|
8198
8297
|
break;
|
|
8199
8298
|
case "text": {
|
|
8200
8299
|
const segments = accumulator.appendText(action.text);
|
|
8201
|
-
_optionalChain([callbacks, 'access',
|
|
8300
|
+
_optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
|
|
8202
8301
|
break;
|
|
8203
8302
|
}
|
|
8204
8303
|
case "thinking": {
|
|
8205
8304
|
const segments = accumulator.appendThinking(action.text);
|
|
8206
|
-
_optionalChain([callbacks, 'access',
|
|
8305
|
+
_optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
|
|
8207
8306
|
break;
|
|
8208
8307
|
}
|
|
8209
8308
|
case "tool_execution": {
|
|
8210
8309
|
const segments = accumulator.addToolExecution(action.segment);
|
|
8211
|
-
_optionalChain([callbacks, 'access',
|
|
8310
|
+
_optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
|
|
8212
8311
|
break;
|
|
8213
8312
|
}
|
|
8214
8313
|
case "approval_request": {
|
|
@@ -8222,10 +8321,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8222
8321
|
approvalType,
|
|
8223
8322
|
status
|
|
8224
8323
|
);
|
|
8225
|
-
_optionalChain([callbacks, 'access',
|
|
8324
|
+
_optionalChain([callbacks, 'access', _199 => _199.onSegmentsUpdate, 'optionalCall', _200 => _200(segments)]);
|
|
8226
8325
|
} else {
|
|
8227
8326
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
8228
|
-
_optionalChain([callbacks, 'access',
|
|
8327
|
+
_optionalChain([callbacks, 'access', _201 => _201.onEscalatedApproval, 'optionalCall', _202 => _202(requestId, { command, explanation, approvalType })]);
|
|
8229
8328
|
}
|
|
8230
8329
|
break;
|
|
8231
8330
|
}
|
|
@@ -8237,20 +8336,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8237
8336
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
8238
8337
|
pendingEscalatedRef.current.set(requestId, {
|
|
8239
8338
|
command: summary,
|
|
8240
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8339
|
+
explanation: _optionalChain([required, 'optionalAccess', _203 => _203.toolExplanation]),
|
|
8241
8340
|
approvalType,
|
|
8242
8341
|
toolCalls
|
|
8243
8342
|
});
|
|
8244
|
-
_optionalChain([callbacks, 'access',
|
|
8343
|
+
_optionalChain([callbacks, 'access', _204 => _204.onEscalatedApproval, 'optionalCall', _205 => _205(requestId, {
|
|
8245
8344
|
command: summary,
|
|
8246
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8345
|
+
explanation: _optionalChain([required, 'optionalAccess', _206 => _206.toolExplanation]),
|
|
8247
8346
|
approvalType
|
|
8248
8347
|
})]);
|
|
8249
8348
|
break;
|
|
8250
8349
|
}
|
|
8251
8350
|
if (batchApprovalsEnabled) {
|
|
8252
8351
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
8253
|
-
_optionalChain([callbacks, 'access',
|
|
8352
|
+
_optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments2)]);
|
|
8254
8353
|
break;
|
|
8255
8354
|
}
|
|
8256
8355
|
let segments = accumulator.getSegments();
|
|
@@ -8264,7 +8363,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8264
8363
|
status
|
|
8265
8364
|
);
|
|
8266
8365
|
}
|
|
8267
|
-
_optionalChain([callbacks, 'access',
|
|
8366
|
+
_optionalChain([callbacks, 'access', _209 => _209.onSegmentsUpdate, 'optionalCall', _210 => _210(segments)]);
|
|
8268
8367
|
break;
|
|
8269
8368
|
}
|
|
8270
8369
|
case "approval_result": {
|
|
@@ -8273,7 +8372,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8273
8372
|
const status = approved ? "approved" : "rejected";
|
|
8274
8373
|
if (escalatedData) {
|
|
8275
8374
|
pendingEscalatedRef.current.delete(requestId);
|
|
8276
|
-
_optionalChain([callbacks, 'access',
|
|
8375
|
+
_optionalChain([callbacks, 'access', _211 => _211.onEscalatedApprovalResult, 'optionalCall', _212 => _212(requestId, approved, {
|
|
8277
8376
|
command: escalatedData.command,
|
|
8278
8377
|
explanation: escalatedData.explanation,
|
|
8279
8378
|
approvalType: escalatedData.approvalType
|
|
@@ -8286,7 +8385,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8286
8385
|
escalatedData.toolCalls,
|
|
8287
8386
|
status
|
|
8288
8387
|
);
|
|
8289
|
-
_optionalChain([callbacks, 'access',
|
|
8388
|
+
_optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
|
|
8290
8389
|
} else {
|
|
8291
8390
|
let segments = accumulator.getSegments();
|
|
8292
8391
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -8299,7 +8398,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8299
8398
|
status
|
|
8300
8399
|
);
|
|
8301
8400
|
}
|
|
8302
|
-
_optionalChain([callbacks, 'access',
|
|
8401
|
+
_optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
|
|
8303
8402
|
}
|
|
8304
8403
|
} else {
|
|
8305
8404
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -8309,63 +8408,63 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8309
8408
|
escalatedData.approvalType,
|
|
8310
8409
|
status
|
|
8311
8410
|
);
|
|
8312
|
-
_optionalChain([callbacks, 'access',
|
|
8411
|
+
_optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
|
|
8313
8412
|
}
|
|
8314
8413
|
} else {
|
|
8315
8414
|
const segments = accumulator.updateApprovalStatus(requestId, status);
|
|
8316
|
-
_optionalChain([callbacks, 'access',
|
|
8415
|
+
_optionalChain([callbacks, 'access', _219 => _219.onSegmentsUpdate, 'optionalCall', _220 => _220(segments)]);
|
|
8317
8416
|
}
|
|
8318
8417
|
void approvalType;
|
|
8319
8418
|
break;
|
|
8320
8419
|
}
|
|
8321
8420
|
case "error": {
|
|
8322
8421
|
let message;
|
|
8323
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
8422
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _221 => _221.details])) {
|
|
8324
8423
|
try {
|
|
8325
|
-
message = _optionalChain([JSON, 'access',
|
|
8424
|
+
message = _optionalChain([JSON, 'access', _222 => _222.parse, 'call', _223 => _223(action.details), 'optionalAccess', _224 => _224.error, 'optionalAccess', _225 => _225.message]);
|
|
8326
8425
|
} catch (e20) {
|
|
8327
8426
|
message = action.details;
|
|
8328
8427
|
}
|
|
8329
8428
|
}
|
|
8330
8429
|
const segments = accumulator.addError(action.error, message);
|
|
8331
|
-
_optionalChain([callbacks, 'access',
|
|
8332
|
-
_optionalChain([callbacks, 'access',
|
|
8430
|
+
_optionalChain([callbacks, 'access', _226 => _226.onSegmentsUpdate, 'optionalCall', _227 => _227(segments)]);
|
|
8431
|
+
_optionalChain([callbacks, 'access', _228 => _228.onError, 'optionalCall', _229 => _229(action.error, message)]);
|
|
8333
8432
|
break;
|
|
8334
8433
|
}
|
|
8335
8434
|
case "system": {
|
|
8336
|
-
_optionalChain([callbacks, 'access',
|
|
8435
|
+
_optionalChain([callbacks, 'access', _230 => _230.onSystemMessage, 'optionalCall', _231 => _231(action.text)]);
|
|
8337
8436
|
break;
|
|
8338
8437
|
}
|
|
8339
8438
|
case "direct_message": {
|
|
8340
|
-
_optionalChain([callbacks, 'access',
|
|
8439
|
+
_optionalChain([callbacks, 'access', _232 => _232.onDirectMessage, 'optionalCall', _233 => _233(action.text, {
|
|
8341
8440
|
ownerType: action.ownerType,
|
|
8342
8441
|
displayName: action.displayName
|
|
8343
8442
|
})]);
|
|
8344
8443
|
break;
|
|
8345
8444
|
}
|
|
8346
8445
|
case "message_request":
|
|
8347
|
-
_optionalChain([callbacks, 'access',
|
|
8446
|
+
_optionalChain([callbacks, 'access', _234 => _234.onUserMessage, 'optionalCall', _235 => _235(action.text, {
|
|
8348
8447
|
ownerType: action.ownerType,
|
|
8349
8448
|
displayName: action.displayName
|
|
8350
8449
|
})]);
|
|
8351
8450
|
break;
|
|
8352
8451
|
case "token_usage":
|
|
8353
|
-
_optionalChain([callbacks, 'access',
|
|
8452
|
+
_optionalChain([callbacks, 'access', _236 => _236.onTokenUsage, 'optionalCall', _237 => _237(action.data)]);
|
|
8354
8453
|
break;
|
|
8355
8454
|
case "context_compaction_start": {
|
|
8356
8455
|
const standalone = !isInStreamRef.current;
|
|
8357
8456
|
const segments = accumulator.addContextCompaction();
|
|
8358
|
-
_optionalChain([callbacks, 'access',
|
|
8457
|
+
_optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8359
8458
|
break;
|
|
8360
8459
|
}
|
|
8361
8460
|
case "context_compaction_end": {
|
|
8362
8461
|
const standalone = !isInStreamRef.current;
|
|
8363
8462
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
8364
|
-
_optionalChain([callbacks, 'access',
|
|
8463
|
+
_optionalChain([callbacks, 'access', _240 => _240.onSegmentsUpdate, 'optionalCall', _241 => _241(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8365
8464
|
break;
|
|
8366
8465
|
}
|
|
8367
8466
|
case "dialog_closed":
|
|
8368
|
-
_optionalChain([callbacks, 'access',
|
|
8467
|
+
_optionalChain([callbacks, 'access', _242 => _242.onDialogClosed, 'optionalCall', _243 => _243()]);
|
|
8369
8468
|
break;
|
|
8370
8469
|
default:
|
|
8371
8470
|
break;
|
|
@@ -8401,12 +8500,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8401
8500
|
|
|
8402
8501
|
// src/components/chat/utils/process-historical-messages.ts
|
|
8403
8502
|
function getOwnerDisplayName(owner) {
|
|
8404
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
8503
|
+
if (_optionalChain([owner, 'optionalAccess', _244 => _244.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
8405
8504
|
const { firstName, lastName } = owner.user;
|
|
8406
8505
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
8407
8506
|
if (name) return name;
|
|
8408
8507
|
}
|
|
8409
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
8508
|
+
return _optionalChain([owner, 'optionalAccess', _245 => _245.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
8410
8509
|
}
|
|
8411
8510
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
8412
8511
|
messageDataArray.forEach((data) => {
|
|
@@ -8469,10 +8568,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8469
8568
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8470
8569
|
return;
|
|
8471
8570
|
}
|
|
8472
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
8571
|
+
const isUserMessage = _optionalChain([msg, 'access', _246 => _246.owner, 'optionalAccess', _247 => _247.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _248 => _248.owner, 'optionalAccess', _249 => _249.type]) === OWNER_TYPE.ADMIN;
|
|
8473
8572
|
if (isUserMessage) {
|
|
8474
8573
|
flushAssistantMessage();
|
|
8475
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8574
|
+
const userAuthorType = _optionalChain([msg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8476
8575
|
messageDataArray.forEach((data) => {
|
|
8477
8576
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8478
8577
|
processedMessages.push({
|
|
@@ -8496,7 +8595,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8496
8595
|
});
|
|
8497
8596
|
const nextMsg = messages[index + 1];
|
|
8498
8597
|
const isLastMessage = index === messages.length - 1;
|
|
8499
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8598
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _252 => _252.owner, 'optionalAccess', _253 => _253.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _254 => _254.owner, 'optionalAccess', _255 => _255.type]) === OWNER_TYPE.ADMIN);
|
|
8500
8599
|
if (isLastMessage || nextIsFromUser) {
|
|
8501
8600
|
flushAssistantMessage();
|
|
8502
8601
|
}
|
|
@@ -8588,14 +8687,25 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8588
8687
|
}
|
|
8589
8688
|
}
|
|
8590
8689
|
} else {
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8690
|
+
const resolvedStatus = approvalStatuses[data.approvalRequestId];
|
|
8691
|
+
if (resolvedStatus === "approved" || resolvedStatus === "rejected") {
|
|
8692
|
+
accumulator.addApprovalRequest(
|
|
8693
|
+
data.approvalRequestId,
|
|
8694
|
+
data.command || "",
|
|
8695
|
+
data.explanation,
|
|
8696
|
+
approvalType,
|
|
8697
|
+
resolvedStatus
|
|
8698
|
+
);
|
|
8699
|
+
} else {
|
|
8700
|
+
accumulator.trackApprovalRequest(data.approvalRequestId, {
|
|
8701
|
+
command: data.command || "",
|
|
8702
|
+
explanation: data.explanation,
|
|
8703
|
+
approvalType
|
|
8704
|
+
});
|
|
8705
|
+
}
|
|
8596
8706
|
}
|
|
8597
8707
|
} else {
|
|
8598
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8708
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _256 => _256.set, 'call', _257 => _257(data.approvalRequestId, {
|
|
8599
8709
|
command: data.command || "",
|
|
8600
8710
|
explanation: data.explanation,
|
|
8601
8711
|
approvalType,
|
|
@@ -8608,8 +8718,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8608
8718
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
8609
8719
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
8610
8720
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
8611
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8612
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
8721
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _258 => _258.get, 'call', _259 => _259(data.approvalRequestId)]);
|
|
8722
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _260 => _260.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
8613
8723
|
if (batchApprovalsEnabled) {
|
|
8614
8724
|
accumulator.addApprovalBatch(
|
|
8615
8725
|
data.approvalRequestId,
|
|
@@ -8629,7 +8739,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8629
8739
|
);
|
|
8630
8740
|
}
|
|
8631
8741
|
}
|
|
8632
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8742
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
|
|
8633
8743
|
break;
|
|
8634
8744
|
}
|
|
8635
8745
|
if (escalatedData) {
|
|
@@ -8638,7 +8748,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8638
8748
|
explanation: escalatedData.explanation,
|
|
8639
8749
|
approvalType: escalatedData.approvalType
|
|
8640
8750
|
});
|
|
8641
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8751
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _263 => _263.delete, 'call', _264 => _264(data.approvalRequestId)]);
|
|
8642
8752
|
}
|
|
8643
8753
|
const before = accumulator.getSegments();
|
|
8644
8754
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -8654,9 +8764,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8654
8764
|
case MESSAGE_TYPE.ERROR:
|
|
8655
8765
|
if ("error" in data) {
|
|
8656
8766
|
let message;
|
|
8657
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
8767
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _265 => _265.details])) {
|
|
8658
8768
|
try {
|
|
8659
|
-
message = _optionalChain([JSON, 'access',
|
|
8769
|
+
message = _optionalChain([JSON, 'access', _266 => _266.parse, 'call', _267 => _267(data.details), 'optionalAccess', _268 => _268.error, 'optionalAccess', _269 => _269.message]);
|
|
8660
8770
|
} catch (e21) {
|
|
8661
8771
|
message = data.details;
|
|
8662
8772
|
}
|
|
@@ -8739,10 +8849,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8739
8849
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8740
8850
|
return;
|
|
8741
8851
|
}
|
|
8742
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
8852
|
+
const isUserMessage = _optionalChain([msg, 'access', _270 => _270.owner, 'optionalAccess', _271 => _271.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _272 => _272.owner, 'optionalAccess', _273 => _273.type]) === OWNER_TYPE.ADMIN;
|
|
8743
8853
|
if (isUserMessage) {
|
|
8744
8854
|
flushAssistantMessage();
|
|
8745
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8855
|
+
const userAuthorType = _optionalChain([msg, 'access', _274 => _274.owner, 'optionalAccess', _275 => _275.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8746
8856
|
messageDataArray.forEach((data) => {
|
|
8747
8857
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8748
8858
|
processedMessages.push({
|
|
@@ -8766,7 +8876,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8766
8876
|
});
|
|
8767
8877
|
const nextMsg = messages[index + 1];
|
|
8768
8878
|
const isLastMessage = index === messages.length - 1;
|
|
8769
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8879
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _276 => _276.owner, 'optionalAccess', _277 => _277.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _278 => _278.owner, 'optionalAccess', _279 => _279.type]) === OWNER_TYPE.ADMIN);
|
|
8770
8880
|
if (isLastMessage || nextIsFromUser) {
|
|
8771
8881
|
flushAssistantMessage();
|
|
8772
8882
|
}
|
|
@@ -8826,7 +8936,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
8826
8936
|
break;
|
|
8827
8937
|
case "approval_batch": {
|
|
8828
8938
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
8829
|
-
(c) => _optionalChain([segment, 'access',
|
|
8939
|
+
(c) => _optionalChain([segment, 'access', _280 => _280.data, 'access', _281 => _281.executions, 'optionalAccess', _282 => _282[c.toolExecutionRequestId], 'optionalAccess', _283 => _283.status]) === "done"
|
|
8830
8940
|
);
|
|
8831
8941
|
if (segment.status !== "rejected" && !allDone) {
|
|
8832
8942
|
hasIncompleteState = true;
|
|
@@ -8988,7 +9098,7 @@ function Header({ config, platform }) {
|
|
|
8988
9098
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
8989
9099
|
"flex justify-start w-full",
|
|
8990
9100
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
8991
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
9101
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _284 => _284.children, 'optionalAccess', _285 => _285.length]), () => ( 0))) - 1 && "mb-1",
|
|
8992
9102
|
"text-ods-text-primary",
|
|
8993
9103
|
// All dropdown items use primary text color
|
|
8994
9104
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -9080,7 +9190,7 @@ function Header({ config, platform }) {
|
|
|
9080
9190
|
style: config.style,
|
|
9081
9191
|
children: [
|
|
9082
9192
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9083
|
-
_optionalChain([config, 'access',
|
|
9193
|
+
_optionalChain([config, 'access', _286 => _286.actions, 'optionalAccess', _287 => _287.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
9084
9194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
9085
9195
|
] }),
|
|
9086
9196
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9097,7 +9207,7 @@ function Header({ config, platform }) {
|
|
|
9097
9207
|
}
|
|
9098
9208
|
),
|
|
9099
9209
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
9100
|
-
_optionalChain([config, 'access',
|
|
9210
|
+
_optionalChain([config, 'access', _288 => _288.actions, 'optionalAccess', _289 => _289.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
9101
9211
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9102
9212
|
_chunkV2FNIPZJcjs.Button,
|
|
9103
9213
|
{
|
|
@@ -9105,10 +9215,10 @@ function Header({ config, platform }) {
|
|
|
9105
9215
|
size: "icon",
|
|
9106
9216
|
className: "flex md:hidden",
|
|
9107
9217
|
onClick: () => {
|
|
9108
|
-
_optionalChain([config, 'access',
|
|
9218
|
+
_optionalChain([config, 'access', _290 => _290.mobile, 'optionalAccess', _291 => _291.onToggle, 'optionalCall', _292 => _292()]);
|
|
9109
9219
|
},
|
|
9110
|
-
"aria-label": _optionalChain([config, 'access',
|
|
9111
|
-
leftIcon: _optionalChain([config, 'access',
|
|
9220
|
+
"aria-label": _optionalChain([config, 'access', _293 => _293.mobile, 'optionalAccess', _294 => _294.isOpen]) ? "Close menu" : "Open menu",
|
|
9221
|
+
leftIcon: _optionalChain([config, 'access', _295 => _295.mobile, 'optionalAccess', _296 => _296.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
|
|
9112
9222
|
}
|
|
9113
9223
|
)
|
|
9114
9224
|
] })
|
|
@@ -9125,10 +9235,10 @@ function Header({ config, platform }) {
|
|
|
9125
9235
|
// src/components/navigation/header-skeleton.tsx
|
|
9126
9236
|
|
|
9127
9237
|
function HeaderSkeleton({ config }) {
|
|
9128
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
9129
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
9130
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
9131
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
9238
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _297 => _297.navigation]) && config.navigation.items.length > 0;
|
|
9239
|
+
const showActions = _optionalChain([config, 'optionalAccess', _298 => _298.actions, 'optionalAccess', _299 => _299.right]) && config.actions.right.length > 0;
|
|
9240
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _300 => _300.mobile, 'optionalAccess', _301 => _301.enabled]);
|
|
9241
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _302 => _302.className, 'optionalAccess', _303 => _303.includes, 'call', _304 => _304("admin")]);
|
|
9132
9242
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9133
9243
|
"header",
|
|
9134
9244
|
{
|
|
@@ -9137,11 +9247,11 @@ function HeaderSkeleton({ config }) {
|
|
|
9137
9247
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
9138
9248
|
"px-6 py-3",
|
|
9139
9249
|
"transition-opacity duration-300 ease-in-out",
|
|
9140
|
-
_optionalChain([config, 'optionalAccess',
|
|
9250
|
+
_optionalChain([config, 'optionalAccess', _305 => _305.className])
|
|
9141
9251
|
),
|
|
9142
9252
|
children: [
|
|
9143
9253
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9144
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
9254
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _306 => _306.actions, 'optionalAccess', _307 => _307.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" }) }),
|
|
9145
9255
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
9146
9256
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
9147
9257
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -9149,8 +9259,8 @@ function HeaderSkeleton({ config }) {
|
|
|
9149
9259
|
] }),
|
|
9150
9260
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
9151
9261
|
"hidden md:flex items-center gap-2",
|
|
9152
|
-
_optionalChain([config, 'optionalAccess',
|
|
9153
|
-
_optionalChain([config, 'optionalAccess',
|
|
9262
|
+
_optionalChain([config, 'optionalAccess', _308 => _308.navigation, 'optionalAccess', _309 => _309.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
9263
|
+
_optionalChain([config, 'optionalAccess', _310 => _310.navigation, 'optionalAccess', _311 => _311.position]) === "right" && "ml-auto mr-4"
|
|
9154
9264
|
), children: [
|
|
9155
9265
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
9156
9266
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -9198,7 +9308,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9198
9308
|
_react.useEffect.call(void 0, () => {
|
|
9199
9309
|
const handleKeyDown = (e) => {
|
|
9200
9310
|
if (e.key === "Escape" && isOpen) {
|
|
9201
|
-
_optionalChain([config, 'access',
|
|
9311
|
+
_optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
|
|
9202
9312
|
}
|
|
9203
9313
|
};
|
|
9204
9314
|
if (isOpen) {
|
|
@@ -9215,7 +9325,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9215
9325
|
if (item.onClick) {
|
|
9216
9326
|
item.onClick();
|
|
9217
9327
|
}
|
|
9218
|
-
_optionalChain([config, 'access',
|
|
9328
|
+
_optionalChain([config, 'access', _314 => _314.onClose, 'optionalCall', _315 => _315()]);
|
|
9219
9329
|
};
|
|
9220
9330
|
if (item.href) {
|
|
9221
9331
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9433,7 +9543,7 @@ function SlidingSidebar({ config }) {
|
|
|
9433
9543
|
variant: "transparent",
|
|
9434
9544
|
size: "default",
|
|
9435
9545
|
onClick: () => {
|
|
9436
|
-
_optionalChain([item, 'access',
|
|
9546
|
+
_optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
|
|
9437
9547
|
config.onClose();
|
|
9438
9548
|
},
|
|
9439
9549
|
leftIcon: item.icon,
|
|
@@ -9456,7 +9566,7 @@ function SlidingSidebar({ config }) {
|
|
|
9456
9566
|
variant: "transparent",
|
|
9457
9567
|
size: "default",
|
|
9458
9568
|
onClick: () => {
|
|
9459
|
-
_optionalChain([item, 'access',
|
|
9569
|
+
_optionalChain([item, 'access', _318 => _318.onClick, 'optionalCall', _319 => _319()]);
|
|
9460
9570
|
config.onClose();
|
|
9461
9571
|
},
|
|
9462
9572
|
leftIcon: item.icon,
|
|
@@ -9583,7 +9693,7 @@ function StickySectionNav({
|
|
|
9583
9693
|
] });
|
|
9584
9694
|
}
|
|
9585
9695
|
function useSectionNavigation(sections, options) {
|
|
9586
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
9696
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "");
|
|
9587
9697
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
9588
9698
|
const { offset: offset2 = 100 } = options || {};
|
|
9589
9699
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -9608,7 +9718,7 @@ function useSectionNavigation(sections, options) {
|
|
|
9608
9718
|
const handleScroll = () => {
|
|
9609
9719
|
if (isScrollingFromClick.current) return;
|
|
9610
9720
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
9611
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
9721
|
+
let currentSection = _optionalChain([sections, 'access', _322 => _322[0], 'optionalAccess', _323 => _323.id]) || "";
|
|
9612
9722
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
9613
9723
|
const element = document.getElementById(sections[i].id);
|
|
9614
9724
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -9792,14 +9902,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
9792
9902
|
const showLabel = isLgUp && !minimized;
|
|
9793
9903
|
const handleToggle = _react.useCallback.call(void 0, () => {
|
|
9794
9904
|
setMinimized((prev) => !prev);
|
|
9795
|
-
_optionalChain([config, 'access',
|
|
9905
|
+
_optionalChain([config, 'access', _324 => _324.onToggleMinimized, 'optionalCall', _325 => _325()]);
|
|
9796
9906
|
}, [setMinimized, config]);
|
|
9797
9907
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
9798
|
-
_optionalChain([event, 'optionalAccess',
|
|
9908
|
+
_optionalChain([event, 'optionalAccess', _326 => _326.stopPropagation, 'call', _327 => _327()]);
|
|
9799
9909
|
if (item.onClick) {
|
|
9800
9910
|
item.onClick();
|
|
9801
9911
|
} else if (item.path) {
|
|
9802
|
-
_optionalChain([config, 'access',
|
|
9912
|
+
_optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
|
|
9803
9913
|
}
|
|
9804
9914
|
}, [config]);
|
|
9805
9915
|
const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
|
|
@@ -9939,7 +10049,7 @@ function NotificationsProvider({
|
|
|
9939
10049
|
const setShowPopups = React28.useCallback(
|
|
9940
10050
|
(value2) => {
|
|
9941
10051
|
setShowPopupsState(value2);
|
|
9942
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
10052
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _330 => _330(value2)]);
|
|
9943
10053
|
},
|
|
9944
10054
|
[onShowPopupsChange]
|
|
9945
10055
|
);
|
|
@@ -10044,11 +10154,11 @@ function HeaderGlobalSearch({
|
|
|
10044
10154
|
};
|
|
10045
10155
|
const handleSubmit = (e) => {
|
|
10046
10156
|
e.preventDefault();
|
|
10047
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10157
|
+
_optionalChain([onSubmit, 'optionalCall', _331 => _331(currentValue)]);
|
|
10048
10158
|
};
|
|
10049
10159
|
const handleKeyDown = (e) => {
|
|
10050
10160
|
if (e.key === "Enter") {
|
|
10051
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10161
|
+
_optionalChain([onSubmit, 'optionalCall', _332 => _332(currentValue)]);
|
|
10052
10162
|
}
|
|
10053
10163
|
};
|
|
10054
10164
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -10094,8 +10204,8 @@ function HeaderOrganizationFilter({
|
|
|
10094
10204
|
className
|
|
10095
10205
|
}) {
|
|
10096
10206
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
10097
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
10098
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
10207
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _333 => _333.name]) || "All Organizations";
|
|
10208
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _334 => _334.deviceCount]), () => ( totalDeviceCount));
|
|
10099
10209
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenu, { children: [
|
|
10100
10210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10101
10211
|
"button",
|
|
@@ -10120,11 +10230,11 @@ function HeaderOrganizationFilter({
|
|
|
10120
10230
|
}
|
|
10121
10231
|
) }),
|
|
10122
10232
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
10123
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10233
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _335 => _335("")]), children: "All Organizations" }),
|
|
10124
10234
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10125
10235
|
_chunkV2FNIPZJcjs.DropdownMenuItem,
|
|
10126
10236
|
{
|
|
10127
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10237
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _336 => _336(org.id)]),
|
|
10128
10238
|
children: org.name
|
|
10129
10239
|
},
|
|
10130
10240
|
org.id
|
|
@@ -10296,9 +10406,9 @@ function NotificationsHeaderButton({
|
|
|
10296
10406
|
dimmedClass
|
|
10297
10407
|
}) {
|
|
10298
10408
|
const ctx = useOptionalNotifications();
|
|
10299
|
-
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10300
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10301
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
10409
|
+
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _337 => _337.unreadCount]), () => ( fallbackUnreadCount));
|
|
10410
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _338 => _338.isOpen]), () => ( false));
|
|
10411
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _339 => _339.toggle]);
|
|
10302
10412
|
const Icon2 = unreadCount > 0 ? _chunkVJTFBYVGcjs.BellRingingIcon : _chunkVJTFBYVGcjs.BellIcon;
|
|
10303
10413
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10304
10414
|
HeaderButton,
|
|
@@ -10472,7 +10582,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
10472
10582
|
}, [checked]);
|
|
10473
10583
|
const handleCheckedChange = (newChecked) => {
|
|
10474
10584
|
setIsChecked(newChecked);
|
|
10475
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
10585
|
+
_optionalChain([onCheckedChange, 'optionalCall', _340 => _340(newChecked)]);
|
|
10476
10586
|
};
|
|
10477
10587
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10478
10588
|
SwitchPrimitives.Root,
|
|
@@ -10525,7 +10635,7 @@ function NotificationTile({
|
|
|
10525
10635
|
if (!isLive) return;
|
|
10526
10636
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
10527
10637
|
const timer = window.setTimeout(() => {
|
|
10528
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
10638
|
+
_optionalChain([onSettle, 'optionalCall', _341 => _341(id)]);
|
|
10529
10639
|
}, remaining);
|
|
10530
10640
|
return () => window.clearTimeout(timer);
|
|
10531
10641
|
}, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -10563,7 +10673,7 @@ function NotificationTile({
|
|
|
10563
10673
|
"button",
|
|
10564
10674
|
{
|
|
10565
10675
|
type: "button",
|
|
10566
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
10676
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _342 => _342(id)]),
|
|
10567
10677
|
"aria-label": "Dismiss notification",
|
|
10568
10678
|
tabIndex: isLive ? 0 : -1,
|
|
10569
10679
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
@@ -10735,7 +10845,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10735
10845
|
if (item.onClick) {
|
|
10736
10846
|
item.onClick();
|
|
10737
10847
|
} else if (item.path) {
|
|
10738
|
-
_optionalChain([config, 'access',
|
|
10848
|
+
_optionalChain([config, 'access', _343 => _343.onNavigate, 'optionalCall', _344 => _344(item.path)]);
|
|
10739
10849
|
}
|
|
10740
10850
|
onClose();
|
|
10741
10851
|
}, [config, onClose]);
|
|
@@ -11079,7 +11189,7 @@ var ShellTypeBadge = ({
|
|
|
11079
11189
|
className,
|
|
11080
11190
|
iconClassName
|
|
11081
11191
|
}) => {
|
|
11082
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
11192
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _345 => _345.toUpperCase, 'call', _346 => _346()]);
|
|
11083
11193
|
const label = getShellLabel(normalizedType);
|
|
11084
11194
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
11085
11195
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -11536,7 +11646,7 @@ function AnnouncementBar() {
|
|
|
11536
11646
|
setIsVisible(false);
|
|
11537
11647
|
};
|
|
11538
11648
|
const handleCtaClick = () => {
|
|
11539
|
-
if (!_optionalChain([announcement, 'optionalAccess',
|
|
11649
|
+
if (!_optionalChain([announcement, 'optionalAccess', _347 => _347.cta_url])) return;
|
|
11540
11650
|
announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
|
|
11541
11651
|
};
|
|
11542
11652
|
const renderIcon = () => {
|
|
@@ -11662,8 +11772,8 @@ function getVendorLogo(vendor) {
|
|
|
11662
11772
|
if (vendor.logo) {
|
|
11663
11773
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
11664
11774
|
}
|
|
11665
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
11666
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
11775
|
+
const logoMedia = _optionalChain([vendor, 'access', _348 => _348.vendor_media, 'optionalAccess', _349 => _349.find, 'call', _350 => _350((m) => m.media_type === "logo")]);
|
|
11776
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _351 => _351.media_url])) {
|
|
11667
11777
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
11668
11778
|
}
|
|
11669
11779
|
return null;
|
|
@@ -11738,7 +11848,7 @@ function VendorIcon({
|
|
|
11738
11848
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
11739
11849
|
"flex items-center justify-center text-xs font-medium uppercase",
|
|
11740
11850
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
11741
|
-
), children: _optionalChain([vendor, 'access',
|
|
11851
|
+
), children: _optionalChain([vendor, 'access', _352 => _352.title, 'optionalAccess', _353 => _353.substring, 'call', _354 => _354(0, 2)]) || "??" }) });
|
|
11742
11852
|
}
|
|
11743
11853
|
|
|
11744
11854
|
// src/components/categories-cart.tsx
|
|
@@ -12022,7 +12132,7 @@ function UserSummary({
|
|
|
12022
12132
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
12023
12133
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
|
|
12024
12134
|
name,
|
|
12025
|
-
_optionalChain([mspPreview, 'optionalAccess',
|
|
12135
|
+
_optionalChain([mspPreview, 'optionalAccess', _355 => _355.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
12026
12136
|
" \u2022 ",
|
|
12027
12137
|
mspPreview.name
|
|
12028
12138
|
] })
|
|
@@ -12044,7 +12154,7 @@ function UserSummary({
|
|
|
12044
12154
|
height: 40,
|
|
12045
12155
|
className: "object-cover"
|
|
12046
12156
|
}
|
|
12047
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access',
|
|
12157
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _356 => _356.name, 'optionalAccess', _357 => _357.charAt, 'call', _358 => _358(0), 'access', _359 => _359.toUpperCase, 'call', _360 => _360()]) || "?" }) })
|
|
12048
12158
|
] }),
|
|
12049
12159
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
|
|
12050
12160
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
|
|
@@ -12057,7 +12167,7 @@ function UserSummary({
|
|
|
12057
12167
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
|
|
12058
12168
|
].filter(Boolean).flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: seg === " \u2022 " ? "text-ods-text-secondary" : "", children: seg }, idx)) })
|
|
12059
12169
|
] }),
|
|
12060
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12170
|
+
(_optionalChain([authProviders, 'optionalAccess', _361 => _361.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
|
|
12061
12171
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12062
12172
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12063
12173
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
|
|
@@ -12066,7 +12176,7 @@ function UserSummary({
|
|
|
12066
12176
|
] })
|
|
12067
12177
|
] })
|
|
12068
12178
|
] }),
|
|
12069
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12179
|
+
(_optionalChain([authProviders, 'optionalAccess', _362 => _362.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
|
|
12070
12180
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12071
12181
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12072
12182
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
|
|
@@ -12787,7 +12897,7 @@ function FilterChip({
|
|
|
12787
12897
|
onClick: disabled ? void 0 : (e) => {
|
|
12788
12898
|
e.preventDefault();
|
|
12789
12899
|
e.stopPropagation();
|
|
12790
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12900
|
+
_optionalChain([onClick, 'optionalCall', _363 => _363()]);
|
|
12791
12901
|
},
|
|
12792
12902
|
role: onClick ? "button" : void 0,
|
|
12793
12903
|
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
@@ -12974,13 +13084,13 @@ function useUnifiedFiltering(config) {
|
|
|
12974
13084
|
const searchParams = _navigation.useSearchParams.call(void 0, );
|
|
12975
13085
|
const [isPending, startTransition] = _react.useTransition.call(void 0, );
|
|
12976
13086
|
const getCurrentFilterState = () => {
|
|
12977
|
-
const search = _optionalChain([searchParams, 'optionalAccess',
|
|
12978
|
-
const categories = _optionalChain([searchParams, 'optionalAccess',
|
|
12979
|
-
const subcategories = _optionalChain([searchParams, 'optionalAccess',
|
|
12980
|
-
const tags = _optionalChain([searchParams, 'optionalAccess',
|
|
12981
|
-
const filters = _optionalChain([searchParams, 'optionalAccess',
|
|
12982
|
-
const pricing = _optionalChain([searchParams, 'optionalAccess',
|
|
12983
|
-
const page = parseInt(_optionalChain([searchParams, 'optionalAccess',
|
|
13087
|
+
const search = _optionalChain([searchParams, 'optionalAccess', _364 => _364.get, 'call', _365 => _365("search")]) || void 0;
|
|
13088
|
+
const categories = _optionalChain([searchParams, 'optionalAccess', _366 => _366.get, 'call', _367 => _367("category"), 'optionalAccess', _368 => _368.split, 'call', _369 => _369(","), 'access', _370 => _370.filter, 'call', _371 => _371(Boolean)]) || [];
|
|
13089
|
+
const subcategories = _optionalChain([searchParams, 'optionalAccess', _372 => _372.get, 'call', _373 => _373("subcategory"), 'optionalAccess', _374 => _374.split, 'call', _375 => _375(","), 'access', _376 => _376.filter, 'call', _377 => _377(Boolean)]) || [];
|
|
13090
|
+
const tags = _optionalChain([searchParams, 'optionalAccess', _378 => _378.get, 'call', _379 => _379("tag"), 'optionalAccess', _380 => _380.split, 'call', _381 => _381(","), 'access', _382 => _382.filter, 'call', _383 => _383(Boolean)]) || [];
|
|
13091
|
+
const filters = _optionalChain([searchParams, 'optionalAccess', _384 => _384.getAll, 'call', _385 => _385("filter")]) || [];
|
|
13092
|
+
const pricing = _optionalChain([searchParams, 'optionalAccess', _386 => _386.get, 'call', _387 => _387("pricing")]) || void 0;
|
|
13093
|
+
const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _388 => _388.get, 'call', _389 => _389("page")]) || "1");
|
|
12984
13094
|
return {
|
|
12985
13095
|
search,
|
|
12986
13096
|
categories,
|
|
@@ -13261,13 +13371,13 @@ function FooterWaitlistButton({ className }) {
|
|
|
13261
13371
|
const router = _navigation.useRouter.call(void 0, );
|
|
13262
13372
|
const pathname = _navigation.usePathname.call(void 0, );
|
|
13263
13373
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
13264
|
-
if (_optionalChain([pathname, 'optionalAccess',
|
|
13374
|
+
if (_optionalChain([pathname, 'optionalAccess', _390 => _390.startsWith, 'call', _391 => _391("/waitlist")])) {
|
|
13265
13375
|
const anchor = document.getElementById("waitlist-form");
|
|
13266
13376
|
if (anchor) {
|
|
13267
13377
|
anchor.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
13268
13378
|
setTimeout(() => {
|
|
13269
13379
|
const input = anchor.querySelector('input[type="email"]');
|
|
13270
|
-
_optionalChain([input, 'optionalAccess',
|
|
13380
|
+
_optionalChain([input, 'optionalAccess', _392 => _392.focus, 'call', _393 => _393()]);
|
|
13271
13381
|
}, 400);
|
|
13272
13382
|
return;
|
|
13273
13383
|
}
|
|
@@ -13296,7 +13406,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
13296
13406
|
const [uploading, setUploading] = _react.useState.call(void 0, false);
|
|
13297
13407
|
const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
|
|
13298
13408
|
const MAX_SIZE = 5 * 1024 * 1024;
|
|
13299
|
-
const openDialog = () => _optionalChain([inputRef, 'access',
|
|
13409
|
+
const openDialog = () => _optionalChain([inputRef, 'access', _394 => _394.current, 'optionalAccess', _395 => _395.click, 'call', _396 => _396()]);
|
|
13300
13410
|
async function handleFile(file) {
|
|
13301
13411
|
if (!file) return;
|
|
13302
13412
|
if (!ALLOWED_TYPES.includes(file.type)) {
|
|
@@ -13352,7 +13462,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
13352
13462
|
}
|
|
13353
13463
|
}
|
|
13354
13464
|
const handleSelect = (e) => {
|
|
13355
|
-
handleFile(_optionalChain([e, 'access',
|
|
13465
|
+
handleFile(_optionalChain([e, 'access', _397 => _397.target, 'access', _398 => _398.files, 'optionalAccess', _399 => _399[0]]));
|
|
13356
13466
|
};
|
|
13357
13467
|
const handleRemove = async () => {
|
|
13358
13468
|
if (onDelete) {
|
|
@@ -13489,7 +13599,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
13489
13599
|
const getIconForIndex = (index) => {
|
|
13490
13600
|
const col = index % displayColumns;
|
|
13491
13601
|
const row = Math.floor(index / displayColumns);
|
|
13492
|
-
return _optionalChain([iconGrid, 'access',
|
|
13602
|
+
return _optionalChain([iconGrid, 'access', _400 => _400[row], 'optionalAccess', _401 => _401[col]]) || availableIcons[0];
|
|
13493
13603
|
};
|
|
13494
13604
|
if (loading || iconGrid.length === 0) {
|
|
13495
13605
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13575,7 +13685,7 @@ var Slider = React39.forwardRef(
|
|
|
13575
13685
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
13576
13686
|
const handleChange = (e) => {
|
|
13577
13687
|
const newValue = [Number(e.target.value)];
|
|
13578
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
13688
|
+
_optionalChain([onValueChange, 'optionalCall', _402 => _402(newValue)]);
|
|
13579
13689
|
};
|
|
13580
13690
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13581
13691
|
"input",
|
|
@@ -13688,7 +13798,7 @@ var ImageCropper = ({
|
|
|
13688
13798
|
});
|
|
13689
13799
|
} else if (e.key === "Escape") {
|
|
13690
13800
|
e.preventDefault();
|
|
13691
|
-
_optionalChain([onCancel, 'optionalCall',
|
|
13801
|
+
_optionalChain([onCancel, 'optionalCall', _403 => _403()]);
|
|
13692
13802
|
}
|
|
13693
13803
|
};
|
|
13694
13804
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -14388,8 +14498,8 @@ function PricingDisplay({
|
|
|
14388
14498
|
}
|
|
14389
14499
|
if (pricingArray.length === 1) {
|
|
14390
14500
|
const item = pricingArray[0];
|
|
14391
|
-
const price = _optionalChain([item, 'access',
|
|
14392
|
-
const unit = _optionalChain([item, 'access',
|
|
14501
|
+
const price = _optionalChain([item, 'access', _404 => _404.ranges, 'optionalAccess', _405 => _405[0], 'optionalAccess', _406 => _406.min]) || 0;
|
|
14502
|
+
const unit = _optionalChain([item, 'access', _407 => _407.ranges, 'optionalAccess', _408 => _408[0], 'optionalAccess', _409 => _409.unit]);
|
|
14393
14503
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14394
14504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
14395
14505
|
unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
@@ -14398,11 +14508,11 @@ function PricingDisplay({
|
|
|
14398
14508
|
] })
|
|
14399
14509
|
] });
|
|
14400
14510
|
}
|
|
14401
|
-
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access',
|
|
14402
|
-
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access',
|
|
14511
|
+
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _410 => _410.ranges, 'optionalAccess', _411 => _411[0], 'optionalAccess', _412 => _412.min]) || 0, styleConfig.showTildePrefix));
|
|
14512
|
+
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _413 => _413.ranges, 'optionalAccess', _414 => _414[0], 'optionalAccess', _415 => _415.unit]));
|
|
14403
14513
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14404
14514
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
14405
|
-
itemWithUnit && _optionalChain([itemWithUnit, 'access',
|
|
14515
|
+
itemWithUnit && _optionalChain([itemWithUnit, 'access', _416 => _416.ranges, 'optionalAccess', _417 => _417[0], 'optionalAccess', _418 => _418.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
14406
14516
|
"/",
|
|
14407
14517
|
itemWithUnit.ranges[0].unit
|
|
14408
14518
|
] })
|
|
@@ -14600,7 +14710,7 @@ function VendorTag({
|
|
|
14600
14710
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
|
|
14601
14711
|
};
|
|
14602
14712
|
case "classification":
|
|
14603
|
-
const classificationType = _optionalChain([text, 'optionalAccess',
|
|
14713
|
+
const classificationType = _optionalChain([text, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]);
|
|
14604
14714
|
if (classificationType === "open_source") {
|
|
14605
14715
|
return {
|
|
14606
14716
|
text: "Open Source",
|
|
@@ -14654,7 +14764,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
14654
14764
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14655
14765
|
VendorTag,
|
|
14656
14766
|
{
|
|
14657
|
-
type: _optionalChain([source, 'optionalAccess',
|
|
14767
|
+
type: _optionalChain([source, 'optionalAccess', _421 => _421.toLowerCase, 'call', _422 => _422()]),
|
|
14658
14768
|
size: "sm",
|
|
14659
14769
|
hidden
|
|
14660
14770
|
},
|
|
@@ -16774,12 +16884,12 @@ function OnboardingWalkthrough({
|
|
|
16774
16884
|
}
|
|
16775
16885
|
}, [state.completedSteps, markComplete]);
|
|
16776
16886
|
const handleStepSkip = (step) => {
|
|
16777
|
-
_optionalChain([step, 'access',
|
|
16887
|
+
_optionalChain([step, 'access', _423 => _423.onSkip, 'optionalCall', _424 => _424()]);
|
|
16778
16888
|
markSkipped(step.id);
|
|
16779
16889
|
};
|
|
16780
16890
|
const handleDismiss = () => {
|
|
16781
16891
|
dismissOnboarding();
|
|
16782
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
16892
|
+
_optionalChain([onDismiss, 'optionalCall', _425 => _425()]);
|
|
16783
16893
|
};
|
|
16784
16894
|
if (state.dismissed) {
|
|
16785
16895
|
return null;
|
|
@@ -17262,7 +17372,7 @@ var SecondaryAction = ({ action }) => {
|
|
|
17262
17372
|
e.preventDefault();
|
|
17263
17373
|
return;
|
|
17264
17374
|
}
|
|
17265
|
-
_optionalChain([action, 'access',
|
|
17375
|
+
_optionalChain([action, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
|
|
17266
17376
|
},
|
|
17267
17377
|
[action]
|
|
17268
17378
|
);
|
|
@@ -17303,13 +17413,13 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17303
17413
|
const activate = _react.useCallback.call(void 0, () => {
|
|
17304
17414
|
if (item.disabled) return;
|
|
17305
17415
|
if (item.type === "checkbox") {
|
|
17306
|
-
_optionalChain([item, 'access',
|
|
17307
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17416
|
+
_optionalChain([item, 'access', _428 => _428.onClick, 'optionalCall', _429 => _429()]);
|
|
17417
|
+
_optionalChain([onItemClick, 'optionalCall', _430 => _430(item)]);
|
|
17308
17418
|
return;
|
|
17309
17419
|
}
|
|
17310
17420
|
if (item.type === "submenu") return;
|
|
17311
|
-
_optionalChain([item, 'access',
|
|
17312
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17421
|
+
_optionalChain([item, 'access', _431 => _431.onClick, 'optionalCall', _432 => _432()]);
|
|
17422
|
+
_optionalChain([onItemClick, 'optionalCall', _433 => _433(item)]);
|
|
17313
17423
|
}, [item, onItemClick]);
|
|
17314
17424
|
const handleClick = _react.useCallback.call(void 0,
|
|
17315
17425
|
(e) => {
|
|
@@ -17335,8 +17445,8 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17335
17445
|
e.stopPropagation();
|
|
17336
17446
|
return;
|
|
17337
17447
|
}
|
|
17338
|
-
_optionalChain([item, 'access',
|
|
17339
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17448
|
+
_optionalChain([item, 'access', _434 => _434.onClick, 'optionalCall', _435 => _435()]);
|
|
17449
|
+
_optionalChain([onItemClick, 'optionalCall', _436 => _436(item)]);
|
|
17340
17450
|
},
|
|
17341
17451
|
[item, onItemClick]
|
|
17342
17452
|
);
|
|
@@ -17491,7 +17601,7 @@ var ActionsMenuDropdown = ({
|
|
|
17491
17601
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
17492
17602
|
const handleItemClick = _react.useCallback.call(void 0,
|
|
17493
17603
|
(item) => {
|
|
17494
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17604
|
+
_optionalChain([onItemClick, 'optionalCall', _437 => _437(item)]);
|
|
17495
17605
|
if (item.type !== "checkbox" && item.type !== "submenu") {
|
|
17496
17606
|
setOpen(false);
|
|
17497
17607
|
}
|
|
@@ -17662,7 +17772,7 @@ function IconButtonsVariant({
|
|
|
17662
17772
|
}) {
|
|
17663
17773
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
17664
17774
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
17665
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
17775
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _438 => _438[0], 'access', _439 => _439.submenu, 'optionalAccess', _440 => _440.length]);
|
|
17666
17776
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
17667
17777
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
17668
17778
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18092,14 +18202,14 @@ function ReleaseDetailPage({
|
|
|
18092
18202
|
releaseVersion
|
|
18093
18203
|
] })
|
|
18094
18204
|
] }) }),
|
|
18095
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess',
|
|
18205
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _441 => _441.map, 'call', _442 => _442((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18096
18206
|
StatusBadge,
|
|
18097
18207
|
{
|
|
18098
|
-
text: (tag.name || _optionalChain([tag, 'access',
|
|
18208
|
+
text: (tag.name || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.name]) || "").toUpperCase(),
|
|
18099
18209
|
variant: "card",
|
|
18100
18210
|
className: "bg-ods-card border border-ods-border"
|
|
18101
18211
|
},
|
|
18102
|
-
tag.id || _optionalChain([tag, 'access',
|
|
18212
|
+
tag.id || _optionalChain([tag, 'access', _445 => _445.blog_tags, 'optionalAccess', _446 => _446.id])
|
|
18103
18213
|
))]) }),
|
|
18104
18214
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
|
|
18105
18215
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
|
|
@@ -18118,15 +18228,15 @@ function ReleaseDetailPage({
|
|
|
18118
18228
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18119
18229
|
SquareAvatar,
|
|
18120
18230
|
{
|
|
18121
|
-
src: _optionalChain([author, 'optionalAccess',
|
|
18122
|
-
alt: _optionalChain([author, 'optionalAccess',
|
|
18123
|
-
fallback: getInitials4(_optionalChain([author, 'optionalAccess',
|
|
18231
|
+
src: _optionalChain([author, 'optionalAccess', _447 => _447.avatar_url]) || "",
|
|
18232
|
+
alt: _optionalChain([author, 'optionalAccess', _448 => _448.full_name]) || "Author",
|
|
18233
|
+
fallback: getInitials4(_optionalChain([author, 'optionalAccess', _449 => _449.full_name]) || "Unknown"),
|
|
18124
18234
|
size: "md",
|
|
18125
18235
|
variant: "round"
|
|
18126
18236
|
}
|
|
18127
18237
|
),
|
|
18128
18238
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
|
|
18129
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess',
|
|
18239
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _450 => _450.full_name]) || "Unknown Author" }),
|
|
18130
18240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
|
|
18131
18241
|
] })
|
|
18132
18242
|
] })
|
|
@@ -18157,8 +18267,8 @@ function ReleaseDetailPage({
|
|
|
18157
18267
|
videoBites,
|
|
18158
18268
|
bitesTitle: "Video Clips",
|
|
18159
18269
|
filterPublishedBites: true,
|
|
18160
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18161
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18270
|
+
srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
|
|
18271
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl])
|
|
18162
18272
|
}
|
|
18163
18273
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18164
18274
|
youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18174,8 +18284,8 @@ function ReleaseDetailPage({
|
|
|
18174
18284
|
Video2,
|
|
18175
18285
|
{
|
|
18176
18286
|
url: mainVideoUrl,
|
|
18177
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18178
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18287
|
+
srtContent: _optionalChain([release, 'optionalAccess', _453 => _453.srt_content]),
|
|
18288
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _454 => _454.captionsUrl]),
|
|
18179
18289
|
layout: "centered"
|
|
18180
18290
|
}
|
|
18181
18291
|
),
|
|
@@ -18265,7 +18375,7 @@ function ReleaseDetailPage({
|
|
|
18265
18375
|
}
|
|
18266
18376
|
)
|
|
18267
18377
|
] }),
|
|
18268
|
-
(_optionalChain([githubReleases, 'optionalAccess',
|
|
18378
|
+
(_optionalChain([githubReleases, 'optionalAccess', _455 => _455.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _456 => _456.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
|
|
18269
18379
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
|
|
18270
18380
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
|
|
18271
18381
|
githubReleases && githubReleases.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-1", children: [
|
|
@@ -18294,7 +18404,7 @@ function ReleaseDetailPage({
|
|
|
18294
18404
|
{
|
|
18295
18405
|
href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
|
|
18296
18406
|
className: "text-h4 text-[#ffc008] hover:underline",
|
|
18297
|
-
children: _optionalChain([path, 'access',
|
|
18407
|
+
children: _optionalChain([path, 'access', _457 => _457.replace, 'call', _458 => _458(/^\//, ""), 'access', _459 => _459.split, 'call', _460 => _460("/"), 'access', _461 => _461.pop, 'call', _462 => _462(), 'optionalAccess', _463 => _463.replace, 'call', _464 => _464(/-/g, " ")]) || "View Article"
|
|
18298
18408
|
}
|
|
18299
18409
|
),
|
|
18300
18410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
|
|
@@ -18940,7 +19050,7 @@ function TagsManager({
|
|
|
18940
19050
|
const name = search.trim();
|
|
18941
19051
|
if (!name) return;
|
|
18942
19052
|
const result = await onCreateTag(name);
|
|
18943
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
19053
|
+
if (_optionalChain([result, 'optionalAccess', _465 => _465.id])) {
|
|
18944
19054
|
onChange([...selectedIds, result.id]);
|
|
18945
19055
|
setSearch("");
|
|
18946
19056
|
}
|
|
@@ -18948,7 +19058,7 @@ function TagsManager({
|
|
|
18948
19058
|
const startEdit = React55.useCallback((id, name) => {
|
|
18949
19059
|
setEditingId(id);
|
|
18950
19060
|
setEditingName(name);
|
|
18951
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
19061
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _466 => _466.current, 'optionalAccess', _467 => _467.focus, 'call', _468 => _468()]), 0);
|
|
18952
19062
|
}, []);
|
|
18953
19063
|
const confirmEdit = React55.useCallback(async () => {
|
|
18954
19064
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -18975,7 +19085,7 @@ function TagsManager({
|
|
|
18975
19085
|
e.stopPropagation();
|
|
18976
19086
|
onChange([]);
|
|
18977
19087
|
setSearch("");
|
|
18978
|
-
_optionalChain([inputRef, 'access',
|
|
19088
|
+
_optionalChain([inputRef, 'access', _469 => _469.current, 'optionalAccess', _470 => _470.focus, 'call', _471 => _471()]);
|
|
18979
19089
|
},
|
|
18980
19090
|
[onChange]
|
|
18981
19091
|
);
|
|
@@ -19074,10 +19184,10 @@ function TagsManager({
|
|
|
19074
19184
|
align: "start",
|
|
19075
19185
|
onOpenAutoFocus: (e) => {
|
|
19076
19186
|
e.preventDefault();
|
|
19077
|
-
_optionalChain([inputRef, 'access',
|
|
19187
|
+
_optionalChain([inputRef, 'access', _472 => _472.current, 'optionalAccess', _473 => _473.focus, 'call', _474 => _474()]);
|
|
19078
19188
|
},
|
|
19079
19189
|
onInteractOutside: (e) => {
|
|
19080
|
-
if (_optionalChain([containerRef, 'access',
|
|
19190
|
+
if (_optionalChain([containerRef, 'access', _475 => _475.current, 'optionalAccess', _476 => _476.contains, 'call', _477 => _477(e.target)])) {
|
|
19081
19191
|
e.preventDefault();
|
|
19082
19192
|
}
|
|
19083
19193
|
},
|
|
@@ -20181,19 +20291,19 @@ function TabNavigation({
|
|
|
20181
20291
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
20182
20292
|
const getInitialTab = () => {
|
|
20183
20293
|
if (isUrlSyncEnabled) {
|
|
20184
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20294
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _478 => _478.get, 'call', _479 => _479(paramName)]) || "";
|
|
20185
20295
|
if (validTabIds.has(fromUrl)) {
|
|
20186
20296
|
return fromUrl;
|
|
20187
20297
|
}
|
|
20188
20298
|
}
|
|
20189
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
20299
|
+
return defaultTab || _optionalChain([tabs, 'access', _480 => _480[0], 'optionalAccess', _481 => _481.id]) || "";
|
|
20190
20300
|
};
|
|
20191
20301
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
20192
20302
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
20193
20303
|
_react.useEffect.call(void 0, () => {
|
|
20194
20304
|
if (!isUrlSyncEnabled) return;
|
|
20195
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20196
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
20305
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _482 => _482.get, 'call', _483 => _483(paramName)]) || "";
|
|
20306
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _484 => _484[0], 'optionalAccess', _485 => _485.id]) || "";
|
|
20197
20307
|
if (nextTab !== internalActiveTab) {
|
|
20198
20308
|
setInternalActiveTab(nextTab);
|
|
20199
20309
|
}
|
|
@@ -20201,13 +20311,13 @@ function TabNavigation({
|
|
|
20201
20311
|
const handleTabChange = (tabId) => {
|
|
20202
20312
|
if (isUrlSyncEnabled) {
|
|
20203
20313
|
setInternalActiveTab(tabId);
|
|
20204
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
20314
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _486 => _486.toString, 'call', _487 => _487()]));
|
|
20205
20315
|
params.set(paramName, tabId);
|
|
20206
20316
|
const method = replaceState ? "replace" : "push";
|
|
20207
20317
|
router[method](`${pathname}?${params.toString()}`);
|
|
20208
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20318
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _488 => _488(tabId)]);
|
|
20209
20319
|
} else {
|
|
20210
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20320
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _489 => _489(tabId)]);
|
|
20211
20321
|
}
|
|
20212
20322
|
};
|
|
20213
20323
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -20295,7 +20405,7 @@ function TabNavigation({
|
|
|
20295
20405
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
20296
20406
|
var getTabComponent = (tabs, tabId) => {
|
|
20297
20407
|
const tab = getTabById(tabs, tabId);
|
|
20298
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
20408
|
+
return _optionalChain([tab, 'optionalAccess', _490 => _490.component]) || null;
|
|
20299
20409
|
};
|
|
20300
20410
|
|
|
20301
20411
|
// src/components/ui/alert.tsx
|
|
@@ -20632,16 +20742,16 @@ function FilterModal({
|
|
|
20632
20742
|
};
|
|
20633
20743
|
const handleReset = () => {
|
|
20634
20744
|
onFilterChange({});
|
|
20635
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20745
|
+
_optionalChain([onTagsChange, 'optionalCall', _491 => _491([])]);
|
|
20636
20746
|
onClose();
|
|
20637
20747
|
};
|
|
20638
20748
|
const handleApply = () => {
|
|
20639
20749
|
onFilterChange(selectedFilters);
|
|
20640
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20750
|
+
_optionalChain([onTagsChange, 'optionalCall', _492 => _492(pendingTags)]);
|
|
20641
20751
|
onClose();
|
|
20642
20752
|
};
|
|
20643
20753
|
const getColumnDirection = (columnKey) => {
|
|
20644
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
20754
|
+
return _optionalChain([sortConfig, 'optionalAccess', _493 => _493.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
20645
20755
|
};
|
|
20646
20756
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
20647
20757
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -20690,7 +20800,7 @@ function FilterModal({
|
|
|
20690
20800
|
{
|
|
20691
20801
|
column,
|
|
20692
20802
|
currentDirection: getColumnDirection(column.key),
|
|
20693
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
20803
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _494 => _494(column.key, direction)]),
|
|
20694
20804
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
20695
20805
|
},
|
|
20696
20806
|
column.key
|
|
@@ -20856,9 +20966,9 @@ function TitleBlock({
|
|
|
20856
20966
|
const [imageFailed, setImageFailed] = React37.default.useState(false);
|
|
20857
20967
|
React37.default.useEffect(() => {
|
|
20858
20968
|
setImageFailed(false);
|
|
20859
|
-
}, [_optionalChain([image, 'optionalAccess',
|
|
20969
|
+
}, [_optionalChain([image, 'optionalAccess', _495 => _495.src])]);
|
|
20860
20970
|
const showImageFallback = !!image && (imageFailed || !image.src);
|
|
20861
|
-
const initials = getInitials3(_optionalChain([image, 'optionalAccess',
|
|
20971
|
+
const initials = getInitials3(_optionalChain([image, 'optionalAccess', _496 => _496.alt]) || title);
|
|
20862
20972
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20863
20973
|
"div",
|
|
20864
20974
|
{
|
|
@@ -21654,26 +21764,26 @@ function DeviceCard({
|
|
|
21654
21764
|
] }),
|
|
21655
21765
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
|
|
21656
21766
|
] }),
|
|
21657
|
-
_optionalChain([actions, 'access',
|
|
21767
|
+
_optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21658
21768
|
"div",
|
|
21659
21769
|
{
|
|
21660
21770
|
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",
|
|
21661
21771
|
onClick: (e) => {
|
|
21662
21772
|
e.stopPropagation();
|
|
21663
|
-
_optionalChain([actions, 'access',
|
|
21773
|
+
_optionalChain([actions, 'access', _499 => _499.moreButton, 'optionalAccess', _500 => _500.onClick, 'optionalCall', _501 => _501()]);
|
|
21664
21774
|
},
|
|
21665
21775
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
21666
21776
|
}
|
|
21667
21777
|
),
|
|
21668
|
-
_optionalChain([actions, 'access',
|
|
21669
|
-
_optionalChain([actions, 'access',
|
|
21778
|
+
_optionalChain([actions, 'access', _502 => _502.detailsButton, 'optionalAccess', _503 => _503.visible]) !== false && _optionalChain([actions, 'access', _504 => _504.detailsButton, 'optionalAccess', _505 => _505.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
21779
|
+
_optionalChain([actions, 'access', _506 => _506.customActions, 'optionalAccess', _507 => _507.map, 'call', _508 => _508(
|
|
21670
21780
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21671
21781
|
"div",
|
|
21672
21782
|
{
|
|
21673
21783
|
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",
|
|
21674
21784
|
onClick: (e) => {
|
|
21675
21785
|
e.stopPropagation();
|
|
21676
|
-
_optionalChain([action, 'access',
|
|
21786
|
+
_optionalChain([action, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
|
|
21677
21787
|
},
|
|
21678
21788
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
21679
21789
|
},
|
|
@@ -22032,7 +22142,7 @@ function MoreActionsMenu({
|
|
|
22032
22142
|
] });
|
|
22033
22143
|
const handleActivate = (e) => {
|
|
22034
22144
|
e.stopPropagation();
|
|
22035
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
22145
|
+
if (!item.disabled) _optionalChain([item, 'access', _511 => _511.onClick, 'optionalCall', _512 => _512()]);
|
|
22036
22146
|
};
|
|
22037
22147
|
if (item.href) {
|
|
22038
22148
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22182,7 +22292,7 @@ function OrganizationIcon({
|
|
|
22182
22292
|
backgroundStyle = "dark"
|
|
22183
22293
|
}) {
|
|
22184
22294
|
const { width, height } = imageSizeMap2[size];
|
|
22185
|
-
const initials = _optionalChain([organizationName, 'optionalAccess',
|
|
22295
|
+
const initials = _optionalChain([organizationName, 'optionalAccess', _513 => _513.substring, 'call', _514 => _514(0, 2)]) || "??";
|
|
22186
22296
|
const containerClasses = _chunkUC43NICZcjs.cn.call(void 0,
|
|
22187
22297
|
sizeClasses3[size],
|
|
22188
22298
|
"rounded-lg flex items-center justify-center flex-shrink-0 relative",
|
|
@@ -22233,7 +22343,7 @@ function OrganizationCard({
|
|
|
22233
22343
|
const handleActionClick = (e) => {
|
|
22234
22344
|
e.preventDefault();
|
|
22235
22345
|
e.stopPropagation();
|
|
22236
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
22346
|
+
_optionalChain([actionButton, 'optionalAccess', _515 => _515.onClick, 'call', _516 => _516(organization, e)]);
|
|
22237
22347
|
};
|
|
22238
22348
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22239
22349
|
"div",
|
|
@@ -22390,7 +22500,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22390
22500
|
onKeyDown: (e) => {
|
|
22391
22501
|
if (e.key === "Enter" || e.key === " ") {
|
|
22392
22502
|
e.preventDefault();
|
|
22393
|
-
_optionalChain([onClick, 'optionalCall',
|
|
22503
|
+
_optionalChain([onClick, 'optionalCall', _517 => _517()]);
|
|
22394
22504
|
}
|
|
22395
22505
|
},
|
|
22396
22506
|
children: [
|
|
@@ -22491,7 +22601,7 @@ var LogsList = React79.forwardRef(({
|
|
|
22491
22601
|
log,
|
|
22492
22602
|
isLast: index === logs.length - 1,
|
|
22493
22603
|
showConnector,
|
|
22494
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
22604
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _518 => _518(log)])
|
|
22495
22605
|
},
|
|
22496
22606
|
log.id
|
|
22497
22607
|
))
|
|
@@ -23080,7 +23190,7 @@ function CursorPaginationSimple({
|
|
|
23080
23190
|
{
|
|
23081
23191
|
variant: "transparent",
|
|
23082
23192
|
size: "icon",
|
|
23083
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
23193
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _519 => _519("")]),
|
|
23084
23194
|
disabled: !hasPreviousPage || loading,
|
|
23085
23195
|
className: "h-8 w-8",
|
|
23086
23196
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -23092,7 +23202,7 @@ function CursorPaginationSimple({
|
|
|
23092
23202
|
{
|
|
23093
23203
|
variant: "transparent",
|
|
23094
23204
|
size: "icon",
|
|
23095
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
23205
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _520 => _520("")]),
|
|
23096
23206
|
disabled: !hasNextPage || loading,
|
|
23097
23207
|
className: "h-8 w-8",
|
|
23098
23208
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -23152,7 +23262,7 @@ function TableColumnFilterDropdown({
|
|
|
23152
23262
|
placement = "bottom-start",
|
|
23153
23263
|
dropdownClassName = "min-w-[240px]"
|
|
23154
23264
|
}) {
|
|
23155
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
23265
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey], 'optionalAccess', _522 => _522.length]) || 0;
|
|
23156
23266
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23157
23267
|
FiltersDropdown,
|
|
23158
23268
|
{
|
|
@@ -23195,7 +23305,7 @@ function TableColumnFilterDropdown({
|
|
|
23195
23305
|
delete newFilters[columnKey];
|
|
23196
23306
|
onFilterChange(newFilters);
|
|
23197
23307
|
},
|
|
23198
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
23308
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _523 => _523[columnKey]]) || [] },
|
|
23199
23309
|
placement,
|
|
23200
23310
|
dropdownClassName
|
|
23201
23311
|
}
|
|
@@ -23492,7 +23602,7 @@ function TableRow({
|
|
|
23492
23602
|
const keys = column.key.split(".");
|
|
23493
23603
|
let value = item;
|
|
23494
23604
|
for (const key of keys) {
|
|
23495
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
23605
|
+
value = _optionalChain([value, 'optionalAccess', _524 => _524[key]]);
|
|
23496
23606
|
}
|
|
23497
23607
|
if (value === null || value === void 0) {
|
|
23498
23608
|
return "-";
|
|
@@ -23562,7 +23672,7 @@ function TableRow({
|
|
|
23562
23672
|
// src/components/ui/table/table.tsx
|
|
23563
23673
|
|
|
23564
23674
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
23565
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
23675
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _525 => _525.length])) || Boolean(renderRowActions);
|
|
23566
23676
|
const result = [...columns];
|
|
23567
23677
|
if (hasActions) {
|
|
23568
23678
|
const actionsColumn = {
|
|
@@ -23656,7 +23766,7 @@ function Table({
|
|
|
23656
23766
|
return rowKey(item);
|
|
23657
23767
|
}
|
|
23658
23768
|
const key = item[rowKey];
|
|
23659
|
-
return _optionalChain([key, 'optionalAccess',
|
|
23769
|
+
return _optionalChain([key, 'optionalAccess', _526 => _526.toString, 'call', _527 => _527()]) || index.toString();
|
|
23660
23770
|
};
|
|
23661
23771
|
const getRowClassName = (item, index) => {
|
|
23662
23772
|
if (typeof rowClassName === "function") {
|
|
@@ -23690,23 +23800,23 @@ function Table({
|
|
|
23690
23800
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
23691
23801
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
23692
23802
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
23693
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23694
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23803
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.onLoadMore]));
|
|
23804
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _529 => _529.onLoadMore]);
|
|
23695
23805
|
_react.useEffect.call(void 0, () => {
|
|
23696
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23806
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _530 => _530.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
23697
23807
|
const sentinel = sentinelRef.current;
|
|
23698
23808
|
if (!sentinel) return;
|
|
23699
23809
|
const observer = new IntersectionObserver(
|
|
23700
23810
|
(entries) => {
|
|
23701
|
-
if (_optionalChain([entries, 'access',
|
|
23702
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
23811
|
+
if (_optionalChain([entries, 'access', _531 => _531[0], 'optionalAccess', _532 => _532.isIntersecting])) {
|
|
23812
|
+
_optionalChain([onLoadMoreRef, 'access', _533 => _533.current, 'optionalCall', _534 => _534()]);
|
|
23703
23813
|
}
|
|
23704
23814
|
},
|
|
23705
23815
|
{ rootMargin: "200px" }
|
|
23706
23816
|
);
|
|
23707
23817
|
observer.observe(sentinel);
|
|
23708
23818
|
return () => observer.disconnect();
|
|
23709
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23819
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.isFetchingNextPage])]);
|
|
23710
23820
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
23711
23821
|
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: [
|
|
23712
23822
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -23777,7 +23887,7 @@ function Table({
|
|
|
23777
23887
|
},
|
|
23778
23888
|
getRowKey(item, index)
|
|
23779
23889
|
)),
|
|
23780
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23890
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _537 => _537.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23781
23891
|
TableCardSkeleton,
|
|
23782
23892
|
{
|
|
23783
23893
|
columns,
|
|
@@ -23786,7 +23896,7 @@ function Table({
|
|
|
23786
23896
|
hasChevron: Boolean(rowHref)
|
|
23787
23897
|
}
|
|
23788
23898
|
),
|
|
23789
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23899
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _538 => _538.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
23790
23900
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23791
23901
|
"div",
|
|
23792
23902
|
{
|
|
@@ -24144,7 +24254,7 @@ function QueryReportTable({
|
|
|
24144
24254
|
);
|
|
24145
24255
|
const handleExport = () => {
|
|
24146
24256
|
exportToCSV(data, columns, exportFilename);
|
|
24147
|
-
_optionalChain([onExport, 'optionalCall',
|
|
24257
|
+
_optionalChain([onExport, 'optionalCall', _539 => _539()]);
|
|
24148
24258
|
};
|
|
24149
24259
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
24150
24260
|
const {
|
|
@@ -24317,7 +24427,7 @@ function DataTableColumnFilter({
|
|
|
24317
24427
|
align = "left"
|
|
24318
24428
|
}) {
|
|
24319
24429
|
const currentValue = column.getFilterValue();
|
|
24320
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
24430
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _540 => _540.length]), () => ( 0));
|
|
24321
24431
|
const sections = _react.useMemo.call(void 0,
|
|
24322
24432
|
() => [
|
|
24323
24433
|
{
|
|
@@ -24397,7 +24507,7 @@ function DataTableHeader({
|
|
|
24397
24507
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
24398
24508
|
if (header.isPlaceholder) return false;
|
|
24399
24509
|
if (isLgUp) return true;
|
|
24400
|
-
return Boolean(_optionalChain([header, 'access',
|
|
24510
|
+
return Boolean(_optionalChain([header, 'access', _541 => _541.column, 'access', _542 => _542.columnDef, 'access', _543 => _543.meta, 'optionalAccess', _544 => _544.filter]));
|
|
24401
24511
|
});
|
|
24402
24512
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24403
24513
|
"div",
|
|
@@ -24427,20 +24537,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24427
24537
|
if (header.isPlaceholder) return null;
|
|
24428
24538
|
const column = header.column;
|
|
24429
24539
|
const meta = column.columnDef.meta;
|
|
24430
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
24431
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24432
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
24433
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
24540
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _545 => _545.filter]));
|
|
24541
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _546 => _546.align]), () => ( "left"));
|
|
24542
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _547 => _547.sortable]) === true;
|
|
24543
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _548 => _548.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
24434
24544
|
if (!isLgUp && !hasFilter) return null;
|
|
24435
24545
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24436
24546
|
"div",
|
|
24437
24547
|
{
|
|
24438
24548
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24439
24549
|
"flex items-stretch",
|
|
24440
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
24441
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24550
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _549 => _549.width]) || "flex-1 min-w-0"),
|
|
24551
|
+
_optionalChain([meta, 'optionalAccess', _550 => _550.headerClassName]),
|
|
24442
24552
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
24443
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24553
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _551 => _551.hideAt]))
|
|
24444
24554
|
),
|
|
24445
24555
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24446
24556
|
DataTableColumnFilter,
|
|
@@ -24459,7 +24569,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24459
24569
|
isLgUp && alignJustify(align),
|
|
24460
24570
|
canSort && "group cursor-pointer"
|
|
24461
24571
|
),
|
|
24462
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
24572
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _552 => _552(column.id)]) : void 0,
|
|
24463
24573
|
children: [
|
|
24464
24574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
24465
24575
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -24543,7 +24653,7 @@ function DataTableSkeleton({
|
|
|
24543
24653
|
}) {
|
|
24544
24654
|
const table = useDataTableContext();
|
|
24545
24655
|
const columns = table.getVisibleFlatColumns();
|
|
24546
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
24656
|
+
const firstColumnId = _optionalChain([columns, 'access', _553 => _553[0], 'optionalAccess', _554 => _554.id]);
|
|
24547
24657
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24548
24658
|
"div",
|
|
24549
24659
|
{
|
|
@@ -24567,7 +24677,7 @@ function DataTableSkeleton({
|
|
|
24567
24677
|
{
|
|
24568
24678
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24569
24679
|
"flex flex-col justify-center shrink-0",
|
|
24570
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24680
|
+
_optionalChain([meta, 'optionalAccess', _555 => _555.width]) || "flex-1"
|
|
24571
24681
|
),
|
|
24572
24682
|
children: [
|
|
24573
24683
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -24613,7 +24723,7 @@ function DataTableRowImpl({
|
|
|
24613
24723
|
(e) => {
|
|
24614
24724
|
const target = e.target;
|
|
24615
24725
|
if (target.closest("[data-no-row-click]")) return;
|
|
24616
|
-
_optionalChain([onClick, 'optionalCall',
|
|
24726
|
+
_optionalChain([onClick, 'optionalCall', _556 => _556(row.original)]);
|
|
24617
24727
|
},
|
|
24618
24728
|
[onClick, row.original]
|
|
24619
24729
|
);
|
|
@@ -24651,10 +24761,10 @@ function DataTableRowImpl({
|
|
|
24651
24761
|
{
|
|
24652
24762
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24653
24763
|
"flex flex-col overflow-hidden",
|
|
24654
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
24655
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24656
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24657
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24764
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _557 => _557.align])),
|
|
24765
|
+
_optionalChain([meta, 'optionalAccess', _558 => _558.width]) || "flex-1 min-w-0",
|
|
24766
|
+
_optionalChain([meta, 'optionalAccess', _559 => _559.cellClassName]),
|
|
24767
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _560 => _560.hideAt]))
|
|
24658
24768
|
),
|
|
24659
24769
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
24660
24770
|
},
|
|
@@ -24700,7 +24810,7 @@ function DataTableBody({
|
|
|
24700
24810
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
24701
24811
|
rows.map((row, index) => {
|
|
24702
24812
|
const item = row.original;
|
|
24703
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
24813
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _561 => _561(item)]), () => ( void 0));
|
|
24704
24814
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
24705
24815
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24706
24816
|
DataTableRow,
|
|
@@ -24764,7 +24874,7 @@ function DataTableInfiniteFooter({
|
|
|
24764
24874
|
if (!sentinel) return;
|
|
24765
24875
|
const observer = new IntersectionObserver(
|
|
24766
24876
|
(entries) => {
|
|
24767
|
-
if (_optionalChain([entries, 'access',
|
|
24877
|
+
if (_optionalChain([entries, 'access', _562 => _562[0], 'optionalAccess', _563 => _563.isIntersecting])) onLoadMoreRef.current();
|
|
24768
24878
|
},
|
|
24769
24879
|
{ rootMargin }
|
|
24770
24880
|
);
|
|
@@ -24812,7 +24922,7 @@ function DataTableRowCount({
|
|
|
24812
24922
|
const table = useDataTableContext();
|
|
24813
24923
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
24814
24924
|
if (hideWhenEmpty && count === 0) return null;
|
|
24815
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
24925
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _564 => _564(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
24816
24926
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24817
24927
|
"span",
|
|
24818
24928
|
{
|
|
@@ -24906,12 +25016,12 @@ function PhoneInput({
|
|
|
24906
25016
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
24907
25017
|
if (!phone || digitCount(phone) === 0) {
|
|
24908
25018
|
setIsInvalid(false);
|
|
24909
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25019
|
+
_optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
|
|
24910
25020
|
return;
|
|
24911
25021
|
}
|
|
24912
25022
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
24913
25023
|
setIsInvalid(invalid);
|
|
24914
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25024
|
+
_optionalChain([onValidationChange, 'optionalCall', _566 => _566(invalid)]);
|
|
24915
25025
|
}, [countryCode, digitCount, onValidationChange]);
|
|
24916
25026
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
24917
25027
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -24960,7 +25070,7 @@ function PhoneInput({
|
|
|
24960
25070
|
debouncedValidation(val);
|
|
24961
25071
|
} else if (digitCount(val) === 0) {
|
|
24962
25072
|
setIsInvalid(false);
|
|
24963
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25073
|
+
_optionalChain([onValidationChange, 'optionalCall', _567 => _567(false)]);
|
|
24964
25074
|
}
|
|
24965
25075
|
}
|
|
24966
25076
|
},
|
|
@@ -25067,7 +25177,7 @@ function SearchInput({
|
|
|
25067
25177
|
if (!showHiddenTags) return;
|
|
25068
25178
|
const handleClick = (e) => {
|
|
25069
25179
|
const target = e.target;
|
|
25070
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25180
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.contains, 'call', _570 => _570(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _571 => _571.current, 'optionalAccess', _572 => _572.contains, 'call', _573 => _573(target)])) {
|
|
25071
25181
|
setShowHiddenTags(false);
|
|
25072
25182
|
}
|
|
25073
25183
|
};
|
|
@@ -25115,10 +25225,10 @@ function SearchInput({
|
|
|
25115
25225
|
} else {
|
|
25116
25226
|
setInternalValue("");
|
|
25117
25227
|
}
|
|
25118
|
-
_optionalChain([inputRef, 'access',
|
|
25228
|
+
_optionalChain([inputRef, 'access', _574 => _574.current, 'optionalAccess', _575 => _575.focus, 'call', _576 => _576()]);
|
|
25119
25229
|
};
|
|
25120
25230
|
const handleResultClick = (result, e) => {
|
|
25121
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
25231
|
+
_optionalChain([onResultSelect, 'optionalCall', _577 => _577(
|
|
25122
25232
|
result,
|
|
25123
25233
|
e ? {
|
|
25124
25234
|
metaKey: e.metaKey,
|
|
@@ -25150,7 +25260,7 @@ function SearchInput({
|
|
|
25150
25260
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
25151
25261
|
handleResultClick(flatResults[highlightedIndex]);
|
|
25152
25262
|
} else {
|
|
25153
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
25263
|
+
_optionalChain([onSubmit, 'optionalCall', _578 => _578(currentValue)]);
|
|
25154
25264
|
}
|
|
25155
25265
|
break;
|
|
25156
25266
|
case "Escape":
|
|
@@ -25228,7 +25338,7 @@ function SearchInput({
|
|
|
25228
25338
|
dropdownVisible && "!border-ods-accent"
|
|
25229
25339
|
),
|
|
25230
25340
|
onClick: () => {
|
|
25231
|
-
_optionalChain([inputRef, 'access',
|
|
25341
|
+
_optionalChain([inputRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.focus, 'call', _581 => _581()]);
|
|
25232
25342
|
setIsOpen(true);
|
|
25233
25343
|
},
|
|
25234
25344
|
children: [
|
|
@@ -25312,10 +25422,10 @@ function SearchInput({
|
|
|
25312
25422
|
align: "start",
|
|
25313
25423
|
onOpenAutoFocus: (e) => {
|
|
25314
25424
|
e.preventDefault();
|
|
25315
|
-
_optionalChain([inputRef, 'access',
|
|
25425
|
+
_optionalChain([inputRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.focus, 'call', _584 => _584()]);
|
|
25316
25426
|
},
|
|
25317
25427
|
onInteractOutside: (e) => {
|
|
25318
|
-
if (_optionalChain([containerRef, 'access',
|
|
25428
|
+
if (_optionalChain([containerRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.contains, 'call', _587 => _587(e.target)])) {
|
|
25319
25429
|
e.preventDefault();
|
|
25320
25430
|
}
|
|
25321
25431
|
},
|
|
@@ -25332,10 +25442,10 @@ function SearchInput({
|
|
|
25332
25442
|
ref: hiddenTagsPopupRef,
|
|
25333
25443
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
25334
25444
|
style: {
|
|
25335
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
25445
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _588 => _588.current, 'optionalAccess', _589 => _589.getBoundingClientRect, 'call', _590 => _590(), 'access', _591 => _591.left]), () => ( 0))) : 0
|
|
25336
25446
|
},
|
|
25337
25447
|
onRemove: (value2) => {
|
|
25338
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
25448
|
+
_optionalChain([onFilterRemove, 'optionalCall', _592 => _592(value2)]);
|
|
25339
25449
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
25340
25450
|
}
|
|
25341
25451
|
}
|
|
@@ -25386,7 +25496,7 @@ function FilterListItem({
|
|
|
25386
25496
|
}) {
|
|
25387
25497
|
const handleToggle = () => {
|
|
25388
25498
|
if (disabled) return;
|
|
25389
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
25499
|
+
_optionalChain([onToggle, 'optionalCall', _593 => _593(!selected)]);
|
|
25390
25500
|
};
|
|
25391
25501
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25392
25502
|
"div",
|
|
@@ -25433,7 +25543,7 @@ function FilterListItem({
|
|
|
25433
25543
|
CheckboxPrimitive4.Root,
|
|
25434
25544
|
{
|
|
25435
25545
|
checked: selected,
|
|
25436
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
25546
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _594 => _594(c === true)]),
|
|
25437
25547
|
onClick: (e) => e.stopPropagation(),
|
|
25438
25548
|
disabled,
|
|
25439
25549
|
"aria-label": title,
|
|
@@ -25532,7 +25642,7 @@ function TagSearchInput({
|
|
|
25532
25642
|
if (!showHiddenTags) return;
|
|
25533
25643
|
const handleClick = (e) => {
|
|
25534
25644
|
const target = e.target;
|
|
25535
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25645
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _595 => _595.current, 'optionalAccess', _596 => _596.contains, 'call', _597 => _597(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _598 => _598.current, 'optionalAccess', _599 => _599.contains, 'call', _600 => _600(target)])) {
|
|
25536
25646
|
setShowHiddenTags(false);
|
|
25537
25647
|
}
|
|
25538
25648
|
};
|
|
@@ -25548,13 +25658,13 @@ function TagSearchInput({
|
|
|
25548
25658
|
e.preventDefault();
|
|
25549
25659
|
onSubmit(searchValue);
|
|
25550
25660
|
}
|
|
25551
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
25661
|
+
_optionalChain([onKeyDown, 'optionalCall', _601 => _601(e)]);
|
|
25552
25662
|
};
|
|
25553
25663
|
const handleClearAll = (e) => {
|
|
25554
25664
|
e.stopPropagation();
|
|
25555
25665
|
e.preventDefault();
|
|
25556
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
25557
|
-
_optionalChain([inputRef, 'access',
|
|
25666
|
+
_optionalChain([onClearAll, 'optionalCall', _602 => _602()]);
|
|
25667
|
+
_optionalChain([inputRef, 'access', _603 => _603.current, 'optionalAccess', _604 => _604.focus, 'call', _605 => _605()]);
|
|
25558
25668
|
};
|
|
25559
25669
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
25560
25670
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25571,7 +25681,7 @@ function TagSearchInput({
|
|
|
25571
25681
|
className
|
|
25572
25682
|
),
|
|
25573
25683
|
onClick: () => {
|
|
25574
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
25684
|
+
if (!disabled) _optionalChain([inputRef, 'access', _606 => _606.current, 'optionalAccess', _607 => _607.focus, 'call', _608 => _608()]);
|
|
25575
25685
|
},
|
|
25576
25686
|
children: [
|
|
25577
25687
|
/* @__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" }) }),
|
|
@@ -25643,7 +25753,7 @@ function TagSearchInput({
|
|
|
25643
25753
|
items: hiddenTags,
|
|
25644
25754
|
disabled,
|
|
25645
25755
|
style: {
|
|
25646
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
25756
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _609 => _609.current, 'optionalAccess', _610 => _610.getBoundingClientRect, 'call', _611 => _611(), 'access', _612 => _612.left]), () => ( 0))) : 0
|
|
25647
25757
|
},
|
|
25648
25758
|
onRemove: (value) => {
|
|
25649
25759
|
onTagRemove(value);
|
|
@@ -25745,7 +25855,7 @@ function MarkdownEditor({
|
|
|
25745
25855
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
25746
25856
|
_react.useEffect.call(void 0, () => {
|
|
25747
25857
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
25748
|
-
if (_optionalChain([mod, 'access',
|
|
25858
|
+
if (_optionalChain([mod, 'access', _613 => _613.commands, 'optionalAccess', _614 => _614.getExtraCommands])) {
|
|
25749
25859
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
25750
25860
|
}
|
|
25751
25861
|
});
|
|
@@ -25779,7 +25889,7 @@ function MarkdownEditor({
|
|
|
25779
25889
|
const isImage = file.type.startsWith("image/");
|
|
25780
25890
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
25781
25891
|
insertTextAtCursor(markdown);
|
|
25782
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
25892
|
+
_optionalChain([onFileUploaded, 'optionalCall', _615 => _615(url, file.name)]);
|
|
25783
25893
|
} catch (error) {
|
|
25784
25894
|
console.error("File upload failed:", error);
|
|
25785
25895
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -25792,7 +25902,7 @@ function MarkdownEditor({
|
|
|
25792
25902
|
);
|
|
25793
25903
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
25794
25904
|
(e) => {
|
|
25795
|
-
const file = _optionalChain([e, 'access',
|
|
25905
|
+
const file = _optionalChain([e, 'access', _616 => _616.target, 'access', _617 => _617.files, 'optionalAccess', _618 => _618[0]]);
|
|
25796
25906
|
if (file) {
|
|
25797
25907
|
handleFileUpload(file);
|
|
25798
25908
|
e.target.value = "";
|
|
@@ -25803,7 +25913,7 @@ function MarkdownEditor({
|
|
|
25803
25913
|
const handlePaste = _react.useCallback.call(void 0,
|
|
25804
25914
|
(e) => {
|
|
25805
25915
|
if (!onUploadFile) return;
|
|
25806
|
-
const items = _optionalChain([e, 'access',
|
|
25916
|
+
const items = _optionalChain([e, 'access', _619 => _619.clipboardData, 'optionalAccess', _620 => _620.items]);
|
|
25807
25917
|
if (!items) return;
|
|
25808
25918
|
for (const item of items) {
|
|
25809
25919
|
if (item.type.startsWith("image/")) {
|
|
@@ -25828,7 +25938,7 @@ function MarkdownEditor({
|
|
|
25828
25938
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
25829
25939
|
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" }),
|
|
25830
25940
|
execute: () => {
|
|
25831
|
-
_optionalChain([fileInputRef, 'access',
|
|
25941
|
+
_optionalChain([fileInputRef, 'access', _621 => _621.current, 'optionalAccess', _622 => _622.click, 'call', _623 => _623()]);
|
|
25832
25942
|
}
|
|
25833
25943
|
} : null;
|
|
25834
25944
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -25840,7 +25950,7 @@ function MarkdownEditor({
|
|
|
25840
25950
|
const EDGE_ZONE = 60;
|
|
25841
25951
|
const MAX_SCROLL_SPEED = 15;
|
|
25842
25952
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
25843
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
25953
|
+
let node = _optionalChain([el, 'optionalAccess', _624 => _624.parentElement]);
|
|
25844
25954
|
while (node && node !== document.documentElement) {
|
|
25845
25955
|
const { overflowY } = window.getComputedStyle(node);
|
|
25846
25956
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -25983,7 +26093,7 @@ function matchesAccept(file, accept) {
|
|
|
25983
26093
|
});
|
|
25984
26094
|
}
|
|
25985
26095
|
function dragHasFiles(e) {
|
|
25986
|
-
const types = _optionalChain([e, 'access',
|
|
26096
|
+
const types = _optionalChain([e, 'access', _625 => _625.dataTransfer, 'optionalAccess', _626 => _626.types]);
|
|
25987
26097
|
if (!types) return false;
|
|
25988
26098
|
for (let i = 0; i < types.length; i++) {
|
|
25989
26099
|
if (types[i] === "Files") return true;
|
|
@@ -26078,7 +26188,7 @@ function FileUpload({
|
|
|
26078
26188
|
e.stopPropagation();
|
|
26079
26189
|
setDragActive(false);
|
|
26080
26190
|
if (disabled) return;
|
|
26081
|
-
if (_optionalChain([e, 'access',
|
|
26191
|
+
if (_optionalChain([e, 'access', _627 => _627.dataTransfer, 'access', _628 => _628.files, 'optionalAccess', _629 => _629.length])) {
|
|
26082
26192
|
handleFiles(e.dataTransfer.files);
|
|
26083
26193
|
}
|
|
26084
26194
|
};
|
|
@@ -26106,7 +26216,7 @@ function FileUpload({
|
|
|
26106
26216
|
e.preventDefault();
|
|
26107
26217
|
dragCounter = 0;
|
|
26108
26218
|
setDragActive(false);
|
|
26109
|
-
if (_optionalChain([e, 'access',
|
|
26219
|
+
if (_optionalChain([e, 'access', _630 => _630.dataTransfer, 'optionalAccess', _631 => _631.files, 'optionalAccess', _632 => _632.length])) {
|
|
26110
26220
|
handleFilesRef.current(e.dataTransfer.files);
|
|
26111
26221
|
}
|
|
26112
26222
|
};
|
|
@@ -26128,7 +26238,7 @@ function FileUpload({
|
|
|
26128
26238
|
};
|
|
26129
26239
|
}, [acceptWindowDrops, disabled]);
|
|
26130
26240
|
const handleFileSelect = (e) => {
|
|
26131
|
-
if (_optionalChain([e, 'access',
|
|
26241
|
+
if (_optionalChain([e, 'access', _633 => _633.target, 'access', _634 => _634.files, 'optionalAccess', _635 => _635.length])) {
|
|
26132
26242
|
handleFiles(e.target.files);
|
|
26133
26243
|
}
|
|
26134
26244
|
};
|
|
@@ -26145,7 +26255,7 @@ function FileUpload({
|
|
|
26145
26255
|
};
|
|
26146
26256
|
const openDialog = async () => {
|
|
26147
26257
|
if (disabled) return;
|
|
26148
|
-
_optionalChain([fileInputRef, 'access',
|
|
26258
|
+
_optionalChain([fileInputRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.click, 'call', _638 => _638()]);
|
|
26149
26259
|
};
|
|
26150
26260
|
const displayError = error || validationError || void 0;
|
|
26151
26261
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -26223,7 +26333,7 @@ function FileUpload({
|
|
|
26223
26333
|
"button",
|
|
26224
26334
|
{
|
|
26225
26335
|
type: "button",
|
|
26226
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
26336
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _639 => _639(entry.id)]),
|
|
26227
26337
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
26228
26338
|
"aria-label": `Remove ${entry.fileName}`,
|
|
26229
26339
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -26346,7 +26456,7 @@ function ImageUploader({
|
|
|
26346
26456
|
onChange(file);
|
|
26347
26457
|
};
|
|
26348
26458
|
const handleFileSelect = (e) => {
|
|
26349
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26459
|
+
validateAndEmit(_optionalChain([e, 'access', _640 => _640.target, 'access', _641 => _641.files, 'optionalAccess', _642 => _642[0]]));
|
|
26350
26460
|
if (inputRef.current) inputRef.current.value = "";
|
|
26351
26461
|
};
|
|
26352
26462
|
const handleDrag = (e) => {
|
|
@@ -26361,11 +26471,11 @@ function ImageUploader({
|
|
|
26361
26471
|
e.stopPropagation();
|
|
26362
26472
|
setDragActive(false);
|
|
26363
26473
|
if (!interactive) return;
|
|
26364
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26474
|
+
validateAndEmit(_optionalChain([e, 'access', _643 => _643.dataTransfer, 'access', _644 => _644.files, 'optionalAccess', _645 => _645[0]]));
|
|
26365
26475
|
};
|
|
26366
26476
|
const openDialog = () => {
|
|
26367
26477
|
if (!interactive) return;
|
|
26368
|
-
_optionalChain([inputRef, 'access',
|
|
26478
|
+
_optionalChain([inputRef, 'access', _646 => _646.current, 'optionalAccess', _647 => _647.click, 'call', _648 => _648()]);
|
|
26369
26479
|
};
|
|
26370
26480
|
const handleRootKeyDown = (e) => {
|
|
26371
26481
|
if (hasImage || !interactive) return;
|
|
@@ -26522,7 +26632,7 @@ function CompactAssigneeDropdown({
|
|
|
26522
26632
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
26523
26633
|
}, [filtered, currentAssignee]);
|
|
26524
26634
|
const handleSelect = (userId) => {
|
|
26525
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26635
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]) === userId ? null : userId;
|
|
26526
26636
|
onAssign(next);
|
|
26527
26637
|
setIsOpen(false);
|
|
26528
26638
|
};
|
|
@@ -26587,7 +26697,7 @@ function CompactAssigneeDropdown({
|
|
|
26587
26697
|
}
|
|
26588
26698
|
) }),
|
|
26589
26699
|
/* @__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) => {
|
|
26590
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26700
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _650 => _650.id]) === opt.value;
|
|
26591
26701
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26592
26702
|
"button",
|
|
26593
26703
|
{
|
|
@@ -26656,7 +26766,7 @@ function DefaultAssigneeDropdown({
|
|
|
26656
26766
|
Autocomplete,
|
|
26657
26767
|
{
|
|
26658
26768
|
options,
|
|
26659
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
26769
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _651 => _651.id]), () => ( null)),
|
|
26660
26770
|
onChange: (val) => {
|
|
26661
26771
|
onAssign(val);
|
|
26662
26772
|
setIsEditing(false);
|
|
@@ -27014,14 +27124,14 @@ function TicketInfoSection({
|
|
|
27014
27124
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27015
27125
|
SquareAvatar,
|
|
27016
27126
|
{
|
|
27017
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
27018
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
27019
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
27127
|
+
src: _optionalChain([organization, 'optionalAccess', _652 => _652.imageSrc]),
|
|
27128
|
+
alt: _optionalChain([organization, 'optionalAccess', _653 => _653.name]),
|
|
27129
|
+
fallback: _optionalChain([organization, 'optionalAccess', _654 => _654.name]) || "Org",
|
|
27020
27130
|
size: "md",
|
|
27021
27131
|
className: "shrink-0"
|
|
27022
27132
|
}
|
|
27023
27133
|
),
|
|
27024
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
27134
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _655 => _655.name]) || "Unassigned", label: "Organization" })
|
|
27025
27135
|
] }),
|
|
27026
27136
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27027
27137
|
AssigneeDropdown,
|
|
@@ -27042,10 +27152,10 @@ function TicketInfoSection({
|
|
|
27042
27152
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27043
27153
|
InfoCell2,
|
|
27044
27154
|
{
|
|
27045
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
27155
|
+
value: _optionalChain([device, 'optionalAccess', _656 => _656.name]) || "Unassigned",
|
|
27046
27156
|
label: "Device",
|
|
27047
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
27048
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
27157
|
+
icon: _optionalChain([device, 'optionalAccess', _657 => _657.icon]),
|
|
27158
|
+
onClick: _optionalChain([device, 'optionalAccess', _658 => _658.onClick])
|
|
27049
27159
|
}
|
|
27050
27160
|
),
|
|
27051
27161
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -27804,10 +27914,10 @@ var getContentDimensions = (config) => {
|
|
|
27804
27914
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
27805
27915
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
27806
27916
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
27807
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27808
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
27809
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27810
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
27917
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _659 => _659.mobileContentDimensions, 'optionalAccess', _660 => _660.width]))), () => ( defaultMobile.width));
|
|
27918
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _661 => _661.mobileContentDimensions, 'optionalAccess', _662 => _662.height]))), () => ( defaultMobile.height));
|
|
27919
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _663 => _663.desktopContentDimensions, 'optionalAccess', _664 => _664.width]))), () => ( defaultDesktop.width));
|
|
27920
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _665 => _665.desktopContentDimensions, 'optionalAccess', _666 => _666.height]))), () => ( defaultDesktop.height));
|
|
27811
27921
|
return {
|
|
27812
27922
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
27813
27923
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -27941,7 +28051,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
27941
28051
|
const contentDimensions = getContentDimensions(config);
|
|
27942
28052
|
const mobileHeight = contentDimensions.mobile.height;
|
|
27943
28053
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
27944
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
28054
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _667 => _667.innerHeight]) * 0.85 || 650)}px`;
|
|
27945
28055
|
})(),
|
|
27946
28056
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
27947
28057
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -28046,7 +28156,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28046
28156
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
28047
28157
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
28048
28158
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
28049
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
28159
|
+
config.defaultSectionId || _optionalChain([config, 'access', _668 => _668.sections, 'access', _669 => _669[0], 'optionalAccess', _670 => _670.id]) || ""
|
|
28050
28160
|
);
|
|
28051
28161
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
28052
28162
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -28136,7 +28246,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28136
28246
|
const handleMessage = (event) => {
|
|
28137
28247
|
if (event.origin !== "https://www.figma.com") return;
|
|
28138
28248
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
28139
|
-
if (_optionalChain([event, 'access',
|
|
28249
|
+
if (_optionalChain([event, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.type]) && validEvents.includes(event.data.type)) {
|
|
28140
28250
|
const figmaEvent = event.data;
|
|
28141
28251
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
28142
28252
|
switch (figmaEvent.type) {
|
|
@@ -28146,19 +28256,19 @@ var FigmaPrototypeViewer = ({
|
|
|
28146
28256
|
setIframeState("READY");
|
|
28147
28257
|
break;
|
|
28148
28258
|
case "PRESENTED_NODE_CHANGED":
|
|
28149
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
28259
|
+
if (_optionalChain([figmaEvent, 'access', _673 => _673.data, 'optionalAccess', _674 => _674.presentedNodeId])) {
|
|
28150
28260
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
28151
28261
|
if (!isNavigating) {
|
|
28152
28262
|
const matchingSection = config.sections.find((s) => {
|
|
28153
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28154
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28263
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _675 => _675.data, 'optionalAccess', _676 => _676.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _677 => _677.data, 'optionalAccess', _678 => _678.presentedNodeId]);
|
|
28264
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _679 => _679.data, 'optionalAccess', _680 => _680.presentedNodeId]) || _optionalChain([s, 'access', _681 => _681.mobileStartingNodeId, 'optionalAccess', _682 => _682.replace, 'call', _683 => _683(":", "-")]) === _optionalChain([figmaEvent, 'access', _684 => _684.data, 'optionalAccess', _685 => _685.presentedNodeId]);
|
|
28155
28265
|
return desktopMatch || mobileMatch;
|
|
28156
28266
|
});
|
|
28157
28267
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
28158
28268
|
if (!externalActiveSection) {
|
|
28159
28269
|
setInternalActiveSection(matchingSection.id);
|
|
28160
28270
|
}
|
|
28161
|
-
_optionalChain([config, 'access',
|
|
28271
|
+
_optionalChain([config, 'access', _686 => _686.onSectionChange, 'optionalCall', _687 => _687(matchingSection.id)]);
|
|
28162
28272
|
}
|
|
28163
28273
|
}
|
|
28164
28274
|
}
|
|
@@ -28171,7 +28281,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28171
28281
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
28172
28282
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
28173
28283
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
28174
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
28284
|
+
if (!section || !_optionalChain([iframeRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.contentWindow]) || !isInitialized) {
|
|
28175
28285
|
return;
|
|
28176
28286
|
}
|
|
28177
28287
|
setIsNavigating(true);
|
|
@@ -28179,7 +28289,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28179
28289
|
if (!externalActiveSection) {
|
|
28180
28290
|
setInternalActiveSection(sectionId);
|
|
28181
28291
|
}
|
|
28182
|
-
_optionalChain([config, 'access',
|
|
28292
|
+
_optionalChain([config, 'access', _690 => _690.onSectionChange, 'optionalCall', _691 => _691(sectionId)]);
|
|
28183
28293
|
const command = {
|
|
28184
28294
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
28185
28295
|
data: { nodeId }
|
|
@@ -28499,7 +28609,7 @@ var FiltersDropdown = ({
|
|
|
28499
28609
|
defaults[section.id] = section.defaultSelected || [];
|
|
28500
28610
|
});
|
|
28501
28611
|
setSelectedFilters(defaults);
|
|
28502
|
-
_optionalChain([onReset, 'optionalCall',
|
|
28612
|
+
_optionalChain([onReset, 'optionalCall', _692 => _692()]);
|
|
28503
28613
|
setIsOpen(false);
|
|
28504
28614
|
};
|
|
28505
28615
|
const handleApply = () => {
|
|
@@ -28793,7 +28903,7 @@ function MediaGalleryManager({
|
|
|
28793
28903
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
28794
28904
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
28795
28905
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
28796
|
-
const file = _optionalChain([event, 'access',
|
|
28906
|
+
const file = _optionalChain([event, 'access', _693 => _693.target, 'access', _694 => _694.files, 'optionalAccess', _695 => _695[0]]);
|
|
28797
28907
|
if (!file) return;
|
|
28798
28908
|
let mediaType;
|
|
28799
28909
|
if (file.type.startsWith("image/")) {
|
|
@@ -28908,7 +29018,7 @@ function MediaGalleryManager({
|
|
|
28908
29018
|
{
|
|
28909
29019
|
type: "button",
|
|
28910
29020
|
variant: "outline",
|
|
28911
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
29021
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.click, 'call', _698 => _698()]),
|
|
28912
29022
|
disabled: isUploading,
|
|
28913
29023
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
28914
29024
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29693,7 +29803,7 @@ function ReleaseMediaManager({
|
|
|
29693
29803
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
29694
29804
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
29695
29805
|
const handleFileSelect = async (event) => {
|
|
29696
|
-
const file = _optionalChain([event, 'access',
|
|
29806
|
+
const file = _optionalChain([event, 'access', _699 => _699.target, 'access', _700 => _700.files, 'optionalAccess', _701 => _701[0]]);
|
|
29697
29807
|
if (!file) return;
|
|
29698
29808
|
let mediaType;
|
|
29699
29809
|
if (file.type.startsWith("image/")) {
|
|
@@ -29773,7 +29883,7 @@ function ReleaseMediaManager({
|
|
|
29773
29883
|
{
|
|
29774
29884
|
type: "button",
|
|
29775
29885
|
variant: "outline",
|
|
29776
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
29886
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.click, 'call', _704 => _704()]),
|
|
29777
29887
|
disabled: uploadingIndex !== null,
|
|
29778
29888
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
29779
29889
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29986,7 +30096,7 @@ function SEOEditorPreview({
|
|
|
29986
30096
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
29987
30097
|
const handleImageUpload = async (event) => {
|
|
29988
30098
|
if (!onOgImageUpload) return;
|
|
29989
|
-
const file = _optionalChain([event, 'access',
|
|
30099
|
+
const file = _optionalChain([event, 'access', _705 => _705.target, 'access', _706 => _706.files, 'optionalAccess', _707 => _707[0]]);
|
|
29990
30100
|
if (!file) return;
|
|
29991
30101
|
setIsUploading(true);
|
|
29992
30102
|
try {
|
|
@@ -30117,7 +30227,7 @@ function SEOEditorPreview({
|
|
|
30117
30227
|
type: "button",
|
|
30118
30228
|
variant: "outline",
|
|
30119
30229
|
size: "icon",
|
|
30120
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
30230
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
|
|
30121
30231
|
disabled: disabled || isUploading,
|
|
30122
30232
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
30123
30233
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -30140,7 +30250,7 @@ function SEOEditorPreview({
|
|
|
30140
30250
|
"div",
|
|
30141
30251
|
{
|
|
30142
30252
|
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",
|
|
30143
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
30253
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _710 => _710.click, 'call', _711 => _711()]),
|
|
30144
30254
|
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: [
|
|
30145
30255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
30146
30256
|
/* @__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" })
|
|
@@ -30225,7 +30335,7 @@ function SocialLinksManager({
|
|
|
30225
30335
|
className = ""
|
|
30226
30336
|
}) {
|
|
30227
30337
|
const addLink = () => {
|
|
30228
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
30338
|
+
const firstPlatform = _optionalChain([platforms, 'access', _712 => _712[0], 'optionalAccess', _713 => _713.name]) || "website";
|
|
30229
30339
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
30230
30340
|
};
|
|
30231
30341
|
const removeLink = (index) => {
|
|
@@ -30237,7 +30347,7 @@ function SocialLinksManager({
|
|
|
30237
30347
|
onChange(updated);
|
|
30238
30348
|
};
|
|
30239
30349
|
const getIcon = (link, platform) => {
|
|
30240
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
30350
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _714 => _714.icon_name]) || link.platform;
|
|
30241
30351
|
const IconComponent = iconMap[iconKey];
|
|
30242
30352
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
30243
30353
|
};
|
|
@@ -30262,7 +30372,7 @@ function SocialLinksManager({
|
|
|
30262
30372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30263
30373
|
_chunkV2FNIPZJcjs.Input,
|
|
30264
30374
|
{
|
|
30265
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
30375
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _715 => _715.placeholder]) || "Profile URL",
|
|
30266
30376
|
value: link.url,
|
|
30267
30377
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
30268
30378
|
onKeyDown: (e) => {
|
|
@@ -30639,7 +30749,7 @@ function VideoSourceSelector({
|
|
|
30639
30749
|
input.accept = "video/*";
|
|
30640
30750
|
input.onchange = async (e) => {
|
|
30641
30751
|
const target = e.target;
|
|
30642
|
-
const file = _optionalChain([target, 'access',
|
|
30752
|
+
const file = _optionalChain([target, 'access', _716 => _716.files, 'optionalAccess', _717 => _717[0]]);
|
|
30643
30753
|
if (!file) return;
|
|
30644
30754
|
setIsUploading(true);
|
|
30645
30755
|
setUploadProgress(0);
|
|
@@ -30969,7 +31079,7 @@ function TranscriptSummaryEditor({
|
|
|
30969
31079
|
{
|
|
30970
31080
|
id: "subtitles",
|
|
30971
31081
|
value: subtitles || "",
|
|
30972
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
31082
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _718 => _718(e.target.value)]),
|
|
30973
31083
|
placeholder: subtitlesPlaceholder,
|
|
30974
31084
|
disabled: disabled || !onSubtitlesChange,
|
|
30975
31085
|
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",
|
|
@@ -31122,7 +31232,7 @@ var AIEnrichSection = ({
|
|
|
31122
31232
|
}) => {
|
|
31123
31233
|
const hasResults = status === "success" || status === "error";
|
|
31124
31234
|
const shouldDisable = disabled || !canEnrich;
|
|
31125
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
31235
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _719 => _719.filter, 'call', _720 => _720((f) => !f.isFilled)]) || [];
|
|
31126
31236
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31127
31237
|
"div",
|
|
31128
31238
|
{
|
|
@@ -31160,7 +31270,7 @@ var AIEnrichSection = ({
|
|
|
31160
31270
|
{
|
|
31161
31271
|
id: "ai-enrich-custom-instructions",
|
|
31162
31272
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
31163
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
31273
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _721 => _721(e.target.value)]),
|
|
31164
31274
|
placeholder: customInstructionsPlaceholder,
|
|
31165
31275
|
disabled: loading,
|
|
31166
31276
|
maxLength: customInstructionsMaxLength,
|
|
@@ -31289,7 +31399,7 @@ function HighlightVideoSection({
|
|
|
31289
31399
|
input.accept = "video/*";
|
|
31290
31400
|
input.onchange = async (e) => {
|
|
31291
31401
|
const target = e.target;
|
|
31292
|
-
const file = _optionalChain([target, 'access',
|
|
31402
|
+
const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
|
|
31293
31403
|
if (!file) return;
|
|
31294
31404
|
setUploadError(null);
|
|
31295
31405
|
try {
|
|
@@ -31791,7 +31901,7 @@ function HighlightVideoPreview({
|
|
|
31791
31901
|
input.accept = "video/*";
|
|
31792
31902
|
input.onchange = async (e) => {
|
|
31793
31903
|
const target = e.target;
|
|
31794
|
-
const file = _optionalChain([target, 'access',
|
|
31904
|
+
const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
|
|
31795
31905
|
if (!file) return;
|
|
31796
31906
|
await onUpload(file);
|
|
31797
31907
|
};
|
|
@@ -31978,7 +32088,7 @@ function HighlightVideoCombinedSection({
|
|
|
31978
32088
|
input.accept = "video/*";
|
|
31979
32089
|
input.onchange = async (e) => {
|
|
31980
32090
|
const target = e.target;
|
|
31981
|
-
const file = _optionalChain([target, 'access',
|
|
32091
|
+
const file = _optionalChain([target, 'access', _726 => _726.files, 'optionalAccess', _727 => _727[0]]);
|
|
31982
32092
|
if (!file) return;
|
|
31983
32093
|
await onUpload(file);
|
|
31984
32094
|
};
|
|
@@ -32275,7 +32385,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
32275
32385
|
return editMode ? "Set Global Permission" : "";
|
|
32276
32386
|
}
|
|
32277
32387
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
32278
|
-
return _optionalChain([option, 'optionalAccess',
|
|
32388
|
+
return _optionalChain([option, 'optionalAccess', _728 => _728.label]) || level;
|
|
32279
32389
|
};
|
|
32280
32390
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
32281
32391
|
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: [
|
|
@@ -32807,15 +32917,15 @@ function TicketCard({
|
|
|
32807
32917
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
32808
32918
|
transition: sortable.transition
|
|
32809
32919
|
};
|
|
32810
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
32920
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.length]) || ticket.organizationName);
|
|
32811
32921
|
const deviceText = [
|
|
32812
|
-
_optionalChain([ticket, 'access',
|
|
32922
|
+
_optionalChain([ticket, 'access', _731 => _731.deviceHostnames, 'optionalAccess', _732 => _732.join, 'call', _733 => _733(", ")]),
|
|
32813
32923
|
ticket.organizationName
|
|
32814
32924
|
].filter(Boolean).join(", ");
|
|
32815
32925
|
const handleClick = (e) => {
|
|
32816
32926
|
if (sortable.isDragging) e.preventDefault();
|
|
32817
32927
|
};
|
|
32818
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
32928
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _734 => _734.assignees, 'optionalAccess', _735 => _735.length]) || renderAssignSlot);
|
|
32819
32929
|
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: [
|
|
32820
32930
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32821
32931
|
_chunkVJTFBYVGcjs.Flag02Icon,
|
|
@@ -32824,7 +32934,7 @@ function TicketCard({
|
|
|
32824
32934
|
"aria-label": `Priority: ${ticket.priority}`
|
|
32825
32935
|
}
|
|
32826
32936
|
),
|
|
32827
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
32937
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _736 => _736.assignees, 'optionalAccess', _737 => _737.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
32828
32938
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32829
32939
|
SquareAvatar,
|
|
32830
32940
|
{
|
|
@@ -32853,7 +32963,7 @@ function TicketCard({
|
|
|
32853
32963
|
] }),
|
|
32854
32964
|
rightSection
|
|
32855
32965
|
] }),
|
|
32856
|
-
_optionalChain([ticket, 'access',
|
|
32966
|
+
_optionalChain([ticket, 'access', _738 => _738.tags, 'optionalAccess', _739 => _739.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
32857
32967
|
] });
|
|
32858
32968
|
const cardClasses = _chunkUC43NICZcjs.cn.call(void 0,
|
|
32859
32969
|
"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",
|
|
@@ -33013,7 +33123,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33013
33123
|
const observer = new IntersectionObserver(
|
|
33014
33124
|
(entries) => {
|
|
33015
33125
|
if (entries.some((e) => e.isIntersecting)) {
|
|
33016
|
-
_optionalChain([loadMoreRef, 'access',
|
|
33126
|
+
_optionalChain([loadMoreRef, 'access', _740 => _740.current, 'optionalCall', _741 => _741(columnIdRef.current)]);
|
|
33017
33127
|
}
|
|
33018
33128
|
},
|
|
33019
33129
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -33042,7 +33152,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33042
33152
|
{
|
|
33043
33153
|
ticket: t,
|
|
33044
33154
|
columnId: column.id,
|
|
33045
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
33155
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _742 => _742(t.id)]),
|
|
33046
33156
|
renderAssignSlot,
|
|
33047
33157
|
dragDisabled: column.dragDisabled
|
|
33048
33158
|
},
|
|
@@ -33137,17 +33247,17 @@ function Board({
|
|
|
33137
33247
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
33138
33248
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
33139
33249
|
const ticketHit = intersections.find(
|
|
33140
|
-
(c) => _optionalChain([c, 'access',
|
|
33250
|
+
(c) => _optionalChain([c, 'access', _743 => _743.data, 'optionalAccess', _744 => _744.droppableContainer, 'optionalAccess', _745 => _745.data, 'optionalAccess', _746 => _746.current, 'optionalAccess', _747 => _747.type]) === "ticket"
|
|
33141
33251
|
);
|
|
33142
33252
|
if (ticketHit) return [ticketHit];
|
|
33143
33253
|
const columnHit = intersections.find(
|
|
33144
|
-
(c) => _optionalChain([c, 'access',
|
|
33254
|
+
(c) => _optionalChain([c, 'access', _748 => _748.data, 'optionalAccess', _749 => _749.droppableContainer, 'optionalAccess', _750 => _750.data, 'optionalAccess', _751 => _751.current, 'optionalAccess', _752 => _752.type]) === "column"
|
|
33145
33255
|
);
|
|
33146
33256
|
if (columnHit) {
|
|
33147
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
33257
|
+
const columnId = _optionalChain([columnHit, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.droppableContainer, 'optionalAccess', _755 => _755.data, 'optionalAccess', _756 => _756.current, 'optionalAccess', _757 => _757.columnId]);
|
|
33148
33258
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
33149
33259
|
const d = c.data.current;
|
|
33150
|
-
return _optionalChain([d, 'optionalAccess',
|
|
33260
|
+
return _optionalChain([d, 'optionalAccess', _758 => _758.type]) === "ticket" && d.columnId === columnId;
|
|
33151
33261
|
});
|
|
33152
33262
|
if (ticketsInColumn.length > 0) {
|
|
33153
33263
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -33172,20 +33282,20 @@ function Board({
|
|
|
33172
33282
|
const overId = String(over.id);
|
|
33173
33283
|
if (activeId === overId) return;
|
|
33174
33284
|
const overData = over.data.current;
|
|
33175
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
33176
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
33285
|
+
const fromColumnId = _optionalChain([locate, 'call', _759 => _759(items, activeId), 'optionalAccess', _760 => _760.columnId]);
|
|
33286
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _761 => _761.columnId]);
|
|
33177
33287
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
33178
33288
|
const origin = dragOriginRef.current;
|
|
33179
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
33289
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _762 => _762.fromColumnId]) === toColumnId;
|
|
33180
33290
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33181
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
33182
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
33291
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _763 => _763.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
33292
|
+
if (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
33183
33293
|
setItems((prev) => {
|
|
33184
33294
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
33185
33295
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
33186
33296
|
if (fromIndex < 0 || !toCol) return prev;
|
|
33187
33297
|
let toIndex;
|
|
33188
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33298
|
+
if (_optionalChain([overData, 'optionalAccess', _765 => _765.type]) === "column") {
|
|
33189
33299
|
toIndex = toCol.tickets.length;
|
|
33190
33300
|
} else {
|
|
33191
33301
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -33227,14 +33337,14 @@ function Board({
|
|
|
33227
33337
|
const toColumnId = located.columnId;
|
|
33228
33338
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
33229
33339
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33230
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
33340
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _766 => _766.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _767 => _767.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
33231
33341
|
setItems(columns);
|
|
33232
33342
|
return;
|
|
33233
33343
|
}
|
|
33234
33344
|
let finalIndex = located.index;
|
|
33235
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
33345
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _768 => _768.find, 'call', _769 => _769((c) => c.id === toColumnId), 'optionalAccess', _770 => _770.tickets]), () => ( []));
|
|
33236
33346
|
const overData = over.data.current;
|
|
33237
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33347
|
+
if (_optionalChain([overData, 'optionalAccess', _771 => _771.type]) === "ticket") {
|
|
33238
33348
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
33239
33349
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
33240
33350
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -33254,8 +33364,8 @@ function Board({
|
|
|
33254
33364
|
ticketId: origin.ticketId,
|
|
33255
33365
|
fromColumnId: origin.fromColumnId,
|
|
33256
33366
|
toColumnId,
|
|
33257
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33258
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33367
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex - 1], 'optionalAccess', _773 => _773.id]), () => ( null)),
|
|
33368
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _774 => _774[finalIndex + 1], 'optionalAccess', _775 => _775.id]), () => ( null))
|
|
33259
33369
|
});
|
|
33260
33370
|
};
|
|
33261
33371
|
const handleDragCancel = () => {
|
|
@@ -33284,8 +33394,8 @@ function Board({
|
|
|
33284
33394
|
children: items.map((column, i) => {
|
|
33285
33395
|
const prev = items[i - 1];
|
|
33286
33396
|
const next = items[i + 1];
|
|
33287
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
33288
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
33397
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _776 => _776.system]));
|
|
33398
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _777 => _777.system]));
|
|
33289
33399
|
const showGap = i > 0 && !joinLeft;
|
|
33290
33400
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
|
|
33291
33401
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -33343,7 +33453,7 @@ function locate(cols, ticketId) {
|
|
|
33343
33453
|
return null;
|
|
33344
33454
|
}
|
|
33345
33455
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
33346
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
33456
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _778 => _778.find, 'call', _779 => _779((c) => c.id === columnId), 'optionalAccess', _780 => _780.tickets, 'access', _781 => _781.findIndex, 'call', _782 => _782((t) => t.id === ticketId)]), () => ( -1));
|
|
33347
33457
|
}
|
|
33348
33458
|
|
|
33349
33459
|
// src/components/features/board/types.ts
|
|
@@ -34007,5 +34117,6 @@ function canonicalize(status) {
|
|
|
34007
34117
|
|
|
34008
34118
|
|
|
34009
34119
|
|
|
34010
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; 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.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; 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.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
|
|
34011
|
-
//# sourceMappingURL=chunk-GMC5VU7X.cjs.map
|
|
34120
|
+
|
|
34121
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; 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.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; 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.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
|
|
34122
|
+
//# sourceMappingURL=chunk-IQM3G2I6.cjs.map
|