@flamingo-stack/openframe-frontend-core 0.0.176 → 0.0.177-snapshot.20260514141929
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-VY6SYM2L.js → chunk-AAX27BCR.js} +311 -467
- package/dist/chunk-AAX27BCR.js.map +1 -0
- package/dist/{chunk-WX7PT5C7.cjs → chunk-ALW3D72O.cjs} +61 -2
- package/dist/chunk-ALW3D72O.cjs.map +1 -0
- package/dist/{chunk-KB2N44BY.js → chunk-FMWHOUFE.js} +61 -2
- package/dist/chunk-FMWHOUFE.js.map +1 -0
- package/dist/{chunk-SVF4YOGM.cjs → chunk-L4T24AN4.cjs} +482 -638
- package/dist/chunk-L4T24AN4.cjs.map +1 -0
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/features/index.cjs +3 -5
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +2 -4
- package/dist/components/features/video-player.d.ts +17 -20
- package/dist/components/features/video-player.d.ts.map +1 -1
- package/dist/components/features/youtube-embed.d.ts +18 -4
- package/dist/components/features/youtube-embed.d.ts.map +1 -1
- package/dist/components/index.cjs +3 -5
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +2 -4
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/hooks/index.cjs +4 -2
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/use-near-viewport.d.ts +42 -0
- package/dist/hooks/use-near-viewport.d.ts.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/src/components/chat/chat-message-list.tsx +48 -27
- package/src/components/features/video-player.tsx +39 -176
- package/src/components/features/youtube-embed.tsx +107 -224
- package/src/hooks/index.ts +3 -0
- package/src/hooks/use-near-viewport.ts +118 -0
- package/dist/chunk-KB2N44BY.js.map +0 -1
- package/dist/chunk-SVF4YOGM.cjs.map +0 -1
- package/dist/chunk-VY6SYM2L.js.map +0 -1
- package/dist/chunk-WX7PT5C7.cjs.map +0 -1
- package/src/components/features/__tests__/video-player.test.tsx +0 -142
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkALW3D72Ocjs = require('./chunk-ALW3D72O.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -790,7 +790,7 @@ function AutocompleteInner(props, ref) {
|
|
|
790
790
|
}, [valueArray, options]);
|
|
791
791
|
const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
|
|
792
792
|
const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
|
|
793
|
-
const autoLimitTags =
|
|
793
|
+
const autoLimitTags = _chunkALW3D72Ocjs.useAutoLimitTags.call(void 0, {
|
|
794
794
|
count: multiple ? selectedOptions.length : 0,
|
|
795
795
|
limitTags: multiple ? limitTagsProp : 0,
|
|
796
796
|
placeholder: inputPlaceholder
|
|
@@ -2737,7 +2737,7 @@ function toToolLabel(input) {
|
|
|
2737
2737
|
if (!input) return "";
|
|
2738
2738
|
const toolType = normalizeToolType(input);
|
|
2739
2739
|
if (toolType) {
|
|
2740
|
-
return
|
|
2740
|
+
return _chunkALW3D72Ocjs.toolLabels[toolType];
|
|
2741
2741
|
}
|
|
2742
2742
|
return input;
|
|
2743
2743
|
}
|
|
@@ -2748,7 +2748,7 @@ function getToolTypeAliases(toolType) {
|
|
|
2748
2748
|
return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
|
|
2749
2749
|
}
|
|
2750
2750
|
function getToolLabel(toolType) {
|
|
2751
|
-
return
|
|
2751
|
+
return _chunkALW3D72Ocjs.toolLabels[toolType] || toolType;
|
|
2752
2752
|
}
|
|
2753
2753
|
|
|
2754
2754
|
// src/types/shell.types.ts
|
|
@@ -3338,7 +3338,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
|
|
|
3338
3338
|
onClick: onToggle,
|
|
3339
3339
|
className: "flex gap-2 items-start w-full p-3 cursor-pointer text-left",
|
|
3340
3340
|
children: [
|
|
3341
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkALW3D72Ocjs.ToolIcon, { toolType, size: 16 }) }),
|
|
3342
3342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3343
3343
|
"div",
|
|
3344
3344
|
{
|
|
@@ -5047,7 +5047,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5047
5047
|
className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
|
|
5048
5048
|
onClick: () => setExpanded((prev) => !prev),
|
|
5049
5049
|
children: [
|
|
5050
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5050
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkALW3D72Ocjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
|
|
5051
5051
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5052
5052
|
"div",
|
|
5053
5053
|
{
|
|
@@ -5432,10 +5432,13 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5432
5432
|
return;
|
|
5433
5433
|
}
|
|
5434
5434
|
if (newCount > prevCount) {
|
|
5435
|
-
const
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5435
|
+
const isPrepend = prependRef.current.firstMessageId !== void 0 && _optionalChain([messages, 'access', _110 => _110[0], 'optionalAccess', _111 => _111.id]) !== prependRef.current.firstMessageId;
|
|
5436
|
+
if (!isPrepend) {
|
|
5437
|
+
const newSlice = messages.slice(prevCount);
|
|
5438
|
+
const hasNewUser = newSlice.some((m) => m.role === "user");
|
|
5439
|
+
if (hasNewUser) {
|
|
5440
|
+
void scrollToBottom({ animation: "instant", ignoreEscapes: true });
|
|
5441
|
+
}
|
|
5439
5442
|
}
|
|
5440
5443
|
}
|
|
5441
5444
|
}, [autoScroll, messages, dialogId, scrollToBottom, scrollEl]);
|
|
@@ -5445,8 +5448,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5445
5448
|
prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
|
|
5446
5449
|
return;
|
|
5447
5450
|
}
|
|
5448
|
-
const currentFirstId = _optionalChain([messages, 'access',
|
|
5449
|
-
const currentFirstContent = _optionalChain([messages, 'access',
|
|
5451
|
+
const currentFirstId = _optionalChain([messages, 'access', _112 => _112[0], 'optionalAccess', _113 => _113.id]);
|
|
5452
|
+
const currentFirstContent = _optionalChain([messages, 'access', _114 => _114[0], 'optionalAccess', _115 => _115.content]);
|
|
5450
5453
|
const prevFirstId = prependRef.current.firstMessageId;
|
|
5451
5454
|
const prevHeight = prependRef.current.scrollHeight;
|
|
5452
5455
|
if (currentFirstId !== prevFirstId) {
|
|
@@ -5475,14 +5478,14 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5475
5478
|
if (!scrollContainer || !hasNextPage) return;
|
|
5476
5479
|
const tryLoad = () => {
|
|
5477
5480
|
if (isFetchingRef.current) return;
|
|
5478
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
5481
|
+
_optionalChain([onLoadMoreRef, 'access', _116 => _116.current, 'optionalCall', _117 => _117()]);
|
|
5479
5482
|
};
|
|
5480
5483
|
let observer;
|
|
5481
5484
|
if (sentinelElement) {
|
|
5482
5485
|
observer = new IntersectionObserver(
|
|
5483
5486
|
(entries) => {
|
|
5484
5487
|
const entry = entries[0];
|
|
5485
|
-
if (_optionalChain([entry, 'optionalAccess',
|
|
5488
|
+
if (_optionalChain([entry, 'optionalAccess', _118 => _118.isIntersecting])) tryLoad();
|
|
5486
5489
|
},
|
|
5487
5490
|
{ root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
|
|
5488
5491
|
);
|
|
@@ -5493,12 +5496,19 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5493
5496
|
};
|
|
5494
5497
|
scrollContainer.addEventListener("scroll", onScroll, { passive: true });
|
|
5495
5498
|
return () => {
|
|
5496
|
-
_optionalChain([observer, 'optionalAccess',
|
|
5499
|
+
_optionalChain([observer, 'optionalAccess', _119 => _119.disconnect, 'call', _120 => _120()]);
|
|
5497
5500
|
scrollContainer.removeEventListener("scroll", onScroll);
|
|
5498
5501
|
};
|
|
5499
5502
|
}, [hasNextPage, scrollEl, sentinelEl, messages.length]);
|
|
5500
5503
|
_react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
|
|
5501
5504
|
const showLoader = useDelayedFlag(isLoading, { delay: 200, minDuration: 400 });
|
|
5505
|
+
const setScrollRef = _react.useCallback.call(void 0, (el) => {
|
|
5506
|
+
scrollRef(el);
|
|
5507
|
+
setScrollEl(el);
|
|
5508
|
+
}, [scrollRef]);
|
|
5509
|
+
const setContentRef = _react.useCallback.call(void 0, (el) => {
|
|
5510
|
+
contentRef(el);
|
|
5511
|
+
}, [contentRef]);
|
|
5502
5512
|
if (showLoader) {
|
|
5503
5513
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5504
5514
|
ChatMessageListLoader,
|
|
@@ -5509,13 +5519,6 @@ var ChatMessageList = _react.forwardRef.call(void 0,
|
|
|
5509
5519
|
}
|
|
5510
5520
|
);
|
|
5511
5521
|
}
|
|
5512
|
-
const setScrollRef = (el) => {
|
|
5513
|
-
scrollRef(el);
|
|
5514
|
-
setScrollEl(el);
|
|
5515
|
-
};
|
|
5516
|
-
const setContentRef = (el) => {
|
|
5517
|
-
contentRef(el);
|
|
5518
|
-
};
|
|
5519
5522
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
|
|
5520
5523
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5521
5524
|
"div",
|
|
@@ -5656,7 +5659,7 @@ var ChatTicketItem = React15.forwardRef(
|
|
|
5656
5659
|
{
|
|
5657
5660
|
ref,
|
|
5658
5661
|
type: "button",
|
|
5659
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
5662
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _121 => _121(ticket.id)]),
|
|
5660
5663
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
5661
5664
|
"flex items-center gap-4 w-full h-20 px-4",
|
|
5662
5665
|
"bg-ods-card border-b border-ods-border",
|
|
@@ -6004,8 +6007,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
|
|
|
6004
6007
|
var DialogListItem = _react.forwardRef.call(void 0,
|
|
6005
6008
|
({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
|
|
6006
6009
|
const handleClick = (e) => {
|
|
6007
|
-
_optionalChain([onDialogSelect, 'optionalCall',
|
|
6008
|
-
_optionalChain([onClick, 'optionalCall',
|
|
6010
|
+
_optionalChain([onDialogSelect, 'optionalCall', _122 => _122(dialog.id)]);
|
|
6011
|
+
_optionalChain([onClick, 'optionalCall', _123 => _123(e)]);
|
|
6009
6012
|
};
|
|
6010
6013
|
const formatTimestamp2 = (timestamp) => {
|
|
6011
6014
|
if (!timestamp) return "";
|
|
@@ -6064,7 +6067,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
|
|
|
6064
6067
|
(entries) => {
|
|
6065
6068
|
const [entry] = entries;
|
|
6066
6069
|
if (entry.isIntersecting && !isFetchingRef.current) {
|
|
6067
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
6070
|
+
_optionalChain([onLoadMoreRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125()]);
|
|
6068
6071
|
}
|
|
6069
6072
|
},
|
|
6070
6073
|
{ root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
|
|
@@ -6482,7 +6485,7 @@ function useNatsDialogSubscription({
|
|
|
6482
6485
|
reconnectionBackoffRef.current = reconnectionBackoff;
|
|
6483
6486
|
}, [reconnectionBackoff]);
|
|
6484
6487
|
const acquireClient = _react.useCallback.call(void 0, (url) => {
|
|
6485
|
-
if (_optionalChain([shared, 'optionalAccess',
|
|
6488
|
+
if (_optionalChain([shared, 'optionalAccess', _126 => _126.wsUrl]) !== url) {
|
|
6486
6489
|
if (shared) {
|
|
6487
6490
|
shared.closeTimer && clearTimeout(shared.closeTimer);
|
|
6488
6491
|
const old = shared;
|
|
@@ -6491,7 +6494,7 @@ function useNatsDialogSubscription({
|
|
|
6491
6494
|
});
|
|
6492
6495
|
}
|
|
6493
6496
|
const { name = "openframe-frontend", user = "machine", pass = "" } = clientConfig;
|
|
6494
|
-
const client =
|
|
6497
|
+
const client = _chunkALW3D72Ocjs.createNatsClient.call(void 0, {
|
|
6495
6498
|
servers: url,
|
|
6496
6499
|
name,
|
|
6497
6500
|
user,
|
|
@@ -6573,7 +6576,7 @@ function useNatsDialogSubscription({
|
|
|
6573
6576
|
if (closed) return;
|
|
6574
6577
|
if (shared !== sharedConn) return;
|
|
6575
6578
|
try {
|
|
6576
|
-
await _optionalChain([onBeforeReconnectRef, 'access',
|
|
6579
|
+
await _optionalChain([onBeforeReconnectRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128()]);
|
|
6577
6580
|
} catch (e7) {
|
|
6578
6581
|
}
|
|
6579
6582
|
if (closed) return;
|
|
@@ -6606,22 +6609,22 @@ function useNatsDialogSubscription({
|
|
|
6606
6609
|
}
|
|
6607
6610
|
hadConnectionBeforeRef.current = true;
|
|
6608
6611
|
retryAttempt = 0;
|
|
6609
|
-
_optionalChain([onConnectRef, 'access',
|
|
6612
|
+
_optionalChain([onConnectRef, 'access', _129 => _129.current, 'optionalCall', _130 => _130()]);
|
|
6610
6613
|
}
|
|
6611
6614
|
if (disconnected) {
|
|
6612
6615
|
setIsConnected(false);
|
|
6613
6616
|
setIsSubscribed(false);
|
|
6614
6617
|
subscriptionRefs.current.forEach((sub) => {
|
|
6615
6618
|
try {
|
|
6616
|
-
_optionalChain([sub, 'optionalAccess',
|
|
6619
|
+
_optionalChain([sub, 'optionalAccess', _131 => _131.unsubscribe, 'call', _132 => _132()]);
|
|
6617
6620
|
} catch (e9) {
|
|
6618
6621
|
}
|
|
6619
6622
|
});
|
|
6620
6623
|
subscriptionRefs.current.clear();
|
|
6621
6624
|
lastSubscribedDialogIdRef.current = null;
|
|
6622
|
-
_optionalChain([abortControllerRef, 'access',
|
|
6625
|
+
_optionalChain([abortControllerRef, 'access', _133 => _133.current, 'optionalAccess', _134 => _134.abort, 'call', _135 => _135()]);
|
|
6623
6626
|
abortControllerRef.current = null;
|
|
6624
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
6627
|
+
_optionalChain([onDisconnectRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
|
|
6625
6628
|
scheduleRetry();
|
|
6626
6629
|
}
|
|
6627
6630
|
});
|
|
@@ -6637,7 +6640,7 @@ function useNatsDialogSubscription({
|
|
|
6637
6640
|
sharedConn.connectPromise = null;
|
|
6638
6641
|
if (!closed) {
|
|
6639
6642
|
setIsConnected(false);
|
|
6640
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
6643
|
+
_optionalChain([onDisconnectRef, 'access', _138 => _138.current, 'optionalCall', _139 => _139()]);
|
|
6641
6644
|
scheduleRetry();
|
|
6642
6645
|
}
|
|
6643
6646
|
}
|
|
@@ -6653,7 +6656,7 @@ function useNatsDialogSubscription({
|
|
|
6653
6656
|
}
|
|
6654
6657
|
subscriptionRefs.current.forEach((sub) => {
|
|
6655
6658
|
try {
|
|
6656
|
-
_optionalChain([sub, 'optionalAccess',
|
|
6659
|
+
_optionalChain([sub, 'optionalAccess', _140 => _140.unsubscribe, 'call', _141 => _141()]);
|
|
6657
6660
|
} catch (e11) {
|
|
6658
6661
|
}
|
|
6659
6662
|
});
|
|
@@ -6681,13 +6684,13 @@ function useNatsDialogSubscription({
|
|
|
6681
6684
|
setIsSubscribed(false);
|
|
6682
6685
|
subscriptionRefs.current.forEach((sub) => {
|
|
6683
6686
|
try {
|
|
6684
|
-
_optionalChain([sub, 'optionalAccess',
|
|
6687
|
+
_optionalChain([sub, 'optionalAccess', _142 => _142.unsubscribe, 'call', _143 => _143()]);
|
|
6685
6688
|
} catch (e12) {
|
|
6686
6689
|
}
|
|
6687
6690
|
});
|
|
6688
6691
|
subscriptionRefs.current.clear();
|
|
6689
6692
|
lastSubscribedDialogIdRef.current = null;
|
|
6690
|
-
_optionalChain([abortControllerRef, 'access',
|
|
6693
|
+
_optionalChain([abortControllerRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.abort, 'call', _146 => _146()]);
|
|
6691
6694
|
abortControllerRef.current = null;
|
|
6692
6695
|
}
|
|
6693
6696
|
return;
|
|
@@ -6699,12 +6702,12 @@ function useNatsDialogSubscription({
|
|
|
6699
6702
|
if (subscriptionRefs.current.size > 0) {
|
|
6700
6703
|
subscriptionRefs.current.forEach((sub) => {
|
|
6701
6704
|
try {
|
|
6702
|
-
_optionalChain([sub, 'optionalAccess',
|
|
6705
|
+
_optionalChain([sub, 'optionalAccess', _147 => _147.unsubscribe, 'call', _148 => _148()]);
|
|
6703
6706
|
} catch (e13) {
|
|
6704
6707
|
}
|
|
6705
6708
|
});
|
|
6706
6709
|
subscriptionRefs.current.clear();
|
|
6707
|
-
_optionalChain([abortControllerRef, 'access',
|
|
6710
|
+
_optionalChain([abortControllerRef, 'access', _149 => _149.current, 'optionalAccess', _150 => _150.abort, 'call', _151 => _151()]);
|
|
6708
6711
|
}
|
|
6709
6712
|
abortControllerRef.current = new AbortController();
|
|
6710
6713
|
const abort = abortControllerRef.current;
|
|
@@ -6736,7 +6739,7 @@ function useNatsDialogSubscription({
|
|
|
6736
6739
|
});
|
|
6737
6740
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
6738
6741
|
setIsSubscribed(true);
|
|
6739
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
6742
|
+
_optionalChain([onSubscribedRef, 'access', _152 => _152.current, 'optionalCall', _153 => _153()]);
|
|
6740
6743
|
};
|
|
6741
6744
|
if (isConnectedRef.current) {
|
|
6742
6745
|
createSubscriptions();
|
|
@@ -6746,7 +6749,7 @@ function useNatsDialogSubscription({
|
|
|
6746
6749
|
abort.abort();
|
|
6747
6750
|
subscriptionRefs.current.forEach((sub) => {
|
|
6748
6751
|
try {
|
|
6749
|
-
_optionalChain([sub, 'optionalAccess',
|
|
6752
|
+
_optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
|
|
6750
6753
|
} catch (e15) {
|
|
6751
6754
|
}
|
|
6752
6755
|
});
|
|
@@ -6787,7 +6790,7 @@ function useNatsDialogSubscription({
|
|
|
6787
6790
|
});
|
|
6788
6791
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
6789
6792
|
setIsSubscribed(true);
|
|
6790
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
6793
|
+
_optionalChain([onSubscribedRef, 'access', _156 => _156.current, 'optionalCall', _157 => _157()]);
|
|
6791
6794
|
} else if (subscriptionRefs.current.size > 0) {
|
|
6792
6795
|
setIsSubscribed(true);
|
|
6793
6796
|
}
|
|
@@ -6795,10 +6798,10 @@ function useNatsDialogSubscription({
|
|
|
6795
6798
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
6796
6799
|
}
|
|
6797
6800
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
6798
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
6801
|
+
const path = _optionalChain([options, 'optionalAccess', _158 => _158.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
6799
6802
|
const u = new URL(path, apiBaseUrl);
|
|
6800
6803
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
6801
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
6804
|
+
if (_optionalChain([options, 'optionalAccess', _159 => _159.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _160 => _160.token])) {
|
|
6802
6805
|
u.searchParams.set("authorization", options.token);
|
|
6803
6806
|
}
|
|
6804
6807
|
return u.toString();
|
|
@@ -7109,7 +7112,7 @@ var MessageSegmentAccumulator = class {
|
|
|
7109
7112
|
type: "tool_execution",
|
|
7110
7113
|
data: {
|
|
7111
7114
|
...toolData,
|
|
7112
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
7115
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _161 => _161.parameters])
|
|
7113
7116
|
}
|
|
7114
7117
|
};
|
|
7115
7118
|
if (existingIndex !== -1) {
|
|
@@ -7133,8 +7136,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7133
7136
|
if (seg.type !== "approval_batch") return seg;
|
|
7134
7137
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
7135
7138
|
if (!hasCall) return seg;
|
|
7136
|
-
const prev = _optionalChain([seg, 'access',
|
|
7137
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
7139
|
+
const prev = _optionalChain([seg, 'access', _162 => _162.data, 'access', _163 => _163.executions, 'optionalAccess', _164 => _164[execId]]);
|
|
7140
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _165 => _165.result]), success: _optionalChain([prev, 'optionalAccess', _166 => _166.success]) };
|
|
7138
7141
|
matched = true;
|
|
7139
7142
|
return {
|
|
7140
7143
|
...seg,
|
|
@@ -7230,10 +7233,10 @@ var MessageSegmentAccumulator = class {
|
|
|
7230
7233
|
const segment = {
|
|
7231
7234
|
type: "approval_request",
|
|
7232
7235
|
data: {
|
|
7233
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7234
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7236
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _167 => _167.command]) || "",
|
|
7237
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _168 => _168.explanation]),
|
|
7235
7238
|
requestId,
|
|
7236
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
7239
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _169 => _169.approvalType]) || approvalType
|
|
7237
7240
|
},
|
|
7238
7241
|
status,
|
|
7239
7242
|
onApprove: this.callbacks.onApprove,
|
|
@@ -7421,7 +7424,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7421
7424
|
if (initialState.escalatedApprovals) {
|
|
7422
7425
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
7423
7426
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
7424
|
-
_optionalChain([callbacks, 'access',
|
|
7427
|
+
_optionalChain([callbacks, 'access', _170 => _170.onEscalatedApproval, 'optionalCall', _171 => _171(requestId, data)]);
|
|
7425
7428
|
});
|
|
7426
7429
|
}
|
|
7427
7430
|
hasInitializedWithData.current = true;
|
|
@@ -7440,30 +7443,30 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7440
7443
|
switch (action.action) {
|
|
7441
7444
|
case "message_start":
|
|
7442
7445
|
isInStreamRef.current = true;
|
|
7443
|
-
_optionalChain([callbacks, 'access',
|
|
7446
|
+
_optionalChain([callbacks, 'access', _172 => _172.onStreamStart, 'optionalCall', _173 => _173()]);
|
|
7444
7447
|
accumulator.resetSegments();
|
|
7445
7448
|
break;
|
|
7446
7449
|
case "message_end":
|
|
7447
7450
|
isInStreamRef.current = false;
|
|
7448
|
-
_optionalChain([callbacks, 'access',
|
|
7451
|
+
_optionalChain([callbacks, 'access', _174 => _174.onStreamEnd, 'optionalCall', _175 => _175()]);
|
|
7449
7452
|
accumulator.resetSegments();
|
|
7450
7453
|
break;
|
|
7451
7454
|
case "metadata":
|
|
7452
|
-
_optionalChain([callbacks, 'access',
|
|
7455
|
+
_optionalChain([callbacks, 'access', _176 => _176.onMetadata, 'optionalCall', _177 => _177(action)]);
|
|
7453
7456
|
break;
|
|
7454
7457
|
case "text": {
|
|
7455
7458
|
const segments = accumulator.appendText(action.text);
|
|
7456
|
-
_optionalChain([callbacks, 'access',
|
|
7459
|
+
_optionalChain([callbacks, 'access', _178 => _178.onSegmentsUpdate, 'optionalCall', _179 => _179(segments)]);
|
|
7457
7460
|
break;
|
|
7458
7461
|
}
|
|
7459
7462
|
case "thinking": {
|
|
7460
7463
|
const segments = accumulator.appendThinking(action.text);
|
|
7461
|
-
_optionalChain([callbacks, 'access',
|
|
7464
|
+
_optionalChain([callbacks, 'access', _180 => _180.onSegmentsUpdate, 'optionalCall', _181 => _181(segments)]);
|
|
7462
7465
|
break;
|
|
7463
7466
|
}
|
|
7464
7467
|
case "tool_execution": {
|
|
7465
7468
|
const segments = accumulator.addToolExecution(action.segment);
|
|
7466
|
-
_optionalChain([callbacks, 'access',
|
|
7469
|
+
_optionalChain([callbacks, 'access', _182 => _182.onSegmentsUpdate, 'optionalCall', _183 => _183(segments)]);
|
|
7467
7470
|
break;
|
|
7468
7471
|
}
|
|
7469
7472
|
case "approval_request": {
|
|
@@ -7477,10 +7480,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7477
7480
|
approvalType,
|
|
7478
7481
|
status
|
|
7479
7482
|
);
|
|
7480
|
-
_optionalChain([callbacks, 'access',
|
|
7483
|
+
_optionalChain([callbacks, 'access', _184 => _184.onSegmentsUpdate, 'optionalCall', _185 => _185(segments)]);
|
|
7481
7484
|
} else {
|
|
7482
7485
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
7483
|
-
_optionalChain([callbacks, 'access',
|
|
7486
|
+
_optionalChain([callbacks, 'access', _186 => _186.onEscalatedApproval, 'optionalCall', _187 => _187(requestId, { command, explanation, approvalType })]);
|
|
7484
7487
|
}
|
|
7485
7488
|
break;
|
|
7486
7489
|
}
|
|
@@ -7492,20 +7495,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7492
7495
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
7493
7496
|
pendingEscalatedRef.current.set(requestId, {
|
|
7494
7497
|
command: summary,
|
|
7495
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
7498
|
+
explanation: _optionalChain([required, 'optionalAccess', _188 => _188.toolExplanation]),
|
|
7496
7499
|
approvalType,
|
|
7497
7500
|
toolCalls
|
|
7498
7501
|
});
|
|
7499
|
-
_optionalChain([callbacks, 'access',
|
|
7502
|
+
_optionalChain([callbacks, 'access', _189 => _189.onEscalatedApproval, 'optionalCall', _190 => _190(requestId, {
|
|
7500
7503
|
command: summary,
|
|
7501
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
7504
|
+
explanation: _optionalChain([required, 'optionalAccess', _191 => _191.toolExplanation]),
|
|
7502
7505
|
approvalType
|
|
7503
7506
|
})]);
|
|
7504
7507
|
break;
|
|
7505
7508
|
}
|
|
7506
7509
|
if (batchApprovalsEnabled) {
|
|
7507
7510
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
7508
|
-
_optionalChain([callbacks, 'access',
|
|
7511
|
+
_optionalChain([callbacks, 'access', _192 => _192.onSegmentsUpdate, 'optionalCall', _193 => _193(segments2)]);
|
|
7509
7512
|
break;
|
|
7510
7513
|
}
|
|
7511
7514
|
let segments = accumulator.getSegments();
|
|
@@ -7519,7 +7522,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7519
7522
|
status
|
|
7520
7523
|
);
|
|
7521
7524
|
}
|
|
7522
|
-
_optionalChain([callbacks, 'access',
|
|
7525
|
+
_optionalChain([callbacks, 'access', _194 => _194.onSegmentsUpdate, 'optionalCall', _195 => _195(segments)]);
|
|
7523
7526
|
break;
|
|
7524
7527
|
}
|
|
7525
7528
|
case "approval_result": {
|
|
@@ -7528,7 +7531,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7528
7531
|
const status = approved ? "approved" : "rejected";
|
|
7529
7532
|
if (escalatedData) {
|
|
7530
7533
|
pendingEscalatedRef.current.delete(requestId);
|
|
7531
|
-
_optionalChain([callbacks, 'access',
|
|
7534
|
+
_optionalChain([callbacks, 'access', _196 => _196.onEscalatedApprovalResult, 'optionalCall', _197 => _197(requestId, approved, {
|
|
7532
7535
|
command: escalatedData.command,
|
|
7533
7536
|
explanation: escalatedData.explanation,
|
|
7534
7537
|
approvalType: escalatedData.approvalType
|
|
@@ -7541,7 +7544,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7541
7544
|
escalatedData.toolCalls,
|
|
7542
7545
|
status
|
|
7543
7546
|
);
|
|
7544
|
-
_optionalChain([callbacks, 'access',
|
|
7547
|
+
_optionalChain([callbacks, 'access', _198 => _198.onSegmentsUpdate, 'optionalCall', _199 => _199(segments)]);
|
|
7545
7548
|
} else {
|
|
7546
7549
|
let segments = accumulator.getSegments();
|
|
7547
7550
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -7554,7 +7557,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7554
7557
|
status
|
|
7555
7558
|
);
|
|
7556
7559
|
}
|
|
7557
|
-
_optionalChain([callbacks, 'access',
|
|
7560
|
+
_optionalChain([callbacks, 'access', _200 => _200.onSegmentsUpdate, 'optionalCall', _201 => _201(segments)]);
|
|
7558
7561
|
}
|
|
7559
7562
|
} else {
|
|
7560
7563
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -7564,63 +7567,63 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7564
7567
|
escalatedData.approvalType,
|
|
7565
7568
|
status
|
|
7566
7569
|
);
|
|
7567
|
-
_optionalChain([callbacks, 'access',
|
|
7570
|
+
_optionalChain([callbacks, 'access', _202 => _202.onSegmentsUpdate, 'optionalCall', _203 => _203(segments)]);
|
|
7568
7571
|
}
|
|
7569
7572
|
} else {
|
|
7570
7573
|
const segments = accumulator.updateApprovalStatus(requestId, status);
|
|
7571
|
-
_optionalChain([callbacks, 'access',
|
|
7574
|
+
_optionalChain([callbacks, 'access', _204 => _204.onSegmentsUpdate, 'optionalCall', _205 => _205(segments)]);
|
|
7572
7575
|
}
|
|
7573
7576
|
void approvalType;
|
|
7574
7577
|
break;
|
|
7575
7578
|
}
|
|
7576
7579
|
case "error": {
|
|
7577
7580
|
let message;
|
|
7578
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
7581
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _206 => _206.details])) {
|
|
7579
7582
|
try {
|
|
7580
|
-
message = _optionalChain([JSON, 'access',
|
|
7583
|
+
message = _optionalChain([JSON, 'access', _207 => _207.parse, 'call', _208 => _208(action.details), 'optionalAccess', _209 => _209.error, 'optionalAccess', _210 => _210.message]);
|
|
7581
7584
|
} catch (e17) {
|
|
7582
7585
|
message = action.details;
|
|
7583
7586
|
}
|
|
7584
7587
|
}
|
|
7585
7588
|
const segments = accumulator.addError(action.error, message);
|
|
7586
|
-
_optionalChain([callbacks, 'access',
|
|
7587
|
-
_optionalChain([callbacks, 'access',
|
|
7589
|
+
_optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
|
|
7590
|
+
_optionalChain([callbacks, 'access', _213 => _213.onError, 'optionalCall', _214 => _214(action.error, message)]);
|
|
7588
7591
|
break;
|
|
7589
7592
|
}
|
|
7590
7593
|
case "system": {
|
|
7591
|
-
_optionalChain([callbacks, 'access',
|
|
7594
|
+
_optionalChain([callbacks, 'access', _215 => _215.onSystemMessage, 'optionalCall', _216 => _216(action.text)]);
|
|
7592
7595
|
break;
|
|
7593
7596
|
}
|
|
7594
7597
|
case "direct_message": {
|
|
7595
|
-
_optionalChain([callbacks, 'access',
|
|
7598
|
+
_optionalChain([callbacks, 'access', _217 => _217.onDirectMessage, 'optionalCall', _218 => _218(action.text, {
|
|
7596
7599
|
ownerType: action.ownerType,
|
|
7597
7600
|
displayName: action.displayName
|
|
7598
7601
|
})]);
|
|
7599
7602
|
break;
|
|
7600
7603
|
}
|
|
7601
7604
|
case "message_request":
|
|
7602
|
-
_optionalChain([callbacks, 'access',
|
|
7605
|
+
_optionalChain([callbacks, 'access', _219 => _219.onUserMessage, 'optionalCall', _220 => _220(action.text, {
|
|
7603
7606
|
ownerType: action.ownerType,
|
|
7604
7607
|
displayName: action.displayName
|
|
7605
7608
|
})]);
|
|
7606
7609
|
break;
|
|
7607
7610
|
case "token_usage":
|
|
7608
|
-
_optionalChain([callbacks, 'access',
|
|
7611
|
+
_optionalChain([callbacks, 'access', _221 => _221.onTokenUsage, 'optionalCall', _222 => _222(action.data)]);
|
|
7609
7612
|
break;
|
|
7610
7613
|
case "context_compaction_start": {
|
|
7611
7614
|
const standalone = !isInStreamRef.current;
|
|
7612
7615
|
const segments = accumulator.addContextCompaction();
|
|
7613
|
-
_optionalChain([callbacks, 'access',
|
|
7616
|
+
_optionalChain([callbacks, 'access', _223 => _223.onSegmentsUpdate, 'optionalCall', _224 => _224(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
7614
7617
|
break;
|
|
7615
7618
|
}
|
|
7616
7619
|
case "context_compaction_end": {
|
|
7617
7620
|
const standalone = !isInStreamRef.current;
|
|
7618
7621
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
7619
|
-
_optionalChain([callbacks, 'access',
|
|
7622
|
+
_optionalChain([callbacks, 'access', _225 => _225.onSegmentsUpdate, 'optionalCall', _226 => _226(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
7620
7623
|
break;
|
|
7621
7624
|
}
|
|
7622
7625
|
case "dialog_closed":
|
|
7623
|
-
_optionalChain([callbacks, 'access',
|
|
7626
|
+
_optionalChain([callbacks, 'access', _227 => _227.onDialogClosed, 'optionalCall', _228 => _228()]);
|
|
7624
7627
|
break;
|
|
7625
7628
|
default:
|
|
7626
7629
|
break;
|
|
@@ -7656,12 +7659,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
7656
7659
|
|
|
7657
7660
|
// src/components/chat/utils/process-historical-messages.ts
|
|
7658
7661
|
function getOwnerDisplayName(owner) {
|
|
7659
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
7662
|
+
if (_optionalChain([owner, 'optionalAccess', _229 => _229.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
7660
7663
|
const { firstName, lastName } = owner.user;
|
|
7661
7664
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
7662
7665
|
if (name) return name;
|
|
7663
7666
|
}
|
|
7664
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
7667
|
+
return _optionalChain([owner, 'optionalAccess', _230 => _230.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
7665
7668
|
}
|
|
7666
7669
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
7667
7670
|
messageDataArray.forEach((data) => {
|
|
@@ -7724,10 +7727,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
7724
7727
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
7725
7728
|
return;
|
|
7726
7729
|
}
|
|
7727
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
7730
|
+
const isUserMessage = _optionalChain([msg, 'access', _231 => _231.owner, 'optionalAccess', _232 => _232.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _233 => _233.owner, 'optionalAccess', _234 => _234.type]) === OWNER_TYPE.ADMIN;
|
|
7728
7731
|
if (isUserMessage) {
|
|
7729
7732
|
flushAssistantMessage();
|
|
7730
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
7733
|
+
const userAuthorType = _optionalChain([msg, 'access', _235 => _235.owner, 'optionalAccess', _236 => _236.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
7731
7734
|
messageDataArray.forEach((data) => {
|
|
7732
7735
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
7733
7736
|
processedMessages.push({
|
|
@@ -7751,7 +7754,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
7751
7754
|
});
|
|
7752
7755
|
const nextMsg = messages[index + 1];
|
|
7753
7756
|
const isLastMessage = index === messages.length - 1;
|
|
7754
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
7757
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _237 => _237.owner, 'optionalAccess', _238 => _238.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _239 => _239.owner, 'optionalAccess', _240 => _240.type]) === OWNER_TYPE.ADMIN);
|
|
7755
7758
|
if (isLastMessage || nextIsFromUser) {
|
|
7756
7759
|
flushAssistantMessage();
|
|
7757
7760
|
}
|
|
@@ -7848,7 +7851,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
7848
7851
|
});
|
|
7849
7852
|
}
|
|
7850
7853
|
} else {
|
|
7851
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
7854
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _241 => _241.set, 'call', _242 => _242(data.approvalRequestId, {
|
|
7852
7855
|
command: data.command || "",
|
|
7853
7856
|
explanation: data.explanation,
|
|
7854
7857
|
approvalType,
|
|
@@ -7861,8 +7864,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
7861
7864
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
7862
7865
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
7863
7866
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
7864
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
7865
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
7867
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _243 => _243.get, 'call', _244 => _244(data.approvalRequestId)]);
|
|
7868
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _245 => _245.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
7866
7869
|
if (batchApprovalsEnabled) {
|
|
7867
7870
|
accumulator.addApprovalBatch(
|
|
7868
7871
|
data.approvalRequestId,
|
|
@@ -7882,7 +7885,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
7882
7885
|
);
|
|
7883
7886
|
}
|
|
7884
7887
|
}
|
|
7885
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
7888
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _246 => _246.delete, 'call', _247 => _247(data.approvalRequestId)]);
|
|
7886
7889
|
break;
|
|
7887
7890
|
}
|
|
7888
7891
|
if (escalatedData) {
|
|
@@ -7891,7 +7894,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
7891
7894
|
explanation: escalatedData.explanation,
|
|
7892
7895
|
approvalType: escalatedData.approvalType
|
|
7893
7896
|
});
|
|
7894
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
7897
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _248 => _248.delete, 'call', _249 => _249(data.approvalRequestId)]);
|
|
7895
7898
|
}
|
|
7896
7899
|
const before = accumulator.getSegments();
|
|
7897
7900
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -7907,9 +7910,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
7907
7910
|
case MESSAGE_TYPE.ERROR:
|
|
7908
7911
|
if ("error" in data) {
|
|
7909
7912
|
let message;
|
|
7910
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
7913
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _250 => _250.details])) {
|
|
7911
7914
|
try {
|
|
7912
|
-
message = _optionalChain([JSON, 'access',
|
|
7915
|
+
message = _optionalChain([JSON, 'access', _251 => _251.parse, 'call', _252 => _252(data.details), 'optionalAccess', _253 => _253.error, 'optionalAccess', _254 => _254.message]);
|
|
7913
7916
|
} catch (e18) {
|
|
7914
7917
|
message = data.details;
|
|
7915
7918
|
}
|
|
@@ -7992,10 +7995,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
7992
7995
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
7993
7996
|
return;
|
|
7994
7997
|
}
|
|
7995
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
7998
|
+
const isUserMessage = _optionalChain([msg, 'access', _255 => _255.owner, 'optionalAccess', _256 => _256.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _257 => _257.owner, 'optionalAccess', _258 => _258.type]) === OWNER_TYPE.ADMIN;
|
|
7996
7999
|
if (isUserMessage) {
|
|
7997
8000
|
flushAssistantMessage();
|
|
7998
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8001
|
+
const userAuthorType = _optionalChain([msg, 'access', _259 => _259.owner, 'optionalAccess', _260 => _260.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
7999
8002
|
messageDataArray.forEach((data) => {
|
|
8000
8003
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8001
8004
|
processedMessages.push({
|
|
@@ -8019,7 +8022,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8019
8022
|
});
|
|
8020
8023
|
const nextMsg = messages[index + 1];
|
|
8021
8024
|
const isLastMessage = index === messages.length - 1;
|
|
8022
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8025
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _261 => _261.owner, 'optionalAccess', _262 => _262.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _263 => _263.owner, 'optionalAccess', _264 => _264.type]) === OWNER_TYPE.ADMIN);
|
|
8023
8026
|
if (isLastMessage || nextIsFromUser) {
|
|
8024
8027
|
flushAssistantMessage();
|
|
8025
8028
|
}
|
|
@@ -8078,7 +8081,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
8078
8081
|
break;
|
|
8079
8082
|
case "approval_batch": {
|
|
8080
8083
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
8081
|
-
(c) => _optionalChain([segment, 'access',
|
|
8084
|
+
(c) => _optionalChain([segment, 'access', _265 => _265.data, 'access', _266 => _266.executions, 'optionalAccess', _267 => _267[c.toolExecutionRequestId], 'optionalAccess', _268 => _268.status]) === "done"
|
|
8082
8085
|
);
|
|
8083
8086
|
if (segment.status !== "rejected" && !allDone) {
|
|
8084
8087
|
hasIncompleteState = true;
|
|
@@ -8240,7 +8243,7 @@ function Header({ config, platform }) {
|
|
|
8240
8243
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
8241
8244
|
"flex justify-start w-full",
|
|
8242
8245
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
8243
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
8246
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _269 => _269.children, 'optionalAccess', _270 => _270.length]), () => ( 0))) - 1 && "mb-1",
|
|
8244
8247
|
"text-ods-text-primary",
|
|
8245
8248
|
// All dropdown items use primary text color
|
|
8246
8249
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -8332,7 +8335,7 @@ function Header({ config, platform }) {
|
|
|
8332
8335
|
style: config.style,
|
|
8333
8336
|
children: [
|
|
8334
8337
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
8335
|
-
_optionalChain([config, 'access',
|
|
8338
|
+
_optionalChain([config, 'access', _271 => _271.actions, 'optionalAccess', _272 => _272.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
8336
8339
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
8337
8340
|
] }),
|
|
8338
8341
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8349,7 +8352,7 @@ function Header({ config, platform }) {
|
|
|
8349
8352
|
}
|
|
8350
8353
|
),
|
|
8351
8354
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
8352
|
-
_optionalChain([config, 'access',
|
|
8355
|
+
_optionalChain([config, 'access', _273 => _273.actions, 'optionalAccess', _274 => _274.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
8353
8356
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8354
8357
|
_chunkBJTOSUT4cjs.Button,
|
|
8355
8358
|
{
|
|
@@ -8357,10 +8360,10 @@ function Header({ config, platform }) {
|
|
|
8357
8360
|
size: "icon",
|
|
8358
8361
|
className: "flex md:hidden",
|
|
8359
8362
|
onClick: () => {
|
|
8360
|
-
_optionalChain([config, 'access',
|
|
8363
|
+
_optionalChain([config, 'access', _275 => _275.mobile, 'optionalAccess', _276 => _276.onToggle, 'optionalCall', _277 => _277()]);
|
|
8361
8364
|
},
|
|
8362
|
-
"aria-label": _optionalChain([config, 'access',
|
|
8363
|
-
leftIcon: _optionalChain([config, 'access',
|
|
8365
|
+
"aria-label": _optionalChain([config, 'access', _278 => _278.mobile, 'optionalAccess', _279 => _279.isOpen]) ? "Close menu" : "Open menu",
|
|
8366
|
+
leftIcon: _optionalChain([config, 'access', _280 => _280.mobile, 'optionalAccess', _281 => _281.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Menu01Icon, {})
|
|
8364
8367
|
}
|
|
8365
8368
|
)
|
|
8366
8369
|
] })
|
|
@@ -8377,10 +8380,10 @@ function Header({ config, platform }) {
|
|
|
8377
8380
|
// src/components/navigation/header-skeleton.tsx
|
|
8378
8381
|
|
|
8379
8382
|
function HeaderSkeleton({ config }) {
|
|
8380
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
8381
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
8382
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
8383
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
8383
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _282 => _282.navigation]) && config.navigation.items.length > 0;
|
|
8384
|
+
const showActions = _optionalChain([config, 'optionalAccess', _283 => _283.actions, 'optionalAccess', _284 => _284.right]) && config.actions.right.length > 0;
|
|
8385
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _285 => _285.mobile, 'optionalAccess', _286 => _286.enabled]);
|
|
8386
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _287 => _287.className, 'optionalAccess', _288 => _288.includes, 'call', _289 => _289("admin")]);
|
|
8384
8387
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
8385
8388
|
"header",
|
|
8386
8389
|
{
|
|
@@ -8389,11 +8392,11 @@ function HeaderSkeleton({ config }) {
|
|
|
8389
8392
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
8390
8393
|
"px-6 py-3",
|
|
8391
8394
|
"transition-opacity duration-300 ease-in-out",
|
|
8392
|
-
_optionalChain([config, 'optionalAccess',
|
|
8395
|
+
_optionalChain([config, 'optionalAccess', _290 => _290.className])
|
|
8393
8396
|
),
|
|
8394
8397
|
children: [
|
|
8395
8398
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
8396
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
8399
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _291 => _291.actions, 'optionalAccess', _292 => _292.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" }) }),
|
|
8397
8400
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
8398
8401
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
8399
8402
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -8401,8 +8404,8 @@ function HeaderSkeleton({ config }) {
|
|
|
8401
8404
|
] }),
|
|
8402
8405
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
8403
8406
|
"hidden md:flex items-center gap-2",
|
|
8404
|
-
_optionalChain([config, 'optionalAccess',
|
|
8405
|
-
_optionalChain([config, 'optionalAccess',
|
|
8407
|
+
_optionalChain([config, 'optionalAccess', _293 => _293.navigation, 'optionalAccess', _294 => _294.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
8408
|
+
_optionalChain([config, 'optionalAccess', _295 => _295.navigation, 'optionalAccess', _296 => _296.position]) === "right" && "ml-auto mr-4"
|
|
8406
8409
|
), children: [
|
|
8407
8410
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
8408
8411
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -8450,7 +8453,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
8450
8453
|
_react.useEffect.call(void 0, () => {
|
|
8451
8454
|
const handleKeyDown = (e) => {
|
|
8452
8455
|
if (e.key === "Escape" && isOpen) {
|
|
8453
|
-
_optionalChain([config, 'access',
|
|
8456
|
+
_optionalChain([config, 'access', _297 => _297.onClose, 'optionalCall', _298 => _298()]);
|
|
8454
8457
|
}
|
|
8455
8458
|
};
|
|
8456
8459
|
if (isOpen) {
|
|
@@ -8467,7 +8470,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
8467
8470
|
if (item.onClick) {
|
|
8468
8471
|
item.onClick();
|
|
8469
8472
|
}
|
|
8470
|
-
_optionalChain([config, 'access',
|
|
8473
|
+
_optionalChain([config, 'access', _299 => _299.onClose, 'optionalCall', _300 => _300()]);
|
|
8471
8474
|
};
|
|
8472
8475
|
if (item.href) {
|
|
8473
8476
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -8685,7 +8688,7 @@ function SlidingSidebar({ config }) {
|
|
|
8685
8688
|
variant: "transparent",
|
|
8686
8689
|
size: "default",
|
|
8687
8690
|
onClick: () => {
|
|
8688
|
-
_optionalChain([item, 'access',
|
|
8691
|
+
_optionalChain([item, 'access', _301 => _301.onClick, 'optionalCall', _302 => _302()]);
|
|
8689
8692
|
config.onClose();
|
|
8690
8693
|
},
|
|
8691
8694
|
leftIcon: item.icon,
|
|
@@ -8708,7 +8711,7 @@ function SlidingSidebar({ config }) {
|
|
|
8708
8711
|
variant: "transparent",
|
|
8709
8712
|
size: "default",
|
|
8710
8713
|
onClick: () => {
|
|
8711
|
-
_optionalChain([item, 'access',
|
|
8714
|
+
_optionalChain([item, 'access', _303 => _303.onClick, 'optionalCall', _304 => _304()]);
|
|
8712
8715
|
config.onClose();
|
|
8713
8716
|
},
|
|
8714
8717
|
leftIcon: item.icon,
|
|
@@ -8835,7 +8838,7 @@ function StickySectionNav({
|
|
|
8835
8838
|
] });
|
|
8836
8839
|
}
|
|
8837
8840
|
function useSectionNavigation(sections, options) {
|
|
8838
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
8841
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _305 => _305[0], 'optionalAccess', _306 => _306.id]) || "");
|
|
8839
8842
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
8840
8843
|
const { offset: offset2 = 100 } = options || {};
|
|
8841
8844
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -8860,7 +8863,7 @@ function useSectionNavigation(sections, options) {
|
|
|
8860
8863
|
const handleScroll = () => {
|
|
8861
8864
|
if (isScrollingFromClick.current) return;
|
|
8862
8865
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
8863
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
8866
|
+
let currentSection = _optionalChain([sections, 'access', _307 => _307[0], 'optionalAccess', _308 => _308.id]) || "";
|
|
8864
8867
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
8865
8868
|
const element = document.getElementById(sections[i].id);
|
|
8866
8869
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -9034,8 +9037,8 @@ var MINIMIZED_WIDTH = 56;
|
|
|
9034
9037
|
var EXPANDED_WIDTH = 224;
|
|
9035
9038
|
var STORAGE_KEY = "of.navigationSidebar.minimized";
|
|
9036
9039
|
function NavigationSidebar({ config, disabled = false }) {
|
|
9037
|
-
const isLgUp = _nullishCoalesce(
|
|
9038
|
-
const [minimized, setMinimized] =
|
|
9040
|
+
const isLgUp = _nullishCoalesce(_chunkALW3D72Ocjs.useLgUp.call(void 0, ), () => ( false));
|
|
9041
|
+
const [minimized, setMinimized] = _chunkALW3D72Ocjs.useLocalStorage.call(void 0,
|
|
9039
9042
|
STORAGE_KEY,
|
|
9040
9043
|
!isLgUp || (_nullishCoalesce(config.minimized, () => ( false)))
|
|
9041
9044
|
);
|
|
@@ -9044,14 +9047,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
9044
9047
|
const showLabel = isLgUp && !minimized;
|
|
9045
9048
|
const handleToggle = _react.useCallback.call(void 0, () => {
|
|
9046
9049
|
setMinimized((prev) => !prev);
|
|
9047
|
-
_optionalChain([config, 'access',
|
|
9050
|
+
_optionalChain([config, 'access', _309 => _309.onToggleMinimized, 'optionalCall', _310 => _310()]);
|
|
9048
9051
|
}, [setMinimized, config]);
|
|
9049
9052
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
9050
|
-
_optionalChain([event, 'optionalAccess',
|
|
9053
|
+
_optionalChain([event, 'optionalAccess', _311 => _311.stopPropagation, 'call', _312 => _312()]);
|
|
9051
9054
|
if (item.onClick) {
|
|
9052
9055
|
item.onClick();
|
|
9053
9056
|
} else if (item.path) {
|
|
9054
|
-
_optionalChain([config, 'access',
|
|
9057
|
+
_optionalChain([config, 'access', _313 => _313.onNavigate, 'optionalCall', _314 => _314(item.path)]);
|
|
9055
9058
|
}
|
|
9056
9059
|
}, [config]);
|
|
9057
9060
|
const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
|
|
@@ -9191,7 +9194,7 @@ function NotificationsProvider({
|
|
|
9191
9194
|
const setShowPopups = React24.useCallback(
|
|
9192
9195
|
(value2) => {
|
|
9193
9196
|
setShowPopupsState(value2);
|
|
9194
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
9197
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _315 => _315(value2)]);
|
|
9195
9198
|
},
|
|
9196
9199
|
[onShowPopupsChange]
|
|
9197
9200
|
);
|
|
@@ -9296,11 +9299,11 @@ function HeaderGlobalSearch({
|
|
|
9296
9299
|
};
|
|
9297
9300
|
const handleSubmit = (e) => {
|
|
9298
9301
|
e.preventDefault();
|
|
9299
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
9302
|
+
_optionalChain([onSubmit, 'optionalCall', _316 => _316(currentValue)]);
|
|
9300
9303
|
};
|
|
9301
9304
|
const handleKeyDown = (e) => {
|
|
9302
9305
|
if (e.key === "Enter") {
|
|
9303
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
9306
|
+
_optionalChain([onSubmit, 'optionalCall', _317 => _317(currentValue)]);
|
|
9304
9307
|
}
|
|
9305
9308
|
};
|
|
9306
9309
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -9346,8 +9349,8 @@ function HeaderOrganizationFilter({
|
|
|
9346
9349
|
className
|
|
9347
9350
|
}) {
|
|
9348
9351
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
9349
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
9350
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
9352
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _318 => _318.name]) || "All Organizations";
|
|
9353
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _319 => _319.deviceCount]), () => ( totalDeviceCount));
|
|
9351
9354
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenu, { children: [
|
|
9352
9355
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9353
9356
|
"button",
|
|
@@ -9372,11 +9375,11 @@ function HeaderOrganizationFilter({
|
|
|
9372
9375
|
}
|
|
9373
9376
|
) }),
|
|
9374
9377
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
9375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
9378
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _320 => _320("")]), children: "All Organizations" }),
|
|
9376
9379
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9377
9380
|
_chunkBJTOSUT4cjs.DropdownMenuItem,
|
|
9378
9381
|
{
|
|
9379
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
9382
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _321 => _321(org.id)]),
|
|
9380
9383
|
children: org.name
|
|
9381
9384
|
},
|
|
9382
9385
|
org.id
|
|
@@ -9407,7 +9410,7 @@ var AppHeader = React33.default.memo(function AppHeader2({
|
|
|
9407
9410
|
onToggleMobileMenu,
|
|
9408
9411
|
disabled = false
|
|
9409
9412
|
}) {
|
|
9410
|
-
const isMdUp = _nullishCoalesce(
|
|
9413
|
+
const isMdUp = _nullishCoalesce(_chunkALW3D72Ocjs.useMdUp.call(void 0, ), () => ( false));
|
|
9411
9414
|
const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
|
|
9412
9415
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9413
9416
|
"header",
|
|
@@ -9548,9 +9551,9 @@ function NotificationsHeaderButton({
|
|
|
9548
9551
|
dimmedClass
|
|
9549
9552
|
}) {
|
|
9550
9553
|
const ctx = useOptionalNotifications();
|
|
9551
|
-
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
9552
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
9553
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
9554
|
+
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _322 => _322.unreadCount]), () => ( fallbackUnreadCount));
|
|
9555
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _323 => _323.isOpen]), () => ( false));
|
|
9556
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _324 => _324.toggle]);
|
|
9554
9557
|
const Icon2 = unreadCount > 0 ? _chunkTMD5LDX4cjs.BellRingingIcon : _chunkTMD5LDX4cjs.BellIcon;
|
|
9555
9558
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9556
9559
|
HeaderButton,
|
|
@@ -9724,7 +9727,7 @@ var Switch = React28.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
9724
9727
|
}, [checked]);
|
|
9725
9728
|
const handleCheckedChange = (newChecked) => {
|
|
9726
9729
|
setIsChecked(newChecked);
|
|
9727
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
9730
|
+
_optionalChain([onCheckedChange, 'optionalCall', _325 => _325(newChecked)]);
|
|
9728
9731
|
};
|
|
9729
9732
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9730
9733
|
SwitchPrimitives.Root,
|
|
@@ -9777,7 +9780,7 @@ function NotificationTile({
|
|
|
9777
9780
|
if (!isLive) return;
|
|
9778
9781
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
9779
9782
|
const timer = window.setTimeout(() => {
|
|
9780
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
9783
|
+
_optionalChain([onSettle, 'optionalCall', _326 => _326(id)]);
|
|
9781
9784
|
}, remaining);
|
|
9782
9785
|
return () => window.clearTimeout(timer);
|
|
9783
9786
|
}, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -9790,7 +9793,7 @@ function NotificationTile({
|
|
|
9790
9793
|
),
|
|
9791
9794
|
children: [
|
|
9792
9795
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]", children: [
|
|
9793
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "size-1.5 rounded-full",
|
|
9796
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkALW3D72Ocjs.dotColorByVariant[variant]) }) }),
|
|
9794
9797
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
9795
9798
|
title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", children: title }) : null,
|
|
9796
9799
|
description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", children: description }) : null
|
|
@@ -9815,7 +9818,7 @@ function NotificationTile({
|
|
|
9815
9818
|
"button",
|
|
9816
9819
|
{
|
|
9817
9820
|
type: "button",
|
|
9818
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
9821
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _327 => _327(id)]),
|
|
9819
9822
|
"aria-label": "Dismiss notification",
|
|
9820
9823
|
tabIndex: isLive ? 0 : -1,
|
|
9821
9824
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
@@ -9831,7 +9834,7 @@ function NotificationTile({
|
|
|
9831
9834
|
"aria-hidden": true,
|
|
9832
9835
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
9833
9836
|
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
9834
|
-
|
|
9837
|
+
_chunkALW3D72Ocjs.progressColorByVariant[variant]
|
|
9835
9838
|
),
|
|
9836
9839
|
style: {
|
|
9837
9840
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
@@ -9987,7 +9990,7 @@ var MobileBurgerMenu = React33.default.memo(function MobileBurgerMenu2({
|
|
|
9987
9990
|
if (item.onClick) {
|
|
9988
9991
|
item.onClick();
|
|
9989
9992
|
} else if (item.path) {
|
|
9990
|
-
_optionalChain([config, 'access',
|
|
9993
|
+
_optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
|
|
9991
9994
|
}
|
|
9992
9995
|
onClose();
|
|
9993
9996
|
}, [config, onClose]);
|
|
@@ -10283,7 +10286,7 @@ var ToolBadge = ({
|
|
|
10283
10286
|
}) => {
|
|
10284
10287
|
const label = getToolLabel(toolType);
|
|
10285
10288
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
|
|
10286
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10289
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkALW3D72Ocjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
|
|
10287
10290
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
|
|
10288
10291
|
] });
|
|
10289
10292
|
};
|
|
@@ -10331,7 +10334,7 @@ var ShellTypeBadge = ({
|
|
|
10331
10334
|
className,
|
|
10332
10335
|
iconClassName
|
|
10333
10336
|
}) => {
|
|
10334
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
10337
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _330 => _330.toUpperCase, 'call', _331 => _331()]);
|
|
10335
10338
|
const label = getShellLabel(normalizedType);
|
|
10336
10339
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
10337
10340
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -10788,7 +10791,7 @@ function AnnouncementBar() {
|
|
|
10788
10791
|
setIsVisible(false);
|
|
10789
10792
|
};
|
|
10790
10793
|
const handleCtaClick = () => {
|
|
10791
|
-
if (!_optionalChain([announcement, 'optionalAccess',
|
|
10794
|
+
if (!_optionalChain([announcement, 'optionalAccess', _332 => _332.cta_url])) return;
|
|
10792
10795
|
announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
|
|
10793
10796
|
};
|
|
10794
10797
|
const renderIcon = () => {
|
|
@@ -10914,8 +10917,8 @@ function getVendorLogo(vendor) {
|
|
|
10914
10917
|
if (vendor.logo) {
|
|
10915
10918
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
10916
10919
|
}
|
|
10917
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
10918
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
10920
|
+
const logoMedia = _optionalChain([vendor, 'access', _333 => _333.vendor_media, 'optionalAccess', _334 => _334.find, 'call', _335 => _335((m) => m.media_type === "logo")]);
|
|
10921
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _336 => _336.media_url])) {
|
|
10919
10922
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
10920
10923
|
}
|
|
10921
10924
|
return null;
|
|
@@ -10990,7 +10993,7 @@ function VendorIcon({
|
|
|
10990
10993
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
10991
10994
|
"flex items-center justify-center text-xs font-medium uppercase",
|
|
10992
10995
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
10993
|
-
), children: _optionalChain([vendor, 'access',
|
|
10996
|
+
), children: _optionalChain([vendor, 'access', _337 => _337.title, 'optionalAccess', _338 => _338.substring, 'call', _339 => _339(0, 2)]) || "??" }) });
|
|
10994
10997
|
}
|
|
10995
10998
|
|
|
10996
10999
|
// src/components/categories-cart.tsx
|
|
@@ -11274,7 +11277,7 @@ function UserSummary({
|
|
|
11274
11277
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
11275
11278
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
|
|
11276
11279
|
name,
|
|
11277
|
-
_optionalChain([mspPreview, 'optionalAccess',
|
|
11280
|
+
_optionalChain([mspPreview, 'optionalAccess', _340 => _340.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
11278
11281
|
" \u2022 ",
|
|
11279
11282
|
mspPreview.name
|
|
11280
11283
|
] })
|
|
@@ -11296,7 +11299,7 @@ function UserSummary({
|
|
|
11296
11299
|
height: 40,
|
|
11297
11300
|
className: "object-cover"
|
|
11298
11301
|
}
|
|
11299
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access',
|
|
11302
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _341 => _341.name, 'optionalAccess', _342 => _342.charAt, 'call', _343 => _343(0), 'access', _344 => _344.toUpperCase, 'call', _345 => _345()]) || "?" }) })
|
|
11300
11303
|
] }),
|
|
11301
11304
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
|
|
11302
11305
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
|
|
@@ -11309,7 +11312,7 @@ function UserSummary({
|
|
|
11309
11312
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
|
|
11310
11313
|
].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)) })
|
|
11311
11314
|
] }),
|
|
11312
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
11315
|
+
(_optionalChain([authProviders, 'optionalAccess', _346 => _346.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: [
|
|
11313
11316
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
11314
11317
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
11315
11318
|
/* @__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)) })
|
|
@@ -11318,7 +11321,7 @@ function UserSummary({
|
|
|
11318
11321
|
] })
|
|
11319
11322
|
] })
|
|
11320
11323
|
] }),
|
|
11321
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
11324
|
+
(_optionalChain([authProviders, 'optionalAccess', _347 => _347.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
|
|
11322
11325
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
11323
11326
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
11324
11327
|
/* @__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)) })
|
|
@@ -12039,7 +12042,7 @@ function FilterChip({
|
|
|
12039
12042
|
onClick: disabled ? void 0 : (e) => {
|
|
12040
12043
|
e.preventDefault();
|
|
12041
12044
|
e.stopPropagation();
|
|
12042
|
-
_optionalChain([onClick, 'optionalCall',
|
|
12045
|
+
_optionalChain([onClick, 'optionalCall', _348 => _348()]);
|
|
12043
12046
|
},
|
|
12044
12047
|
role: onClick ? "button" : void 0,
|
|
12045
12048
|
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
@@ -12226,13 +12229,13 @@ function useUnifiedFiltering(config) {
|
|
|
12226
12229
|
const searchParams = _navigation.useSearchParams.call(void 0, );
|
|
12227
12230
|
const [isPending, startTransition] = _react.useTransition.call(void 0, );
|
|
12228
12231
|
const getCurrentFilterState = () => {
|
|
12229
|
-
const search = _optionalChain([searchParams, 'optionalAccess',
|
|
12230
|
-
const categories = _optionalChain([searchParams, 'optionalAccess',
|
|
12231
|
-
const subcategories = _optionalChain([searchParams, 'optionalAccess',
|
|
12232
|
-
const tags = _optionalChain([searchParams, 'optionalAccess',
|
|
12233
|
-
const filters = _optionalChain([searchParams, 'optionalAccess',
|
|
12234
|
-
const pricing = _optionalChain([searchParams, 'optionalAccess',
|
|
12235
|
-
const page = parseInt(_optionalChain([searchParams, 'optionalAccess',
|
|
12232
|
+
const search = _optionalChain([searchParams, 'optionalAccess', _349 => _349.get, 'call', _350 => _350("search")]) || void 0;
|
|
12233
|
+
const categories = _optionalChain([searchParams, 'optionalAccess', _351 => _351.get, 'call', _352 => _352("category"), 'optionalAccess', _353 => _353.split, 'call', _354 => _354(","), 'access', _355 => _355.filter, 'call', _356 => _356(Boolean)]) || [];
|
|
12234
|
+
const subcategories = _optionalChain([searchParams, 'optionalAccess', _357 => _357.get, 'call', _358 => _358("subcategory"), 'optionalAccess', _359 => _359.split, 'call', _360 => _360(","), 'access', _361 => _361.filter, 'call', _362 => _362(Boolean)]) || [];
|
|
12235
|
+
const tags = _optionalChain([searchParams, 'optionalAccess', _363 => _363.get, 'call', _364 => _364("tag"), 'optionalAccess', _365 => _365.split, 'call', _366 => _366(","), 'access', _367 => _367.filter, 'call', _368 => _368(Boolean)]) || [];
|
|
12236
|
+
const filters = _optionalChain([searchParams, 'optionalAccess', _369 => _369.getAll, 'call', _370 => _370("filter")]) || [];
|
|
12237
|
+
const pricing = _optionalChain([searchParams, 'optionalAccess', _371 => _371.get, 'call', _372 => _372("pricing")]) || void 0;
|
|
12238
|
+
const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _373 => _373.get, 'call', _374 => _374("page")]) || "1");
|
|
12236
12239
|
return {
|
|
12237
12240
|
search,
|
|
12238
12241
|
categories,
|
|
@@ -12513,13 +12516,13 @@ function FooterWaitlistButton({ className }) {
|
|
|
12513
12516
|
const router = _navigation.useRouter.call(void 0, );
|
|
12514
12517
|
const pathname = _navigation.usePathname.call(void 0, );
|
|
12515
12518
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
12516
|
-
if (_optionalChain([pathname, 'optionalAccess',
|
|
12519
|
+
if (_optionalChain([pathname, 'optionalAccess', _375 => _375.startsWith, 'call', _376 => _376("/waitlist")])) {
|
|
12517
12520
|
const anchor = document.getElementById("waitlist-form");
|
|
12518
12521
|
if (anchor) {
|
|
12519
12522
|
anchor.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
12520
12523
|
setTimeout(() => {
|
|
12521
12524
|
const input = anchor.querySelector('input[type="email"]');
|
|
12522
|
-
_optionalChain([input, 'optionalAccess',
|
|
12525
|
+
_optionalChain([input, 'optionalAccess', _377 => _377.focus, 'call', _378 => _378()]);
|
|
12523
12526
|
}, 400);
|
|
12524
12527
|
return;
|
|
12525
12528
|
}
|
|
@@ -12544,11 +12547,11 @@ _chunkBJTOSUT4cjs.init_button2.call(void 0, );
|
|
|
12544
12547
|
|
|
12545
12548
|
function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
|
|
12546
12549
|
const inputRef = _react.useRef.call(void 0, null);
|
|
12547
|
-
const { toast } =
|
|
12550
|
+
const { toast } = _chunkALW3D72Ocjs.useToast.call(void 0, );
|
|
12548
12551
|
const [uploading, setUploading] = _react.useState.call(void 0, false);
|
|
12549
12552
|
const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
|
|
12550
12553
|
const MAX_SIZE = 5 * 1024 * 1024;
|
|
12551
|
-
const openDialog = () => _optionalChain([inputRef, 'access',
|
|
12554
|
+
const openDialog = () => _optionalChain([inputRef, 'access', _379 => _379.current, 'optionalAccess', _380 => _380.click, 'call', _381 => _381()]);
|
|
12552
12555
|
async function handleFile(file) {
|
|
12553
12556
|
if (!file) return;
|
|
12554
12557
|
if (!ALLOWED_TYPES.includes(file.type)) {
|
|
@@ -12604,7 +12607,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
12604
12607
|
}
|
|
12605
12608
|
}
|
|
12606
12609
|
const handleSelect = (e) => {
|
|
12607
|
-
handleFile(_optionalChain([e, 'access',
|
|
12610
|
+
handleFile(_optionalChain([e, 'access', _382 => _382.target, 'access', _383 => _383.files, 'optionalAccess', _384 => _384[0]]));
|
|
12608
12611
|
};
|
|
12609
12612
|
const handleRemove = async () => {
|
|
12610
12613
|
if (onDelete) {
|
|
@@ -12741,7 +12744,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
12741
12744
|
const getIconForIndex = (index) => {
|
|
12742
12745
|
const col = index % displayColumns;
|
|
12743
12746
|
const row = Math.floor(index / displayColumns);
|
|
12744
|
-
return _optionalChain([iconGrid, 'access',
|
|
12747
|
+
return _optionalChain([iconGrid, 'access', _385 => _385[row], 'optionalAccess', _386 => _386[col]]) || availableIcons[0];
|
|
12745
12748
|
};
|
|
12746
12749
|
if (loading || iconGrid.length === 0) {
|
|
12747
12750
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -12827,7 +12830,7 @@ var Slider = React35.forwardRef(
|
|
|
12827
12830
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
12828
12831
|
const handleChange = (e) => {
|
|
12829
12832
|
const newValue = [Number(e.target.value)];
|
|
12830
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
12833
|
+
_optionalChain([onValueChange, 'optionalCall', _387 => _387(newValue)]);
|
|
12831
12834
|
};
|
|
12832
12835
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12833
12836
|
"input",
|
|
@@ -12940,7 +12943,7 @@ var ImageCropper = ({
|
|
|
12940
12943
|
});
|
|
12941
12944
|
} else if (e.key === "Escape") {
|
|
12942
12945
|
e.preventDefault();
|
|
12943
|
-
_optionalChain([onCancel, 'optionalCall',
|
|
12946
|
+
_optionalChain([onCancel, 'optionalCall', _388 => _388()]);
|
|
12944
12947
|
}
|
|
12945
12948
|
};
|
|
12946
12949
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -13134,7 +13137,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
13134
13137
|
const playPromise = video.play();
|
|
13135
13138
|
if (playPromise !== void 0) {
|
|
13136
13139
|
playPromise.then(() => {
|
|
13137
|
-
const playButton = _optionalChain([video, 'access',
|
|
13140
|
+
const playButton = _optionalChain([video, 'access', _389 => _389.parentElement, 'optionalAccess', _390 => _390.querySelector, 'call', _391 => _391(".video-play-button")]);
|
|
13138
13141
|
if (playButton) {
|
|
13139
13142
|
playButton.style.display = "none";
|
|
13140
13143
|
}
|
|
@@ -13151,13 +13154,13 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
13151
13154
|
</a>
|
|
13152
13155
|
</div>
|
|
13153
13156
|
`;
|
|
13154
|
-
_optionalChain([video, 'access',
|
|
13157
|
+
_optionalChain([video, 'access', _392 => _392.parentElement, 'optionalAccess', _393 => _393.appendChild, 'call', _394 => _394(fallbackDiv)]);
|
|
13155
13158
|
}
|
|
13156
13159
|
});
|
|
13157
13160
|
}
|
|
13158
13161
|
} else {
|
|
13159
13162
|
video.pause();
|
|
13160
|
-
const playButton = _optionalChain([video, 'access',
|
|
13163
|
+
const playButton = _optionalChain([video, 'access', _395 => _395.parentElement, 'optionalAccess', _396 => _396.querySelector, 'call', _397 => _397(".video-play-button")]);
|
|
13161
13164
|
if (playButton) {
|
|
13162
13165
|
playButton.style.display = "flex";
|
|
13163
13166
|
}
|
|
@@ -13241,13 +13244,13 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
13241
13244
|
"data-video-index": index,
|
|
13242
13245
|
onClick: () => handleVideoClick(index),
|
|
13243
13246
|
onPlay: () => {
|
|
13244
|
-
const playButton = _optionalChain([document, 'access',
|
|
13247
|
+
const playButton = _optionalChain([document, 'access', _398 => _398.querySelector, 'call', _399 => _399(`[data-video-index="${index}"]`), 'optionalAccess', _400 => _400.parentElement, 'optionalAccess', _401 => _401.querySelector, 'call', _402 => _402(".video-play-button")]);
|
|
13245
13248
|
if (playButton) {
|
|
13246
13249
|
playButton.style.display = "none";
|
|
13247
13250
|
}
|
|
13248
13251
|
},
|
|
13249
13252
|
onPause: () => {
|
|
13250
|
-
const playButton = _optionalChain([document, 'access',
|
|
13253
|
+
const playButton = _optionalChain([document, 'access', _403 => _403.querySelector, 'call', _404 => _404(`[data-video-index="${index}"]`), 'optionalAccess', _405 => _405.parentElement, 'optionalAccess', _406 => _406.querySelector, 'call', _407 => _407(".video-play-button")]);
|
|
13251
13254
|
if (playButton) {
|
|
13252
13255
|
playButton.style.display = "flex";
|
|
13253
13256
|
}
|
|
@@ -13274,7 +13277,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
|
|
|
13274
13277
|
</a>
|
|
13275
13278
|
</div>
|
|
13276
13279
|
`;
|
|
13277
|
-
_optionalChain([target, 'access',
|
|
13280
|
+
_optionalChain([target, 'access', _408 => _408.parentElement, 'optionalAccess', _409 => _409.appendChild, 'call', _410 => _410(fallbackDiv)]);
|
|
13278
13281
|
}
|
|
13279
13282
|
},
|
|
13280
13283
|
children: [
|
|
@@ -13802,8 +13805,8 @@ function PricingDisplay({
|
|
|
13802
13805
|
}
|
|
13803
13806
|
if (pricingArray.length === 1) {
|
|
13804
13807
|
const item = pricingArray[0];
|
|
13805
|
-
const price = _optionalChain([item, 'access',
|
|
13806
|
-
const unit = _optionalChain([item, 'access',
|
|
13808
|
+
const price = _optionalChain([item, 'access', _411 => _411.ranges, 'optionalAccess', _412 => _412[0], 'optionalAccess', _413 => _413.min]) || 0;
|
|
13809
|
+
const unit = _optionalChain([item, 'access', _414 => _414.ranges, 'optionalAccess', _415 => _415[0], 'optionalAccess', _416 => _416.unit]);
|
|
13807
13810
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
13808
13811
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
13809
13812
|
unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
@@ -13812,11 +13815,11 @@ function PricingDisplay({
|
|
|
13812
13815
|
] })
|
|
13813
13816
|
] });
|
|
13814
13817
|
}
|
|
13815
|
-
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access',
|
|
13816
|
-
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access',
|
|
13818
|
+
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _417 => _417.ranges, 'optionalAccess', _418 => _418[0], 'optionalAccess', _419 => _419.min]) || 0, styleConfig.showTildePrefix));
|
|
13819
|
+
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _420 => _420.ranges, 'optionalAccess', _421 => _421[0], 'optionalAccess', _422 => _422.unit]));
|
|
13817
13820
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
13818
13821
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
13819
|
-
itemWithUnit && _optionalChain([itemWithUnit, 'access',
|
|
13822
|
+
itemWithUnit && _optionalChain([itemWithUnit, 'access', _423 => _423.ranges, 'optionalAccess', _424 => _424[0], 'optionalAccess', _425 => _425.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
13820
13823
|
"/",
|
|
13821
13824
|
itemWithUnit.ranges[0].unit
|
|
13822
13825
|
] })
|
|
@@ -14014,7 +14017,7 @@ function VendorTag({
|
|
|
14014
14017
|
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" }) })
|
|
14015
14018
|
};
|
|
14016
14019
|
case "classification":
|
|
14017
|
-
const classificationType = _optionalChain([text, 'optionalAccess',
|
|
14020
|
+
const classificationType = _optionalChain([text, 'optionalAccess', _426 => _426.toLowerCase, 'call', _427 => _427()]);
|
|
14018
14021
|
if (classificationType === "open_source") {
|
|
14019
14022
|
return {
|
|
14020
14023
|
text: "Open Source",
|
|
@@ -14068,7 +14071,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
14068
14071
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14069
14072
|
VendorTag,
|
|
14070
14073
|
{
|
|
14071
|
-
type: _optionalChain([source, 'optionalAccess',
|
|
14074
|
+
type: _optionalChain([source, 'optionalAccess', _428 => _428.toLowerCase, 'call', _429 => _429()]),
|
|
14072
14075
|
size: "sm",
|
|
14073
14076
|
hidden
|
|
14074
14077
|
},
|
|
@@ -16125,7 +16128,7 @@ function OnboardingWalkthrough({
|
|
|
16125
16128
|
isStepSkipped,
|
|
16126
16129
|
allStepsComplete,
|
|
16127
16130
|
markMultipleComplete
|
|
16128
|
-
} =
|
|
16131
|
+
} = _chunkALW3D72Ocjs.useOnboardingState.call(void 0, storageKey);
|
|
16129
16132
|
const hasAutoMarkedRef = _react.useRef.call(void 0, false);
|
|
16130
16133
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
16131
16134
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
@@ -16188,12 +16191,12 @@ function OnboardingWalkthrough({
|
|
|
16188
16191
|
}
|
|
16189
16192
|
}, [state.completedSteps, markComplete]);
|
|
16190
16193
|
const handleStepSkip = (step) => {
|
|
16191
|
-
_optionalChain([step, 'access',
|
|
16194
|
+
_optionalChain([step, 'access', _430 => _430.onSkip, 'optionalCall', _431 => _431()]);
|
|
16192
16195
|
markSkipped(step.id);
|
|
16193
16196
|
};
|
|
16194
16197
|
const handleDismiss = () => {
|
|
16195
16198
|
dismissOnboarding();
|
|
16196
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
16199
|
+
_optionalChain([onDismiss, 'optionalCall', _432 => _432()]);
|
|
16197
16200
|
};
|
|
16198
16201
|
if (state.dismissed) {
|
|
16199
16202
|
return null;
|
|
@@ -16614,57 +16617,19 @@ function ImageGalleryModal({
|
|
|
16614
16617
|
|
|
16615
16618
|
// src/components/features/youtube-embed.tsx
|
|
16616
16619
|
|
|
16617
|
-
|
|
16618
|
-
|
|
16619
|
-
var Play = ({ size = 16, className }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: size, height: size, fill: "currentColor", viewBox: "0 0 24 24", className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polygon", { points: "5,3 19,12 5,21" }) });
|
|
16620
|
-
var Loader = ({ size = 16, className }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { width: size, height: size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", className, children: [
|
|
16621
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "12", y1: "2", x2: "12", y2: "6" }),
|
|
16622
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "12", y1: "18", x2: "12", y2: "22" }),
|
|
16623
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "4.93", y1: "4.93", x2: "7.76", y2: "7.76" }),
|
|
16624
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "16.24", y1: "16.24", x2: "19.07", y2: "19.07" }),
|
|
16625
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "2", y1: "12", x2: "6", y2: "12" }),
|
|
16626
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "18", y1: "12", x2: "22", y2: "12" }),
|
|
16627
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "4.93", y1: "19.07", x2: "7.76", y2: "16.24" }),
|
|
16628
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", { x1: "16.24", y1: "7.76", x2: "19.07", y2: "4.93" })
|
|
16629
|
-
] });
|
|
16620
|
+
|
|
16630
16621
|
var YouTubeEmbed = ({
|
|
16631
16622
|
videoId,
|
|
16632
16623
|
title = "YouTube Video",
|
|
16633
16624
|
className = "",
|
|
16634
16625
|
showTitle = true,
|
|
16635
16626
|
showMeta = true,
|
|
16636
|
-
minimalControls = false
|
|
16627
|
+
minimalControls = false,
|
|
16628
|
+
aboveTheFold = false
|
|
16637
16629
|
}) => {
|
|
16638
|
-
const [
|
|
16639
|
-
const
|
|
16640
|
-
const
|
|
16641
|
-
const [useIframe, setUseIframe] = _react.useState.call(void 0, false);
|
|
16642
|
-
const [mounted, setMounted] = _react.useState.call(void 0, false);
|
|
16643
|
-
_react.useEffect.call(void 0, () => {
|
|
16644
|
-
setMounted(true);
|
|
16645
|
-
setUseIframe(true);
|
|
16646
|
-
setIsLoading(false);
|
|
16647
|
-
}, []);
|
|
16648
|
-
const handleReady = () => {
|
|
16649
|
-
setIsLoading(false);
|
|
16650
|
-
};
|
|
16651
|
-
const handleError = () => {
|
|
16652
|
-
setIsLoading(false);
|
|
16653
|
-
setHasError(true);
|
|
16654
|
-
setUseIframe(true);
|
|
16655
|
-
};
|
|
16656
|
-
const handlePlay = () => {
|
|
16657
|
-
setIsPlaying(true);
|
|
16658
|
-
};
|
|
16659
|
-
const handlePause = () => {
|
|
16660
|
-
setIsPlaying(false);
|
|
16661
|
-
};
|
|
16662
|
-
const videoUrl = `https://www.youtube.com/watch?v=${videoId}`;
|
|
16663
|
-
const embedParams = new URLSearchParams({
|
|
16664
|
-
rel: "0",
|
|
16665
|
-
modestbranding: "1",
|
|
16666
|
-
playsinline: "1"
|
|
16667
|
-
});
|
|
16630
|
+
const [activated, setActivated] = _react.useState.call(void 0, false);
|
|
16631
|
+
const iframeSlotRef = _react.useRef.call(void 0, null);
|
|
16632
|
+
const embedParams = new URLSearchParams({ autoplay: "1", rel: "0", modestbranding: "1", playsinline: "1" });
|
|
16668
16633
|
if (minimalControls) {
|
|
16669
16634
|
embedParams.set("controls", "0");
|
|
16670
16635
|
embedParams.set("showinfo", "0");
|
|
@@ -16672,96 +16637,60 @@ var YouTubeEmbed = ({
|
|
|
16672
16637
|
embedParams.set("iv_load_policy", "3");
|
|
16673
16638
|
embedParams.set("cc_load_policy", "0");
|
|
16674
16639
|
embedParams.set("disablekb", "1");
|
|
16675
|
-
embedParams.set("rel", "0");
|
|
16676
|
-
}
|
|
16677
|
-
const embedUrl = `https://www.youtube.com/embed/${videoId}?${embedParams.toString()}`;
|
|
16678
|
-
if (!mounted) {
|
|
16679
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `youtube-embed-container my-6 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "video-wrapper relative w-full", style: { paddingBottom: "56.25%" }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "loading-overlay absolute inset-0 bg-ods-card border border-ods-border rounded-lg flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "loading-content flex flex-col items-center gap-3", children: [
|
|
16680
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Loader, { className: "animate-spin text-ods-accent", size: 32 }),
|
|
16681
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-sans text-sm text-ods-text-secondary", children: "Loading video..." })
|
|
16682
|
-
] }) }) }) });
|
|
16683
|
-
}
|
|
16684
|
-
if (hasError) {
|
|
16685
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `youtube-embed-error ${className}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "error-state bg-ods-card border border-ods-error rounded-lg p-6 text-center my-6", children: [
|
|
16686
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-icon flex justify-center mb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: "48", height: "48", fill: "currentColor", viewBox: "0 0 24 24", className: "text-ods-error", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }) }) }),
|
|
16687
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-title font-sans font-semibold text-lg text-ods-error mb-2", children: "Video Unavailable" }),
|
|
16688
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "error-description font-sans text-sm text-ods-text-secondary mb-4", children: "Unable to load YouTube video. The video may be private or deleted." }),
|
|
16689
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16690
|
-
"a",
|
|
16691
|
-
{
|
|
16692
|
-
href: videoUrl,
|
|
16693
|
-
target: "_blank",
|
|
16694
|
-
rel: "noopener noreferrer",
|
|
16695
|
-
className: "error-retry-button bg-ods-error hover:bg-ods-error-hover text-ods-text-on-error border-none rounded px-4 py-2 font-sans font-medium text-sm cursor-pointer transition-colors duration-200",
|
|
16696
|
-
children: "Watch on YouTube"
|
|
16697
|
-
}
|
|
16698
|
-
)
|
|
16699
|
-
] }) });
|
|
16700
16640
|
}
|
|
16641
|
+
const embedUrl = `https://www.youtube-nocookie.com/embed/${videoId}?${embedParams.toString()}`;
|
|
16642
|
+
const watchUrl = `https://www.youtube.com/watch?v=${videoId}`;
|
|
16643
|
+
const posterJpg = `https://i.ytimg.com/vi/${videoId}/mqdefault.jpg`;
|
|
16644
|
+
const posterWebp = `https://i.ytimg.com/vi_webp/${videoId}/mqdefault.webp`;
|
|
16645
|
+
const handleActivate = () => {
|
|
16646
|
+
const slot = iframeSlotRef.current;
|
|
16647
|
+
if (!slot || activated) return;
|
|
16648
|
+
const iframe = document.createElement("iframe");
|
|
16649
|
+
iframe.setAttribute("allow", "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share");
|
|
16650
|
+
iframe.setAttribute("allowfullscreen", "");
|
|
16651
|
+
iframe.setAttribute("title", title);
|
|
16652
|
+
iframe.className = "absolute inset-0 w-full h-full border-0";
|
|
16653
|
+
iframe.src = embedUrl;
|
|
16654
|
+
slot.appendChild(iframe);
|
|
16655
|
+
setActivated(true);
|
|
16656
|
+
};
|
|
16701
16657
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `youtube-embed-container my-6 ${className}`, children: [
|
|
16702
16658
|
title && showTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "video-title font-sans text-lg font-medium text-ods-text-primary mb-3", children: title }),
|
|
16703
|
-
/* @__PURE__ */ _jsxruntime.
|
|
16704
|
-
|
|
16705
|
-
|
|
16706
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-sans text-sm text-ods-text-secondary", children: "Loading video..." })
|
|
16707
|
-
] }) }),
|
|
16708
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "video-player absolute inset-0 rounded-lg overflow-hidden border border-ods-border bg-ods-bg-inverse", children: useIframe ? (
|
|
16709
|
-
// Iframe fallback for mobile and error cases
|
|
16710
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16711
|
-
"iframe",
|
|
16712
|
-
{
|
|
16713
|
-
src: embedUrl,
|
|
16714
|
-
title,
|
|
16715
|
-
className: "w-full h-full border-0",
|
|
16716
|
-
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
|
|
16717
|
-
allowFullScreen: true,
|
|
16718
|
-
style: { border: "none" }
|
|
16719
|
-
}
|
|
16720
|
-
)
|
|
16721
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16722
|
-
_youtube2.default,
|
|
16723
|
-
{
|
|
16724
|
-
url: videoUrl,
|
|
16725
|
-
width: "100%",
|
|
16726
|
-
height: "100%",
|
|
16727
|
-
onReady: handleReady,
|
|
16728
|
-
onError: handleError,
|
|
16729
|
-
onPlay: handlePlay,
|
|
16730
|
-
onPause: handlePause,
|
|
16731
|
-
config: {
|
|
16732
|
-
youtube: {
|
|
16733
|
-
playerVars: {
|
|
16734
|
-
autoplay: 0,
|
|
16735
|
-
controls: 1,
|
|
16736
|
-
rel: 0,
|
|
16737
|
-
showinfo: 0,
|
|
16738
|
-
modestbranding: 1,
|
|
16739
|
-
iv_load_policy: 3,
|
|
16740
|
-
cc_load_policy: 0,
|
|
16741
|
-
playsinline: 1
|
|
16742
|
-
}
|
|
16743
|
-
}
|
|
16744
|
-
},
|
|
16745
|
-
light: false,
|
|
16746
|
-
playing: false
|
|
16747
|
-
}
|
|
16748
|
-
) }),
|
|
16749
|
-
!useIframe && !isPlaying && !isLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "play-overlay absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 rounded-lg transition-opacity duration-300 hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16659
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "video-wrapper relative w-full", style: { paddingBottom: "56.25%" }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 rounded-lg overflow-hidden border border-ods-border bg-ods-card", children: [
|
|
16660
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: iframeSlotRef, className: "absolute inset-0", "aria-hidden": !activated }),
|
|
16661
|
+
!activated && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
16750
16662
|
"button",
|
|
16751
16663
|
{
|
|
16752
|
-
|
|
16753
|
-
|
|
16754
|
-
|
|
16755
|
-
|
|
16664
|
+
type: "button",
|
|
16665
|
+
"aria-label": `Play: ${title}`,
|
|
16666
|
+
onClick: handleActivate,
|
|
16667
|
+
className: "group absolute inset-0 p-0 m-0 border-0 cursor-pointer bg-transparent",
|
|
16668
|
+
children: [
|
|
16669
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "picture", { children: [
|
|
16670
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "source", { type: "image/webp", srcSet: posterWebp }),
|
|
16671
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16672
|
+
"img",
|
|
16673
|
+
{
|
|
16674
|
+
src: posterJpg,
|
|
16675
|
+
alt: title,
|
|
16676
|
+
loading: "lazy",
|
|
16677
|
+
fetchPriority: aboveTheFold ? "high" : "low",
|
|
16678
|
+
decoding: aboveTheFold ? "sync" : "async",
|
|
16679
|
+
className: "absolute inset-0 w-full h-full object-cover"
|
|
16680
|
+
}
|
|
16681
|
+
)
|
|
16682
|
+
] }),
|
|
16683
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-center justify-center bg-ods-bg-inverse bg-opacity-20 transition-opacity duration-200 group-hover:bg-opacity-30", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-ods-accent text-ods-text-on-accent shadow-lg transition-transform duration-200 group-hover:scale-110", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { width: 24, height: 24, fill: "currentColor", viewBox: "0 0 24 24", className: "ml-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polygon", { points: "5,3 19,12 5,21" }) }) }) })
|
|
16684
|
+
]
|
|
16756
16685
|
}
|
|
16757
|
-
)
|
|
16758
|
-
] }),
|
|
16686
|
+
)
|
|
16687
|
+
] }) }),
|
|
16759
16688
|
showMeta && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "video-meta flex items-center justify-between mt-3 text-sm text-ods-text-secondary", children: [
|
|
16760
16689
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "video-platform font-sans", children: "YouTube" }),
|
|
16761
16690
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
16762
16691
|
"a",
|
|
16763
16692
|
{
|
|
16764
|
-
href:
|
|
16693
|
+
href: watchUrl,
|
|
16765
16694
|
target: "_blank",
|
|
16766
16695
|
rel: "noopener noreferrer",
|
|
16767
16696
|
className: "video-link font-sans text-ods-accent hover:text-ods-accent-hover transition-colors duration-200",
|
|
@@ -16771,35 +16700,30 @@ var YouTubeEmbed = ({
|
|
|
16771
16700
|
] })
|
|
16772
16701
|
] });
|
|
16773
16702
|
};
|
|
16703
|
+
var YT_HOSTS = /* @__PURE__ */ new Set([
|
|
16704
|
+
"youtube.com",
|
|
16705
|
+
"www.youtube.com",
|
|
16706
|
+
"m.youtube.com",
|
|
16707
|
+
"youtu.be",
|
|
16708
|
+
"youtube-nocookie.com",
|
|
16709
|
+
"www.youtube-nocookie.com"
|
|
16710
|
+
]);
|
|
16711
|
+
var YT_PATH_RE = /^\/(?:embed|v|shorts)\/([^/]+)\/?$/;
|
|
16774
16712
|
var extractYouTubeId = (url) => {
|
|
16775
|
-
|
|
16776
|
-
|
|
16777
|
-
|
|
16778
|
-
|
|
16779
|
-
|
|
16780
|
-
for (const pattern of patterns) {
|
|
16781
|
-
const match = url.match(pattern);
|
|
16782
|
-
if (match) {
|
|
16783
|
-
return match[1];
|
|
16784
|
-
}
|
|
16713
|
+
let u;
|
|
16714
|
+
try {
|
|
16715
|
+
u = new URL(url);
|
|
16716
|
+
} catch (e22) {
|
|
16717
|
+
return null;
|
|
16785
16718
|
}
|
|
16786
|
-
return null;
|
|
16787
|
-
|
|
16788
|
-
|
|
16789
|
-
const videoId = extractYouTubeId(href);
|
|
16790
|
-
if (videoId) {
|
|
16791
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, YouTubeEmbed, { videoId, title: typeof children === "string" ? children : void 0 });
|
|
16719
|
+
if (!YT_HOSTS.has(u.hostname.toLowerCase())) return null;
|
|
16720
|
+
if (u.hostname.toLowerCase().endsWith("youtu.be")) {
|
|
16721
|
+
return _nullishCoalesce(u.pathname.split("/").filter(Boolean)[0], () => ( null));
|
|
16792
16722
|
}
|
|
16793
|
-
|
|
16794
|
-
|
|
16795
|
-
|
|
16796
|
-
|
|
16797
|
-
target: "_blank",
|
|
16798
|
-
rel: "noopener noreferrer",
|
|
16799
|
-
className: "text-ods-accent hover:text-ods-accent-hover transition-colors duration-200",
|
|
16800
|
-
children
|
|
16801
|
-
}
|
|
16802
|
-
);
|
|
16723
|
+
const v = u.searchParams.get("v");
|
|
16724
|
+
if (v) return v;
|
|
16725
|
+
const m = u.pathname.match(YT_PATH_RE);
|
|
16726
|
+
return m ? m[1] : null;
|
|
16803
16727
|
};
|
|
16804
16728
|
|
|
16805
16729
|
// src/components/features/video-player.tsx
|
|
@@ -16807,75 +16731,6 @@ var YouTubeLinkParser = ({ href, children }) => {
|
|
|
16807
16731
|
var _reactplayer = require('react-player'); var _reactplayer2 = _interopRequireDefault(_reactplayer);
|
|
16808
16732
|
_chunkBJTOSUT4cjs.init_button2.call(void 0, );
|
|
16809
16733
|
|
|
16810
|
-
function useVideoFirstFramePoster(url, enabled) {
|
|
16811
|
-
const [poster, setPoster] = _react.useState.call(void 0, null);
|
|
16812
|
-
_react.useEffect.call(void 0, () => {
|
|
16813
|
-
if (!enabled || !url) {
|
|
16814
|
-
setPoster(null);
|
|
16815
|
-
return;
|
|
16816
|
-
}
|
|
16817
|
-
const isDirectFile = /\.(mp4|webm|mov|m4v)(\?|#|$)/i.test(url);
|
|
16818
|
-
if (!isDirectFile) {
|
|
16819
|
-
setPoster(null);
|
|
16820
|
-
return;
|
|
16821
|
-
}
|
|
16822
|
-
let cancelled = false;
|
|
16823
|
-
const video = document.createElement("video");
|
|
16824
|
-
video.crossOrigin = "anonymous";
|
|
16825
|
-
video.preload = "metadata";
|
|
16826
|
-
video.muted = true;
|
|
16827
|
-
video.playsInline = true;
|
|
16828
|
-
video.setAttribute("data-poster-extractor", "true");
|
|
16829
|
-
const cleanup = () => {
|
|
16830
|
-
video.removeAttribute("src");
|
|
16831
|
-
try {
|
|
16832
|
-
video.load();
|
|
16833
|
-
} catch (e22) {
|
|
16834
|
-
}
|
|
16835
|
-
};
|
|
16836
|
-
const onLoadedMetadata = () => {
|
|
16837
|
-
if (cancelled) return;
|
|
16838
|
-
const dur = video.duration || 10;
|
|
16839
|
-
const target = Math.max(2, Math.min(dur * 0.1, 30));
|
|
16840
|
-
video.currentTime = target;
|
|
16841
|
-
};
|
|
16842
|
-
const onSeeked = () => {
|
|
16843
|
-
if (cancelled) return;
|
|
16844
|
-
try {
|
|
16845
|
-
const canvas = document.createElement("canvas");
|
|
16846
|
-
canvas.width = video.videoWidth;
|
|
16847
|
-
canvas.height = video.videoHeight;
|
|
16848
|
-
const ctx = canvas.getContext("2d");
|
|
16849
|
-
if (!ctx || !canvas.width || !canvas.height) {
|
|
16850
|
-
cleanup();
|
|
16851
|
-
return;
|
|
16852
|
-
}
|
|
16853
|
-
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
|
|
16854
|
-
const dataUrl = canvas.toDataURL("image/jpeg", 0.82);
|
|
16855
|
-
if (!cancelled) setPoster(dataUrl);
|
|
16856
|
-
} catch (err) {
|
|
16857
|
-
console.warn("[VideoPlayer] first-frame extraction failed", err);
|
|
16858
|
-
} finally {
|
|
16859
|
-
cleanup();
|
|
16860
|
-
}
|
|
16861
|
-
};
|
|
16862
|
-
const onError = () => {
|
|
16863
|
-
cleanup();
|
|
16864
|
-
};
|
|
16865
|
-
video.addEventListener("loadedmetadata", onLoadedMetadata);
|
|
16866
|
-
video.addEventListener("seeked", onSeeked);
|
|
16867
|
-
video.addEventListener("error", onError);
|
|
16868
|
-
video.src = url;
|
|
16869
|
-
return () => {
|
|
16870
|
-
cancelled = true;
|
|
16871
|
-
video.removeEventListener("loadedmetadata", onLoadedMetadata);
|
|
16872
|
-
video.removeEventListener("seeked", onSeeked);
|
|
16873
|
-
video.removeEventListener("error", onError);
|
|
16874
|
-
cleanup();
|
|
16875
|
-
};
|
|
16876
|
-
}, [url, enabled]);
|
|
16877
|
-
return poster;
|
|
16878
|
-
}
|
|
16879
16734
|
var webkitCaptionCSSInjected = false;
|
|
16880
16735
|
function ensureWebkitCaptionCSS() {
|
|
16881
16736
|
if (webkitCaptionCSSInjected || typeof document === "undefined") return;
|
|
@@ -16901,8 +16756,8 @@ function parseSrt(srt) {
|
|
|
16901
16756
|
const tsIndex = lines.findIndex((l) => l.includes(" --> "));
|
|
16902
16757
|
if (tsIndex === -1) continue;
|
|
16903
16758
|
const [startStr, endStr] = lines[tsIndex].split(" --> ");
|
|
16904
|
-
const from = parseSrtTimestamp(_optionalChain([startStr, 'optionalAccess',
|
|
16905
|
-
const to = parseSrtTimestamp(_optionalChain([endStr, 'optionalAccess',
|
|
16759
|
+
const from = parseSrtTimestamp(_optionalChain([startStr, 'optionalAccess', _433 => _433.trim, 'call', _434 => _434()]));
|
|
16760
|
+
const to = parseSrtTimestamp(_optionalChain([endStr, 'optionalAccess', _435 => _435.trim, 'call', _436 => _436()]));
|
|
16906
16761
|
if (from === null || to === null) continue;
|
|
16907
16762
|
const text = lines.slice(tsIndex + 1).join("\n").trim();
|
|
16908
16763
|
if (text) cues.push({ from, to, text });
|
|
@@ -16921,12 +16776,11 @@ function useSubtitleOverlay(srtContent) {
|
|
|
16921
16776
|
const updateTime = _react.useCallback.call(void 0, (playedSeconds) => {
|
|
16922
16777
|
const timeMs = playedSeconds * 1e3;
|
|
16923
16778
|
const active = cues.find((c) => timeMs >= c.from && timeMs <= c.to);
|
|
16924
|
-
setActiveText(_nullishCoalesce(_optionalChain([active, 'optionalAccess',
|
|
16779
|
+
setActiveText(_nullishCoalesce(_optionalChain([active, 'optionalAccess', _437 => _437.text]), () => ( null)));
|
|
16925
16780
|
}, [cues]);
|
|
16926
16781
|
return { activeText, updateTime, hasCues: cues.length > 0 };
|
|
16927
16782
|
}
|
|
16928
16783
|
var SPEED_OPTIONS = [0.5, 0.75, 1, 1.25, 1.5, 2];
|
|
16929
|
-
var LAZY_MOUNT_PLAY_FAILURE_GRACE_MS = 2e3;
|
|
16930
16784
|
function formatTime(secs) {
|
|
16931
16785
|
if (!secs || !isFinite(secs)) return "0:00";
|
|
16932
16786
|
const h = Math.floor(secs / 3600);
|
|
@@ -16948,7 +16802,7 @@ var VideoPlayer = ({
|
|
|
16948
16802
|
srtContent,
|
|
16949
16803
|
captionsUrl,
|
|
16950
16804
|
subtitleLabel,
|
|
16951
|
-
|
|
16805
|
+
preloadStrategy = "metadata"
|
|
16952
16806
|
}) => {
|
|
16953
16807
|
const [hasError, setHasError] = _react.useState.call(void 0, false);
|
|
16954
16808
|
const [isPlaying, setIsPlaying] = _react.useState.call(void 0, autoPlay);
|
|
@@ -16967,7 +16821,6 @@ var VideoPlayer = ({
|
|
|
16967
16821
|
const hideTimeoutRef = _react.useRef.call(void 0, void 0);
|
|
16968
16822
|
const clickTimerRef = _react.useRef.call(void 0, void 0);
|
|
16969
16823
|
const iosFullscreenTimerRef = _react.useRef.call(void 0, void 0);
|
|
16970
|
-
const lazyMountFailureTimerRef = _react.useRef.call(void 0, void 0);
|
|
16971
16824
|
const [captionsEnabled, setCaptionsEnabled] = _react.useState.call(void 0, true);
|
|
16972
16825
|
const [isFullscreen, setIsFullscreen] = _react.useState.call(void 0, false);
|
|
16973
16826
|
const { activeText, updateTime, hasCues } = useSubtitleOverlay(srtContent);
|
|
@@ -16991,7 +16844,7 @@ var VideoPlayer = ({
|
|
|
16991
16844
|
}
|
|
16992
16845
|
}, []);
|
|
16993
16846
|
const enterNativeVideoFullscreen = _react.useCallback.call(void 0, () => {
|
|
16994
|
-
const video = _optionalChain([playerRef, 'access',
|
|
16847
|
+
const video = _optionalChain([playerRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.getInternalPlayer, 'call', _440 => _440()]);
|
|
16995
16848
|
if (!video || !video.webkitEnterFullscreen) return;
|
|
16996
16849
|
ensureWebkitCaptionCSS();
|
|
16997
16850
|
const trackSrc = captionsUrl || null;
|
|
@@ -17099,11 +16952,11 @@ var VideoPlayer = ({
|
|
|
17099
16952
|
break;
|
|
17100
16953
|
case "ArrowLeft":
|
|
17101
16954
|
e.preventDefault();
|
|
17102
|
-
_optionalChain([playerRef, 'access',
|
|
16955
|
+
_optionalChain([playerRef, 'access', _441 => _441.current, 'optionalAccess', _442 => _442.seekTo, 'call', _443 => _443(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _444 => _444.current, 'optionalAccess', _445 => _445.getCurrentTime, 'call', _446 => _446()]), () => ( 0))) - 5), "seconds")]);
|
|
17103
16956
|
break;
|
|
17104
16957
|
case "ArrowRight":
|
|
17105
16958
|
e.preventDefault();
|
|
17106
|
-
_optionalChain([playerRef, 'access',
|
|
16959
|
+
_optionalChain([playerRef, 'access', _447 => _447.current, 'optionalAccess', _448 => _448.seekTo, 'call', _449 => _449(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _450 => _450.current, 'optionalAccess', _451 => _451.getCurrentTime, 'call', _452 => _452()]), () => ( 0))) + 5), "seconds")]);
|
|
17107
16960
|
break;
|
|
17108
16961
|
case "ArrowUp":
|
|
17109
16962
|
e.preventDefault();
|
|
@@ -17153,11 +17006,11 @@ var VideoPlayer = ({
|
|
|
17153
17006
|
const isDraggingRef = _react.useRef.call(void 0, false);
|
|
17154
17007
|
const dragListenersRef = _react.useRef.call(void 0, null);
|
|
17155
17008
|
const seekToClientX = _react.useCallback.call(void 0, (clientX) => {
|
|
17156
|
-
const rect = _optionalChain([progressBarRef, 'access',
|
|
17009
|
+
const rect = _optionalChain([progressBarRef, 'access', _453 => _453.current, 'optionalAccess', _454 => _454.getBoundingClientRect, 'call', _455 => _455()]);
|
|
17157
17010
|
if (!rect) return;
|
|
17158
17011
|
const fraction = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));
|
|
17159
17012
|
setPlayed(fraction);
|
|
17160
|
-
_optionalChain([playerRef, 'access',
|
|
17013
|
+
_optionalChain([playerRef, 'access', _456 => _456.current, 'optionalAccess', _457 => _457.seekTo, 'call', _458 => _458(fraction, "fraction")]);
|
|
17161
17014
|
}, []);
|
|
17162
17015
|
const handleProgressMouseDown = _react.useCallback.call(void 0, (e) => {
|
|
17163
17016
|
e.stopPropagation();
|
|
@@ -17196,22 +17049,22 @@ var VideoPlayer = ({
|
|
|
17196
17049
|
if (e.key === "ArrowRight") {
|
|
17197
17050
|
e.preventDefault();
|
|
17198
17051
|
e.stopPropagation();
|
|
17199
|
-
_optionalChain([playerRef, 'access',
|
|
17052
|
+
_optionalChain([playerRef, 'access', _459 => _459.current, 'optionalAccess', _460 => _460.seekTo, 'call', _461 => _461(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _462 => _462.current, 'optionalAccess', _463 => _463.getCurrentTime, 'call', _464 => _464()]), () => ( 0))) + 5), "seconds")]);
|
|
17200
17053
|
}
|
|
17201
17054
|
if (e.key === "ArrowLeft") {
|
|
17202
17055
|
e.preventDefault();
|
|
17203
17056
|
e.stopPropagation();
|
|
17204
|
-
_optionalChain([playerRef, 'access',
|
|
17057
|
+
_optionalChain([playerRef, 'access', _465 => _465.current, 'optionalAccess', _466 => _466.seekTo, 'call', _467 => _467(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _468 => _468.current, 'optionalAccess', _469 => _469.getCurrentTime, 'call', _470 => _470()]), () => ( 0))) - 5), "seconds")]);
|
|
17205
17058
|
}
|
|
17206
17059
|
if (e.key === "Home") {
|
|
17207
17060
|
e.preventDefault();
|
|
17208
17061
|
e.stopPropagation();
|
|
17209
|
-
_optionalChain([playerRef, 'access',
|
|
17062
|
+
_optionalChain([playerRef, 'access', _471 => _471.current, 'optionalAccess', _472 => _472.seekTo, 'call', _473 => _473(0, "seconds")]);
|
|
17210
17063
|
}
|
|
17211
17064
|
if (e.key === "End") {
|
|
17212
17065
|
e.preventDefault();
|
|
17213
17066
|
e.stopPropagation();
|
|
17214
|
-
_optionalChain([playerRef, 'access',
|
|
17067
|
+
_optionalChain([playerRef, 'access', _474 => _474.current, 'optionalAccess', _475 => _475.seekTo, 'call', _476 => _476(duration, "seconds")]);
|
|
17215
17068
|
}
|
|
17216
17069
|
}, [duration]);
|
|
17217
17070
|
const handleProgressHover = _react.useCallback.call(void 0, (e) => {
|
|
@@ -17246,16 +17099,14 @@ var VideoPlayer = ({
|
|
|
17246
17099
|
if (!hasStarted) return;
|
|
17247
17100
|
handleTouchToggle();
|
|
17248
17101
|
}, [hasStarted, handleTouchToggle]);
|
|
17249
|
-
const
|
|
17250
|
-
const
|
|
17251
|
-
const posterBgColor = _chunkWX7PT5C7cjs.useImageEdgeColor.call(void 0, effectivePoster);
|
|
17102
|
+
const effectivePoster = poster || void 0;
|
|
17103
|
+
const posterBgColor = _chunkALW3D72Ocjs.useImageEdgeColor.call(void 0, effectivePoster);
|
|
17252
17104
|
_react.useEffect.call(void 0, () => {
|
|
17253
17105
|
setMounted(true);
|
|
17254
17106
|
return () => {
|
|
17255
17107
|
clearTimeout(clickTimerRef.current);
|
|
17256
17108
|
clearTimeout(hideTimeoutRef.current);
|
|
17257
17109
|
clearTimeout(iosFullscreenTimerRef.current);
|
|
17258
|
-
clearTimeout(lazyMountFailureTimerRef.current);
|
|
17259
17110
|
isDraggingRef.current = false;
|
|
17260
17111
|
if (dragListenersRef.current) {
|
|
17261
17112
|
document.removeEventListener("mousemove", dragListenersRef.current.move);
|
|
@@ -17266,7 +17117,7 @@ var VideoPlayer = ({
|
|
|
17266
17117
|
}, []);
|
|
17267
17118
|
_react.useEffect.call(void 0, () => {
|
|
17268
17119
|
if (!hasStarted) return;
|
|
17269
|
-
const video = _optionalChain([playerRef, 'access',
|
|
17120
|
+
const video = _optionalChain([playerRef, 'access', _477 => _477.current, 'optionalAccess', _478 => _478.getInternalPlayer, 'call', _479 => _479()]);
|
|
17270
17121
|
if (!video) return;
|
|
17271
17122
|
const onBeginFS = () => activateCaptionTracks(video);
|
|
17272
17123
|
video.addEventListener("webkitbeginfullscreen", onBeginFS);
|
|
@@ -17280,22 +17131,16 @@ var VideoPlayer = ({
|
|
|
17280
17131
|
const handlePause = _react.useCallback.call(void 0, () => setIsPlaying(false), []);
|
|
17281
17132
|
const handleEnded = _react.useCallback.call(void 0, () => setIsPlaying(false), []);
|
|
17282
17133
|
const handlePlayClick = _react.useCallback.call(void 0, () => {
|
|
17283
|
-
|
|
17284
|
-
|
|
17285
|
-
|
|
17286
|
-
|
|
17287
|
-
|
|
17288
|
-
|
|
17289
|
-
if (native.paused && native.error) setHasError(true);
|
|
17290
|
-
}, LAZY_MOUNT_PLAY_FAILURE_GRACE_MS);
|
|
17291
|
-
});
|
|
17292
|
-
} else if (process.env.NODE_ENV !== "production") {
|
|
17293
|
-
console.warn("[VideoPlayer] lazyMount sync play(): no native HTMLVideoElement yet");
|
|
17294
|
-
}
|
|
17134
|
+
const native = _optionalChain([playerRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.getInternalPlayer, 'call', _482 => _482()]);
|
|
17135
|
+
if (native instanceof HTMLVideoElement) {
|
|
17136
|
+
native.play().catch(() => {
|
|
17137
|
+
});
|
|
17138
|
+
} else if (process.env.NODE_ENV !== "production") {
|
|
17139
|
+
console.warn("[VideoPlayer] sync play(): no native HTMLVideoElement yet");
|
|
17295
17140
|
}
|
|
17296
17141
|
setHasStarted(true);
|
|
17297
17142
|
setIsPlaying(true);
|
|
17298
|
-
}, [
|
|
17143
|
+
}, []);
|
|
17299
17144
|
const handleProgress = _react.useCallback.call(void 0, ({ played: p, loaded: l, playedSeconds }) => {
|
|
17300
17145
|
setPlayed(p);
|
|
17301
17146
|
setLoaded(l);
|
|
@@ -17370,7 +17215,7 @@ var VideoPlayer = ({
|
|
|
17370
17215
|
onBufferEnd: handleBufferEnd,
|
|
17371
17216
|
onProgress: handleProgress,
|
|
17372
17217
|
progressInterval: 200,
|
|
17373
|
-
config: { file: { attributes: { controlsList: "nodownload", playsInline: true, preload:
|
|
17218
|
+
config: { file: { attributes: { controlsList: "nodownload", playsInline: true, preload: hasStarted ? "auto" : preloadStrategy } } },
|
|
17374
17219
|
light: false,
|
|
17375
17220
|
playsinline: true
|
|
17376
17221
|
}
|
|
@@ -17600,7 +17445,7 @@ var SecondaryAction = ({ action }) => {
|
|
|
17600
17445
|
e.preventDefault();
|
|
17601
17446
|
return;
|
|
17602
17447
|
}
|
|
17603
|
-
_optionalChain([action, 'access',
|
|
17448
|
+
_optionalChain([action, 'access', _483 => _483.onClick, 'optionalCall', _484 => _484()]);
|
|
17604
17449
|
},
|
|
17605
17450
|
[action]
|
|
17606
17451
|
);
|
|
@@ -17641,13 +17486,13 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17641
17486
|
const activate = _react.useCallback.call(void 0, () => {
|
|
17642
17487
|
if (item.disabled) return;
|
|
17643
17488
|
if (item.type === "checkbox") {
|
|
17644
|
-
_optionalChain([item, 'access',
|
|
17645
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17489
|
+
_optionalChain([item, 'access', _485 => _485.onClick, 'optionalCall', _486 => _486()]);
|
|
17490
|
+
_optionalChain([onItemClick, 'optionalCall', _487 => _487(item)]);
|
|
17646
17491
|
return;
|
|
17647
17492
|
}
|
|
17648
17493
|
if (item.type === "submenu") return;
|
|
17649
|
-
_optionalChain([item, 'access',
|
|
17650
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17494
|
+
_optionalChain([item, 'access', _488 => _488.onClick, 'optionalCall', _489 => _489()]);
|
|
17495
|
+
_optionalChain([onItemClick, 'optionalCall', _490 => _490(item)]);
|
|
17651
17496
|
}, [item, onItemClick]);
|
|
17652
17497
|
const handleClick = _react.useCallback.call(void 0,
|
|
17653
17498
|
(e) => {
|
|
@@ -17673,8 +17518,8 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17673
17518
|
e.stopPropagation();
|
|
17674
17519
|
return;
|
|
17675
17520
|
}
|
|
17676
|
-
_optionalChain([item, 'access',
|
|
17677
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17521
|
+
_optionalChain([item, 'access', _491 => _491.onClick, 'optionalCall', _492 => _492()]);
|
|
17522
|
+
_optionalChain([onItemClick, 'optionalCall', _493 => _493(item)]);
|
|
17678
17523
|
},
|
|
17679
17524
|
[item, onItemClick]
|
|
17680
17525
|
);
|
|
@@ -17829,7 +17674,7 @@ var ActionsMenuDropdown = ({
|
|
|
17829
17674
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
17830
17675
|
const handleItemClick = _react.useCallback.call(void 0,
|
|
17831
17676
|
(item) => {
|
|
17832
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17677
|
+
_optionalChain([onItemClick, 'optionalCall', _494 => _494(item)]);
|
|
17833
17678
|
if (item.type !== "checkbox" && item.type !== "submenu") {
|
|
17834
17679
|
setOpen(false);
|
|
17835
17680
|
}
|
|
@@ -18000,7 +17845,7 @@ function IconButtonsVariant({
|
|
|
18000
17845
|
}) {
|
|
18001
17846
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
18002
17847
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
18003
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
17848
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _495 => _495[0], 'access', _496 => _496.submenu, 'optionalAccess', _497 => _497.length]);
|
|
18004
17849
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
18005
17850
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
18006
17851
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18430,14 +18275,14 @@ function ReleaseDetailPage({
|
|
|
18430
18275
|
releaseVersion
|
|
18431
18276
|
] })
|
|
18432
18277
|
] }) }),
|
|
18433
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess',
|
|
18278
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _498 => _498.map, 'call', _499 => _499((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18434
18279
|
StatusBadge,
|
|
18435
18280
|
{
|
|
18436
|
-
text: (tag.name || _optionalChain([tag, 'access',
|
|
18281
|
+
text: (tag.name || _optionalChain([tag, 'access', _500 => _500.blog_tags, 'optionalAccess', _501 => _501.name]) || "").toUpperCase(),
|
|
18437
18282
|
variant: "card",
|
|
18438
18283
|
className: "bg-ods-card border border-ods-border"
|
|
18439
18284
|
},
|
|
18440
|
-
tag.id || _optionalChain([tag, 'access',
|
|
18285
|
+
tag.id || _optionalChain([tag, 'access', _502 => _502.blog_tags, 'optionalAccess', _503 => _503.id])
|
|
18441
18286
|
))]) }),
|
|
18442
18287
|
/* @__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: [
|
|
18443
18288
|
/* @__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: [
|
|
@@ -18456,15 +18301,15 @@ function ReleaseDetailPage({
|
|
|
18456
18301
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18457
18302
|
SquareAvatar,
|
|
18458
18303
|
{
|
|
18459
|
-
src: _optionalChain([author, 'optionalAccess',
|
|
18460
|
-
alt: _optionalChain([author, 'optionalAccess',
|
|
18461
|
-
fallback: getInitials4(_optionalChain([author, 'optionalAccess',
|
|
18304
|
+
src: _optionalChain([author, 'optionalAccess', _504 => _504.avatar_url]) || "",
|
|
18305
|
+
alt: _optionalChain([author, 'optionalAccess', _505 => _505.full_name]) || "Author",
|
|
18306
|
+
fallback: getInitials4(_optionalChain([author, 'optionalAccess', _506 => _506.full_name]) || "Unknown"),
|
|
18462
18307
|
size: "md",
|
|
18463
18308
|
variant: "round"
|
|
18464
18309
|
}
|
|
18465
18310
|
),
|
|
18466
18311
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
|
|
18467
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess',
|
|
18312
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _507 => _507.full_name]) || "Unknown Author" }),
|
|
18468
18313
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
|
|
18469
18314
|
] })
|
|
18470
18315
|
] })
|
|
@@ -18495,15 +18340,15 @@ function ReleaseDetailPage({
|
|
|
18495
18340
|
videoBites,
|
|
18496
18341
|
bitesTitle: "Video Clips",
|
|
18497
18342
|
filterPublishedBites: true,
|
|
18498
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18499
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18343
|
+
srtContent: _optionalChain([release, 'optionalAccess', _508 => _508.srt_content]),
|
|
18344
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _509 => _509.captionsUrl])
|
|
18500
18345
|
}
|
|
18501
18346
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18502
18347
|
youtubeUrl && (() => {
|
|
18503
18348
|
const videoId = extractYouTubeId(youtubeUrl);
|
|
18504
18349
|
return videoId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, YouTubeEmbed, { videoId, title: `${releaseTitle} - Video`, showTitle: false, showMeta: true }) : null;
|
|
18505
18350
|
})(),
|
|
18506
|
-
!youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: mainVideoUrl, srtContent: _optionalChain([release, 'optionalAccess',
|
|
18351
|
+
!youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: mainVideoUrl, srtContent: _optionalChain([release, 'optionalAccess', _510 => _510.srt_content]), captionsUrl: _optionalChain([release, 'optionalAccess', _511 => _511.captionsUrl]) }) }) }),
|
|
18507
18352
|
highlightVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: highlightVideoUrl, poster: highlightVideoThumbnail }) }) })
|
|
18508
18353
|
] }),
|
|
18509
18354
|
releaseContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: releaseContent }) }),
|
|
@@ -18583,7 +18428,7 @@ function ReleaseDetailPage({
|
|
|
18583
18428
|
}
|
|
18584
18429
|
)
|
|
18585
18430
|
] }),
|
|
18586
|
-
(_optionalChain([githubReleases, 'optionalAccess',
|
|
18431
|
+
(_optionalChain([githubReleases, 'optionalAccess', _512 => _512.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _513 => _513.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
|
|
18587
18432
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
|
|
18588
18433
|
/* @__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: [
|
|
18589
18434
|
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: [
|
|
@@ -18612,7 +18457,7 @@ function ReleaseDetailPage({
|
|
|
18612
18457
|
{
|
|
18613
18458
|
href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
|
|
18614
18459
|
className: "text-h4 text-[#ffc008] hover:underline",
|
|
18615
|
-
children: _optionalChain([path, 'access',
|
|
18460
|
+
children: _optionalChain([path, 'access', _514 => _514.replace, 'call', _515 => _515(/^\//, ""), 'access', _516 => _516.split, 'call', _517 => _517("/"), 'access', _518 => _518.pop, 'call', _519 => _519(), 'optionalAccess', _520 => _520.replace, 'call', _521 => _521(/-/g, " ")]) || "View Article"
|
|
18616
18461
|
}
|
|
18617
18462
|
),
|
|
18618
18463
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
|
|
@@ -18711,7 +18556,7 @@ function InfoCard({ data, className = "" }) {
|
|
|
18711
18556
|
);
|
|
18712
18557
|
}
|
|
18713
18558
|
function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel }) {
|
|
18714
|
-
const { copy, copied } =
|
|
18559
|
+
const { copy, copied } = _chunkALW3D72Ocjs.useCopyToClipboard.call(void 0, );
|
|
18715
18560
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
|
|
18716
18561
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
|
|
18717
18562
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
|
|
@@ -18923,7 +18768,7 @@ var ProgressBar = ({
|
|
|
18923
18768
|
mobileHeight = 8,
|
|
18924
18769
|
inverted = false
|
|
18925
18770
|
}) => {
|
|
18926
|
-
const isMdUp = _nullishCoalesce(
|
|
18771
|
+
const isMdUp = _nullishCoalesce(_chunkALW3D72Ocjs.useMdUp.call(void 0, ), () => ( true));
|
|
18927
18772
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
18928
18773
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
18929
18774
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -19258,7 +19103,7 @@ function TagsManager({
|
|
|
19258
19103
|
const name = search.trim();
|
|
19259
19104
|
if (!name) return;
|
|
19260
19105
|
const result = await onCreateTag(name);
|
|
19261
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
19106
|
+
if (_optionalChain([result, 'optionalAccess', _522 => _522.id])) {
|
|
19262
19107
|
onChange([...selectedIds, result.id]);
|
|
19263
19108
|
setSearch("");
|
|
19264
19109
|
}
|
|
@@ -19266,7 +19111,7 @@ function TagsManager({
|
|
|
19266
19111
|
const startEdit = React53.useCallback((id, name) => {
|
|
19267
19112
|
setEditingId(id);
|
|
19268
19113
|
setEditingName(name);
|
|
19269
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
19114
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.focus, 'call', _525 => _525()]), 0);
|
|
19270
19115
|
}, []);
|
|
19271
19116
|
const confirmEdit = React53.useCallback(async () => {
|
|
19272
19117
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -19293,7 +19138,7 @@ function TagsManager({
|
|
|
19293
19138
|
e.stopPropagation();
|
|
19294
19139
|
onChange([]);
|
|
19295
19140
|
setSearch("");
|
|
19296
|
-
_optionalChain([inputRef, 'access',
|
|
19141
|
+
_optionalChain([inputRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.focus, 'call', _528 => _528()]);
|
|
19297
19142
|
},
|
|
19298
19143
|
[onChange]
|
|
19299
19144
|
);
|
|
@@ -19392,10 +19237,10 @@ function TagsManager({
|
|
|
19392
19237
|
align: "start",
|
|
19393
19238
|
onOpenAutoFocus: (e) => {
|
|
19394
19239
|
e.preventDefault();
|
|
19395
|
-
_optionalChain([inputRef, 'access',
|
|
19240
|
+
_optionalChain([inputRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.focus, 'call', _531 => _531()]);
|
|
19396
19241
|
},
|
|
19397
19242
|
onInteractOutside: (e) => {
|
|
19398
|
-
if (_optionalChain([containerRef, 'access',
|
|
19243
|
+
if (_optionalChain([containerRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.contains, 'call', _534 => _534(e.target)])) {
|
|
19399
19244
|
e.preventDefault();
|
|
19400
19245
|
}
|
|
19401
19246
|
},
|
|
@@ -20542,19 +20387,19 @@ function TabNavigation({
|
|
|
20542
20387
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
20543
20388
|
const getInitialTab = () => {
|
|
20544
20389
|
if (isUrlSyncEnabled) {
|
|
20545
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20390
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _535 => _535.get, 'call', _536 => _536(paramName)]) || "";
|
|
20546
20391
|
if (validTabIds.has(fromUrl)) {
|
|
20547
20392
|
return fromUrl;
|
|
20548
20393
|
}
|
|
20549
20394
|
}
|
|
20550
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
20395
|
+
return defaultTab || _optionalChain([tabs, 'access', _537 => _537[0], 'optionalAccess', _538 => _538.id]) || "";
|
|
20551
20396
|
};
|
|
20552
20397
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
20553
20398
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
20554
20399
|
_react.useEffect.call(void 0, () => {
|
|
20555
20400
|
if (!isUrlSyncEnabled) return;
|
|
20556
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20557
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
20401
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _539 => _539.get, 'call', _540 => _540(paramName)]) || "";
|
|
20402
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _541 => _541[0], 'optionalAccess', _542 => _542.id]) || "";
|
|
20558
20403
|
if (nextTab !== internalActiveTab) {
|
|
20559
20404
|
setInternalActiveTab(nextTab);
|
|
20560
20405
|
}
|
|
@@ -20562,13 +20407,13 @@ function TabNavigation({
|
|
|
20562
20407
|
const handleTabChange = (tabId) => {
|
|
20563
20408
|
if (isUrlSyncEnabled) {
|
|
20564
20409
|
setInternalActiveTab(tabId);
|
|
20565
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
20410
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _543 => _543.toString, 'call', _544 => _544()]));
|
|
20566
20411
|
params.set(paramName, tabId);
|
|
20567
20412
|
const method = replaceState ? "replace" : "push";
|
|
20568
20413
|
router[method](`${pathname}?${params.toString()}`);
|
|
20569
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20414
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _545 => _545(tabId)]);
|
|
20570
20415
|
} else {
|
|
20571
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20416
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _546 => _546(tabId)]);
|
|
20572
20417
|
}
|
|
20573
20418
|
};
|
|
20574
20419
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -20656,7 +20501,7 @@ function TabNavigation({
|
|
|
20656
20501
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
20657
20502
|
var getTabComponent = (tabs, tabId) => {
|
|
20658
20503
|
const tab = getTabById(tabs, tabId);
|
|
20659
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
20504
|
+
return _optionalChain([tab, 'optionalAccess', _547 => _547.component]) || null;
|
|
20660
20505
|
};
|
|
20661
20506
|
|
|
20662
20507
|
// src/components/ui/alert.tsx
|
|
@@ -20993,16 +20838,16 @@ function FilterModal({
|
|
|
20993
20838
|
};
|
|
20994
20839
|
const handleReset = () => {
|
|
20995
20840
|
onFilterChange({});
|
|
20996
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20841
|
+
_optionalChain([onTagsChange, 'optionalCall', _548 => _548([])]);
|
|
20997
20842
|
onClose();
|
|
20998
20843
|
};
|
|
20999
20844
|
const handleApply = () => {
|
|
21000
20845
|
onFilterChange(selectedFilters);
|
|
21001
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
20846
|
+
_optionalChain([onTagsChange, 'optionalCall', _549 => _549(pendingTags)]);
|
|
21002
20847
|
onClose();
|
|
21003
20848
|
};
|
|
21004
20849
|
const getColumnDirection = (columnKey) => {
|
|
21005
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
20850
|
+
return _optionalChain([sortConfig, 'optionalAccess', _550 => _550.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
21006
20851
|
};
|
|
21007
20852
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
21008
20853
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -21051,7 +20896,7 @@ function FilterModal({
|
|
|
21051
20896
|
{
|
|
21052
20897
|
column,
|
|
21053
20898
|
currentDirection: getColumnDirection(column.key),
|
|
21054
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
20899
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _551 => _551(column.key, direction)]),
|
|
21055
20900
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
21056
20901
|
},
|
|
21057
20902
|
column.key
|
|
@@ -21118,7 +20963,7 @@ function ListPageLayout({
|
|
|
21118
20963
|
}) {
|
|
21119
20964
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
21120
20965
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
21121
|
-
const debouncedSearchValue =
|
|
20966
|
+
const debouncedSearchValue = _chunkALW3D72Ocjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
21122
20967
|
_react.useEffect.call(void 0, () => {
|
|
21123
20968
|
setLocalSearchValue(searchValue);
|
|
21124
20969
|
}, [searchValue]);
|
|
@@ -21217,9 +21062,9 @@ function TitleBlock({
|
|
|
21217
21062
|
const [imageFailed, setImageFailed] = React33.default.useState(false);
|
|
21218
21063
|
React33.default.useEffect(() => {
|
|
21219
21064
|
setImageFailed(false);
|
|
21220
|
-
}, [_optionalChain([image, 'optionalAccess',
|
|
21065
|
+
}, [_optionalChain([image, 'optionalAccess', _552 => _552.src])]);
|
|
21221
21066
|
const showImageFallback = !!image && (imageFailed || !image.src);
|
|
21222
|
-
const initials = getInitials3(_optionalChain([image, 'optionalAccess',
|
|
21067
|
+
const initials = getInitials3(_optionalChain([image, 'optionalAccess', _553 => _553.alt]) || title);
|
|
21223
21068
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
21224
21069
|
"div",
|
|
21225
21070
|
{
|
|
@@ -22015,26 +21860,26 @@ function DeviceCard({
|
|
|
22015
21860
|
] }),
|
|
22016
21861
|
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 })
|
|
22017
21862
|
] }),
|
|
22018
|
-
_optionalChain([actions, 'access',
|
|
21863
|
+
_optionalChain([actions, 'access', _554 => _554.moreButton, 'optionalAccess', _555 => _555.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22019
21864
|
"div",
|
|
22020
21865
|
{
|
|
22021
21866
|
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",
|
|
22022
21867
|
onClick: (e) => {
|
|
22023
21868
|
e.stopPropagation();
|
|
22024
|
-
_optionalChain([actions, 'access',
|
|
21869
|
+
_optionalChain([actions, 'access', _556 => _556.moreButton, 'optionalAccess', _557 => _557.onClick, 'optionalCall', _558 => _558()]);
|
|
22025
21870
|
},
|
|
22026
21871
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
22027
21872
|
}
|
|
22028
21873
|
),
|
|
22029
|
-
_optionalChain([actions, 'access',
|
|
22030
|
-
_optionalChain([actions, 'access',
|
|
21874
|
+
_optionalChain([actions, 'access', _559 => _559.detailsButton, 'optionalAccess', _560 => _560.visible]) !== false && _optionalChain([actions, 'access', _561 => _561.detailsButton, 'optionalAccess', _562 => _562.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
|
|
21875
|
+
_optionalChain([actions, 'access', _563 => _563.customActions, 'optionalAccess', _564 => _564.map, 'call', _565 => _565(
|
|
22031
21876
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22032
21877
|
"div",
|
|
22033
21878
|
{
|
|
22034
21879
|
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",
|
|
22035
21880
|
onClick: (e) => {
|
|
22036
21881
|
e.stopPropagation();
|
|
22037
|
-
_optionalChain([action, 'access',
|
|
21882
|
+
_optionalChain([action, 'access', _566 => _566.onClick, 'optionalCall', _567 => _567()]);
|
|
22038
21883
|
},
|
|
22039
21884
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
22040
21885
|
},
|
|
@@ -22393,7 +22238,7 @@ function MoreActionsMenu({
|
|
|
22393
22238
|
] });
|
|
22394
22239
|
const handleActivate = (e) => {
|
|
22395
22240
|
e.stopPropagation();
|
|
22396
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
22241
|
+
if (!item.disabled) _optionalChain([item, 'access', _568 => _568.onClick, 'optionalCall', _569 => _569()]);
|
|
22397
22242
|
};
|
|
22398
22243
|
if (item.href) {
|
|
22399
22244
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22543,7 +22388,7 @@ function OrganizationIcon({
|
|
|
22543
22388
|
backgroundStyle = "dark"
|
|
22544
22389
|
}) {
|
|
22545
22390
|
const { width, height } = imageSizeMap2[size];
|
|
22546
|
-
const initials = _optionalChain([organizationName, 'optionalAccess',
|
|
22391
|
+
const initials = _optionalChain([organizationName, 'optionalAccess', _570 => _570.substring, 'call', _571 => _571(0, 2)]) || "??";
|
|
22547
22392
|
const containerClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
22548
22393
|
sizeClasses3[size],
|
|
22549
22394
|
"rounded-lg flex items-center justify-center flex-shrink-0 relative",
|
|
@@ -22594,7 +22439,7 @@ function OrganizationCard({
|
|
|
22594
22439
|
const handleActionClick = (e) => {
|
|
22595
22440
|
e.preventDefault();
|
|
22596
22441
|
e.stopPropagation();
|
|
22597
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
22442
|
+
_optionalChain([actionButton, 'optionalAccess', _572 => _572.onClick, 'call', _573 => _573(organization, e)]);
|
|
22598
22443
|
};
|
|
22599
22444
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22600
22445
|
"div",
|
|
@@ -22751,7 +22596,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22751
22596
|
onKeyDown: (e) => {
|
|
22752
22597
|
if (e.key === "Enter" || e.key === " ") {
|
|
22753
22598
|
e.preventDefault();
|
|
22754
|
-
_optionalChain([onClick, 'optionalCall',
|
|
22599
|
+
_optionalChain([onClick, 'optionalCall', _574 => _574()]);
|
|
22755
22600
|
}
|
|
22756
22601
|
},
|
|
22757
22602
|
children: [
|
|
@@ -22760,7 +22605,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22760
22605
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
|
|
22761
22606
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22762
22607
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-[#888888] uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
|
|
22763
|
-
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22608
|
+
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkALW3D72Ocjs.ToolIcon, { toolType: log.toolType, size: 16 })
|
|
22764
22609
|
] })
|
|
22765
22610
|
] })
|
|
22766
22611
|
]
|
|
@@ -22852,7 +22697,7 @@ var LogsList = React78.forwardRef(({
|
|
|
22852
22697
|
log,
|
|
22853
22698
|
isLast: index === logs.length - 1,
|
|
22854
22699
|
showConnector,
|
|
22855
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
22700
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _575 => _575(log)])
|
|
22856
22701
|
},
|
|
22857
22702
|
log.id
|
|
22858
22703
|
))
|
|
@@ -22965,7 +22810,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
22965
22810
|
}
|
|
22966
22811
|
function ServiceCardRowItem({ row }) {
|
|
22967
22812
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
22968
|
-
const { copy, copied } =
|
|
22813
|
+
const { copy, copied } = _chunkALW3D72Ocjs.useCopyToClipboard.call(void 0, );
|
|
22969
22814
|
const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
|
|
22970
22815
|
const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
|
|
22971
22816
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
@@ -23441,7 +23286,7 @@ function CursorPaginationSimple({
|
|
|
23441
23286
|
{
|
|
23442
23287
|
variant: "transparent",
|
|
23443
23288
|
size: "icon",
|
|
23444
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
23289
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _576 => _576("")]),
|
|
23445
23290
|
disabled: !hasPreviousPage || loading,
|
|
23446
23291
|
className: "h-8 w-8",
|
|
23447
23292
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -23453,7 +23298,7 @@ function CursorPaginationSimple({
|
|
|
23453
23298
|
{
|
|
23454
23299
|
variant: "transparent",
|
|
23455
23300
|
size: "icon",
|
|
23456
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
23301
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _577 => _577("")]),
|
|
23457
23302
|
disabled: !hasNextPage || loading,
|
|
23458
23303
|
className: "h-8 w-8",
|
|
23459
23304
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -23513,7 +23358,7 @@ function TableColumnFilterDropdown({
|
|
|
23513
23358
|
placement = "bottom-start",
|
|
23514
23359
|
dropdownClassName = "min-w-[240px]"
|
|
23515
23360
|
}) {
|
|
23516
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
23361
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _578 => _578[columnKey], 'optionalAccess', _579 => _579.length]) || 0;
|
|
23517
23362
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23518
23363
|
FiltersDropdown,
|
|
23519
23364
|
{
|
|
@@ -23556,7 +23401,7 @@ function TableColumnFilterDropdown({
|
|
|
23556
23401
|
delete newFilters[columnKey];
|
|
23557
23402
|
onFilterChange(newFilters);
|
|
23558
23403
|
},
|
|
23559
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
23404
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _580 => _580[columnKey]]) || [] },
|
|
23560
23405
|
placement,
|
|
23561
23406
|
dropdownClassName
|
|
23562
23407
|
}
|
|
@@ -23631,7 +23476,7 @@ function TableHeader({
|
|
|
23631
23476
|
}
|
|
23632
23477
|
return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
|
|
23633
23478
|
};
|
|
23634
|
-
const isLgUp = _nullishCoalesce(
|
|
23479
|
+
const isLgUp = _nullishCoalesce(_chunkALW3D72Ocjs.useLgUp.call(void 0, ), () => ( false));
|
|
23635
23480
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23636
23481
|
"div",
|
|
23637
23482
|
{
|
|
@@ -23853,7 +23698,7 @@ function TableRow({
|
|
|
23853
23698
|
const keys = column.key.split(".");
|
|
23854
23699
|
let value = item;
|
|
23855
23700
|
for (const key of keys) {
|
|
23856
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
23701
|
+
value = _optionalChain([value, 'optionalAccess', _581 => _581[key]]);
|
|
23857
23702
|
}
|
|
23858
23703
|
if (value === null || value === void 0) {
|
|
23859
23704
|
return "-";
|
|
@@ -23923,7 +23768,7 @@ function TableRow({
|
|
|
23923
23768
|
// src/components/ui/table/table.tsx
|
|
23924
23769
|
|
|
23925
23770
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
23926
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
23771
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _582 => _582.length])) || Boolean(renderRowActions);
|
|
23927
23772
|
const result = [...columns];
|
|
23928
23773
|
if (hasActions) {
|
|
23929
23774
|
const actionsColumn = {
|
|
@@ -24017,7 +23862,7 @@ function Table({
|
|
|
24017
23862
|
return rowKey(item);
|
|
24018
23863
|
}
|
|
24019
23864
|
const key = item[rowKey];
|
|
24020
|
-
return _optionalChain([key, 'optionalAccess',
|
|
23865
|
+
return _optionalChain([key, 'optionalAccess', _583 => _583.toString, 'call', _584 => _584()]) || index.toString();
|
|
24021
23866
|
};
|
|
24022
23867
|
const getRowClassName = (item, index) => {
|
|
24023
23868
|
if (typeof rowClassName === "function") {
|
|
@@ -24051,23 +23896,23 @@ function Table({
|
|
|
24051
23896
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
24052
23897
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
24053
23898
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
24054
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
24055
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23899
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _585 => _585.onLoadMore]));
|
|
23900
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _586 => _586.onLoadMore]);
|
|
24056
23901
|
_react.useEffect.call(void 0, () => {
|
|
24057
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23902
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _587 => _587.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
24058
23903
|
const sentinel = sentinelRef.current;
|
|
24059
23904
|
if (!sentinel) return;
|
|
24060
23905
|
const observer = new IntersectionObserver(
|
|
24061
23906
|
(entries) => {
|
|
24062
|
-
if (_optionalChain([entries, 'access',
|
|
24063
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
23907
|
+
if (_optionalChain([entries, 'access', _588 => _588[0], 'optionalAccess', _589 => _589.isIntersecting])) {
|
|
23908
|
+
_optionalChain([onLoadMoreRef, 'access', _590 => _590.current, 'optionalCall', _591 => _591()]);
|
|
24064
23909
|
}
|
|
24065
23910
|
},
|
|
24066
23911
|
{ rootMargin: "200px" }
|
|
24067
23912
|
);
|
|
24068
23913
|
observer.observe(sentinel);
|
|
24069
23914
|
return () => observer.disconnect();
|
|
24070
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23915
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _592 => _592.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _593 => _593.isFetchingNextPage])]);
|
|
24071
23916
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
24072
23917
|
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: [
|
|
24073
23918
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -24138,7 +23983,7 @@ function Table({
|
|
|
24138
23983
|
},
|
|
24139
23984
|
getRowKey(item, index)
|
|
24140
23985
|
)),
|
|
24141
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23986
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _594 => _594.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24142
23987
|
TableCardSkeleton,
|
|
24143
23988
|
{
|
|
24144
23989
|
columns,
|
|
@@ -24147,7 +23992,7 @@ function Table({
|
|
|
24147
23992
|
hasChevron: Boolean(rowHref)
|
|
24148
23993
|
}
|
|
24149
23994
|
),
|
|
24150
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
23995
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _595 => _595.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
24151
23996
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24152
23997
|
"div",
|
|
24153
23998
|
{
|
|
@@ -24505,7 +24350,7 @@ function QueryReportTable({
|
|
|
24505
24350
|
);
|
|
24506
24351
|
const handleExport = () => {
|
|
24507
24352
|
exportToCSV(data, columns, exportFilename);
|
|
24508
|
-
_optionalChain([onExport, 'optionalCall',
|
|
24353
|
+
_optionalChain([onExport, 'optionalCall', _596 => _596()]);
|
|
24509
24354
|
};
|
|
24510
24355
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
24511
24356
|
const {
|
|
@@ -24521,7 +24366,7 @@ function QueryReportTable({
|
|
|
24521
24366
|
onThumbPointerDown,
|
|
24522
24367
|
onThumbPointerMove,
|
|
24523
24368
|
onThumbPointerUp
|
|
24524
|
-
} =
|
|
24369
|
+
} = _chunkALW3D72Ocjs.useHorizontalScrollbar.call(void 0, );
|
|
24525
24370
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
|
|
24526
24371
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
|
|
24527
24372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
|
|
@@ -24678,7 +24523,7 @@ function DataTableColumnFilter({
|
|
|
24678
24523
|
align = "left"
|
|
24679
24524
|
}) {
|
|
24680
24525
|
const currentValue = column.getFilterValue();
|
|
24681
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
24526
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _597 => _597.length]), () => ( 0));
|
|
24682
24527
|
const sections = _react.useMemo.call(void 0,
|
|
24683
24528
|
() => [
|
|
24684
24529
|
{
|
|
@@ -24752,13 +24597,13 @@ function DataTableHeader({
|
|
|
24752
24597
|
onSortChange
|
|
24753
24598
|
}) {
|
|
24754
24599
|
const table = useDataTableContext();
|
|
24755
|
-
const isLgUp = _nullishCoalesce(
|
|
24600
|
+
const isLgUp = _nullishCoalesce(_chunkALW3D72Ocjs.useLgUp.call(void 0, ), () => ( false));
|
|
24756
24601
|
const headerGroup = table.getHeaderGroups()[0];
|
|
24757
24602
|
if (!headerGroup) return null;
|
|
24758
24603
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
24759
24604
|
if (header.isPlaceholder) return false;
|
|
24760
24605
|
if (isLgUp) return true;
|
|
24761
|
-
return Boolean(_optionalChain([header, 'access',
|
|
24606
|
+
return Boolean(_optionalChain([header, 'access', _598 => _598.column, 'access', _599 => _599.columnDef, 'access', _600 => _600.meta, 'optionalAccess', _601 => _601.filter]));
|
|
24762
24607
|
});
|
|
24763
24608
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24764
24609
|
"div",
|
|
@@ -24788,20 +24633,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24788
24633
|
if (header.isPlaceholder) return null;
|
|
24789
24634
|
const column = header.column;
|
|
24790
24635
|
const meta = column.columnDef.meta;
|
|
24791
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
24792
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24793
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
24794
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
24636
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _602 => _602.filter]));
|
|
24637
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _603 => _603.align]), () => ( "left"));
|
|
24638
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _604 => _604.sortable]) === true;
|
|
24639
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _605 => _605.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
24795
24640
|
if (!isLgUp && !hasFilter) return null;
|
|
24796
24641
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24797
24642
|
"div",
|
|
24798
24643
|
{
|
|
24799
24644
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24800
24645
|
"flex items-stretch",
|
|
24801
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
24802
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24646
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _606 => _606.width]) || "flex-1 min-w-0"),
|
|
24647
|
+
_optionalChain([meta, 'optionalAccess', _607 => _607.headerClassName]),
|
|
24803
24648
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
24804
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24649
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _608 => _608.hideAt]))
|
|
24805
24650
|
),
|
|
24806
24651
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24807
24652
|
DataTableColumnFilter,
|
|
@@ -24820,7 +24665,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24820
24665
|
isLgUp && alignJustify(align),
|
|
24821
24666
|
canSort && "group cursor-pointer"
|
|
24822
24667
|
),
|
|
24823
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
24668
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _609 => _609(column.id)]) : void 0,
|
|
24824
24669
|
children: [
|
|
24825
24670
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
24826
24671
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -24904,7 +24749,7 @@ function DataTableSkeleton({
|
|
|
24904
24749
|
}) {
|
|
24905
24750
|
const table = useDataTableContext();
|
|
24906
24751
|
const columns = table.getVisibleFlatColumns();
|
|
24907
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
24752
|
+
const firstColumnId = _optionalChain([columns, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.id]);
|
|
24908
24753
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24909
24754
|
"div",
|
|
24910
24755
|
{
|
|
@@ -24928,7 +24773,7 @@ function DataTableSkeleton({
|
|
|
24928
24773
|
{
|
|
24929
24774
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
24930
24775
|
"flex flex-col justify-center shrink-0",
|
|
24931
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24776
|
+
_optionalChain([meta, 'optionalAccess', _612 => _612.width]) || "flex-1"
|
|
24932
24777
|
),
|
|
24933
24778
|
children: [
|
|
24934
24779
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -24974,7 +24819,7 @@ function DataTableRowImpl({
|
|
|
24974
24819
|
(e) => {
|
|
24975
24820
|
const target = e.target;
|
|
24976
24821
|
if (target.closest("[data-no-row-click]")) return;
|
|
24977
|
-
_optionalChain([onClick, 'optionalCall',
|
|
24822
|
+
_optionalChain([onClick, 'optionalCall', _613 => _613(row.original)]);
|
|
24978
24823
|
},
|
|
24979
24824
|
[onClick, row.original]
|
|
24980
24825
|
);
|
|
@@ -25012,10 +24857,10 @@ function DataTableRowImpl({
|
|
|
25012
24857
|
{
|
|
25013
24858
|
className: _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
25014
24859
|
"flex flex-col overflow-hidden",
|
|
25015
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
25016
|
-
_optionalChain([meta, 'optionalAccess',
|
|
25017
|
-
_optionalChain([meta, 'optionalAccess',
|
|
25018
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24860
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _614 => _614.align])),
|
|
24861
|
+
_optionalChain([meta, 'optionalAccess', _615 => _615.width]) || "flex-1 min-w-0",
|
|
24862
|
+
_optionalChain([meta, 'optionalAccess', _616 => _616.cellClassName]),
|
|
24863
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _617 => _617.hideAt]))
|
|
25019
24864
|
),
|
|
25020
24865
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
25021
24866
|
},
|
|
@@ -25061,7 +24906,7 @@ function DataTableBody({
|
|
|
25061
24906
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
25062
24907
|
rows.map((row, index) => {
|
|
25063
24908
|
const item = row.original;
|
|
25064
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
24909
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _618 => _618(item)]), () => ( void 0));
|
|
25065
24910
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
25066
24911
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25067
24912
|
DataTableRow,
|
|
@@ -25125,7 +24970,7 @@ function DataTableInfiniteFooter({
|
|
|
25125
24970
|
if (!sentinel) return;
|
|
25126
24971
|
const observer = new IntersectionObserver(
|
|
25127
24972
|
(entries) => {
|
|
25128
|
-
if (_optionalChain([entries, 'access',
|
|
24973
|
+
if (_optionalChain([entries, 'access', _619 => _619[0], 'optionalAccess', _620 => _620.isIntersecting])) onLoadMoreRef.current();
|
|
25129
24974
|
},
|
|
25130
24975
|
{ rootMargin }
|
|
25131
24976
|
);
|
|
@@ -25173,7 +25018,7 @@ function DataTableRowCount({
|
|
|
25173
25018
|
const table = useDataTableContext();
|
|
25174
25019
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
25175
25020
|
if (hideWhenEmpty && count === 0) return null;
|
|
25176
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
25021
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _621 => _621(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
25177
25022
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25178
25023
|
"span",
|
|
25179
25024
|
{
|
|
@@ -25267,12 +25112,12 @@ function PhoneInput({
|
|
|
25267
25112
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
25268
25113
|
if (!phone || digitCount(phone) === 0) {
|
|
25269
25114
|
setIsInvalid(false);
|
|
25270
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25115
|
+
_optionalChain([onValidationChange, 'optionalCall', _622 => _622(false)]);
|
|
25271
25116
|
return;
|
|
25272
25117
|
}
|
|
25273
25118
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
25274
25119
|
setIsInvalid(invalid);
|
|
25275
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25120
|
+
_optionalChain([onValidationChange, 'optionalCall', _623 => _623(invalid)]);
|
|
25276
25121
|
}, [countryCode, digitCount, onValidationChange]);
|
|
25277
25122
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
25278
25123
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -25321,7 +25166,7 @@ function PhoneInput({
|
|
|
25321
25166
|
debouncedValidation(val);
|
|
25322
25167
|
} else if (digitCount(val) === 0) {
|
|
25323
25168
|
setIsInvalid(false);
|
|
25324
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25169
|
+
_optionalChain([onValidationChange, 'optionalCall', _624 => _624(false)]);
|
|
25325
25170
|
}
|
|
25326
25171
|
}
|
|
25327
25172
|
},
|
|
@@ -25401,7 +25246,7 @@ function SearchInput({
|
|
|
25401
25246
|
}) {
|
|
25402
25247
|
const [internalValue, setInternalValue] = React82.useState(defaultValue);
|
|
25403
25248
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
25404
|
-
const debouncedValue =
|
|
25249
|
+
const debouncedValue = _chunkALW3D72Ocjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
25405
25250
|
const [isOpen, setIsOpen] = React82.useState(false);
|
|
25406
25251
|
const [highlightedIndex, setHighlightedIndex] = React82.useState(-1);
|
|
25407
25252
|
const containerRef = React82.useRef(null);
|
|
@@ -25413,7 +25258,7 @@ function SearchInput({
|
|
|
25413
25258
|
textMeasureRef,
|
|
25414
25259
|
badgeRef,
|
|
25415
25260
|
inputRef
|
|
25416
|
-
} =
|
|
25261
|
+
} = _chunkALW3D72Ocjs.useAutoLimitTags.call(void 0, {
|
|
25417
25262
|
count: filterChips.length,
|
|
25418
25263
|
limitTags,
|
|
25419
25264
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -25428,7 +25273,7 @@ function SearchInput({
|
|
|
25428
25273
|
if (!showHiddenTags) return;
|
|
25429
25274
|
const handleClick = (e) => {
|
|
25430
25275
|
const target = e.target;
|
|
25431
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25276
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.contains, 'call', _627 => _627(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _628 => _628.current, 'optionalAccess', _629 => _629.contains, 'call', _630 => _630(target)])) {
|
|
25432
25277
|
setShowHiddenTags(false);
|
|
25433
25278
|
}
|
|
25434
25279
|
};
|
|
@@ -25476,10 +25321,10 @@ function SearchInput({
|
|
|
25476
25321
|
} else {
|
|
25477
25322
|
setInternalValue("");
|
|
25478
25323
|
}
|
|
25479
|
-
_optionalChain([inputRef, 'access',
|
|
25324
|
+
_optionalChain([inputRef, 'access', _631 => _631.current, 'optionalAccess', _632 => _632.focus, 'call', _633 => _633()]);
|
|
25480
25325
|
};
|
|
25481
25326
|
const handleResultClick = (result) => {
|
|
25482
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
25327
|
+
_optionalChain([onResultSelect, 'optionalCall', _634 => _634(result)]);
|
|
25483
25328
|
setIsOpen(false);
|
|
25484
25329
|
};
|
|
25485
25330
|
const handleKeyDown = (e) => {
|
|
@@ -25502,7 +25347,7 @@ function SearchInput({
|
|
|
25502
25347
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
25503
25348
|
handleResultClick(flatResults[highlightedIndex]);
|
|
25504
25349
|
} else {
|
|
25505
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
25350
|
+
_optionalChain([onSubmit, 'optionalCall', _635 => _635(currentValue)]);
|
|
25506
25351
|
}
|
|
25507
25352
|
break;
|
|
25508
25353
|
case "Escape":
|
|
@@ -25580,7 +25425,7 @@ function SearchInput({
|
|
|
25580
25425
|
dropdownVisible && "!border-ods-accent"
|
|
25581
25426
|
),
|
|
25582
25427
|
onClick: () => {
|
|
25583
|
-
_optionalChain([inputRef, 'access',
|
|
25428
|
+
_optionalChain([inputRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.focus, 'call', _638 => _638()]);
|
|
25584
25429
|
setIsOpen(true);
|
|
25585
25430
|
},
|
|
25586
25431
|
children: [
|
|
@@ -25664,10 +25509,10 @@ function SearchInput({
|
|
|
25664
25509
|
align: "start",
|
|
25665
25510
|
onOpenAutoFocus: (e) => {
|
|
25666
25511
|
e.preventDefault();
|
|
25667
|
-
_optionalChain([inputRef, 'access',
|
|
25512
|
+
_optionalChain([inputRef, 'access', _639 => _639.current, 'optionalAccess', _640 => _640.focus, 'call', _641 => _641()]);
|
|
25668
25513
|
},
|
|
25669
25514
|
onInteractOutside: (e) => {
|
|
25670
|
-
if (_optionalChain([containerRef, 'access',
|
|
25515
|
+
if (_optionalChain([containerRef, 'access', _642 => _642.current, 'optionalAccess', _643 => _643.contains, 'call', _644 => _644(e.target)])) {
|
|
25671
25516
|
e.preventDefault();
|
|
25672
25517
|
}
|
|
25673
25518
|
},
|
|
@@ -25684,10 +25529,10 @@ function SearchInput({
|
|
|
25684
25529
|
ref: hiddenTagsPopupRef,
|
|
25685
25530
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
25686
25531
|
style: {
|
|
25687
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
25532
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _645 => _645.current, 'optionalAccess', _646 => _646.getBoundingClientRect, 'call', _647 => _647(), 'access', _648 => _648.left]), () => ( 0))) : 0
|
|
25688
25533
|
},
|
|
25689
25534
|
onRemove: (value2) => {
|
|
25690
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
25535
|
+
_optionalChain([onFilterRemove, 'optionalCall', _649 => _649(value2)]);
|
|
25691
25536
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
25692
25537
|
}
|
|
25693
25538
|
}
|
|
@@ -25738,7 +25583,7 @@ function FilterListItem({
|
|
|
25738
25583
|
}) {
|
|
25739
25584
|
const handleToggle = () => {
|
|
25740
25585
|
if (disabled) return;
|
|
25741
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
25586
|
+
_optionalChain([onToggle, 'optionalCall', _650 => _650(!selected)]);
|
|
25742
25587
|
};
|
|
25743
25588
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25744
25589
|
"div",
|
|
@@ -25785,7 +25630,7 @@ function FilterListItem({
|
|
|
25785
25630
|
CheckboxPrimitive4.Root,
|
|
25786
25631
|
{
|
|
25787
25632
|
checked: selected,
|
|
25788
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
25633
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _651 => _651(c === true)]),
|
|
25789
25634
|
onClick: (e) => e.stopPropagation(),
|
|
25790
25635
|
disabled,
|
|
25791
25636
|
"aria-label": title,
|
|
@@ -25871,7 +25716,7 @@ function TagSearchInput({
|
|
|
25871
25716
|
textMeasureRef,
|
|
25872
25717
|
badgeRef,
|
|
25873
25718
|
inputRef
|
|
25874
|
-
} =
|
|
25719
|
+
} = _chunkALW3D72Ocjs.useAutoLimitTags.call(void 0, {
|
|
25875
25720
|
count: tags.length,
|
|
25876
25721
|
limitTags,
|
|
25877
25722
|
placeholder: currentPlaceholder
|
|
@@ -25884,7 +25729,7 @@ function TagSearchInput({
|
|
|
25884
25729
|
if (!showHiddenTags) return;
|
|
25885
25730
|
const handleClick = (e) => {
|
|
25886
25731
|
const target = e.target;
|
|
25887
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25732
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _652 => _652.current, 'optionalAccess', _653 => _653.contains, 'call', _654 => _654(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _655 => _655.current, 'optionalAccess', _656 => _656.contains, 'call', _657 => _657(target)])) {
|
|
25888
25733
|
setShowHiddenTags(false);
|
|
25889
25734
|
}
|
|
25890
25735
|
};
|
|
@@ -25900,13 +25745,13 @@ function TagSearchInput({
|
|
|
25900
25745
|
e.preventDefault();
|
|
25901
25746
|
onSubmit(searchValue);
|
|
25902
25747
|
}
|
|
25903
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
25748
|
+
_optionalChain([onKeyDown, 'optionalCall', _658 => _658(e)]);
|
|
25904
25749
|
};
|
|
25905
25750
|
const handleClearAll = (e) => {
|
|
25906
25751
|
e.stopPropagation();
|
|
25907
25752
|
e.preventDefault();
|
|
25908
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
25909
|
-
_optionalChain([inputRef, 'access',
|
|
25753
|
+
_optionalChain([onClearAll, 'optionalCall', _659 => _659()]);
|
|
25754
|
+
_optionalChain([inputRef, 'access', _660 => _660.current, 'optionalAccess', _661 => _661.focus, 'call', _662 => _662()]);
|
|
25910
25755
|
};
|
|
25911
25756
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
25912
25757
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25923,7 +25768,7 @@ function TagSearchInput({
|
|
|
25923
25768
|
className
|
|
25924
25769
|
),
|
|
25925
25770
|
onClick: () => {
|
|
25926
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
25771
|
+
if (!disabled) _optionalChain([inputRef, 'access', _663 => _663.current, 'optionalAccess', _664 => _664.focus, 'call', _665 => _665()]);
|
|
25927
25772
|
},
|
|
25928
25773
|
children: [
|
|
25929
25774
|
/* @__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" }) }),
|
|
@@ -25995,7 +25840,7 @@ function TagSearchInput({
|
|
|
25995
25840
|
items: hiddenTags,
|
|
25996
25841
|
disabled,
|
|
25997
25842
|
style: {
|
|
25998
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
25843
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.getBoundingClientRect, 'call', _668 => _668(), 'access', _669 => _669.left]), () => ( 0))) : 0
|
|
25999
25844
|
},
|
|
26000
25845
|
onRemove: (value) => {
|
|
26001
25846
|
onTagRemove(value);
|
|
@@ -26097,7 +25942,7 @@ function MarkdownEditor({
|
|
|
26097
25942
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
26098
25943
|
_react.useEffect.call(void 0, () => {
|
|
26099
25944
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
26100
|
-
if (_optionalChain([mod, 'access',
|
|
25945
|
+
if (_optionalChain([mod, 'access', _670 => _670.commands, 'optionalAccess', _671 => _671.getExtraCommands])) {
|
|
26101
25946
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
26102
25947
|
}
|
|
26103
25948
|
});
|
|
@@ -26131,7 +25976,7 @@ function MarkdownEditor({
|
|
|
26131
25976
|
const isImage = file.type.startsWith("image/");
|
|
26132
25977
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
26133
25978
|
insertTextAtCursor(markdown);
|
|
26134
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
25979
|
+
_optionalChain([onFileUploaded, 'optionalCall', _672 => _672(url, file.name)]);
|
|
26135
25980
|
} catch (error) {
|
|
26136
25981
|
console.error("File upload failed:", error);
|
|
26137
25982
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -26144,7 +25989,7 @@ function MarkdownEditor({
|
|
|
26144
25989
|
);
|
|
26145
25990
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
26146
25991
|
(e) => {
|
|
26147
|
-
const file = _optionalChain([e, 'access',
|
|
25992
|
+
const file = _optionalChain([e, 'access', _673 => _673.target, 'access', _674 => _674.files, 'optionalAccess', _675 => _675[0]]);
|
|
26148
25993
|
if (file) {
|
|
26149
25994
|
handleFileUpload(file);
|
|
26150
25995
|
e.target.value = "";
|
|
@@ -26155,7 +26000,7 @@ function MarkdownEditor({
|
|
|
26155
26000
|
const handlePaste = _react.useCallback.call(void 0,
|
|
26156
26001
|
(e) => {
|
|
26157
26002
|
if (!onUploadFile) return;
|
|
26158
|
-
const items = _optionalChain([e, 'access',
|
|
26003
|
+
const items = _optionalChain([e, 'access', _676 => _676.clipboardData, 'optionalAccess', _677 => _677.items]);
|
|
26159
26004
|
if (!items) return;
|
|
26160
26005
|
for (const item of items) {
|
|
26161
26006
|
if (item.type.startsWith("image/")) {
|
|
@@ -26180,7 +26025,7 @@ function MarkdownEditor({
|
|
|
26180
26025
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
26181
26026
|
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" }),
|
|
26182
26027
|
execute: () => {
|
|
26183
|
-
_optionalChain([fileInputRef, 'access',
|
|
26028
|
+
_optionalChain([fileInputRef, 'access', _678 => _678.current, 'optionalAccess', _679 => _679.click, 'call', _680 => _680()]);
|
|
26184
26029
|
}
|
|
26185
26030
|
} : null;
|
|
26186
26031
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -26192,7 +26037,7 @@ function MarkdownEditor({
|
|
|
26192
26037
|
const EDGE_ZONE = 60;
|
|
26193
26038
|
const MAX_SCROLL_SPEED = 15;
|
|
26194
26039
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
26195
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
26040
|
+
let node = _optionalChain([el, 'optionalAccess', _681 => _681.parentElement]);
|
|
26196
26041
|
while (node && node !== document.documentElement) {
|
|
26197
26042
|
const { overflowY } = window.getComputedStyle(node);
|
|
26198
26043
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -26335,7 +26180,7 @@ function matchesAccept(file, accept) {
|
|
|
26335
26180
|
});
|
|
26336
26181
|
}
|
|
26337
26182
|
function dragHasFiles(e) {
|
|
26338
|
-
const types = _optionalChain([e, 'access',
|
|
26183
|
+
const types = _optionalChain([e, 'access', _682 => _682.dataTransfer, 'optionalAccess', _683 => _683.types]);
|
|
26339
26184
|
if (!types) return false;
|
|
26340
26185
|
for (let i = 0; i < types.length; i++) {
|
|
26341
26186
|
if (types[i] === "Files") return true;
|
|
@@ -26430,7 +26275,7 @@ function FileUpload({
|
|
|
26430
26275
|
e.stopPropagation();
|
|
26431
26276
|
setDragActive(false);
|
|
26432
26277
|
if (disabled) return;
|
|
26433
|
-
if (_optionalChain([e, 'access',
|
|
26278
|
+
if (_optionalChain([e, 'access', _684 => _684.dataTransfer, 'access', _685 => _685.files, 'optionalAccess', _686 => _686.length])) {
|
|
26434
26279
|
handleFiles(e.dataTransfer.files);
|
|
26435
26280
|
}
|
|
26436
26281
|
};
|
|
@@ -26458,7 +26303,7 @@ function FileUpload({
|
|
|
26458
26303
|
e.preventDefault();
|
|
26459
26304
|
dragCounter = 0;
|
|
26460
26305
|
setDragActive(false);
|
|
26461
|
-
if (_optionalChain([e, 'access',
|
|
26306
|
+
if (_optionalChain([e, 'access', _687 => _687.dataTransfer, 'optionalAccess', _688 => _688.files, 'optionalAccess', _689 => _689.length])) {
|
|
26462
26307
|
handleFilesRef.current(e.dataTransfer.files);
|
|
26463
26308
|
}
|
|
26464
26309
|
};
|
|
@@ -26480,7 +26325,7 @@ function FileUpload({
|
|
|
26480
26325
|
};
|
|
26481
26326
|
}, [acceptWindowDrops, disabled]);
|
|
26482
26327
|
const handleFileSelect = (e) => {
|
|
26483
|
-
if (_optionalChain([e, 'access',
|
|
26328
|
+
if (_optionalChain([e, 'access', _690 => _690.target, 'access', _691 => _691.files, 'optionalAccess', _692 => _692.length])) {
|
|
26484
26329
|
handleFiles(e.target.files);
|
|
26485
26330
|
}
|
|
26486
26331
|
};
|
|
@@ -26497,7 +26342,7 @@ function FileUpload({
|
|
|
26497
26342
|
};
|
|
26498
26343
|
const openDialog = async () => {
|
|
26499
26344
|
if (disabled) return;
|
|
26500
|
-
_optionalChain([fileInputRef, 'access',
|
|
26345
|
+
_optionalChain([fileInputRef, 'access', _693 => _693.current, 'optionalAccess', _694 => _694.click, 'call', _695 => _695()]);
|
|
26501
26346
|
};
|
|
26502
26347
|
const displayError = error || validationError || void 0;
|
|
26503
26348
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -26575,7 +26420,7 @@ function FileUpload({
|
|
|
26575
26420
|
"button",
|
|
26576
26421
|
{
|
|
26577
26422
|
type: "button",
|
|
26578
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
26423
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _696 => _696(entry.id)]),
|
|
26579
26424
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
26580
26425
|
"aria-label": `Remove ${entry.fileName}`,
|
|
26581
26426
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -26698,7 +26543,7 @@ function ImageUploader({
|
|
|
26698
26543
|
onChange(file);
|
|
26699
26544
|
};
|
|
26700
26545
|
const handleFileSelect = (e) => {
|
|
26701
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26546
|
+
validateAndEmit(_optionalChain([e, 'access', _697 => _697.target, 'access', _698 => _698.files, 'optionalAccess', _699 => _699[0]]));
|
|
26702
26547
|
if (inputRef.current) inputRef.current.value = "";
|
|
26703
26548
|
};
|
|
26704
26549
|
const handleDrag = (e) => {
|
|
@@ -26713,11 +26558,11 @@ function ImageUploader({
|
|
|
26713
26558
|
e.stopPropagation();
|
|
26714
26559
|
setDragActive(false);
|
|
26715
26560
|
if (!interactive) return;
|
|
26716
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26561
|
+
validateAndEmit(_optionalChain([e, 'access', _700 => _700.dataTransfer, 'access', _701 => _701.files, 'optionalAccess', _702 => _702[0]]));
|
|
26717
26562
|
};
|
|
26718
26563
|
const openDialog = () => {
|
|
26719
26564
|
if (!interactive) return;
|
|
26720
|
-
_optionalChain([inputRef, 'access',
|
|
26565
|
+
_optionalChain([inputRef, 'access', _703 => _703.current, 'optionalAccess', _704 => _704.click, 'call', _705 => _705()]);
|
|
26721
26566
|
};
|
|
26722
26567
|
const handleRootKeyDown = (e) => {
|
|
26723
26568
|
if (hasImage || !interactive) return;
|
|
@@ -26874,7 +26719,7 @@ function CompactAssigneeDropdown({
|
|
|
26874
26719
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
26875
26720
|
}, [filtered, currentAssignee]);
|
|
26876
26721
|
const handleSelect = (userId) => {
|
|
26877
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26722
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _706 => _706.id]) === userId ? null : userId;
|
|
26878
26723
|
onAssign(next);
|
|
26879
26724
|
setIsOpen(false);
|
|
26880
26725
|
};
|
|
@@ -26939,7 +26784,7 @@ function CompactAssigneeDropdown({
|
|
|
26939
26784
|
}
|
|
26940
26785
|
) }),
|
|
26941
26786
|
/* @__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) => {
|
|
26942
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26787
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _707 => _707.id]) === opt.value;
|
|
26943
26788
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26944
26789
|
"button",
|
|
26945
26790
|
{
|
|
@@ -27008,7 +26853,7 @@ function DefaultAssigneeDropdown({
|
|
|
27008
26853
|
Autocomplete,
|
|
27009
26854
|
{
|
|
27010
26855
|
options,
|
|
27011
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
26856
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _708 => _708.id]), () => ( null)),
|
|
27012
26857
|
onChange: (val) => {
|
|
27013
26858
|
onAssign(val);
|
|
27014
26859
|
setIsEditing(false);
|
|
@@ -27395,14 +27240,14 @@ function TicketInfoSection({
|
|
|
27395
27240
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27396
27241
|
SquareAvatar,
|
|
27397
27242
|
{
|
|
27398
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
27399
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
27400
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
27243
|
+
src: _optionalChain([organization, 'optionalAccess', _709 => _709.imageSrc]),
|
|
27244
|
+
alt: _optionalChain([organization, 'optionalAccess', _710 => _710.name]),
|
|
27245
|
+
fallback: _optionalChain([organization, 'optionalAccess', _711 => _711.name]) || "Org",
|
|
27401
27246
|
size: "md",
|
|
27402
27247
|
className: "shrink-0"
|
|
27403
27248
|
}
|
|
27404
27249
|
),
|
|
27405
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
27250
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _712 => _712.name]) || "Unassigned", label: "Organization" })
|
|
27406
27251
|
] }),
|
|
27407
27252
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27408
27253
|
AssigneeDropdown,
|
|
@@ -27423,10 +27268,10 @@ function TicketInfoSection({
|
|
|
27423
27268
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27424
27269
|
InfoCell2,
|
|
27425
27270
|
{
|
|
27426
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
27271
|
+
value: _optionalChain([device, 'optionalAccess', _713 => _713.name]) || "Unassigned",
|
|
27427
27272
|
label: "Device",
|
|
27428
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
27429
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
27273
|
+
icon: _optionalChain([device, 'optionalAccess', _714 => _714.icon]),
|
|
27274
|
+
onClick: _optionalChain([device, 'optionalAccess', _715 => _715.onClick])
|
|
27430
27275
|
}
|
|
27431
27276
|
),
|
|
27432
27277
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -28186,10 +28031,10 @@ var getContentDimensions = (config) => {
|
|
|
28186
28031
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
28187
28032
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
28188
28033
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
28189
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
28190
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
28191
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
28192
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
28034
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _716 => _716.mobileContentDimensions, 'optionalAccess', _717 => _717.width]))), () => ( defaultMobile.width));
|
|
28035
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _718 => _718.mobileContentDimensions, 'optionalAccess', _719 => _719.height]))), () => ( defaultMobile.height));
|
|
28036
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _720 => _720.desktopContentDimensions, 'optionalAccess', _721 => _721.width]))), () => ( defaultDesktop.width));
|
|
28037
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _722 => _722.desktopContentDimensions, 'optionalAccess', _723 => _723.height]))), () => ( defaultDesktop.height));
|
|
28193
28038
|
return {
|
|
28194
28039
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
28195
28040
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -28323,7 +28168,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
28323
28168
|
const contentDimensions = getContentDimensions(config);
|
|
28324
28169
|
const mobileHeight = contentDimensions.mobile.height;
|
|
28325
28170
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
28326
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
28171
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _724 => _724.innerHeight]) * 0.85 || 650)}px`;
|
|
28327
28172
|
})(),
|
|
28328
28173
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
28329
28174
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -28428,7 +28273,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28428
28273
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
28429
28274
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
28430
28275
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
28431
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
28276
|
+
config.defaultSectionId || _optionalChain([config, 'access', _725 => _725.sections, 'access', _726 => _726[0], 'optionalAccess', _727 => _727.id]) || ""
|
|
28432
28277
|
);
|
|
28433
28278
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
28434
28279
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -28518,7 +28363,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28518
28363
|
const handleMessage = (event) => {
|
|
28519
28364
|
if (event.origin !== "https://www.figma.com") return;
|
|
28520
28365
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
28521
|
-
if (_optionalChain([event, 'access',
|
|
28366
|
+
if (_optionalChain([event, 'access', _728 => _728.data, 'optionalAccess', _729 => _729.type]) && validEvents.includes(event.data.type)) {
|
|
28522
28367
|
const figmaEvent = event.data;
|
|
28523
28368
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
28524
28369
|
switch (figmaEvent.type) {
|
|
@@ -28528,19 +28373,19 @@ var FigmaPrototypeViewer = ({
|
|
|
28528
28373
|
setIframeState("READY");
|
|
28529
28374
|
break;
|
|
28530
28375
|
case "PRESENTED_NODE_CHANGED":
|
|
28531
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
28376
|
+
if (_optionalChain([figmaEvent, 'access', _730 => _730.data, 'optionalAccess', _731 => _731.presentedNodeId])) {
|
|
28532
28377
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
28533
28378
|
if (!isNavigating) {
|
|
28534
28379
|
const matchingSection = config.sections.find((s) => {
|
|
28535
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28536
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28380
|
+
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _732 => _732.data, 'optionalAccess', _733 => _733.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _734 => _734.data, 'optionalAccess', _735 => _735.presentedNodeId]);
|
|
28381
|
+
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _736 => _736.data, 'optionalAccess', _737 => _737.presentedNodeId]) || _optionalChain([s, 'access', _738 => _738.mobileStartingNodeId, 'optionalAccess', _739 => _739.replace, 'call', _740 => _740(":", "-")]) === _optionalChain([figmaEvent, 'access', _741 => _741.data, 'optionalAccess', _742 => _742.presentedNodeId]);
|
|
28537
28382
|
return desktopMatch || mobileMatch;
|
|
28538
28383
|
});
|
|
28539
28384
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
28540
28385
|
if (!externalActiveSection) {
|
|
28541
28386
|
setInternalActiveSection(matchingSection.id);
|
|
28542
28387
|
}
|
|
28543
|
-
_optionalChain([config, 'access',
|
|
28388
|
+
_optionalChain([config, 'access', _743 => _743.onSectionChange, 'optionalCall', _744 => _744(matchingSection.id)]);
|
|
28544
28389
|
}
|
|
28545
28390
|
}
|
|
28546
28391
|
}
|
|
@@ -28553,7 +28398,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28553
28398
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
28554
28399
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
28555
28400
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
28556
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
28401
|
+
if (!section || !_optionalChain([iframeRef, 'access', _745 => _745.current, 'optionalAccess', _746 => _746.contentWindow]) || !isInitialized) {
|
|
28557
28402
|
return;
|
|
28558
28403
|
}
|
|
28559
28404
|
setIsNavigating(true);
|
|
@@ -28561,7 +28406,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28561
28406
|
if (!externalActiveSection) {
|
|
28562
28407
|
setInternalActiveSection(sectionId);
|
|
28563
28408
|
}
|
|
28564
|
-
_optionalChain([config, 'access',
|
|
28409
|
+
_optionalChain([config, 'access', _747 => _747.onSectionChange, 'optionalCall', _748 => _748(sectionId)]);
|
|
28565
28410
|
const command = {
|
|
28566
28411
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
28567
28412
|
data: { nodeId }
|
|
@@ -28881,7 +28726,7 @@ var FiltersDropdown = ({
|
|
|
28881
28726
|
defaults[section.id] = section.defaultSelected || [];
|
|
28882
28727
|
});
|
|
28883
28728
|
setSelectedFilters(defaults);
|
|
28884
|
-
_optionalChain([onReset, 'optionalCall',
|
|
28729
|
+
_optionalChain([onReset, 'optionalCall', _749 => _749()]);
|
|
28885
28730
|
setIsOpen(false);
|
|
28886
28731
|
};
|
|
28887
28732
|
const handleApply = () => {
|
|
@@ -29175,7 +29020,7 @@ function MediaGalleryManager({
|
|
|
29175
29020
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
29176
29021
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
29177
29022
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
29178
|
-
const file = _optionalChain([event, 'access',
|
|
29023
|
+
const file = _optionalChain([event, 'access', _750 => _750.target, 'access', _751 => _751.files, 'optionalAccess', _752 => _752[0]]);
|
|
29179
29024
|
if (!file) return;
|
|
29180
29025
|
let mediaType;
|
|
29181
29026
|
if (file.type.startsWith("image/")) {
|
|
@@ -29290,7 +29135,7 @@ function MediaGalleryManager({
|
|
|
29290
29135
|
{
|
|
29291
29136
|
type: "button",
|
|
29292
29137
|
variant: "outline",
|
|
29293
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
29138
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _753 => _753.current, 'optionalAccess', _754 => _754.click, 'call', _755 => _755()]),
|
|
29294
29139
|
disabled: isUploading,
|
|
29295
29140
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
29296
29141
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29900,7 +29745,7 @@ function PlatformFilterComponent({
|
|
|
29900
29745
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
29901
29746
|
size,
|
|
29902
29747
|
onClick: () => onPlatformChange(platform.value),
|
|
29903
|
-
leftIcon: showIcons ?
|
|
29748
|
+
leftIcon: showIcons ? _chunkALW3D72Ocjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
29904
29749
|
className: "text-h3",
|
|
29905
29750
|
children: platform.label
|
|
29906
29751
|
},
|
|
@@ -30075,7 +29920,7 @@ function ReleaseMediaManager({
|
|
|
30075
29920
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
30076
29921
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
30077
29922
|
const handleFileSelect = async (event) => {
|
|
30078
|
-
const file = _optionalChain([event, 'access',
|
|
29923
|
+
const file = _optionalChain([event, 'access', _756 => _756.target, 'access', _757 => _757.files, 'optionalAccess', _758 => _758[0]]);
|
|
30079
29924
|
if (!file) return;
|
|
30080
29925
|
let mediaType;
|
|
30081
29926
|
if (file.type.startsWith("image/")) {
|
|
@@ -30155,7 +30000,7 @@ function ReleaseMediaManager({
|
|
|
30155
30000
|
{
|
|
30156
30001
|
type: "button",
|
|
30157
30002
|
variant: "outline",
|
|
30158
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
30003
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _759 => _759.current, 'optionalAccess', _760 => _760.click, 'call', _761 => _761()]),
|
|
30159
30004
|
disabled: uploadingIndex !== null,
|
|
30160
30005
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
30161
30006
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -30368,7 +30213,7 @@ function SEOEditorPreview({
|
|
|
30368
30213
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
30369
30214
|
const handleImageUpload = async (event) => {
|
|
30370
30215
|
if (!onOgImageUpload) return;
|
|
30371
|
-
const file = _optionalChain([event, 'access',
|
|
30216
|
+
const file = _optionalChain([event, 'access', _762 => _762.target, 'access', _763 => _763.files, 'optionalAccess', _764 => _764[0]]);
|
|
30372
30217
|
if (!file) return;
|
|
30373
30218
|
setIsUploading(true);
|
|
30374
30219
|
try {
|
|
@@ -30499,7 +30344,7 @@ function SEOEditorPreview({
|
|
|
30499
30344
|
type: "button",
|
|
30500
30345
|
variant: "outline",
|
|
30501
30346
|
size: "icon",
|
|
30502
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
30347
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]),
|
|
30503
30348
|
disabled: disabled || isUploading,
|
|
30504
30349
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
30505
30350
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -30522,7 +30367,7 @@ function SEOEditorPreview({
|
|
|
30522
30367
|
"div",
|
|
30523
30368
|
{
|
|
30524
30369
|
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",
|
|
30525
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
30370
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]),
|
|
30526
30371
|
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: [
|
|
30527
30372
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
30528
30373
|
/* @__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" })
|
|
@@ -30607,7 +30452,7 @@ function SocialLinksManager({
|
|
|
30607
30452
|
className = ""
|
|
30608
30453
|
}) {
|
|
30609
30454
|
const addLink = () => {
|
|
30610
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
30455
|
+
const firstPlatform = _optionalChain([platforms, 'access', _769 => _769[0], 'optionalAccess', _770 => _770.name]) || "website";
|
|
30611
30456
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
30612
30457
|
};
|
|
30613
30458
|
const removeLink = (index) => {
|
|
@@ -30619,7 +30464,7 @@ function SocialLinksManager({
|
|
|
30619
30464
|
onChange(updated);
|
|
30620
30465
|
};
|
|
30621
30466
|
const getIcon = (link, platform) => {
|
|
30622
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
30467
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _771 => _771.icon_name]) || link.platform;
|
|
30623
30468
|
const IconComponent = iconMap[iconKey];
|
|
30624
30469
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
30625
30470
|
};
|
|
@@ -30644,7 +30489,7 @@ function SocialLinksManager({
|
|
|
30644
30489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30645
30490
|
_chunkBJTOSUT4cjs.Input,
|
|
30646
30491
|
{
|
|
30647
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
30492
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _772 => _772.placeholder]) || "Profile URL",
|
|
30648
30493
|
value: link.url,
|
|
30649
30494
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
30650
30495
|
onKeyDown: (e) => {
|
|
@@ -31021,7 +30866,7 @@ function VideoSourceSelector({
|
|
|
31021
30866
|
input.accept = "video/*";
|
|
31022
30867
|
input.onchange = async (e) => {
|
|
31023
30868
|
const target = e.target;
|
|
31024
|
-
const file = _optionalChain([target, 'access',
|
|
30869
|
+
const file = _optionalChain([target, 'access', _773 => _773.files, 'optionalAccess', _774 => _774[0]]);
|
|
31025
30870
|
if (!file) return;
|
|
31026
30871
|
setIsUploading(true);
|
|
31027
30872
|
setUploadProgress(0);
|
|
@@ -31351,7 +31196,7 @@ function TranscriptSummaryEditor({
|
|
|
31351
31196
|
{
|
|
31352
31197
|
id: "subtitles",
|
|
31353
31198
|
value: subtitles || "",
|
|
31354
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
31199
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _775 => _775(e.target.value)]),
|
|
31355
31200
|
placeholder: subtitlesPlaceholder,
|
|
31356
31201
|
disabled: disabled || !onSubtitlesChange,
|
|
31357
31202
|
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",
|
|
@@ -31504,7 +31349,7 @@ var AIEnrichSection = ({
|
|
|
31504
31349
|
}) => {
|
|
31505
31350
|
const hasResults = status === "success" || status === "error";
|
|
31506
31351
|
const shouldDisable = disabled || !canEnrich;
|
|
31507
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
31352
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _776 => _776.filter, 'call', _777 => _777((f) => !f.isFilled)]) || [];
|
|
31508
31353
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31509
31354
|
"div",
|
|
31510
31355
|
{
|
|
@@ -31542,7 +31387,7 @@ var AIEnrichSection = ({
|
|
|
31542
31387
|
{
|
|
31543
31388
|
id: "ai-enrich-custom-instructions",
|
|
31544
31389
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
31545
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
31390
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _778 => _778(e.target.value)]),
|
|
31546
31391
|
placeholder: customInstructionsPlaceholder,
|
|
31547
31392
|
disabled: loading,
|
|
31548
31393
|
maxLength: customInstructionsMaxLength,
|
|
@@ -31671,7 +31516,7 @@ function HighlightVideoSection({
|
|
|
31671
31516
|
input.accept = "video/*";
|
|
31672
31517
|
input.onchange = async (e) => {
|
|
31673
31518
|
const target = e.target;
|
|
31674
|
-
const file = _optionalChain([target, 'access',
|
|
31519
|
+
const file = _optionalChain([target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780[0]]);
|
|
31675
31520
|
if (!file) return;
|
|
31676
31521
|
setUploadError(null);
|
|
31677
31522
|
try {
|
|
@@ -32173,7 +32018,7 @@ function HighlightVideoPreview({
|
|
|
32173
32018
|
input.accept = "video/*";
|
|
32174
32019
|
input.onchange = async (e) => {
|
|
32175
32020
|
const target = e.target;
|
|
32176
|
-
const file = _optionalChain([target, 'access',
|
|
32021
|
+
const file = _optionalChain([target, 'access', _781 => _781.files, 'optionalAccess', _782 => _782[0]]);
|
|
32177
32022
|
if (!file) return;
|
|
32178
32023
|
await onUpload(file);
|
|
32179
32024
|
};
|
|
@@ -32360,7 +32205,7 @@ function HighlightVideoCombinedSection({
|
|
|
32360
32205
|
input.accept = "video/*";
|
|
32361
32206
|
input.onchange = async (e) => {
|
|
32362
32207
|
const target = e.target;
|
|
32363
|
-
const file = _optionalChain([target, 'access',
|
|
32208
|
+
const file = _optionalChain([target, 'access', _783 => _783.files, 'optionalAccess', _784 => _784[0]]);
|
|
32364
32209
|
if (!file) return;
|
|
32365
32210
|
await onUpload(file);
|
|
32366
32211
|
};
|
|
@@ -32657,11 +32502,11 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
32657
32502
|
return editMode ? "Set Global Permission" : "";
|
|
32658
32503
|
}
|
|
32659
32504
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
32660
|
-
return _optionalChain([option, 'optionalAccess',
|
|
32505
|
+
return _optionalChain([option, 'optionalAccess', _785 => _785.label]) || level;
|
|
32661
32506
|
};
|
|
32662
32507
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
32663
32508
|
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: [
|
|
32664
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32509
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkALW3D72Ocjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
32665
32510
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
32666
32511
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", children: policy.name }),
|
|
32667
32512
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
|
|
@@ -32870,7 +32715,7 @@ function WaitlistForm({
|
|
|
32870
32715
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
32871
32716
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
32872
32717
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
32873
|
-
const { toast } =
|
|
32718
|
+
const { toast } = _chunkALW3D72Ocjs.useToast.call(void 0, );
|
|
32874
32719
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
32875
32720
|
const [isClient, setIsClient] = _react.useState.call(void 0, false);
|
|
32876
32721
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
@@ -33189,15 +33034,15 @@ function TicketCard({
|
|
|
33189
33034
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
33190
33035
|
transition: sortable.transition
|
|
33191
33036
|
};
|
|
33192
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
33037
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _786 => _786.deviceHostnames, 'optionalAccess', _787 => _787.length]) || ticket.organizationName);
|
|
33193
33038
|
const deviceText = [
|
|
33194
|
-
_optionalChain([ticket, 'access',
|
|
33039
|
+
_optionalChain([ticket, 'access', _788 => _788.deviceHostnames, 'optionalAccess', _789 => _789.join, 'call', _790 => _790(", ")]),
|
|
33195
33040
|
ticket.organizationName
|
|
33196
33041
|
].filter(Boolean).join(", ");
|
|
33197
33042
|
const handleClick = (e) => {
|
|
33198
33043
|
if (sortable.isDragging) e.preventDefault();
|
|
33199
33044
|
};
|
|
33200
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
33045
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _791 => _791.assignees, 'optionalAccess', _792 => _792.length]) || renderAssignSlot);
|
|
33201
33046
|
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: [
|
|
33202
33047
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33203
33048
|
_chunkTMD5LDX4cjs.Flag02Icon,
|
|
@@ -33206,7 +33051,7 @@ function TicketCard({
|
|
|
33206
33051
|
"aria-label": `Priority: ${ticket.priority}`
|
|
33207
33052
|
}
|
|
33208
33053
|
),
|
|
33209
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
33054
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _793 => _793.assignees, 'optionalAccess', _794 => _794.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
33210
33055
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33211
33056
|
SquareAvatar,
|
|
33212
33057
|
{
|
|
@@ -33235,7 +33080,7 @@ function TicketCard({
|
|
|
33235
33080
|
] }),
|
|
33236
33081
|
rightSection
|
|
33237
33082
|
] }),
|
|
33238
|
-
_optionalChain([ticket, 'access',
|
|
33083
|
+
_optionalChain([ticket, 'access', _795 => _795.tags, 'optionalAccess', _796 => _796.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
33239
33084
|
] });
|
|
33240
33085
|
const cardClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
|
|
33241
33086
|
"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",
|
|
@@ -33395,7 +33240,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33395
33240
|
const observer = new IntersectionObserver(
|
|
33396
33241
|
(entries) => {
|
|
33397
33242
|
if (entries.some((e) => e.isIntersecting)) {
|
|
33398
|
-
_optionalChain([loadMoreRef, 'access',
|
|
33243
|
+
_optionalChain([loadMoreRef, 'access', _797 => _797.current, 'optionalCall', _798 => _798(columnIdRef.current)]);
|
|
33399
33244
|
}
|
|
33400
33245
|
},
|
|
33401
33246
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -33424,7 +33269,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33424
33269
|
{
|
|
33425
33270
|
ticket: t,
|
|
33426
33271
|
columnId: column.id,
|
|
33427
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
33272
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _799 => _799(t.id)]),
|
|
33428
33273
|
renderAssignSlot,
|
|
33429
33274
|
dragDisabled: column.dragDisabled
|
|
33430
33275
|
},
|
|
@@ -33456,7 +33301,7 @@ function EmptyState3() {
|
|
|
33456
33301
|
// src/components/features/board/use-board-collapse.ts
|
|
33457
33302
|
|
|
33458
33303
|
function useBoardCollapse(storageKey) {
|
|
33459
|
-
const [persisted, setPersisted] =
|
|
33304
|
+
const [persisted, setPersisted] = _chunkALW3D72Ocjs.useLocalStorage.call(void 0,
|
|
33460
33305
|
_nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
|
|
33461
33306
|
{}
|
|
33462
33307
|
);
|
|
@@ -33507,17 +33352,17 @@ function Board({
|
|
|
33507
33352
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
33508
33353
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
33509
33354
|
const ticketHit = intersections.find(
|
|
33510
|
-
(c) => _optionalChain([c, 'access',
|
|
33355
|
+
(c) => _optionalChain([c, 'access', _800 => _800.data, 'optionalAccess', _801 => _801.droppableContainer, 'optionalAccess', _802 => _802.data, 'optionalAccess', _803 => _803.current, 'optionalAccess', _804 => _804.type]) === "ticket"
|
|
33511
33356
|
);
|
|
33512
33357
|
if (ticketHit) return [ticketHit];
|
|
33513
33358
|
const columnHit = intersections.find(
|
|
33514
|
-
(c) => _optionalChain([c, 'access',
|
|
33359
|
+
(c) => _optionalChain([c, 'access', _805 => _805.data, 'optionalAccess', _806 => _806.droppableContainer, 'optionalAccess', _807 => _807.data, 'optionalAccess', _808 => _808.current, 'optionalAccess', _809 => _809.type]) === "column"
|
|
33515
33360
|
);
|
|
33516
33361
|
if (columnHit) {
|
|
33517
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
33362
|
+
const columnId = _optionalChain([columnHit, 'access', _810 => _810.data, 'optionalAccess', _811 => _811.droppableContainer, 'optionalAccess', _812 => _812.data, 'optionalAccess', _813 => _813.current, 'optionalAccess', _814 => _814.columnId]);
|
|
33518
33363
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
33519
33364
|
const d = c.data.current;
|
|
33520
|
-
return _optionalChain([d, 'optionalAccess',
|
|
33365
|
+
return _optionalChain([d, 'optionalAccess', _815 => _815.type]) === "ticket" && d.columnId === columnId;
|
|
33521
33366
|
});
|
|
33522
33367
|
if (ticketsInColumn.length > 0) {
|
|
33523
33368
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -33542,20 +33387,20 @@ function Board({
|
|
|
33542
33387
|
const overId = String(over.id);
|
|
33543
33388
|
if (activeId === overId) return;
|
|
33544
33389
|
const overData = over.data.current;
|
|
33545
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
33546
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
33390
|
+
const fromColumnId = _optionalChain([locate, 'call', _816 => _816(items, activeId), 'optionalAccess', _817 => _817.columnId]);
|
|
33391
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _818 => _818.columnId]);
|
|
33547
33392
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
33548
33393
|
const origin = dragOriginRef.current;
|
|
33549
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
33394
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _819 => _819.fromColumnId]) === toColumnId;
|
|
33550
33395
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33551
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
33552
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
33396
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _820 => _820.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
33397
|
+
if (_optionalChain([targetCol, 'optionalAccess', _821 => _821.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
33553
33398
|
setItems((prev) => {
|
|
33554
33399
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
33555
33400
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
33556
33401
|
if (fromIndex < 0 || !toCol) return prev;
|
|
33557
33402
|
let toIndex;
|
|
33558
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33403
|
+
if (_optionalChain([overData, 'optionalAccess', _822 => _822.type]) === "column") {
|
|
33559
33404
|
toIndex = toCol.tickets.length;
|
|
33560
33405
|
} else {
|
|
33561
33406
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -33597,14 +33442,14 @@ function Board({
|
|
|
33597
33442
|
const toColumnId = located.columnId;
|
|
33598
33443
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
33599
33444
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33600
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
33445
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _823 => _823.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _824 => _824.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
33601
33446
|
setItems(columns);
|
|
33602
33447
|
return;
|
|
33603
33448
|
}
|
|
33604
33449
|
let finalIndex = located.index;
|
|
33605
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
33450
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _825 => _825.find, 'call', _826 => _826((c) => c.id === toColumnId), 'optionalAccess', _827 => _827.tickets]), () => ( []));
|
|
33606
33451
|
const overData = over.data.current;
|
|
33607
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33452
|
+
if (_optionalChain([overData, 'optionalAccess', _828 => _828.type]) === "ticket") {
|
|
33608
33453
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
33609
33454
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
33610
33455
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -33624,8 +33469,8 @@ function Board({
|
|
|
33624
33469
|
ticketId: origin.ticketId,
|
|
33625
33470
|
fromColumnId: origin.fromColumnId,
|
|
33626
33471
|
toColumnId,
|
|
33627
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33628
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33472
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _829 => _829[finalIndex - 1], 'optionalAccess', _830 => _830.id]), () => ( null)),
|
|
33473
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _831 => _831[finalIndex + 1], 'optionalAccess', _832 => _832.id]), () => ( null))
|
|
33629
33474
|
});
|
|
33630
33475
|
};
|
|
33631
33476
|
const handleDragCancel = () => {
|
|
@@ -33647,8 +33492,8 @@ function Board({
|
|
|
33647
33492
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex h-full overflow-x-auto", className), children: items.map((column, i) => {
|
|
33648
33493
|
const prev = items[i - 1];
|
|
33649
33494
|
const next = items[i + 1];
|
|
33650
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
33651
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
33495
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _833 => _833.system]));
|
|
33496
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _834 => _834.system]));
|
|
33652
33497
|
const showGap = i > 0 && !joinLeft;
|
|
33653
33498
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React101.Fragment, { children: [
|
|
33654
33499
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -33682,7 +33527,7 @@ function locate(cols, ticketId) {
|
|
|
33682
33527
|
return null;
|
|
33683
33528
|
}
|
|
33684
33529
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
33685
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
33530
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _835 => _835.find, 'call', _836 => _836((c) => c.id === columnId), 'optionalAccess', _837 => _837.tickets, 'access', _838 => _838.findIndex, 'call', _839 => _839((t) => t.id === ticketId)]), () => ( -1));
|
|
33686
33531
|
}
|
|
33687
33532
|
|
|
33688
33533
|
// src/components/features/board/types.ts
|
|
@@ -34340,6 +34185,5 @@ function canonicalize(status) {
|
|
|
34340
34185
|
|
|
34341
34186
|
|
|
34342
34187
|
|
|
34343
|
-
|
|
34344
|
-
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.PulseDots = PulseDots; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageListLoader = ChatMessageListLoader; exports.useDelayedFlag = useDelayedFlag; exports.ChatMessageList = ChatMessageList; 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.VideoPlayer = VideoPlayer; 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.YouTubeEmbed = YouTubeEmbed; exports.extractYouTubeId = extractYouTubeId; exports.YouTubeLinkParser = YouTubeLinkParser; 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.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.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.TicketKnowledgeBaseList = TicketKnowledgeBaseList; 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;
|
|
34345
|
-
//# sourceMappingURL=chunk-SVF4YOGM.cjs.map
|
|
34188
|
+
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.PulseDots = PulseDots; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageListLoader = ChatMessageListLoader; exports.useDelayedFlag = useDelayedFlag; exports.ChatMessageList = ChatMessageList; 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.VideoPlayer = VideoPlayer; 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.YouTubeEmbed = YouTubeEmbed; exports.extractYouTubeId = extractYouTubeId; 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.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.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.TicketKnowledgeBaseList = TicketKnowledgeBaseList; 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;
|
|
34189
|
+
//# sourceMappingURL=chunk-L4T24AN4.cjs.map
|