@flamingo-stack/openframe-frontend-core 0.0.225 → 0.0.227
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-2QURHTDV.js → chunk-CUBRHI6D.js} +2 -2
- package/dist/{chunk-NRJ53MIF.cjs → chunk-E3DB4D43.cjs} +9 -9
- package/dist/{chunk-NRJ53MIF.cjs.map → chunk-E3DB4D43.cjs.map} +1 -1
- package/dist/{chunk-3YTIV6C5.cjs → chunk-E3WJQQGW.cjs} +7 -7
- package/dist/{chunk-3YTIV6C5.cjs.map → chunk-E3WJQQGW.cjs.map} +1 -1
- package/dist/{chunk-SAJG77KY.js → chunk-EURLSRHW.js} +2 -2
- package/dist/{chunk-IWBDAGZQ.cjs → chunk-HO2VEMEX.cjs} +24 -24
- package/dist/{chunk-IWBDAGZQ.cjs.map → chunk-HO2VEMEX.cjs.map} +1 -1
- package/dist/{chunk-NHRVPMBU.js → chunk-K252FYE5.js} +3959 -3740
- package/dist/chunk-K252FYE5.js.map +1 -0
- package/dist/{chunk-5RELSRTS.cjs → chunk-LEM4FLCU.cjs} +10 -10
- package/dist/{chunk-5RELSRTS.cjs.map → chunk-LEM4FLCU.cjs.map} +1 -1
- package/dist/{chunk-HOQDRQ4M.cjs → chunk-QFC725WU.cjs} +746 -527
- package/dist/chunk-QFC725WU.cjs.map +1 -0
- package/dist/{chunk-RIEEPMJ6.js → chunk-X3KKG6IU.js} +2 -2
- package/dist/{chunk-NUOYDHUM.js → chunk-YE62NF6I.js} +2 -2
- package/dist/components/chat/approval-batch-message.d.ts +6 -0
- package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/features/index.cjs +10 -2
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +9 -1
- package/dist/components/features/notifications/approval-request-notification-tile.d.ts +13 -0
- package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -0
- package/dist/components/features/notifications/index.d.ts +4 -1
- package/dist/components/features/notifications/index.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-drawer.d.ts +3 -1
- package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-popups.d.ts +3 -1
- package/dist/components/features/notifications/notification-popups.d.ts.map +1 -1
- package/dist/components/features/notifications/notification-tile.d.ts +6 -1
- package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/notifications-context.d.ts +5 -2
- package/dist/components/features/notifications/notifications-context.d.ts.map +1 -1
- package/dist/components/features/notifications/types.d.ts +30 -0
- package/dist/components/features/notifications/types.d.ts.map +1 -1
- package/dist/components/index.cjs +87 -77
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +14 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +25 -25
- package/dist/components/onboarding-guides/index.js +3 -3
- package/dist/components/tickets/index.cjs +64 -64
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/color-preset-select.d.ts.map +1 -1
- package/dist/components/ui/color-swatch.d.ts +7 -0
- package/dist/components/ui/color-swatch.d.ts.map +1 -0
- package/dist/components/ui/data-table/data-table-body.d.ts +8 -1
- package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
- package/dist/components/ui/data-table/data-table-row.d.ts +4 -2
- package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
- package/dist/components/ui/data-table/index.d.ts +1 -1
- package/dist/components/ui/index.cjs +4 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +3 -1
- package/dist/components/ui/ticket-status-config-row.d.ts.map +1 -1
- package/dist/components/ui/ticket-status-tag.d.ts.map +1 -1
- package/dist/index.cjs +12 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +11 -1
- package/package.json +1 -1
- package/src/components/chat/approval-batch-message.tsx +26 -15
- package/src/components/features/notifications/approval-request-notification-tile.tsx +118 -0
- package/src/components/features/notifications/index.ts +10 -0
- package/src/components/features/notifications/notification-drawer.tsx +28 -11
- package/src/components/features/notifications/notification-popups.tsx +33 -19
- package/src/components/features/notifications/notification-tile.tsx +34 -19
- package/src/components/features/notifications/notifications-context.tsx +7 -1
- package/src/components/features/notifications/types.ts +50 -0
- package/src/components/ui/color-preset-select.tsx +1 -10
- package/src/components/ui/color-swatch.tsx +17 -0
- package/src/components/ui/data-table/data-table-body.tsx +9 -0
- package/src/components/ui/data-table/data-table-row.tsx +24 -3
- package/src/components/ui/index.ts +1 -0
- package/src/components/ui/modal-v2.tsx +2 -2
- package/src/components/ui/ticket-status-config-row.tsx +78 -39
- package/src/components/ui/ticket-status-tag.tsx +2 -7
- package/src/stories/NotificationDrawer.stories.tsx +148 -1
- package/dist/chunk-HOQDRQ4M.cjs.map +0 -1
- package/dist/chunk-NHRVPMBU.js.map +0 -1
- /package/dist/{chunk-2QURHTDV.js.map → chunk-CUBRHI6D.js.map} +0 -0
- /package/dist/{chunk-SAJG77KY.js.map → chunk-EURLSRHW.js.map} +0 -0
- /package/dist/{chunk-RIEEPMJ6.js.map → chunk-X3KKG6IU.js.map} +0 -0
- /package/dist/{chunk-NUOYDHUM.js.map → chunk-YE62NF6I.js.map} +0 -0
|
@@ -219,7 +219,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
|
|
|
219
219
|
|
|
220
220
|
// src/components/pagination.tsx
|
|
221
221
|
var _lucidereact = require('lucide-react');
|
|
222
|
-
var _react = require('react'); var React102 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React40 = _interopRequireWildcard(_react); var React41 = _interopRequireWildcard(_react); var React42 = _interopRequireWildcard(_react); var React43 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React81 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React86 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React83 = _interopRequireWildcard(_react); var React84 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React95 = _interopRequireWildcard(_react); var React99 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react); var React104 = _interopRequireWildcard(_react); var React105 = _interopRequireWildcard(_react); var React107 = _interopRequireWildcard(_react); var React108 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var
|
|
222
|
+
var _react = require('react'); var React102 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React40 = _interopRequireWildcard(_react); var React41 = _interopRequireWildcard(_react); var React42 = _interopRequireWildcard(_react); var React43 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React81 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React86 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React83 = _interopRequireWildcard(_react); var React84 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React95 = _interopRequireWildcard(_react); var React99 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react); var React104 = _interopRequireWildcard(_react); var React105 = _interopRequireWildcard(_react); var React107 = _interopRequireWildcard(_react); var React108 = _interopRequireWildcard(_react); var React111 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var React112 = _interopRequireWildcard(_react); var React114 = _interopRequireWildcard(_react); var React113 = _interopRequireWildcard(_react); var React122 = _interopRequireWildcard(_react); var React121 = _interopRequireWildcard(_react);
|
|
223
223
|
var _jsxruntime = require('react/jsx-runtime');
|
|
224
224
|
var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
|
|
225
225
|
var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
@@ -828,7 +828,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
|
|
|
828
828
|
] });
|
|
829
829
|
}
|
|
830
830
|
var ApprovalBatchMessage = _react.forwardRef.call(void 0,
|
|
831
|
-
({ className, data, onApprove, onReject, status = "pending", ...props }, ref) => {
|
|
831
|
+
({ className, data, onApprove, onReject, status = "pending", maxBodyHeight, ...props }, ref) => {
|
|
832
832
|
const [expandedId, setExpandedId] = _react.useState.call(void 0, null);
|
|
833
833
|
const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
|
|
834
834
|
const explanations = data.toolCalls.map((c) => _optionalChain([c, 'access', _6 => _6.toolExplanation, 'optionalAccess', _7 => _7.trim, 'call', _8 => _8()])).filter((s) => !!s);
|
|
@@ -859,19 +859,26 @@ var ApprovalBatchMessage = _react.forwardRef.call(void 0,
|
|
|
859
859
|
),
|
|
860
860
|
...props,
|
|
861
861
|
children: [
|
|
862
|
-
|
|
863
|
-
|
|
862
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
863
|
+
"div",
|
|
864
864
|
{
|
|
865
|
-
call,
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
865
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0, "flex flex-col", maxBodyHeight != null && "overflow-y-auto overscroll-contain"),
|
|
866
|
+
style: maxBodyHeight != null ? { maxHeight: maxBodyHeight } : void 0,
|
|
867
|
+
children: data.toolCalls.map((call) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
868
|
+
ToolCallRow,
|
|
869
|
+
{
|
|
870
|
+
call,
|
|
871
|
+
expanded: expandedId === call.toolExecutionRequestId,
|
|
872
|
+
onToggle: () => setExpandedId(
|
|
873
|
+
(prev) => prev === call.toolExecutionRequestId ? null : call.toolExecutionRequestId
|
|
874
|
+
),
|
|
875
|
+
batchStatus: status,
|
|
876
|
+
execution: _optionalChain([data, 'access', _11 => _11.executions, 'optionalAccess', _12 => _12[call.toolExecutionRequestId]])
|
|
877
|
+
},
|
|
878
|
+
call.toolExecutionRequestId
|
|
879
|
+
))
|
|
880
|
+
}
|
|
881
|
+
),
|
|
875
882
|
showFooterBlock && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card flex flex-col gap-2 items-start justify-center p-3", children: [
|
|
876
883
|
explanations.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "list-disc pl-5 text-sm font-medium text-ods-text-primary leading-5 w-full", children: explanations.map((expl, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: expl }, i)) }),
|
|
877
884
|
status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 items-center", children: [
|
|
@@ -2550,6 +2557,20 @@ var ActionsMenuDropdown = ({
|
|
|
2550
2557
|
] });
|
|
2551
2558
|
};
|
|
2552
2559
|
|
|
2560
|
+
// src/components/ui/color-swatch.tsx
|
|
2561
|
+
_chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
2562
|
+
|
|
2563
|
+
function ColorSwatch({ color, className }) {
|
|
2564
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2565
|
+
"span",
|
|
2566
|
+
{
|
|
2567
|
+
"aria-hidden": true,
|
|
2568
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0, "inline-block size-4 shrink-0 rounded-sm", className),
|
|
2569
|
+
style: { backgroundColor: color }
|
|
2570
|
+
}
|
|
2571
|
+
);
|
|
2572
|
+
}
|
|
2573
|
+
|
|
2553
2574
|
// src/components/ui/ticket-status-tag.tsx
|
|
2554
2575
|
_chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
2555
2576
|
|
|
@@ -2787,14 +2808,7 @@ function TicketStatusTag({
|
|
|
2787
2808
|
items: options.map((option) => ({
|
|
2788
2809
|
id: option.id,
|
|
2789
2810
|
label: option.name,
|
|
2790
|
-
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2791
|
-
"span",
|
|
2792
|
-
{
|
|
2793
|
-
className: "size-2 shrink-0 rounded-full",
|
|
2794
|
-
style: { backgroundColor: option.color },
|
|
2795
|
-
"aria-hidden": true
|
|
2796
|
-
}
|
|
2797
|
-
),
|
|
2811
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorSwatch, { color: option.color }),
|
|
2798
2812
|
onClick: () => onSelect(option.id),
|
|
2799
2813
|
disabled: isPending
|
|
2800
2814
|
}))
|
|
@@ -5856,7 +5870,7 @@ var Modal = React17.forwardRef(
|
|
|
5856
5870
|
"data-state": state,
|
|
5857
5871
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
5858
5872
|
"absolute inset-0 bg-black/50 backdrop-blur-[2px] md:backdrop-blur-none",
|
|
5859
|
-
"duration-200",
|
|
5873
|
+
"duration-200 fill-mode-forwards",
|
|
5860
5874
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
5861
5875
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
|
|
5862
5876
|
// Hold the hidden end-state until unmount so the backdrop doesn't
|
|
@@ -5880,7 +5894,7 @@ var Modal = React17.forwardRef(
|
|
|
5880
5894
|
"bg-ods-bg md:bg-ods-card",
|
|
5881
5895
|
"border border-ods-border rounded-md shadow-xl",
|
|
5882
5896
|
"p-[var(--spacing-system-xl)] gap-[var(--spacing-system-l)]",
|
|
5883
|
-
"duration-200",
|
|
5897
|
+
"duration-200 fill-mode-forwards",
|
|
5884
5898
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
5885
5899
|
"data-[state=open]:slide-in-from-bottom-4 md:data-[state=open]:slide-in-from-bottom-0 md:data-[state=open]:zoom-in-95",
|
|
5886
5900
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
|
|
@@ -24250,7 +24264,8 @@ function NotificationsProvider({
|
|
|
24250
24264
|
actions,
|
|
24251
24265
|
hasMore = false,
|
|
24252
24266
|
isLoadingMore = false,
|
|
24253
|
-
onLoadMore
|
|
24267
|
+
onLoadMore,
|
|
24268
|
+
renderTile
|
|
24254
24269
|
}) {
|
|
24255
24270
|
const [notifications, dispatch] = React82.useReducer(reducer, initialNotifications);
|
|
24256
24271
|
const [isOpen, setIsOpen] = React82.useState(false);
|
|
@@ -24341,7 +24356,8 @@ function NotificationsProvider({
|
|
|
24341
24356
|
onHistoryClick,
|
|
24342
24357
|
hasMore,
|
|
24343
24358
|
isLoadingMore,
|
|
24344
|
-
loadMore: onLoadMore
|
|
24359
|
+
loadMore: onLoadMore,
|
|
24360
|
+
renderTile
|
|
24345
24361
|
}),
|
|
24346
24362
|
[
|
|
24347
24363
|
notifications,
|
|
@@ -24363,7 +24379,8 @@ function NotificationsProvider({
|
|
|
24363
24379
|
onHistoryClick,
|
|
24364
24380
|
hasMore,
|
|
24365
24381
|
isLoadingMore,
|
|
24366
|
-
onLoadMore
|
|
24382
|
+
onLoadMore,
|
|
24383
|
+
renderTile
|
|
24367
24384
|
]
|
|
24368
24385
|
);
|
|
24369
24386
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NotificationsContext.Provider, { value, children });
|
|
@@ -24395,19 +24412,22 @@ function NotificationTile({
|
|
|
24395
24412
|
liveDurationMs = 4e3,
|
|
24396
24413
|
onComplete,
|
|
24397
24414
|
onSettle,
|
|
24398
|
-
className
|
|
24415
|
+
className,
|
|
24416
|
+
children,
|
|
24417
|
+
paused = false
|
|
24399
24418
|
}) {
|
|
24400
24419
|
const { id, variant = "default", title, description, createdAt, read, settled } = notification;
|
|
24401
24420
|
const initialElapsed = _react.useMemo.call(void 0, () => Date.now() - createdAt, [createdAt]);
|
|
24402
24421
|
const isLive = !read && !settled && initialElapsed < liveDurationMs;
|
|
24422
|
+
const counting = isLive && !paused;
|
|
24403
24423
|
_react.useEffect.call(void 0, () => {
|
|
24404
|
-
if (!
|
|
24424
|
+
if (!counting) return;
|
|
24405
24425
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
24406
24426
|
const timer = window.setTimeout(() => {
|
|
24407
24427
|
_optionalChain([onSettle, 'optionalCall', _421 => _421(id)]);
|
|
24408
24428
|
}, remaining);
|
|
24409
24429
|
return () => window.clearTimeout(timer);
|
|
24410
|
-
}, [id,
|
|
24430
|
+
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
24411
24431
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24412
24432
|
"output",
|
|
24413
24433
|
{
|
|
@@ -24416,28 +24436,52 @@ function NotificationTile({
|
|
|
24416
24436
|
className
|
|
24417
24437
|
),
|
|
24418
24438
|
children: [
|
|
24419
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24420
|
-
|
|
24421
|
-
|
|
24422
|
-
|
|
24423
|
-
|
|
24424
|
-
|
|
24425
|
-
|
|
24426
|
-
|
|
24427
|
-
|
|
24428
|
-
|
|
24429
|
-
|
|
24430
|
-
|
|
24431
|
-
|
|
24432
|
-
|
|
24433
|
-
|
|
24434
|
-
|
|
24435
|
-
|
|
24439
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24440
|
+
"div",
|
|
24441
|
+
{
|
|
24442
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24443
|
+
"relative flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]",
|
|
24444
|
+
children ? "border-b border-ods-border" : null
|
|
24445
|
+
),
|
|
24446
|
+
children: [
|
|
24447
|
+
/* @__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: _chunk2TBN53KYcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkJUWPBMQMcjs.dotColorByVariant[variant]) }) }),
|
|
24448
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
24449
|
+
title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", title: typeof title === "string" ? title : void 0, children: title }) : null,
|
|
24450
|
+
description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", title: typeof description === "string" ? description : void 0, children: description }) : null
|
|
24451
|
+
] }),
|
|
24452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24453
|
+
_chunkE6B4B7GMcjs.Button,
|
|
24454
|
+
{
|
|
24455
|
+
variant: "outline",
|
|
24456
|
+
size: "small",
|
|
24457
|
+
onClick: () => onComplete(id),
|
|
24458
|
+
"aria-label": "Mark notification complete",
|
|
24459
|
+
tabIndex: isLive ? -1 : 0,
|
|
24460
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24461
|
+
"shrink-0 hover:text-ods-text-primary",
|
|
24462
|
+
isLive && "invisible"
|
|
24463
|
+
),
|
|
24464
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CheckCircleIcon, {})
|
|
24465
|
+
}
|
|
24436
24466
|
),
|
|
24437
|
-
|
|
24438
|
-
|
|
24439
|
-
|
|
24440
|
-
|
|
24467
|
+
counting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24468
|
+
"div",
|
|
24469
|
+
{
|
|
24470
|
+
"aria-hidden": true,
|
|
24471
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24472
|
+
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
24473
|
+
_chunkJUWPBMQMcjs.progressColorByVariant[variant]
|
|
24474
|
+
),
|
|
24475
|
+
style: {
|
|
24476
|
+
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
24477
|
+
animationDelay: `-${initialElapsed}ms`
|
|
24478
|
+
}
|
|
24479
|
+
}
|
|
24480
|
+
) : null
|
|
24481
|
+
]
|
|
24482
|
+
}
|
|
24483
|
+
),
|
|
24484
|
+
children,
|
|
24441
24485
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24442
24486
|
"button",
|
|
24443
24487
|
{
|
|
@@ -24451,21 +24495,7 @@ function NotificationTile({
|
|
|
24451
24495
|
),
|
|
24452
24496
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.XmarkIcon, { size: 16 })
|
|
24453
24497
|
}
|
|
24454
|
-
)
|
|
24455
|
-
isLive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24456
|
-
"div",
|
|
24457
|
-
{
|
|
24458
|
-
"aria-hidden": true,
|
|
24459
|
-
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24460
|
-
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
24461
|
-
_chunkJUWPBMQMcjs.progressColorByVariant[variant]
|
|
24462
|
-
),
|
|
24463
|
-
style: {
|
|
24464
|
-
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
24465
|
-
animationDelay: `-${initialElapsed}ms`
|
|
24466
|
-
}
|
|
24467
|
-
}
|
|
24468
|
-
) : null
|
|
24498
|
+
)
|
|
24469
24499
|
]
|
|
24470
24500
|
}
|
|
24471
24501
|
);
|
|
@@ -24473,7 +24503,12 @@ function NotificationTile({
|
|
|
24473
24503
|
|
|
24474
24504
|
// src/components/features/notifications/notification-drawer.tsx
|
|
24475
24505
|
|
|
24476
|
-
function NotificationDrawer({
|
|
24506
|
+
function NotificationDrawer({
|
|
24507
|
+
className,
|
|
24508
|
+
liveDurationMs,
|
|
24509
|
+
loadMoreRootMargin = "200px",
|
|
24510
|
+
renderTile: renderTileProp
|
|
24511
|
+
}) {
|
|
24477
24512
|
const ctx = useOptionalNotifications();
|
|
24478
24513
|
if (!ctx) return null;
|
|
24479
24514
|
const {
|
|
@@ -24490,8 +24525,10 @@ function NotificationDrawer({ className, liveDurationMs, loadMoreRootMargin = "2
|
|
|
24490
24525
|
onHistoryClick,
|
|
24491
24526
|
hasMore,
|
|
24492
24527
|
isLoadingMore,
|
|
24493
|
-
loadMore
|
|
24528
|
+
loadMore,
|
|
24529
|
+
renderTile: ctxRenderTile
|
|
24494
24530
|
} = ctx;
|
|
24531
|
+
const renderTile = _nullishCoalesce(renderTileProp, () => ( ctxRenderTile));
|
|
24495
24532
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
24496
24533
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24497
24534
|
DrawerContent,
|
|
@@ -24526,7 +24563,8 @@ function NotificationDrawer({ className, liveDurationMs, loadMoreRootMargin = "2
|
|
|
24526
24563
|
hasMore,
|
|
24527
24564
|
isLoadingMore,
|
|
24528
24565
|
loadMore,
|
|
24529
|
-
loadMoreRootMargin
|
|
24566
|
+
loadMoreRootMargin,
|
|
24567
|
+
renderTile
|
|
24530
24568
|
}
|
|
24531
24569
|
),
|
|
24532
24570
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)] px-[var(--spacing-system-m)] pb-[var(--spacing-system-m)]", children: [
|
|
@@ -24553,7 +24591,8 @@ function DrawerScrollList({
|
|
|
24553
24591
|
hasMore,
|
|
24554
24592
|
isLoadingMore,
|
|
24555
24593
|
loadMore,
|
|
24556
|
-
loadMoreRootMargin
|
|
24594
|
+
loadMoreRootMargin,
|
|
24595
|
+
renderTile
|
|
24557
24596
|
}) {
|
|
24558
24597
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
24559
24598
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
@@ -24580,16 +24619,20 @@ function DrawerScrollList({
|
|
|
24580
24619
|
ref: scrollRef,
|
|
24581
24620
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
24582
24621
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
24583
|
-
unreadNotifications.map((n) =>
|
|
24584
|
-
|
|
24585
|
-
{
|
|
24586
|
-
|
|
24587
|
-
|
|
24588
|
-
|
|
24589
|
-
|
|
24590
|
-
|
|
24591
|
-
|
|
24592
|
-
|
|
24622
|
+
unreadNotifications.map((n) => {
|
|
24623
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _427 => _427(n, { onComplete, onSettle, liveDurationMs })]);
|
|
24624
|
+
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
24625
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24626
|
+
NotificationTile,
|
|
24627
|
+
{
|
|
24628
|
+
notification: n,
|
|
24629
|
+
liveDurationMs,
|
|
24630
|
+
onComplete,
|
|
24631
|
+
onSettle
|
|
24632
|
+
},
|
|
24633
|
+
n.id
|
|
24634
|
+
);
|
|
24635
|
+
}),
|
|
24593
24636
|
isLoadingMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerLoadingTiles, {}),
|
|
24594
24637
|
loadMore && hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
|
|
24595
24638
|
] })
|
|
@@ -24664,11 +24707,13 @@ function NotificationPopups({
|
|
|
24664
24707
|
liveDurationMs = 4e3,
|
|
24665
24708
|
maxVisible = 4,
|
|
24666
24709
|
position = "top-right",
|
|
24667
|
-
hideWhenDrawerOpen = true
|
|
24710
|
+
hideWhenDrawerOpen = true,
|
|
24711
|
+
renderTile: renderTileProp
|
|
24668
24712
|
}) {
|
|
24669
24713
|
const ctx = useOptionalNotifications();
|
|
24670
24714
|
if (!ctx) return null;
|
|
24671
|
-
const { notifications, showPopups, isOpen, open, markRead, markSettled } = ctx;
|
|
24715
|
+
const { notifications, showPopups, isOpen, open, markRead, markSettled, renderTile: ctxRenderTile } = ctx;
|
|
24716
|
+
const renderTile = _nullishCoalesce(renderTileProp, () => ( ctxRenderTile));
|
|
24672
24717
|
if (!showPopups) return null;
|
|
24673
24718
|
if (hideWhenDrawerOpen && isOpen) return null;
|
|
24674
24719
|
const now = Date.now();
|
|
@@ -24703,29 +24748,151 @@ function NotificationPopups({
|
|
|
24703
24748
|
positionClasses[position],
|
|
24704
24749
|
className
|
|
24705
24750
|
),
|
|
24706
|
-
children: live.map((n) =>
|
|
24707
|
-
|
|
24708
|
-
|
|
24709
|
-
"div",
|
|
24751
|
+
children: live.map((n) => {
|
|
24752
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _428 => _428(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
24753
|
+
if (custom) {
|
|
24754
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
24755
|
+
}
|
|
24756
|
+
return (
|
|
24757
|
+
// biome-ignore lint/a11y/useSemanticElements: nested interactive elements forbid <button>
|
|
24758
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24759
|
+
"div",
|
|
24760
|
+
{
|
|
24761
|
+
role: "button",
|
|
24762
|
+
tabIndex: 0,
|
|
24763
|
+
onClick: handleBodyClick(n),
|
|
24764
|
+
onKeyDown: handleBodyKeyDown(n),
|
|
24765
|
+
className: "pointer-events-auto cursor-pointer rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
|
|
24766
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24767
|
+
NotificationTile,
|
|
24768
|
+
{
|
|
24769
|
+
notification: n,
|
|
24770
|
+
liveDurationMs,
|
|
24771
|
+
onComplete: markRead,
|
|
24772
|
+
onSettle: markSettled
|
|
24773
|
+
}
|
|
24774
|
+
)
|
|
24775
|
+
},
|
|
24776
|
+
n.id
|
|
24777
|
+
)
|
|
24778
|
+
);
|
|
24779
|
+
})
|
|
24780
|
+
}
|
|
24781
|
+
);
|
|
24782
|
+
}
|
|
24783
|
+
|
|
24784
|
+
// src/components/features/notifications/approval-request-notification-tile.tsx
|
|
24785
|
+
_chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
24786
|
+
|
|
24787
|
+
|
|
24788
|
+
// src/components/features/notifications/types.ts
|
|
24789
|
+
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
24790
|
+
function isApprovalNotification(notification) {
|
|
24791
|
+
return _optionalChain([notification, 'access', _429 => _429.meta, 'optionalAccess', _430 => _430.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
24792
|
+
}
|
|
24793
|
+
function getApprovalMeta(notification) {
|
|
24794
|
+
if (!isApprovalNotification(notification)) return null;
|
|
24795
|
+
const meta = notification.meta;
|
|
24796
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _431 => _431.approvalRequestId]);
|
|
24797
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _432 => _432.toolCalls]);
|
|
24798
|
+
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
24799
|
+
return {
|
|
24800
|
+
approvalRequestId,
|
|
24801
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _433 => _433.dialogId]), () => ( null)),
|
|
24802
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _434 => _434.ticketId]), () => ( null)),
|
|
24803
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _435 => _435.approvalType]), () => ( null)),
|
|
24804
|
+
toolCalls
|
|
24805
|
+
};
|
|
24806
|
+
}
|
|
24807
|
+
|
|
24808
|
+
// src/components/features/notifications/approval-request-notification-tile.tsx
|
|
24809
|
+
|
|
24810
|
+
function ApprovalRequestNotificationTile({
|
|
24811
|
+
notification,
|
|
24812
|
+
onApprove,
|
|
24813
|
+
onReject,
|
|
24814
|
+
onComplete,
|
|
24815
|
+
onSettle,
|
|
24816
|
+
liveDurationMs,
|
|
24817
|
+
defaultExpanded = false,
|
|
24818
|
+
className
|
|
24819
|
+
}) {
|
|
24820
|
+
const [expanded, setExpanded] = _react.useState.call(void 0, defaultExpanded);
|
|
24821
|
+
const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
|
|
24822
|
+
const [status, setStatus] = _react.useState.call(void 0, "pending");
|
|
24823
|
+
const approval = getApprovalMeta(notification);
|
|
24824
|
+
const batchData = _react.useMemo.call(void 0, () => {
|
|
24825
|
+
if (!approval) return null;
|
|
24826
|
+
return {
|
|
24827
|
+
approvalRequestId: approval.approvalRequestId,
|
|
24828
|
+
approvalType: _nullishCoalesce(approval.approvalType, () => ( "")),
|
|
24829
|
+
toolCalls: approval.toolCalls.map((tc, index) => ({
|
|
24830
|
+
toolExecutionRequestId: _nullishCoalesce(tc.toolExecutionRequestId, () => ( `${approval.approvalRequestId}:${index}`)),
|
|
24831
|
+
toolName: tc.toolName,
|
|
24832
|
+
toolTitle: _nullishCoalesce(tc.toolTitle, () => ( void 0)),
|
|
24833
|
+
toolExplanation: _nullishCoalesce(tc.toolExplanation, () => ( void 0)),
|
|
24834
|
+
toolType: _nullishCoalesce(tc.toolType, () => ( void 0)),
|
|
24835
|
+
requiresApproval: _nullishCoalesce(tc.requiresApproval, () => ( true)),
|
|
24836
|
+
approvalType: _nullishCoalesce(tc.approvalType, () => ( null)),
|
|
24837
|
+
toolCallArguments: _nullishCoalesce(tc.toolCallArguments, () => ( null))
|
|
24838
|
+
}))
|
|
24839
|
+
};
|
|
24840
|
+
}, [approval]);
|
|
24841
|
+
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
24842
|
+
if (!approval || !batchData) return null;
|
|
24843
|
+
const commandWord = batchData.toolCalls.length > 1 ? "Commands" : "Command";
|
|
24844
|
+
const toggleLabel = `${expanded ? "Hide" : "Show"} ${commandWord}`;
|
|
24845
|
+
const handleApprove = async () => {
|
|
24846
|
+
await onApprove(batchData.approvalRequestId);
|
|
24847
|
+
setStatus("approved");
|
|
24848
|
+
onComplete(notification.id);
|
|
24849
|
+
};
|
|
24850
|
+
const handleReject = async () => {
|
|
24851
|
+
await onReject(batchData.approvalRequestId);
|
|
24852
|
+
setStatus("rejected");
|
|
24853
|
+
onComplete(notification.id);
|
|
24854
|
+
};
|
|
24855
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24856
|
+
NotificationTile,
|
|
24857
|
+
{
|
|
24858
|
+
notification,
|
|
24859
|
+
liveDurationMs,
|
|
24860
|
+
onComplete,
|
|
24861
|
+
onSettle,
|
|
24862
|
+
className,
|
|
24863
|
+
paused: pinned,
|
|
24864
|
+
children: [
|
|
24865
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24866
|
+
"button",
|
|
24710
24867
|
{
|
|
24711
|
-
|
|
24712
|
-
|
|
24713
|
-
|
|
24714
|
-
|
|
24715
|
-
|
|
24716
|
-
|
|
24717
|
-
|
|
24718
|
-
|
|
24719
|
-
|
|
24720
|
-
|
|
24721
|
-
|
|
24722
|
-
|
|
24723
|
-
}
|
|
24724
|
-
|
|
24725
|
-
}
|
|
24726
|
-
|
|
24727
|
-
|
|
24728
|
-
|
|
24868
|
+
type: "button",
|
|
24869
|
+
onClick: () => {
|
|
24870
|
+
setExpanded((prev) => !prev);
|
|
24871
|
+
setPinned(true);
|
|
24872
|
+
},
|
|
24873
|
+
"aria-expanded": expanded,
|
|
24874
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24875
|
+
"flex w-full items-center gap-[var(--spacing-system-xs)] bg-ods-card px-[var(--spacing-system-s)] py-[var(--spacing-system-xs)] text-left",
|
|
24876
|
+
expanded && "border-b border-ods-border"
|
|
24877
|
+
),
|
|
24878
|
+
children: [
|
|
24879
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 text-h6 text-ods-text-primary", children: toggleLabel }),
|
|
24880
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExpandChevron, { expanded })
|
|
24881
|
+
]
|
|
24882
|
+
}
|
|
24883
|
+
),
|
|
24884
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24885
|
+
ApprovalBatchMessage,
|
|
24886
|
+
{
|
|
24887
|
+
data: batchData,
|
|
24888
|
+
status,
|
|
24889
|
+
onApprove: handleApprove,
|
|
24890
|
+
onReject: handleReject,
|
|
24891
|
+
maxBodyHeight: "50vh",
|
|
24892
|
+
className: "mb-0 rounded-none border-0"
|
|
24893
|
+
}
|
|
24894
|
+
) }) })
|
|
24895
|
+
]
|
|
24729
24896
|
}
|
|
24730
24897
|
);
|
|
24731
24898
|
}
|
|
@@ -24894,15 +25061,15 @@ function TicketCard({
|
|
|
24894
25061
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
24895
25062
|
transition: sortable.transition
|
|
24896
25063
|
};
|
|
24897
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
25064
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _436 => _436.deviceHostnames, 'optionalAccess', _437 => _437.length]) || ticket.organizationName);
|
|
24898
25065
|
const deviceText = [
|
|
24899
|
-
_optionalChain([ticket, 'access',
|
|
25066
|
+
_optionalChain([ticket, 'access', _438 => _438.deviceHostnames, 'optionalAccess', _439 => _439.join, 'call', _440 => _440(", ")]),
|
|
24900
25067
|
ticket.organizationName
|
|
24901
25068
|
].filter(Boolean).join(", ");
|
|
24902
25069
|
const handleClick = (e) => {
|
|
24903
25070
|
if (sortable.isDragging) e.preventDefault();
|
|
24904
25071
|
};
|
|
24905
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
25072
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _441 => _441.assignees, 'optionalAccess', _442 => _442.length]) || renderAssignSlot);
|
|
24906
25073
|
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: [
|
|
24907
25074
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24908
25075
|
_chunkC6ASEPZLcjs.Flag02Icon,
|
|
@@ -24911,7 +25078,7 @@ function TicketCard({
|
|
|
24911
25078
|
"aria-label": `Priority: ${ticket.priority}`
|
|
24912
25079
|
}
|
|
24913
25080
|
),
|
|
24914
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
25081
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _443 => _443.assignees, 'optionalAccess', _444 => _444.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
24915
25082
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24916
25083
|
SquareAvatar,
|
|
24917
25084
|
{
|
|
@@ -24940,7 +25107,7 @@ function TicketCard({
|
|
|
24940
25107
|
] }),
|
|
24941
25108
|
rightSection
|
|
24942
25109
|
] }),
|
|
24943
|
-
_optionalChain([ticket, 'access',
|
|
25110
|
+
_optionalChain([ticket, 'access', _445 => _445.tags, 'optionalAccess', _446 => _446.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
24944
25111
|
] });
|
|
24945
25112
|
const cardClasses = _chunk2TBN53KYcjs.cn.call(void 0,
|
|
24946
25113
|
"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",
|
|
@@ -25115,7 +25282,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25115
25282
|
const observer = new IntersectionObserver(
|
|
25116
25283
|
(entries) => {
|
|
25117
25284
|
if (entries.some((e) => e.isIntersecting)) {
|
|
25118
|
-
_optionalChain([loadMoreRef, 'access',
|
|
25285
|
+
_optionalChain([loadMoreRef, 'access', _447 => _447.current, 'optionalCall', _448 => _448(columnIdRef.current)]);
|
|
25119
25286
|
}
|
|
25120
25287
|
},
|
|
25121
25288
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -25144,7 +25311,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
25144
25311
|
{
|
|
25145
25312
|
ticket: t,
|
|
25146
25313
|
columnId: column.id,
|
|
25147
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
25314
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _449 => _449(t.id)]),
|
|
25148
25315
|
renderAssignSlot,
|
|
25149
25316
|
dragDisabled: column.dragDisabled
|
|
25150
25317
|
},
|
|
@@ -25240,17 +25407,17 @@ function Board({
|
|
|
25240
25407
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
25241
25408
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
25242
25409
|
const ticketHit = intersections.find(
|
|
25243
|
-
(c) => _optionalChain([c, 'access',
|
|
25410
|
+
(c) => _optionalChain([c, 'access', _450 => _450.data, 'optionalAccess', _451 => _451.droppableContainer, 'optionalAccess', _452 => _452.data, 'optionalAccess', _453 => _453.current, 'optionalAccess', _454 => _454.type]) === "ticket"
|
|
25244
25411
|
);
|
|
25245
25412
|
if (ticketHit) return [ticketHit];
|
|
25246
25413
|
const columnHit = intersections.find(
|
|
25247
|
-
(c) => _optionalChain([c, 'access',
|
|
25414
|
+
(c) => _optionalChain([c, 'access', _455 => _455.data, 'optionalAccess', _456 => _456.droppableContainer, 'optionalAccess', _457 => _457.data, 'optionalAccess', _458 => _458.current, 'optionalAccess', _459 => _459.type]) === "column"
|
|
25248
25415
|
);
|
|
25249
25416
|
if (columnHit) {
|
|
25250
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
25417
|
+
const columnId = _optionalChain([columnHit, 'access', _460 => _460.data, 'optionalAccess', _461 => _461.droppableContainer, 'optionalAccess', _462 => _462.data, 'optionalAccess', _463 => _463.current, 'optionalAccess', _464 => _464.columnId]);
|
|
25251
25418
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
25252
25419
|
const d = c.data.current;
|
|
25253
|
-
return _optionalChain([d, 'optionalAccess',
|
|
25420
|
+
return _optionalChain([d, 'optionalAccess', _465 => _465.type]) === "ticket" && d.columnId === columnId;
|
|
25254
25421
|
});
|
|
25255
25422
|
if (ticketsInColumn.length > 0) {
|
|
25256
25423
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -25275,20 +25442,20 @@ function Board({
|
|
|
25275
25442
|
const overId = String(over.id);
|
|
25276
25443
|
if (activeId === overId) return;
|
|
25277
25444
|
const overData = over.data.current;
|
|
25278
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
25279
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
25445
|
+
const fromColumnId = _optionalChain([locate, 'call', _466 => _466(items, activeId), 'optionalAccess', _467 => _467.columnId]);
|
|
25446
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _468 => _468.columnId]);
|
|
25280
25447
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
25281
25448
|
const origin = dragOriginRef.current;
|
|
25282
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
25449
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _469 => _469.fromColumnId]) === toColumnId;
|
|
25283
25450
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25284
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
25285
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
25451
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _470 => _470.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
25452
|
+
if (_optionalChain([targetCol, 'optionalAccess', _471 => _471.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
25286
25453
|
setItems((prev) => {
|
|
25287
25454
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
25288
25455
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
25289
25456
|
if (fromIndex < 0 || !toCol) return prev;
|
|
25290
25457
|
let toIndex;
|
|
25291
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25458
|
+
if (_optionalChain([overData, 'optionalAccess', _472 => _472.type]) === "column") {
|
|
25292
25459
|
toIndex = toCol.tickets.length;
|
|
25293
25460
|
} else {
|
|
25294
25461
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -25330,14 +25497,14 @@ function Board({
|
|
|
25330
25497
|
const toColumnId = located.columnId;
|
|
25331
25498
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
25332
25499
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
25333
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
25500
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _473 => _473.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _474 => _474.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
25334
25501
|
setItems(columns);
|
|
25335
25502
|
return;
|
|
25336
25503
|
}
|
|
25337
25504
|
let finalIndex = located.index;
|
|
25338
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
25505
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _475 => _475.find, 'call', _476 => _476((c) => c.id === toColumnId), 'optionalAccess', _477 => _477.tickets]), () => ( []));
|
|
25339
25506
|
const overData = over.data.current;
|
|
25340
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
25507
|
+
if (_optionalChain([overData, 'optionalAccess', _478 => _478.type]) === "ticket") {
|
|
25341
25508
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
25342
25509
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
25343
25510
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -25357,8 +25524,8 @@ function Board({
|
|
|
25357
25524
|
ticketId: origin.ticketId,
|
|
25358
25525
|
fromColumnId: origin.fromColumnId,
|
|
25359
25526
|
toColumnId,
|
|
25360
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25361
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
25527
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _479 => _479[finalIndex - 1], 'optionalAccess', _480 => _480.id]), () => ( null)),
|
|
25528
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _481 => _481[finalIndex + 1], 'optionalAccess', _482 => _482.id]), () => ( null))
|
|
25362
25529
|
});
|
|
25363
25530
|
};
|
|
25364
25531
|
const handleDragCancel = () => {
|
|
@@ -25387,8 +25554,8 @@ function Board({
|
|
|
25387
25554
|
children: items.map((column, i) => {
|
|
25388
25555
|
const prev = items[i - 1];
|
|
25389
25556
|
const next = items[i + 1];
|
|
25390
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
25391
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
25557
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _483 => _483.system]));
|
|
25558
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _484 => _484.system]));
|
|
25392
25559
|
const showGap = i > 0 && !joinLeft;
|
|
25393
25560
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React86.Fragment, { children: [
|
|
25394
25561
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -25447,7 +25614,7 @@ function locate(cols, ticketId) {
|
|
|
25447
25614
|
return null;
|
|
25448
25615
|
}
|
|
25449
25616
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
25450
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
25617
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _485 => _485.find, 'call', _486 => _486((c) => c.id === columnId), 'optionalAccess', _487 => _487.tickets, 'access', _488 => _488.findIndex, 'call', _489 => _489((t) => t.id === ticketId)]), () => ( -1));
|
|
25451
25618
|
}
|
|
25452
25619
|
|
|
25453
25620
|
// src/components/features/board/types.ts
|
|
@@ -25695,7 +25862,7 @@ function Header2({ config, platform }) {
|
|
|
25695
25862
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
25696
25863
|
"flex justify-start w-full",
|
|
25697
25864
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
25698
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
25865
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _490 => _490.children, 'optionalAccess', _491 => _491.length]), () => ( 0))) - 1 && "mb-1",
|
|
25699
25866
|
"text-ods-text-primary",
|
|
25700
25867
|
// All dropdown items use primary text color
|
|
25701
25868
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -25787,7 +25954,7 @@ function Header2({ config, platform }) {
|
|
|
25787
25954
|
style: config.style,
|
|
25788
25955
|
children: [
|
|
25789
25956
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
25790
|
-
_optionalChain([config, 'access',
|
|
25957
|
+
_optionalChain([config, 'access', _492 => _492.actions, 'optionalAccess', _493 => _493.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
25791
25958
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
25792
25959
|
] }),
|
|
25793
25960
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -25804,7 +25971,7 @@ function Header2({ config, platform }) {
|
|
|
25804
25971
|
}
|
|
25805
25972
|
),
|
|
25806
25973
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
25807
|
-
_optionalChain([config, 'access',
|
|
25974
|
+
_optionalChain([config, 'access', _494 => _494.actions, 'optionalAccess', _495 => _495.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
25808
25975
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25809
25976
|
_chunkE6B4B7GMcjs.Button,
|
|
25810
25977
|
{
|
|
@@ -25812,10 +25979,10 @@ function Header2({ config, platform }) {
|
|
|
25812
25979
|
size: "icon",
|
|
25813
25980
|
className: "flex md:hidden",
|
|
25814
25981
|
onClick: () => {
|
|
25815
|
-
_optionalChain([config, 'access',
|
|
25982
|
+
_optionalChain([config, 'access', _496 => _496.mobile, 'optionalAccess', _497 => _497.onToggle, 'optionalCall', _498 => _498()]);
|
|
25816
25983
|
},
|
|
25817
|
-
"aria-label": _optionalChain([config, 'access',
|
|
25818
|
-
leftIcon: _optionalChain([config, 'access',
|
|
25984
|
+
"aria-label": _optionalChain([config, 'access', _499 => _499.mobile, 'optionalAccess', _500 => _500.isOpen]) ? "Close menu" : "Open menu",
|
|
25985
|
+
leftIcon: _optionalChain([config, 'access', _501 => _501.mobile, 'optionalAccess', _502 => _502.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
|
|
25819
25986
|
}
|
|
25820
25987
|
)
|
|
25821
25988
|
] })
|
|
@@ -25832,10 +25999,10 @@ function Header2({ config, platform }) {
|
|
|
25832
25999
|
// src/components/navigation/header-skeleton.tsx
|
|
25833
26000
|
|
|
25834
26001
|
function HeaderSkeleton({ config }) {
|
|
25835
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
25836
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
25837
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
25838
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
26002
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _503 => _503.navigation]) && config.navigation.items.length > 0;
|
|
26003
|
+
const showActions = _optionalChain([config, 'optionalAccess', _504 => _504.actions, 'optionalAccess', _505 => _505.right]) && config.actions.right.length > 0;
|
|
26004
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _506 => _506.mobile, 'optionalAccess', _507 => _507.enabled]);
|
|
26005
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _508 => _508.className, 'optionalAccess', _509 => _509.includes, 'call', _510 => _510("admin")]);
|
|
25839
26006
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25840
26007
|
"header",
|
|
25841
26008
|
{
|
|
@@ -25844,11 +26011,11 @@ function HeaderSkeleton({ config }) {
|
|
|
25844
26011
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
25845
26012
|
"px-6 py-3",
|
|
25846
26013
|
"transition-opacity duration-300 ease-in-out",
|
|
25847
|
-
_optionalChain([config, 'optionalAccess',
|
|
26014
|
+
_optionalChain([config, 'optionalAccess', _511 => _511.className])
|
|
25848
26015
|
),
|
|
25849
26016
|
children: [
|
|
25850
26017
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
25851
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
26018
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _512 => _512.actions, 'optionalAccess', _513 => _513.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" }) }),
|
|
25852
26019
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
25853
26020
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
25854
26021
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -25856,8 +26023,8 @@ function HeaderSkeleton({ config }) {
|
|
|
25856
26023
|
] }),
|
|
25857
26024
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
25858
26025
|
"hidden md:flex items-center gap-2",
|
|
25859
|
-
_optionalChain([config, 'optionalAccess',
|
|
25860
|
-
_optionalChain([config, 'optionalAccess',
|
|
26026
|
+
_optionalChain([config, 'optionalAccess', _514 => _514.navigation, 'optionalAccess', _515 => _515.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
26027
|
+
_optionalChain([config, 'optionalAccess', _516 => _516.navigation, 'optionalAccess', _517 => _517.position]) === "right" && "ml-auto mr-4"
|
|
25861
26028
|
), children: [
|
|
25862
26029
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
25863
26030
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -25905,7 +26072,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
25905
26072
|
_react.useEffect.call(void 0, () => {
|
|
25906
26073
|
const handleKeyDown = (e) => {
|
|
25907
26074
|
if (e.key === "Escape" && isOpen) {
|
|
25908
|
-
_optionalChain([config, 'access',
|
|
26075
|
+
_optionalChain([config, 'access', _518 => _518.onClose, 'optionalCall', _519 => _519()]);
|
|
25909
26076
|
}
|
|
25910
26077
|
};
|
|
25911
26078
|
if (isOpen) {
|
|
@@ -25922,7 +26089,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
25922
26089
|
if (item.onClick) {
|
|
25923
26090
|
item.onClick();
|
|
25924
26091
|
}
|
|
25925
|
-
_optionalChain([config, 'access',
|
|
26092
|
+
_optionalChain([config, 'access', _520 => _520.onClose, 'optionalCall', _521 => _521()]);
|
|
25926
26093
|
};
|
|
25927
26094
|
if (item.href) {
|
|
25928
26095
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -26140,7 +26307,7 @@ function SlidingSidebar({ config }) {
|
|
|
26140
26307
|
variant: "transparent",
|
|
26141
26308
|
size: "default",
|
|
26142
26309
|
onClick: () => {
|
|
26143
|
-
_optionalChain([item, 'access',
|
|
26310
|
+
_optionalChain([item, 'access', _522 => _522.onClick, 'optionalCall', _523 => _523()]);
|
|
26144
26311
|
config.onClose();
|
|
26145
26312
|
},
|
|
26146
26313
|
leftIcon: item.icon,
|
|
@@ -26163,7 +26330,7 @@ function SlidingSidebar({ config }) {
|
|
|
26163
26330
|
variant: "transparent",
|
|
26164
26331
|
size: "default",
|
|
26165
26332
|
onClick: () => {
|
|
26166
|
-
_optionalChain([item, 'access',
|
|
26333
|
+
_optionalChain([item, 'access', _524 => _524.onClick, 'optionalCall', _525 => _525()]);
|
|
26167
26334
|
config.onClose();
|
|
26168
26335
|
},
|
|
26169
26336
|
leftIcon: item.icon,
|
|
@@ -26290,7 +26457,7 @@ function StickySectionNav({
|
|
|
26290
26457
|
] });
|
|
26291
26458
|
}
|
|
26292
26459
|
function useSectionNavigation(sections, options) {
|
|
26293
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
26460
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _526 => _526[0], 'optionalAccess', _527 => _527.id]) || "");
|
|
26294
26461
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
26295
26462
|
const { offset: offset2 = 100 } = options || {};
|
|
26296
26463
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -26314,7 +26481,7 @@ function useSectionNavigation(sections, options) {
|
|
|
26314
26481
|
const handleScroll = () => {
|
|
26315
26482
|
if (isScrollingFromClick.current) return;
|
|
26316
26483
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
26317
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
26484
|
+
let currentSection = _optionalChain([sections, 'access', _528 => _528[0], 'optionalAccess', _529 => _529.id]) || "";
|
|
26318
26485
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
26319
26486
|
const element = document.getElementById(sections[i].id);
|
|
26320
26487
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -26509,7 +26676,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26509
26676
|
} else {
|
|
26510
26677
|
setDesktopMinimized((prev) => !prev);
|
|
26511
26678
|
}
|
|
26512
|
-
_optionalChain([config, 'access',
|
|
26679
|
+
_optionalChain([config, 'access', _530 => _530.onToggleMinimized, 'optionalCall', _531 => _531()]);
|
|
26513
26680
|
}, [isTablet, setDesktopMinimized, config]);
|
|
26514
26681
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
26515
26682
|
setTabletMinimized(true);
|
|
@@ -26523,11 +26690,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
26523
26690
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
26524
26691
|
}, [isOverlayOpen, closeOverlay]);
|
|
26525
26692
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
26526
|
-
_optionalChain([event, 'optionalAccess',
|
|
26693
|
+
_optionalChain([event, 'optionalAccess', _532 => _532.stopPropagation, 'call', _533 => _533()]);
|
|
26527
26694
|
if (item.onClick) {
|
|
26528
26695
|
item.onClick();
|
|
26529
26696
|
} else if (item.path) {
|
|
26530
|
-
_optionalChain([config, 'access',
|
|
26697
|
+
_optionalChain([config, 'access', _534 => _534.onNavigate, 'optionalCall', _535 => _535(item.path)]);
|
|
26531
26698
|
}
|
|
26532
26699
|
if (isTablet) setTabletMinimized(true);
|
|
26533
26700
|
}, [config, isTablet]);
|
|
@@ -26672,11 +26839,11 @@ function HeaderGlobalSearch({
|
|
|
26672
26839
|
};
|
|
26673
26840
|
const handleSubmit = (e) => {
|
|
26674
26841
|
e.preventDefault();
|
|
26675
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26842
|
+
_optionalChain([onSubmit, 'optionalCall', _536 => _536(currentValue)]);
|
|
26676
26843
|
};
|
|
26677
26844
|
const handleKeyDown = (e) => {
|
|
26678
26845
|
if (e.key === "Enter") {
|
|
26679
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
26846
|
+
_optionalChain([onSubmit, 'optionalCall', _537 => _537(currentValue)]);
|
|
26680
26847
|
}
|
|
26681
26848
|
};
|
|
26682
26849
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -26770,8 +26937,8 @@ function HeaderOrganizationFilter({
|
|
|
26770
26937
|
className
|
|
26771
26938
|
}) {
|
|
26772
26939
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
26773
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
26774
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
26940
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _538 => _538.name]) || "All Organizations";
|
|
26941
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _539 => _539.deviceCount]), () => ( totalDeviceCount));
|
|
26775
26942
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE6B4B7GMcjs.DropdownMenu, { children: [
|
|
26776
26943
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE6B4B7GMcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26777
26944
|
"button",
|
|
@@ -26796,11 +26963,11 @@ function HeaderOrganizationFilter({
|
|
|
26796
26963
|
}
|
|
26797
26964
|
) }),
|
|
26798
26965
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkE6B4B7GMcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
26799
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE6B4B7GMcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
26966
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkE6B4B7GMcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _540 => _540("")]), children: "All Organizations" }),
|
|
26800
26967
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26801
26968
|
_chunkE6B4B7GMcjs.DropdownMenuItem,
|
|
26802
26969
|
{
|
|
26803
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
26970
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _541 => _541(org.id)]),
|
|
26804
26971
|
children: org.name
|
|
26805
26972
|
},
|
|
26806
26973
|
org.id
|
|
@@ -26985,9 +27152,9 @@ function NotificationsHeaderButton({
|
|
|
26985
27152
|
dimmedClass
|
|
26986
27153
|
}) {
|
|
26987
27154
|
const ctx = useOptionalNotifications();
|
|
26988
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
26989
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
26990
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
27155
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _542 => _542.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
27156
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _543 => _543.isOpen]), () => ( false));
|
|
27157
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _544 => _544.toggle]);
|
|
26991
27158
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26992
27159
|
HeaderButton,
|
|
26993
27160
|
{
|
|
@@ -27051,7 +27218,7 @@ var MobileBurgerMenu = React102.default.memo(function MobileBurgerMenu2({
|
|
|
27051
27218
|
if (item.onClick) {
|
|
27052
27219
|
item.onClick();
|
|
27053
27220
|
} else if (item.path) {
|
|
27054
|
-
_optionalChain([config, 'access',
|
|
27221
|
+
_optionalChain([config, 'access', _545 => _545.onNavigate, 'optionalCall', _546 => _546(item.path)]);
|
|
27055
27222
|
}
|
|
27056
27223
|
onClose();
|
|
27057
27224
|
}, [config, onClose]);
|
|
@@ -27294,7 +27461,7 @@ var AppLayoutDrawerRoot = ({
|
|
|
27294
27461
|
const handleOpenChange = React95.useCallback(
|
|
27295
27462
|
(next) => {
|
|
27296
27463
|
if (!isControlled) setInternalOpen(next);
|
|
27297
|
-
_optionalChain([onOpenChange, 'optionalCall',
|
|
27464
|
+
_optionalChain([onOpenChange, 'optionalCall', _547 => _547(next)]);
|
|
27298
27465
|
},
|
|
27299
27466
|
[isControlled, onOpenChange]
|
|
27300
27467
|
);
|
|
@@ -27675,10 +27842,10 @@ var AppLayoutDrawerContent = React95.forwardRef(
|
|
|
27675
27842
|
),
|
|
27676
27843
|
style,
|
|
27677
27844
|
onInteractOutside: (event) => {
|
|
27678
|
-
_optionalChain([onInteractOutside, 'optionalCall',
|
|
27845
|
+
_optionalChain([onInteractOutside, 'optionalCall', _548 => _548(event)]);
|
|
27679
27846
|
if (event.defaultPrevented) return;
|
|
27680
27847
|
const target = event.target;
|
|
27681
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess',
|
|
27848
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _549 => _549.contains, 'call', _550 => _550(target)]);
|
|
27682
27849
|
if (!isInsideContainer) {
|
|
27683
27850
|
event.preventDefault();
|
|
27684
27851
|
return;
|
|
@@ -27867,7 +28034,7 @@ var ShellTypeBadge = ({
|
|
|
27867
28034
|
className,
|
|
27868
28035
|
iconClassName
|
|
27869
28036
|
}) => {
|
|
27870
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
28037
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _551 => _551.toUpperCase, 'call', _552 => _552()]);
|
|
27871
28038
|
const label = getShellLabel(normalizedType);
|
|
27872
28039
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
27873
28040
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -28254,12 +28421,12 @@ function OnboardingWalkthrough({
|
|
|
28254
28421
|
}
|
|
28255
28422
|
}, [state.completedSteps, markComplete]);
|
|
28256
28423
|
const handleStepSkip = (step) => {
|
|
28257
|
-
_optionalChain([step, 'access',
|
|
28424
|
+
_optionalChain([step, 'access', _553 => _553.onSkip, 'optionalCall', _554 => _554()]);
|
|
28258
28425
|
markSkipped(step.id);
|
|
28259
28426
|
};
|
|
28260
28427
|
const handleDismiss = () => {
|
|
28261
28428
|
dismissOnboarding();
|
|
28262
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
28429
|
+
_optionalChain([onDismiss, 'optionalCall', _555 => _555()]);
|
|
28263
28430
|
};
|
|
28264
28431
|
if (state.dismissed) {
|
|
28265
28432
|
return null;
|
|
@@ -28389,7 +28556,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
28389
28556
|
onKeyDown: (e) => {
|
|
28390
28557
|
if (e.key === "Enter" || e.key === " ") {
|
|
28391
28558
|
e.preventDefault();
|
|
28392
|
-
_optionalChain([onClick, 'optionalCall',
|
|
28559
|
+
_optionalChain([onClick, 'optionalCall', _556 => _556()]);
|
|
28393
28560
|
}
|
|
28394
28561
|
},
|
|
28395
28562
|
children: [
|
|
@@ -28490,7 +28657,7 @@ var LogsList = React99.forwardRef(({
|
|
|
28490
28657
|
log,
|
|
28491
28658
|
isLast: index === logs.length - 1,
|
|
28492
28659
|
showConnector,
|
|
28493
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
28660
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _557 => _557(log)])
|
|
28494
28661
|
},
|
|
28495
28662
|
log.id
|
|
28496
28663
|
))
|
|
@@ -28591,7 +28758,7 @@ var Slider = React101.forwardRef(
|
|
|
28591
28758
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
28592
28759
|
const handleChange = (e) => {
|
|
28593
28760
|
const newValue = [Number(e.target.value)];
|
|
28594
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
28761
|
+
_optionalChain([onValueChange, 'optionalCall', _558 => _558(newValue)]);
|
|
28595
28762
|
};
|
|
28596
28763
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28597
28764
|
"input",
|
|
@@ -29022,7 +29189,7 @@ function CursorPaginationSimple({
|
|
|
29022
29189
|
{
|
|
29023
29190
|
variant: "transparent",
|
|
29024
29191
|
size: "icon",
|
|
29025
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
29192
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _559 => _559("")]),
|
|
29026
29193
|
disabled: !hasPreviousPage || loading,
|
|
29027
29194
|
className: "h-8 w-8",
|
|
29028
29195
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -29034,7 +29201,7 @@ function CursorPaginationSimple({
|
|
|
29034
29201
|
{
|
|
29035
29202
|
variant: "transparent",
|
|
29036
29203
|
size: "icon",
|
|
29037
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
29204
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _560 => _560("")]),
|
|
29038
29205
|
disabled: !hasNextPage || loading,
|
|
29039
29206
|
className: "h-8 w-8",
|
|
29040
29207
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -29094,7 +29261,7 @@ function TableColumnFilterDropdown({
|
|
|
29094
29261
|
placement = "bottom-start",
|
|
29095
29262
|
dropdownClassName = "min-w-[240px]"
|
|
29096
29263
|
}) {
|
|
29097
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
29264
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _561 => _561[columnKey], 'optionalAccess', _562 => _562.length]) || 0;
|
|
29098
29265
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29099
29266
|
FiltersDropdown,
|
|
29100
29267
|
{
|
|
@@ -29137,7 +29304,7 @@ function TableColumnFilterDropdown({
|
|
|
29137
29304
|
delete newFilters[columnKey];
|
|
29138
29305
|
onFilterChange(newFilters);
|
|
29139
29306
|
},
|
|
29140
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
29307
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _563 => _563[columnKey]]) || [] },
|
|
29141
29308
|
placement,
|
|
29142
29309
|
dropdownClassName
|
|
29143
29310
|
}
|
|
@@ -29434,7 +29601,7 @@ function TableRow({
|
|
|
29434
29601
|
const keys = column.key.split(".");
|
|
29435
29602
|
let value = item;
|
|
29436
29603
|
for (const key of keys) {
|
|
29437
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
29604
|
+
value = _optionalChain([value, 'optionalAccess', _564 => _564[key]]);
|
|
29438
29605
|
}
|
|
29439
29606
|
if (value === null || value === void 0) {
|
|
29440
29607
|
return "-";
|
|
@@ -29504,7 +29671,7 @@ function TableRow({
|
|
|
29504
29671
|
// src/components/ui/table/table.tsx
|
|
29505
29672
|
|
|
29506
29673
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
29507
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
29674
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _565 => _565.length])) || Boolean(renderRowActions);
|
|
29508
29675
|
const result = [...columns];
|
|
29509
29676
|
if (hasActions) {
|
|
29510
29677
|
const actionsColumn = {
|
|
@@ -29598,7 +29765,7 @@ function Table({
|
|
|
29598
29765
|
return rowKey(item);
|
|
29599
29766
|
}
|
|
29600
29767
|
const key = item[rowKey];
|
|
29601
|
-
return _optionalChain([key, 'optionalAccess',
|
|
29768
|
+
return _optionalChain([key, 'optionalAccess', _566 => _566.toString, 'call', _567 => _567()]) || index.toString();
|
|
29602
29769
|
};
|
|
29603
29770
|
const getRowClassName = (item, index) => {
|
|
29604
29771
|
if (typeof rowClassName === "function") {
|
|
@@ -29632,23 +29799,23 @@ function Table({
|
|
|
29632
29799
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
29633
29800
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
29634
29801
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
29635
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
29636
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
29802
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _568 => _568.onLoadMore]));
|
|
29803
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _569 => _569.onLoadMore]);
|
|
29637
29804
|
_react.useEffect.call(void 0, () => {
|
|
29638
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29805
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _570 => _570.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
29639
29806
|
const sentinel = sentinelRef.current;
|
|
29640
29807
|
if (!sentinel) return;
|
|
29641
29808
|
const observer = new IntersectionObserver(
|
|
29642
29809
|
(entries) => {
|
|
29643
|
-
if (_optionalChain([entries, 'access',
|
|
29644
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
29810
|
+
if (_optionalChain([entries, 'access', _571 => _571[0], 'optionalAccess', _572 => _572.isIntersecting])) {
|
|
29811
|
+
_optionalChain([onLoadMoreRef, 'access', _573 => _573.current, 'optionalCall', _574 => _574()]);
|
|
29645
29812
|
}
|
|
29646
29813
|
},
|
|
29647
29814
|
{ rootMargin: "200px" }
|
|
29648
29815
|
);
|
|
29649
29816
|
observer.observe(sentinel);
|
|
29650
29817
|
return () => observer.disconnect();
|
|
29651
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29818
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _575 => _575.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _576 => _576.isFetchingNextPage])]);
|
|
29652
29819
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
29653
29820
|
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: [
|
|
29654
29821
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -29719,7 +29886,7 @@ function Table({
|
|
|
29719
29886
|
},
|
|
29720
29887
|
getRowKey(item, index)
|
|
29721
29888
|
)),
|
|
29722
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29889
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _577 => _577.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
29723
29890
|
TableCardSkeleton,
|
|
29724
29891
|
{
|
|
29725
29892
|
columns,
|
|
@@ -29728,7 +29895,7 @@ function Table({
|
|
|
29728
29895
|
hasChevron: Boolean(rowHref)
|
|
29729
29896
|
}
|
|
29730
29897
|
),
|
|
29731
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
29898
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _578 => _578.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
29732
29899
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
29733
29900
|
"div",
|
|
29734
29901
|
{
|
|
@@ -30086,7 +30253,7 @@ function QueryReportTable({
|
|
|
30086
30253
|
);
|
|
30087
30254
|
const handleExport = () => {
|
|
30088
30255
|
exportToCSV(data, columns, exportFilename);
|
|
30089
|
-
_optionalChain([onExport, 'optionalCall',
|
|
30256
|
+
_optionalChain([onExport, 'optionalCall', _579 => _579()]);
|
|
30090
30257
|
};
|
|
30091
30258
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
30092
30259
|
const {
|
|
@@ -30259,7 +30426,7 @@ function DataTableColumnFilter({
|
|
|
30259
30426
|
align = "left"
|
|
30260
30427
|
}) {
|
|
30261
30428
|
const currentValue = column.getFilterValue();
|
|
30262
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
30429
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _580 => _580.length]), () => ( 0));
|
|
30263
30430
|
const sections = _react.useMemo.call(void 0,
|
|
30264
30431
|
() => [
|
|
30265
30432
|
{
|
|
@@ -30339,7 +30506,7 @@ function DataTableHeader({
|
|
|
30339
30506
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
30340
30507
|
if (header.isPlaceholder) return false;
|
|
30341
30508
|
if (isLgUp) return true;
|
|
30342
|
-
return Boolean(_optionalChain([header, 'access',
|
|
30509
|
+
return Boolean(_optionalChain([header, 'access', _581 => _581.column, 'access', _582 => _582.columnDef, 'access', _583 => _583.meta, 'optionalAccess', _584 => _584.filter]));
|
|
30343
30510
|
});
|
|
30344
30511
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30345
30512
|
"div",
|
|
@@ -30369,20 +30536,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30369
30536
|
if (header.isPlaceholder) return null;
|
|
30370
30537
|
const column = header.column;
|
|
30371
30538
|
const meta = column.columnDef.meta;
|
|
30372
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
30373
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
30374
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
30375
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
30539
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _585 => _585.filter]));
|
|
30540
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _586 => _586.align]), () => ( "left"));
|
|
30541
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _587 => _587.sortable]) === true;
|
|
30542
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _588 => _588.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
30376
30543
|
if (!isLgUp && !hasFilter) return null;
|
|
30377
30544
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30378
30545
|
"div",
|
|
30379
30546
|
{
|
|
30380
30547
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
30381
30548
|
"flex items-stretch",
|
|
30382
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
30383
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30549
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _589 => _589.width]) || "flex-1 min-w-0"),
|
|
30550
|
+
_optionalChain([meta, 'optionalAccess', _590 => _590.headerClassName]),
|
|
30384
30551
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
30385
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30552
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _591 => _591.hideAt]))
|
|
30386
30553
|
),
|
|
30387
30554
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30388
30555
|
DataTableColumnFilter,
|
|
@@ -30401,7 +30568,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
30401
30568
|
isLgUp && alignJustify(align),
|
|
30402
30569
|
canSort && "group cursor-pointer"
|
|
30403
30570
|
),
|
|
30404
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
30571
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _592 => _592(column.id)]) : void 0,
|
|
30405
30572
|
children: [
|
|
30406
30573
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
30407
30574
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -30485,7 +30652,7 @@ function DataTableSkeleton({
|
|
|
30485
30652
|
}) {
|
|
30486
30653
|
const table = useDataTableContext();
|
|
30487
30654
|
const columns = table.getVisibleFlatColumns();
|
|
30488
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
30655
|
+
const firstColumnId = _optionalChain([columns, 'access', _593 => _593[0], 'optionalAccess', _594 => _594.id]);
|
|
30489
30656
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30490
30657
|
"div",
|
|
30491
30658
|
{
|
|
@@ -30509,7 +30676,7 @@ function DataTableSkeleton({
|
|
|
30509
30676
|
{
|
|
30510
30677
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
30511
30678
|
"flex flex-col justify-center shrink-0",
|
|
30512
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30679
|
+
_optionalChain([meta, 'optionalAccess', _595 => _595.width]) || "flex-1"
|
|
30513
30680
|
),
|
|
30514
30681
|
children: [
|
|
30515
30682
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -30548,14 +30715,17 @@ function DataTableRowImpl({
|
|
|
30548
30715
|
onClick,
|
|
30549
30716
|
href,
|
|
30550
30717
|
compact,
|
|
30551
|
-
className
|
|
30718
|
+
className,
|
|
30719
|
+
subRow
|
|
30552
30720
|
}) {
|
|
30721
|
+
const hasSubRow = subRow != null && subRow !== false;
|
|
30553
30722
|
const isLinkMode = Boolean(href) && !onClick;
|
|
30723
|
+
const isWholeCardLink = isLinkMode && !hasSubRow;
|
|
30554
30724
|
const containerRef = _react.useRef.call(void 0, null);
|
|
30555
30725
|
const handleClick = _react.useCallback.call(void 0,
|
|
30556
30726
|
(e) => {
|
|
30557
30727
|
const target = e.target;
|
|
30558
|
-
if (!_optionalChain([containerRef, 'access',
|
|
30728
|
+
if (!_optionalChain([containerRef, 'access', _596 => _596.current, 'optionalAccess', _597 => _597.contains, 'call', _598 => _598(target)])) {
|
|
30559
30729
|
if (isLinkMode) e.preventDefault();
|
|
30560
30730
|
return;
|
|
30561
30731
|
}
|
|
@@ -30563,13 +30733,14 @@ function DataTableRowImpl({
|
|
|
30563
30733
|
if (isLinkMode) e.preventDefault();
|
|
30564
30734
|
return;
|
|
30565
30735
|
}
|
|
30566
|
-
_optionalChain([onClick, 'optionalCall',
|
|
30736
|
+
_optionalChain([onClick, 'optionalCall', _599 => _599(row.original)]);
|
|
30567
30737
|
},
|
|
30568
30738
|
[onClick, row.original, isLinkMode]
|
|
30569
30739
|
);
|
|
30570
30740
|
const containerClassName = _chunk2TBN53KYcjs.cn.call(void 0,
|
|
30571
30741
|
"block rounded-md bg-ods-card border border-ods-border overflow-hidden no-underline text-inherit",
|
|
30572
|
-
|
|
30742
|
+
// With a sub-row the link wraps only the cells, so keep the clickable affordance off the whole card.
|
|
30743
|
+
(onClick || isWholeCardLink) && "cursor-pointer hover:bg-ods-bg-active transition-colors",
|
|
30573
30744
|
className
|
|
30574
30745
|
);
|
|
30575
30746
|
const cells = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -30577,7 +30748,8 @@ function DataTableRowImpl({
|
|
|
30577
30748
|
{
|
|
30578
30749
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
30579
30750
|
"flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]",
|
|
30580
|
-
compact ? "py-[var(--spacing-system-xsf)]" : `py-0 ${ROW_HEIGHT_DESKTOP2}
|
|
30751
|
+
compact ? "py-[var(--spacing-system-xsf)]" : `py-0 ${ROW_HEIGHT_DESKTOP2}`,
|
|
30752
|
+
hasSubRow && "border-b border-ods-border"
|
|
30581
30753
|
),
|
|
30582
30754
|
children: row.getVisibleCells().map((cell) => {
|
|
30583
30755
|
const meta = cell.column.columnDef.meta;
|
|
@@ -30586,10 +30758,10 @@ function DataTableRowImpl({
|
|
|
30586
30758
|
{
|
|
30587
30759
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
30588
30760
|
"flex flex-col overflow-hidden",
|
|
30589
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
30590
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30591
|
-
_optionalChain([meta, 'optionalAccess',
|
|
30592
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
30761
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _600 => _600.align])),
|
|
30762
|
+
_optionalChain([meta, 'optionalAccess', _601 => _601.width]) || "flex-1 min-w-0",
|
|
30763
|
+
_optionalChain([meta, 'optionalAccess', _602 => _602.cellClassName]),
|
|
30764
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _603 => _603.hideAt]))
|
|
30593
30765
|
),
|
|
30594
30766
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
30595
30767
|
},
|
|
@@ -30598,7 +30770,7 @@ function DataTableRowImpl({
|
|
|
30598
30770
|
})
|
|
30599
30771
|
}
|
|
30600
30772
|
);
|
|
30601
|
-
if (
|
|
30773
|
+
if (isWholeCardLink && href) {
|
|
30602
30774
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30603
30775
|
_chunkWBR7H6E3cjs.next_link_default,
|
|
30604
30776
|
{
|
|
@@ -30611,13 +30783,25 @@ function DataTableRowImpl({
|
|
|
30611
30783
|
}
|
|
30612
30784
|
);
|
|
30613
30785
|
}
|
|
30614
|
-
return /* @__PURE__ */ _jsxruntime.
|
|
30786
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30615
30787
|
"div",
|
|
30616
30788
|
{
|
|
30617
30789
|
ref: containerRef,
|
|
30618
30790
|
className: containerClassName,
|
|
30619
30791
|
onClick: onClick ? handleClick : void 0,
|
|
30620
|
-
children:
|
|
30792
|
+
children: [
|
|
30793
|
+
isLinkMode && href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30794
|
+
_chunkWBR7H6E3cjs.next_link_default,
|
|
30795
|
+
{
|
|
30796
|
+
href,
|
|
30797
|
+
prefetch: false,
|
|
30798
|
+
className: "block no-underline text-inherit cursor-pointer hover:bg-ods-bg-active transition-colors",
|
|
30799
|
+
onClick: handleClick,
|
|
30800
|
+
children: cells
|
|
30801
|
+
}
|
|
30802
|
+
) : cells,
|
|
30803
|
+
hasSubRow && subRow
|
|
30804
|
+
]
|
|
30621
30805
|
}
|
|
30622
30806
|
);
|
|
30623
30807
|
}
|
|
@@ -30640,7 +30824,8 @@ function DataTableBody({
|
|
|
30640
30824
|
compact,
|
|
30641
30825
|
onRowClick,
|
|
30642
30826
|
rowHref,
|
|
30643
|
-
minRows
|
|
30827
|
+
minRows,
|
|
30828
|
+
renderSubRow
|
|
30644
30829
|
}) {
|
|
30645
30830
|
const table = useDataTableContext();
|
|
30646
30831
|
const rows = table.getRowModel().rows;
|
|
@@ -30654,7 +30839,7 @@ function DataTableBody({
|
|
|
30654
30839
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
30655
30840
|
rows.map((row, index) => {
|
|
30656
30841
|
const item = row.original;
|
|
30657
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
30842
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _604 => _604(item)]), () => ( void 0));
|
|
30658
30843
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
30659
30844
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30660
30845
|
DataTableRow,
|
|
@@ -30663,7 +30848,8 @@ function DataTableBody({
|
|
|
30663
30848
|
onClick: onRowClick,
|
|
30664
30849
|
href,
|
|
30665
30850
|
compact,
|
|
30666
|
-
className: cls
|
|
30851
|
+
className: cls,
|
|
30852
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _605 => _605(item)])
|
|
30667
30853
|
},
|
|
30668
30854
|
row.id
|
|
30669
30855
|
);
|
|
@@ -30718,7 +30904,7 @@ function DataTableInfiniteFooter({
|
|
|
30718
30904
|
if (!sentinel) return;
|
|
30719
30905
|
const observer = new IntersectionObserver(
|
|
30720
30906
|
(entries) => {
|
|
30721
|
-
if (_optionalChain([entries, 'access',
|
|
30907
|
+
if (_optionalChain([entries, 'access', _606 => _606[0], 'optionalAccess', _607 => _607.isIntersecting])) onLoadMoreRef.current();
|
|
30722
30908
|
},
|
|
30723
30909
|
{ rootMargin }
|
|
30724
30910
|
);
|
|
@@ -30766,7 +30952,7 @@ function DataTableRowCount({
|
|
|
30766
30952
|
const table = useDataTableContext();
|
|
30767
30953
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
30768
30954
|
if (hideWhenEmpty && count === 0) return null;
|
|
30769
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
30955
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _608 => _608(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
30770
30956
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
30771
30957
|
"span",
|
|
30772
30958
|
{
|
|
@@ -30922,7 +31108,7 @@ function SearchInput({
|
|
|
30922
31108
|
if (!showHiddenTags) return;
|
|
30923
31109
|
const handleClick = (e) => {
|
|
30924
31110
|
const target = e.target;
|
|
30925
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31111
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _609 => _609.current, 'optionalAccess', _610 => _610.contains, 'call', _611 => _611(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _612 => _612.current, 'optionalAccess', _613 => _613.contains, 'call', _614 => _614(target)])) {
|
|
30926
31112
|
setShowHiddenTags(false);
|
|
30927
31113
|
}
|
|
30928
31114
|
};
|
|
@@ -30970,10 +31156,10 @@ function SearchInput({
|
|
|
30970
31156
|
} else {
|
|
30971
31157
|
setInternalValue("");
|
|
30972
31158
|
}
|
|
30973
|
-
_optionalChain([inputRef, 'access',
|
|
31159
|
+
_optionalChain([inputRef, 'access', _615 => _615.current, 'optionalAccess', _616 => _616.focus, 'call', _617 => _617()]);
|
|
30974
31160
|
};
|
|
30975
31161
|
const handleResultClick = (result, e) => {
|
|
30976
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
31162
|
+
_optionalChain([onResultSelect, 'optionalCall', _618 => _618(
|
|
30977
31163
|
result,
|
|
30978
31164
|
e ? {
|
|
30979
31165
|
metaKey: e.metaKey,
|
|
@@ -31005,7 +31191,7 @@ function SearchInput({
|
|
|
31005
31191
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
31006
31192
|
handleResultClick(flatResults[highlightedIndex]);
|
|
31007
31193
|
} else {
|
|
31008
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
31194
|
+
_optionalChain([onSubmit, 'optionalCall', _619 => _619(currentValue)]);
|
|
31009
31195
|
}
|
|
31010
31196
|
break;
|
|
31011
31197
|
case "Escape":
|
|
@@ -31083,7 +31269,7 @@ function SearchInput({
|
|
|
31083
31269
|
dropdownVisible && "!border-ods-accent"
|
|
31084
31270
|
),
|
|
31085
31271
|
onClick: () => {
|
|
31086
|
-
_optionalChain([inputRef, 'access',
|
|
31272
|
+
_optionalChain([inputRef, 'access', _620 => _620.current, 'optionalAccess', _621 => _621.focus, 'call', _622 => _622()]);
|
|
31087
31273
|
setIsOpen(true);
|
|
31088
31274
|
},
|
|
31089
31275
|
children: [
|
|
@@ -31167,10 +31353,10 @@ function SearchInput({
|
|
|
31167
31353
|
align: "start",
|
|
31168
31354
|
onOpenAutoFocus: (e) => {
|
|
31169
31355
|
e.preventDefault();
|
|
31170
|
-
_optionalChain([inputRef, 'access',
|
|
31356
|
+
_optionalChain([inputRef, 'access', _623 => _623.current, 'optionalAccess', _624 => _624.focus, 'call', _625 => _625()]);
|
|
31171
31357
|
},
|
|
31172
31358
|
onInteractOutside: (e) => {
|
|
31173
|
-
if (_optionalChain([containerRef, 'access',
|
|
31359
|
+
if (_optionalChain([containerRef, 'access', _626 => _626.current, 'optionalAccess', _627 => _627.contains, 'call', _628 => _628(e.target)])) {
|
|
31174
31360
|
e.preventDefault();
|
|
31175
31361
|
}
|
|
31176
31362
|
},
|
|
@@ -31187,10 +31373,10 @@ function SearchInput({
|
|
|
31187
31373
|
ref: hiddenTagsPopupRef,
|
|
31188
31374
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
31189
31375
|
style: {
|
|
31190
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
31376
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _629 => _629.current, 'optionalAccess', _630 => _630.getBoundingClientRect, 'call', _631 => _631(), 'access', _632 => _632.left]), () => ( 0))) : 0
|
|
31191
31377
|
},
|
|
31192
31378
|
onRemove: (value2) => {
|
|
31193
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
31379
|
+
_optionalChain([onFilterRemove, 'optionalCall', _633 => _633(value2)]);
|
|
31194
31380
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
31195
31381
|
}
|
|
31196
31382
|
}
|
|
@@ -31241,7 +31427,7 @@ function FilterListItem({
|
|
|
31241
31427
|
}) {
|
|
31242
31428
|
const handleToggle = () => {
|
|
31243
31429
|
if (disabled) return;
|
|
31244
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
31430
|
+
_optionalChain([onToggle, 'optionalCall', _634 => _634(!selected)]);
|
|
31245
31431
|
};
|
|
31246
31432
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31247
31433
|
"div",
|
|
@@ -31288,7 +31474,7 @@ function FilterListItem({
|
|
|
31288
31474
|
CheckboxPrimitive4.Root,
|
|
31289
31475
|
{
|
|
31290
31476
|
checked: selected,
|
|
31291
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
31477
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _635 => _635(c === true)]),
|
|
31292
31478
|
onClick: (e) => e.stopPropagation(),
|
|
31293
31479
|
disabled,
|
|
31294
31480
|
"aria-label": title,
|
|
@@ -31387,7 +31573,7 @@ function TagSearchInput({
|
|
|
31387
31573
|
if (!showHiddenTags) return;
|
|
31388
31574
|
const handleClick = (e) => {
|
|
31389
31575
|
const target = e.target;
|
|
31390
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
31576
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.contains, 'call', _638 => _638(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _639 => _639.current, 'optionalAccess', _640 => _640.contains, 'call', _641 => _641(target)])) {
|
|
31391
31577
|
setShowHiddenTags(false);
|
|
31392
31578
|
}
|
|
31393
31579
|
};
|
|
@@ -31403,13 +31589,13 @@ function TagSearchInput({
|
|
|
31403
31589
|
e.preventDefault();
|
|
31404
31590
|
onSubmit(searchValue);
|
|
31405
31591
|
}
|
|
31406
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
31592
|
+
_optionalChain([onKeyDown, 'optionalCall', _642 => _642(e)]);
|
|
31407
31593
|
};
|
|
31408
31594
|
const handleClearAll = (e) => {
|
|
31409
31595
|
e.stopPropagation();
|
|
31410
31596
|
e.preventDefault();
|
|
31411
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
31412
|
-
_optionalChain([inputRef, 'access',
|
|
31597
|
+
_optionalChain([onClearAll, 'optionalCall', _643 => _643()]);
|
|
31598
|
+
_optionalChain([inputRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.focus, 'call', _646 => _646()]);
|
|
31413
31599
|
};
|
|
31414
31600
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
31415
31601
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -31426,7 +31612,7 @@ function TagSearchInput({
|
|
|
31426
31612
|
className
|
|
31427
31613
|
),
|
|
31428
31614
|
onClick: () => {
|
|
31429
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
31615
|
+
if (!disabled) _optionalChain([inputRef, 'access', _647 => _647.current, 'optionalAccess', _648 => _648.focus, 'call', _649 => _649()]);
|
|
31430
31616
|
},
|
|
31431
31617
|
children: [
|
|
31432
31618
|
/* @__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" }) }),
|
|
@@ -31498,7 +31684,7 @@ function TagSearchInput({
|
|
|
31498
31684
|
items: hiddenTags,
|
|
31499
31685
|
disabled,
|
|
31500
31686
|
style: {
|
|
31501
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
31687
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _650 => _650.current, 'optionalAccess', _651 => _651.getBoundingClientRect, 'call', _652 => _652(), 'access', _653 => _653.left]), () => ( 0))) : 0
|
|
31502
31688
|
},
|
|
31503
31689
|
onRemove: (value) => {
|
|
31504
31690
|
onTagRemove(value);
|
|
@@ -31599,7 +31785,7 @@ function MarkdownEditor({
|
|
|
31599
31785
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
31600
31786
|
_react.useEffect.call(void 0, () => {
|
|
31601
31787
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
31602
|
-
if (_optionalChain([mod, 'access',
|
|
31788
|
+
if (_optionalChain([mod, 'access', _654 => _654.commands, 'optionalAccess', _655 => _655.getExtraCommands])) {
|
|
31603
31789
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
31604
31790
|
}
|
|
31605
31791
|
});
|
|
@@ -31633,7 +31819,7 @@ function MarkdownEditor({
|
|
|
31633
31819
|
const isImage = file.type.startsWith("image/");
|
|
31634
31820
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
31635
31821
|
insertTextAtCursor(markdown);
|
|
31636
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
31822
|
+
_optionalChain([onFileUploaded, 'optionalCall', _656 => _656(url, file.name)]);
|
|
31637
31823
|
} catch (error) {
|
|
31638
31824
|
console.error("File upload failed:", error);
|
|
31639
31825
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -31646,7 +31832,7 @@ function MarkdownEditor({
|
|
|
31646
31832
|
);
|
|
31647
31833
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
31648
31834
|
(e) => {
|
|
31649
|
-
const file = _optionalChain([e, 'access',
|
|
31835
|
+
const file = _optionalChain([e, 'access', _657 => _657.target, 'access', _658 => _658.files, 'optionalAccess', _659 => _659[0]]);
|
|
31650
31836
|
if (file) {
|
|
31651
31837
|
handleFileUpload(file);
|
|
31652
31838
|
e.target.value = "";
|
|
@@ -31657,7 +31843,7 @@ function MarkdownEditor({
|
|
|
31657
31843
|
const handlePaste = _react.useCallback.call(void 0,
|
|
31658
31844
|
(e) => {
|
|
31659
31845
|
if (!onUploadFile) return;
|
|
31660
|
-
const items = _optionalChain([e, 'access',
|
|
31846
|
+
const items = _optionalChain([e, 'access', _660 => _660.clipboardData, 'optionalAccess', _661 => _661.items]);
|
|
31661
31847
|
if (!items) return;
|
|
31662
31848
|
for (const item of items) {
|
|
31663
31849
|
if (item.type.startsWith("image/")) {
|
|
@@ -31682,7 +31868,7 @@ function MarkdownEditor({
|
|
|
31682
31868
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
31683
31869
|
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" }),
|
|
31684
31870
|
execute: () => {
|
|
31685
|
-
_optionalChain([fileInputRef, 'access',
|
|
31871
|
+
_optionalChain([fileInputRef, 'access', _662 => _662.current, 'optionalAccess', _663 => _663.click, 'call', _664 => _664()]);
|
|
31686
31872
|
}
|
|
31687
31873
|
} : null;
|
|
31688
31874
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -31694,7 +31880,7 @@ function MarkdownEditor({
|
|
|
31694
31880
|
const EDGE_ZONE = 60;
|
|
31695
31881
|
const MAX_SCROLL_SPEED = 15;
|
|
31696
31882
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
31697
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
31883
|
+
let node = _optionalChain([el, 'optionalAccess', _665 => _665.parentElement]);
|
|
31698
31884
|
while (node && node !== document.documentElement) {
|
|
31699
31885
|
const { overflowY } = window.getComputedStyle(node);
|
|
31700
31886
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -31837,7 +32023,7 @@ function matchesAccept(file, accept) {
|
|
|
31837
32023
|
});
|
|
31838
32024
|
}
|
|
31839
32025
|
function dragHasFiles(e) {
|
|
31840
|
-
const types = _optionalChain([e, 'access',
|
|
32026
|
+
const types = _optionalChain([e, 'access', _666 => _666.dataTransfer, 'optionalAccess', _667 => _667.types]);
|
|
31841
32027
|
if (!types) return false;
|
|
31842
32028
|
for (let i = 0; i < types.length; i++) {
|
|
31843
32029
|
if (types[i] === "Files") return true;
|
|
@@ -31932,7 +32118,7 @@ function FileUpload({
|
|
|
31932
32118
|
e.stopPropagation();
|
|
31933
32119
|
setDragActive(false);
|
|
31934
32120
|
if (disabled) return;
|
|
31935
|
-
if (_optionalChain([e, 'access',
|
|
32121
|
+
if (_optionalChain([e, 'access', _668 => _668.dataTransfer, 'access', _669 => _669.files, 'optionalAccess', _670 => _670.length])) {
|
|
31936
32122
|
handleFiles(e.dataTransfer.files);
|
|
31937
32123
|
}
|
|
31938
32124
|
};
|
|
@@ -31960,7 +32146,7 @@ function FileUpload({
|
|
|
31960
32146
|
e.preventDefault();
|
|
31961
32147
|
dragCounter = 0;
|
|
31962
32148
|
setDragActive(false);
|
|
31963
|
-
if (_optionalChain([e, 'access',
|
|
32149
|
+
if (_optionalChain([e, 'access', _671 => _671.dataTransfer, 'optionalAccess', _672 => _672.files, 'optionalAccess', _673 => _673.length])) {
|
|
31964
32150
|
handleFilesRef.current(e.dataTransfer.files);
|
|
31965
32151
|
}
|
|
31966
32152
|
};
|
|
@@ -31982,7 +32168,7 @@ function FileUpload({
|
|
|
31982
32168
|
};
|
|
31983
32169
|
}, [acceptWindowDrops, disabled]);
|
|
31984
32170
|
const handleFileSelect = (e) => {
|
|
31985
|
-
if (_optionalChain([e, 'access',
|
|
32171
|
+
if (_optionalChain([e, 'access', _674 => _674.target, 'access', _675 => _675.files, 'optionalAccess', _676 => _676.length])) {
|
|
31986
32172
|
handleFiles(e.target.files);
|
|
31987
32173
|
}
|
|
31988
32174
|
};
|
|
@@ -31999,7 +32185,7 @@ function FileUpload({
|
|
|
31999
32185
|
};
|
|
32000
32186
|
const openDialog = async () => {
|
|
32001
32187
|
if (disabled) return;
|
|
32002
|
-
_optionalChain([fileInputRef, 'access',
|
|
32188
|
+
_optionalChain([fileInputRef, 'access', _677 => _677.current, 'optionalAccess', _678 => _678.click, 'call', _679 => _679()]);
|
|
32003
32189
|
};
|
|
32004
32190
|
const displayError = error || validationError || void 0;
|
|
32005
32191
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -32077,7 +32263,7 @@ function FileUpload({
|
|
|
32077
32263
|
"button",
|
|
32078
32264
|
{
|
|
32079
32265
|
type: "button",
|
|
32080
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
32266
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _680 => _680(entry.id)]),
|
|
32081
32267
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
32082
32268
|
"aria-label": `Remove ${entry.fileName}`,
|
|
32083
32269
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -32200,7 +32386,7 @@ function ImageUploader({
|
|
|
32200
32386
|
onChange(file);
|
|
32201
32387
|
};
|
|
32202
32388
|
const handleFileSelect = (e) => {
|
|
32203
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32389
|
+
validateAndEmit(_optionalChain([e, 'access', _681 => _681.target, 'access', _682 => _682.files, 'optionalAccess', _683 => _683[0]]));
|
|
32204
32390
|
if (inputRef.current) inputRef.current.value = "";
|
|
32205
32391
|
};
|
|
32206
32392
|
const handleDrag = (e) => {
|
|
@@ -32215,11 +32401,11 @@ function ImageUploader({
|
|
|
32215
32401
|
e.stopPropagation();
|
|
32216
32402
|
setDragActive(false);
|
|
32217
32403
|
if (!interactive) return;
|
|
32218
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
32404
|
+
validateAndEmit(_optionalChain([e, 'access', _684 => _684.dataTransfer, 'access', _685 => _685.files, 'optionalAccess', _686 => _686[0]]));
|
|
32219
32405
|
};
|
|
32220
32406
|
const openDialog = () => {
|
|
32221
32407
|
if (!interactive) return;
|
|
32222
|
-
_optionalChain([inputRef, 'access',
|
|
32408
|
+
_optionalChain([inputRef, 'access', _687 => _687.current, 'optionalAccess', _688 => _688.click, 'call', _689 => _689()]);
|
|
32223
32409
|
};
|
|
32224
32410
|
const handleRootKeyDown = (e) => {
|
|
32225
32411
|
if (hasImage || !interactive) return;
|
|
@@ -32342,6 +32528,7 @@ function ActionIconButton({ onClick, disabled, ariaLabel, children }) {
|
|
|
32342
32528
|
|
|
32343
32529
|
// src/components/ui/ticket-status-config-row.tsx
|
|
32344
32530
|
_chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
32531
|
+
|
|
32345
32532
|
_chunkE6B4B7GMcjs.init_button2.call(void 0, );
|
|
32346
32533
|
|
|
32347
32534
|
// src/components/ui/color-preset-select.tsx
|
|
@@ -32389,16 +32576,6 @@ var TICKET_STATUS_COLOR_PRESETS = [
|
|
|
32389
32576
|
];
|
|
32390
32577
|
var CUSTOM_PRESET_KEY = "custom";
|
|
32391
32578
|
var DEFAULT_CUSTOM_STATUS_COLOR = "#888888";
|
|
32392
|
-
function ColorSwatch({ color, className }) {
|
|
32393
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32394
|
-
"span",
|
|
32395
|
-
{
|
|
32396
|
-
"aria-hidden": true,
|
|
32397
|
-
className: _chunk2TBN53KYcjs.cn.call(void 0, "inline-block size-4 shrink-0 rounded-sm", className),
|
|
32398
|
-
style: { backgroundColor: color }
|
|
32399
|
-
}
|
|
32400
|
-
);
|
|
32401
|
-
}
|
|
32402
32579
|
function TriggerChevron() {
|
|
32403
32580
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32404
32581
|
_chunkC6ASEPZLcjs.Chevron02DownIcon,
|
|
@@ -32418,8 +32595,8 @@ function ColorPresetSelect({
|
|
|
32418
32595
|
}) {
|
|
32419
32596
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
32420
32597
|
const isCustom = !selectedPreset;
|
|
32421
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32422
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
32598
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _690 => _690.label]), () => ( "Custom"));
|
|
32599
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _691 => _691.color]), () => ( value));
|
|
32423
32600
|
const groups = [
|
|
32424
32601
|
{
|
|
32425
32602
|
items: [
|
|
@@ -32620,10 +32797,44 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
32620
32797
|
|
|
32621
32798
|
// src/components/ui/ticket-status-config-row.tsx
|
|
32622
32799
|
|
|
32800
|
+
var dismissOpenTooltip = null;
|
|
32623
32801
|
function WithLeftTooltip({ content, children }) {
|
|
32802
|
+
const [open, setOpen] = React111.useState(false);
|
|
32803
|
+
const isTouchRef = React111.useRef(false);
|
|
32804
|
+
const close = React111.useCallback(() => setOpen(false), []);
|
|
32624
32805
|
if (!content) return children;
|
|
32625
|
-
|
|
32626
|
-
|
|
32806
|
+
const toggleFromTouch = () => {
|
|
32807
|
+
setOpen((prev) => {
|
|
32808
|
+
const next = !prev;
|
|
32809
|
+
if (next) {
|
|
32810
|
+
if (dismissOpenTooltip && dismissOpenTooltip !== close) dismissOpenTooltip();
|
|
32811
|
+
dismissOpenTooltip = close;
|
|
32812
|
+
} else if (dismissOpenTooltip === close) {
|
|
32813
|
+
dismissOpenTooltip = null;
|
|
32814
|
+
}
|
|
32815
|
+
return next;
|
|
32816
|
+
});
|
|
32817
|
+
};
|
|
32818
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { open, onOpenChange: setOpen, children: [
|
|
32819
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32820
|
+
TooltipTrigger,
|
|
32821
|
+
{
|
|
32822
|
+
asChild: true,
|
|
32823
|
+
onPointerDown: (e) => {
|
|
32824
|
+
isTouchRef.current = e.pointerType === "touch";
|
|
32825
|
+
if (!isTouchRef.current) return;
|
|
32826
|
+
e.preventDefault();
|
|
32827
|
+
toggleFromTouch();
|
|
32828
|
+
},
|
|
32829
|
+
onFocus: (e) => {
|
|
32830
|
+
if (isTouchRef.current) e.preventDefault();
|
|
32831
|
+
},
|
|
32832
|
+
onClick: (e) => {
|
|
32833
|
+
if (isTouchRef.current) e.preventDefault();
|
|
32834
|
+
},
|
|
32835
|
+
children
|
|
32836
|
+
}
|
|
32837
|
+
),
|
|
32627
32838
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { side: "left", className: "max-w-xs", children: content })
|
|
32628
32839
|
] }) });
|
|
32629
32840
|
}
|
|
@@ -32649,16 +32860,17 @@ function TicketStatusConfigRow({
|
|
|
32649
32860
|
const previewColor = isSystem ? void 0 : color;
|
|
32650
32861
|
const showColorPicker = !isSystem && onColorChange && color !== void 0;
|
|
32651
32862
|
const previewVariant = _nullishCoalesce(systemTagVariant, () => ( (isSystem ? void 0 : "primary")));
|
|
32863
|
+
const colClass = "min-w-0 grow basis-[calc(50%-6px)] md:basis-0";
|
|
32652
32864
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32653
32865
|
"div",
|
|
32654
32866
|
{
|
|
32655
32867
|
className: _chunk2TBN53KYcjs.cn.call(void 0,
|
|
32656
|
-
"flex w-full items-
|
|
32868
|
+
"flex w-full items-start gap-3 rounded-md border border-ods-border bg-ods-card md:gap-[var(--spacing-system-m)]",
|
|
32657
32869
|
"p-[var(--spacing-system-m)]",
|
|
32658
32870
|
isDragging && "opacity-70 shadow-lg"
|
|
32659
32871
|
),
|
|
32660
32872
|
children: [
|
|
32661
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex
|
|
32873
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-11 w-8 shrink-0 items-center justify-center text-ods-text-secondary md:h-12", children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.DraggerIcon, { size: 24, "aria-hidden": true, className: "opacity-40" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32662
32874
|
"button",
|
|
32663
32875
|
{
|
|
32664
32876
|
type: "button",
|
|
@@ -32669,31 +32881,33 @@ function TicketStatusConfigRow({
|
|
|
32669
32881
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.DraggerIcon, { size: 24 })
|
|
32670
32882
|
}
|
|
32671
32883
|
) }),
|
|
32672
|
-
/* @__PURE__ */ _jsxruntime.
|
|
32673
|
-
|
|
32674
|
-
|
|
32675
|
-
|
|
32676
|
-
|
|
32677
|
-
|
|
32678
|
-
|
|
32679
|
-
|
|
32680
|
-
|
|
32681
|
-
|
|
32682
|
-
|
|
32683
|
-
|
|
32684
|
-
|
|
32685
|
-
|
|
32686
|
-
|
|
32687
|
-
|
|
32688
|
-
|
|
32689
|
-
|
|
32690
|
-
|
|
32691
|
-
|
|
32692
|
-
|
|
32693
|
-
|
|
32694
|
-
|
|
32695
|
-
|
|
32696
|
-
|
|
32884
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-wrap items-start gap-x-3 gap-y-4 md:flex-nowrap md:gap-[var(--spacing-system-m)]", children: [
|
|
32885
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xxs)]", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32886
|
+
_chunkE6B4B7GMcjs.Input,
|
|
32887
|
+
{
|
|
32888
|
+
value: name,
|
|
32889
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _692 => _692(e.target.value)]),
|
|
32890
|
+
disabled: isSystem,
|
|
32891
|
+
readOnly: isSystem,
|
|
32892
|
+
"aria-label": "Status name",
|
|
32893
|
+
maxLength: 50
|
|
32894
|
+
}
|
|
32895
|
+
) }),
|
|
32896
|
+
showColorPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPresetSelect, { value: color, presetKey, onChange: onColorChange }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunk2TBN53KYcjs.cn.call(void 0, "hidden md:block", colClass) }),
|
|
32897
|
+
showColorPicker && isCustomColor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ColorPickerInput, { value: color, onChange: (next) => onColorChange({ color: next, preset: void 0 }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: _chunk2TBN53KYcjs.cn.call(void 0, "hidden md:block", colClass) }),
|
|
32898
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk2TBN53KYcjs.cn.call(void 0, "flex h-11 items-center justify-start md:h-12 md:justify-end", colClass), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32899
|
+
TicketStatusTag,
|
|
32900
|
+
{
|
|
32901
|
+
status: statusKey,
|
|
32902
|
+
label: name || " ",
|
|
32903
|
+
color: previewColor,
|
|
32904
|
+
variant: previewVariant,
|
|
32905
|
+
showIcon: isSystem,
|
|
32906
|
+
className: "max-w-full"
|
|
32907
|
+
}
|
|
32908
|
+
) })
|
|
32909
|
+
] }),
|
|
32910
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-11 w-12 shrink-0 items-center justify-center md:h-12", children: isSystem ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, WithLeftTooltip, { content: systemTooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32697
32911
|
"button",
|
|
32698
32912
|
{
|
|
32699
32913
|
type: "button",
|
|
@@ -32710,7 +32924,7 @@ function TicketStatusConfigRow({
|
|
|
32710
32924
|
"aria-label": "Delete status",
|
|
32711
32925
|
disabled: deleteDisabled,
|
|
32712
32926
|
onClick: deleteDisabled ? void 0 : onDelete,
|
|
32713
|
-
className: "size-12",
|
|
32927
|
+
className: _chunk2TBN53KYcjs.cn.call(void 0, "size-11 md:size-12", deleteDisabled && "pointer-events-none"),
|
|
32714
32928
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrashIcon, { className: "text-ods-error" })
|
|
32715
32929
|
}
|
|
32716
32930
|
) }) }) })
|
|
@@ -32737,25 +32951,25 @@ function CompactAssigneeDropdown({
|
|
|
32737
32951
|
onAssign,
|
|
32738
32952
|
className
|
|
32739
32953
|
}) {
|
|
32740
|
-
const [isOpen, setIsOpen] =
|
|
32741
|
-
const [search, setSearch] =
|
|
32954
|
+
const [isOpen, setIsOpen] = React112.useState(false);
|
|
32955
|
+
const [search, setSearch] = React112.useState("");
|
|
32742
32956
|
const hasAssignee = !!currentAssignee;
|
|
32743
|
-
|
|
32957
|
+
React112.useEffect(() => {
|
|
32744
32958
|
if (!isOpen) setSearch("");
|
|
32745
32959
|
}, [isOpen]);
|
|
32746
|
-
const filtered =
|
|
32960
|
+
const filtered = React112.useMemo(() => {
|
|
32747
32961
|
const q = search.trim().toLowerCase();
|
|
32748
32962
|
if (!q) return options;
|
|
32749
32963
|
return options.filter((o) => o.label.toLowerCase().includes(q));
|
|
32750
32964
|
}, [options, search]);
|
|
32751
|
-
const orderedOptions =
|
|
32965
|
+
const orderedOptions = React112.useMemo(() => {
|
|
32752
32966
|
if (!currentAssignee) return filtered;
|
|
32753
32967
|
const current = filtered.find((o) => o.value === currentAssignee.id);
|
|
32754
32968
|
if (!current) return filtered;
|
|
32755
32969
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
32756
32970
|
}, [filtered, currentAssignee]);
|
|
32757
32971
|
const handleSelect = (userId) => {
|
|
32758
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
32972
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _693 => _693.id]) === userId ? null : userId;
|
|
32759
32973
|
onAssign(next);
|
|
32760
32974
|
setIsOpen(false);
|
|
32761
32975
|
};
|
|
@@ -32820,7 +33034,7 @@ function CompactAssigneeDropdown({
|
|
|
32820
33034
|
}
|
|
32821
33035
|
) }),
|
|
32822
33036
|
/* @__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) => {
|
|
32823
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
33037
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _694 => _694.id]) === opt.value;
|
|
32824
33038
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32825
33039
|
"button",
|
|
32826
33040
|
{
|
|
@@ -32864,9 +33078,9 @@ function DefaultAssigneeDropdown({
|
|
|
32864
33078
|
onAssign,
|
|
32865
33079
|
className
|
|
32866
33080
|
}) {
|
|
32867
|
-
const [isEditing, setIsEditing] =
|
|
33081
|
+
const [isEditing, setIsEditing] = React112.useState(false);
|
|
32868
33082
|
const hasAssignee = !!currentAssignee;
|
|
32869
|
-
const renderOption =
|
|
33083
|
+
const renderOption = React112.useCallback((option) => {
|
|
32870
33084
|
const opt = option;
|
|
32871
33085
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
|
|
32872
33086
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -32889,7 +33103,7 @@ function DefaultAssigneeDropdown({
|
|
|
32889
33103
|
Autocomplete,
|
|
32890
33104
|
{
|
|
32891
33105
|
options,
|
|
32892
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
33106
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _695 => _695.id]), () => ( null)),
|
|
32893
33107
|
onChange: (val) => {
|
|
32894
33108
|
onAssign(val);
|
|
32895
33109
|
setIsEditing(false);
|
|
@@ -33044,8 +33258,8 @@ _chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
|
33044
33258
|
_chunk2TBN53KYcjs.init_cn.call(void 0, );
|
|
33045
33259
|
|
|
33046
33260
|
function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
33047
|
-
const [isEditing, setIsEditing] =
|
|
33048
|
-
const [editText, setEditText] =
|
|
33261
|
+
const [isEditing, setIsEditing] = React113.useState(false);
|
|
33262
|
+
const [editText, setEditText] = React113.useState(note.text);
|
|
33049
33263
|
const handleSave = () => {
|
|
33050
33264
|
const trimmed = editText.trim();
|
|
33051
33265
|
if (!trimmed || !onEdit) return;
|
|
@@ -33168,7 +33382,7 @@ function TicketNotesSection({
|
|
|
33168
33382
|
isAddingNote,
|
|
33169
33383
|
className
|
|
33170
33384
|
}) {
|
|
33171
|
-
const [noteText, setNoteText] =
|
|
33385
|
+
const [noteText, setNoteText] = React114.useState("");
|
|
33172
33386
|
const handleSend = () => {
|
|
33173
33387
|
const trimmed = noteText.trim();
|
|
33174
33388
|
if (!trimmed || !onAddNote || isAddingNote) return;
|
|
@@ -33278,14 +33492,14 @@ function TicketInfoSection({
|
|
|
33278
33492
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33279
33493
|
SquareAvatar,
|
|
33280
33494
|
{
|
|
33281
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
33282
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
33283
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
33495
|
+
src: _optionalChain([organization, 'optionalAccess', _696 => _696.imageSrc]),
|
|
33496
|
+
alt: _optionalChain([organization, 'optionalAccess', _697 => _697.name]),
|
|
33497
|
+
fallback: _optionalChain([organization, 'optionalAccess', _698 => _698.name]) || "Org",
|
|
33284
33498
|
size: "md",
|
|
33285
33499
|
className: "shrink-0"
|
|
33286
33500
|
}
|
|
33287
33501
|
),
|
|
33288
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
33502
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _699 => _699.name]) || "Unassigned", label: "Organization" })
|
|
33289
33503
|
] }),
|
|
33290
33504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33291
33505
|
AssigneeDropdown,
|
|
@@ -33306,10 +33520,10 @@ function TicketInfoSection({
|
|
|
33306
33520
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33307
33521
|
InfoCell2,
|
|
33308
33522
|
{
|
|
33309
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
33523
|
+
value: _optionalChain([device, 'optionalAccess', _700 => _700.name]) || "Unassigned",
|
|
33310
33524
|
label: "Device",
|
|
33311
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
33312
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
33525
|
+
icon: _optionalChain([device, 'optionalAccess', _701 => _701.icon]),
|
|
33526
|
+
onClick: _optionalChain([device, 'optionalAccess', _702 => _702.onClick])
|
|
33313
33527
|
}
|
|
33314
33528
|
),
|
|
33315
33529
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -33638,7 +33852,7 @@ function RoadmapCard({
|
|
|
33638
33852
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
33639
33853
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
33640
33854
|
const hasFigma = !!item.figmaUrl;
|
|
33641
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
33855
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _703 => _703.screenshots, 'optionalAccess', _704 => _704.length]), () => ( 0))) > 0;
|
|
33642
33856
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
33643
33857
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
33644
33858
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -33657,7 +33871,7 @@ function RoadmapCard({
|
|
|
33657
33871
|
unoptimized: true,
|
|
33658
33872
|
className: "h-8 w-8 object-contain"
|
|
33659
33873
|
}
|
|
33660
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
33874
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _705 => _705.title, 'optionalAccess', _706 => _706.substring, 'call', _707 => _707(0, 2)]) || "??" })
|
|
33661
33875
|
}
|
|
33662
33876
|
),
|
|
33663
33877
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -33732,7 +33946,7 @@ function RoadmapCard({
|
|
|
33732
33946
|
unoptimized: true,
|
|
33733
33947
|
className: "object-contain p-1"
|
|
33734
33948
|
}
|
|
33735
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
33949
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _708 => _708.title, 'optionalAccess', _709 => _709.substring, 'call', _710 => _710(0, 2)]) || "??" }) }),
|
|
33736
33950
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
33737
33951
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
|
|
33738
33952
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
|
|
@@ -34242,7 +34456,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
34242
34456
|
] }) : null,
|
|
34243
34457
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
|
|
34244
34458
|
] }),
|
|
34245
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
34459
|
+
_optionalChain([anchorProps, 'optionalAccess', _711 => _711.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
|
|
34246
34460
|
] });
|
|
34247
34461
|
if (!anchorProps) {
|
|
34248
34462
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -34312,7 +34526,7 @@ function getDefaultOptions() {
|
|
|
34312
34526
|
// node_modules/date-fns/startOfWeek.mjs
|
|
34313
34527
|
function startOfWeek(date, options) {
|
|
34314
34528
|
const defaultOptions2 = getDefaultOptions();
|
|
34315
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
34529
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _712 => _712.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _713 => _713.locale, 'optionalAccess', _714 => _714.options, 'optionalAccess', _715 => _715.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _716 => _716.locale, 'optionalAccess', _717 => _717.options, 'optionalAccess', _718 => _718.weekStartsOn]))), () => ( 0));
|
|
34316
34530
|
const _date = toDate(date);
|
|
34317
34531
|
const day = _date.getDay();
|
|
34318
34532
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -34487,7 +34701,7 @@ var formatDistance = (token, count, options) => {
|
|
|
34487
34701
|
} else {
|
|
34488
34702
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
34489
34703
|
}
|
|
34490
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
34704
|
+
if (_optionalChain([options, 'optionalAccess', _719 => _719.addSuffix])) {
|
|
34491
34705
|
if (options.comparison && options.comparison > 0) {
|
|
34492
34706
|
return "in " + result;
|
|
34493
34707
|
} else {
|
|
@@ -34554,15 +34768,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
34554
34768
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
34555
34769
|
function buildLocalizeFn(args) {
|
|
34556
34770
|
return (value, options) => {
|
|
34557
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
34771
|
+
const context = _optionalChain([options, 'optionalAccess', _720 => _720.context]) ? String(options.context) : "standalone";
|
|
34558
34772
|
let valuesArray;
|
|
34559
34773
|
if (context === "formatting" && args.formattingValues) {
|
|
34560
34774
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
34561
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34775
|
+
const width = _optionalChain([options, 'optionalAccess', _721 => _721.width]) ? String(options.width) : defaultWidth;
|
|
34562
34776
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
34563
34777
|
} else {
|
|
34564
34778
|
const defaultWidth = args.defaultWidth;
|
|
34565
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
34779
|
+
const width = _optionalChain([options, 'optionalAccess', _722 => _722.width]) ? String(options.width) : args.defaultWidth;
|
|
34566
34780
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
34567
34781
|
}
|
|
34568
34782
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -34942,7 +35156,7 @@ function getWeekYear(date, options) {
|
|
|
34942
35156
|
const _date = toDate(date);
|
|
34943
35157
|
const year = _date.getFullYear();
|
|
34944
35158
|
const defaultOptions2 = getDefaultOptions();
|
|
34945
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35159
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _723 => _723.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _724 => _724.locale, 'optionalAccess', _725 => _725.options, 'optionalAccess', _726 => _726.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _727 => _727.locale, 'optionalAccess', _728 => _728.options, 'optionalAccess', _729 => _729.firstWeekContainsDate]))), () => ( 1));
|
|
34946
35160
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
34947
35161
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
34948
35162
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -34963,7 +35177,7 @@ function getWeekYear(date, options) {
|
|
|
34963
35177
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
34964
35178
|
function startOfWeekYear(date, options) {
|
|
34965
35179
|
const defaultOptions2 = getDefaultOptions();
|
|
34966
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35180
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _730 => _730.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _731 => _731.locale, 'optionalAccess', _732 => _732.options, 'optionalAccess', _733 => _733.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _734 => _734.locale, 'optionalAccess', _735 => _735.options, 'optionalAccess', _736 => _736.firstWeekContainsDate]))), () => ( 1));
|
|
34967
35181
|
const year = getWeekYear(date, options);
|
|
34968
35182
|
const firstWeek = constructFrom(date, 0);
|
|
34969
35183
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -35778,9 +35992,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
35778
35992
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
35779
35993
|
function format(date, formatStr, options) {
|
|
35780
35994
|
const defaultOptions2 = getDefaultOptions();
|
|
35781
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35782
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35783
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
35995
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _737 => _737.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
35996
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _738 => _738.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _739 => _739.locale, 'optionalAccess', _740 => _740.options, 'optionalAccess', _741 => _741.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _742 => _742.locale, 'optionalAccess', _743 => _743.options, 'optionalAccess', _744 => _744.firstWeekContainsDate]))), () => ( 1));
|
|
35997
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _745 => _745.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _746 => _746.locale, 'optionalAccess', _747 => _747.options, 'optionalAccess', _748 => _748.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _749 => _749.locale, 'optionalAccess', _750 => _750.options, 'optionalAccess', _751 => _751.weekStartsOn]))), () => ( 0));
|
|
35784
35998
|
const originalDate = toDate(date);
|
|
35785
35999
|
if (!isValid(originalDate)) {
|
|
35786
36000
|
throw new RangeError("Invalid time value");
|
|
@@ -35821,7 +36035,7 @@ function format(date, formatStr, options) {
|
|
|
35821
36035
|
return parts.map((part) => {
|
|
35822
36036
|
if (!part.isToken) return part.value;
|
|
35823
36037
|
const token = part.value;
|
|
35824
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
36038
|
+
if (!_optionalChain([options, 'optionalAccess', _752 => _752.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _753 => _753.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
35825
36039
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
35826
36040
|
}
|
|
35827
36041
|
const formatter = formatters[token[0]];
|
|
@@ -35999,7 +36213,7 @@ function ProgramCard({
|
|
|
35999
36213
|
const dur = formatDurationFromRange(w.start_at, w.end_at);
|
|
36000
36214
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
36001
36215
|
}
|
|
36002
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
36216
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _754 => _754.labels, 'optionalAccess', _755 => _755.singular])].filter(
|
|
36003
36217
|
(s) => typeof s === "string" && s.length > 0
|
|
36004
36218
|
);
|
|
36005
36219
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunk2TBN53KYcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -36156,7 +36370,7 @@ function ProgramCard({
|
|
|
36156
36370
|
|
|
36157
36371
|
|
|
36158
36372
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
36159
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
36373
|
+
const goalsCount = _optionalChain([campaign, 'access', _756 => _756.goals, 'optionalAccess', _757 => _757.length]) || 0;
|
|
36160
36374
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
36161
36375
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
|
|
36162
36376
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -36345,7 +36559,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
36345
36559
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
36346
36560
|
const safePath = sanitizePath(row.path);
|
|
36347
36561
|
if (safePath) {
|
|
36348
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
36562
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _758 => _758.docPlatformTargets, 'optionalAccess', _759 => _759[row.documentType]]) : void 0;
|
|
36349
36563
|
if (docTarget) {
|
|
36350
36564
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
36351
36565
|
const base = `${_chunk2TBN53KYcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -36560,8 +36774,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
36560
36774
|
if (href) {
|
|
36561
36775
|
items.push({
|
|
36562
36776
|
id: "open-details",
|
|
36563
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36564
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
36777
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _760 => _760.label]), () => ( "Open Details")),
|
|
36778
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _761 => _761.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
|
|
36565
36779
|
// Main row → open the entity (same tab, soft Link nav).
|
|
36566
36780
|
href,
|
|
36567
36781
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -36591,8 +36805,8 @@ function HubspotTicketChatCard({
|
|
|
36591
36805
|
isNewTab,
|
|
36592
36806
|
discuss
|
|
36593
36807
|
}) {
|
|
36594
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
36595
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
36808
|
+
const status = typeof _optionalChain([chatRef, 'access', _762 => _762.metadata, 'optionalAccess', _763 => _763.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
36809
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _764 => _764.metadata, 'optionalAccess', _765 => _765.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
36596
36810
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
36597
36811
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36598
36812
|
MingoInfoCard,
|
|
@@ -36615,7 +36829,7 @@ function SlackChatCard({
|
|
|
36615
36829
|
isNewTab,
|
|
36616
36830
|
discuss
|
|
36617
36831
|
}) {
|
|
36618
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
36832
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _766 => _766.metadata, 'optionalAccess', _767 => _767.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
36619
36833
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
36620
36834
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
36621
36835
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -36655,7 +36869,7 @@ function GenericFinancialChatCard({
|
|
|
36655
36869
|
isNewTab,
|
|
36656
36870
|
discuss
|
|
36657
36871
|
}) {
|
|
36658
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
36872
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _768 => _768.metadata, 'optionalAccess', _769 => _769.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
36659
36873
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36660
36874
|
MingoInfoCard,
|
|
36661
36875
|
{
|
|
@@ -36724,12 +36938,12 @@ function ProductReleaseChatCard({
|
|
|
36724
36938
|
discuss
|
|
36725
36939
|
}) {
|
|
36726
36940
|
const releaseProps = buildProps(item);
|
|
36727
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
36941
|
+
const status = _optionalChain([item, 'optionalAccess', _770 => _770.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
36728
36942
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36729
36943
|
EntityMingoCard,
|
|
36730
36944
|
{
|
|
36731
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36732
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
36945
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.title]), () => ( "")),
|
|
36946
|
+
description: _optionalChain([item, 'optionalAccess', _772 => _772.summary]) || releaseProps.formattedDate || void 0,
|
|
36733
36947
|
cover: releaseProps.coverImage || void 0,
|
|
36734
36948
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
|
|
36735
36949
|
status,
|
|
@@ -36746,17 +36960,17 @@ function CampaignChatCard({
|
|
|
36746
36960
|
isNewTab,
|
|
36747
36961
|
discuss
|
|
36748
36962
|
}) {
|
|
36749
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
36963
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _773 => _773.goals])) ? item.goals.length : 0;
|
|
36750
36964
|
const meta = [
|
|
36751
|
-
_optionalChain([item, 'optionalAccess',
|
|
36965
|
+
_optionalChain([item, 'optionalAccess', _774 => _774.start_date]) ? formatDateShort(item.start_date) : null,
|
|
36752
36966
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
36753
36967
|
"Marketing campaign"
|
|
36754
36968
|
].filter(Boolean).join(" \xB7 ");
|
|
36755
36969
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36756
36970
|
EntityMingoCard,
|
|
36757
36971
|
{
|
|
36758
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36759
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
36972
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.name]), () => ( "")),
|
|
36973
|
+
description: meta || _optionalChain([item, 'optionalAccess', _776 => _776.description]) || void 0,
|
|
36760
36974
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
|
|
36761
36975
|
chatRef,
|
|
36762
36976
|
isNewTab,
|
|
@@ -36809,14 +37023,14 @@ function BlogChatCard({
|
|
|
36809
37023
|
hasEmbeddedVideo,
|
|
36810
37024
|
discuss
|
|
36811
37025
|
}) {
|
|
36812
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
37026
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _777 => _777.categories])) ? _optionalChain([item, 'access', _778 => _778.categories, 'access', _779 => _779.find, 'call', _780 => _780((c) => c && c.name), 'optionalAccess', _781 => _781.name]) : void 0;
|
|
36813
37027
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
36814
37028
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36815
37029
|
EntityMingoCard,
|
|
36816
37030
|
{
|
|
36817
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36818
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36819
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37031
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _782 => _782.title]), () => ( "")),
|
|
37032
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _783 => _783.summary]), () => ( void 0)),
|
|
37033
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _784 => _784.featured_image]), ogPlaceholder),
|
|
36820
37034
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
|
|
36821
37035
|
status,
|
|
36822
37036
|
chatRef,
|
|
@@ -36833,13 +37047,13 @@ function CaseStudyChatCard({
|
|
|
36833
37047
|
ogPlaceholder,
|
|
36834
37048
|
discuss
|
|
36835
37049
|
}) {
|
|
36836
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37050
|
+
const meta = [_optionalChain([item, 'optionalAccess', _785 => _785.msp, 'optionalAccess', _786 => _786.name]), _optionalChain([item, 'optionalAccess', _787 => _787.user, 'optionalAccess', _788 => _788.full_name])].filter(Boolean).join(" \xB7 ");
|
|
36837
37051
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36838
37052
|
EntityMingoCard,
|
|
36839
37053
|
{
|
|
36840
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36841
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
36842
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37054
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _789 => _789.title]), () => ( "")),
|
|
37055
|
+
description: _optionalChain([item, 'optionalAccess', _790 => _790.summary]) || meta || void 0,
|
|
37056
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _791 => _791.featured_image]), ogPlaceholder),
|
|
36843
37057
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
|
|
36844
37058
|
status: { label: "Case study", variant: "grey" },
|
|
36845
37059
|
chatRef,
|
|
@@ -36856,13 +37070,13 @@ function CustomerInterviewChatCard({
|
|
|
36856
37070
|
ogPlaceholder,
|
|
36857
37071
|
discuss
|
|
36858
37072
|
}) {
|
|
36859
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
37073
|
+
const meta = [_optionalChain([item, 'optionalAccess', _792 => _792.user, 'optionalAccess', _793 => _793.full_name]), _optionalChain([item, 'optionalAccess', _794 => _794.msp, 'optionalAccess', _795 => _795.name])].filter(Boolean).join(" \xB7 ");
|
|
36860
37074
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36861
37075
|
EntityMingoCard,
|
|
36862
37076
|
{
|
|
36863
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36864
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
36865
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37077
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _796 => _796.title]), () => ( "")),
|
|
37078
|
+
description: _optionalChain([item, 'optionalAccess', _797 => _797.video_summary]) || meta || void 0,
|
|
37079
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _798 => _798.featured_image]), ogPlaceholder),
|
|
36866
37080
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
|
|
36867
37081
|
status: { label: "Interview", variant: "grey" },
|
|
36868
37082
|
chatRef,
|
|
@@ -36879,13 +37093,13 @@ function InvestorUpdateChatCard({
|
|
|
36879
37093
|
ogPlaceholder,
|
|
36880
37094
|
discuss
|
|
36881
37095
|
}) {
|
|
36882
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
37096
|
+
const title = _optionalChain([item, 'optionalAccess', _799 => _799.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _800 => _800.update_number]), () => ( "?"))}`;
|
|
36883
37097
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36884
37098
|
EntityMingoCard,
|
|
36885
37099
|
{
|
|
36886
37100
|
title,
|
|
36887
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
36888
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37101
|
+
description: _optionalChain([item, 'optionalAccess', _801 => _801.strategic_update]) || _optionalChain([item, 'optionalAccess', _802 => _802.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _803 => _803.period_start]), _optionalChain([item, 'optionalAccess', _804 => _804.period_end])) || void 0,
|
|
37102
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _805 => _805.featured_image]), ogPlaceholder),
|
|
36889
37103
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
|
|
36890
37104
|
status: { label: "Investor update", variant: "grey" },
|
|
36891
37105
|
chatRef,
|
|
@@ -36902,12 +37116,12 @@ function OnboardingGuideChatCard({
|
|
|
36902
37116
|
ogPlaceholder,
|
|
36903
37117
|
discuss
|
|
36904
37118
|
}) {
|
|
36905
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
37119
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _806 => _806.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _807 => _807.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _808 => _808.og_image_url]), ogPlaceholder)));
|
|
36906
37120
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36907
37121
|
EntityMingoCard,
|
|
36908
37122
|
{
|
|
36909
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36910
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37123
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _809 => _809.title]), () => ( "")),
|
|
37124
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _810 => _810.summary]), () => ( _optionalChain([item, 'optionalAccess', _811 => _811.description]))), () => ( void 0)),
|
|
36911
37125
|
cover,
|
|
36912
37126
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
|
|
36913
37127
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -36928,25 +37142,25 @@ function ProgramChatCard({
|
|
|
36928
37142
|
discuss
|
|
36929
37143
|
}) {
|
|
36930
37144
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 });
|
|
36931
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
37145
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _812 => _812.status]) === "scheduled";
|
|
36932
37146
|
let typeMeta;
|
|
36933
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
37147
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _813 => _813.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
36934
37148
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
36935
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
37149
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _814 => _814.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
36936
37150
|
typeMeta = item.location_name;
|
|
36937
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
37151
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _815 => _815.start_at])) {
|
|
36938
37152
|
const time = formatTimeWithTimezone(item.start_at, null);
|
|
36939
37153
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
36940
37154
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
36941
37155
|
}
|
|
36942
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37156
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _816 => _816.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
36943
37157
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
36944
37158
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36945
37159
|
EntityMingoCard,
|
|
36946
37160
|
{
|
|
36947
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36948
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
36949
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
37161
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _817 => _817.title]), () => ( "")),
|
|
37162
|
+
description: meta || _optionalChain([item, 'optionalAccess', _818 => _818.description]) || void 0,
|
|
37163
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _819 => _819.cover_url]), ogPlaceholder),
|
|
36950
37164
|
fallbackIcon: icon,
|
|
36951
37165
|
status: { label, variant: "grey" },
|
|
36952
37166
|
chatRef,
|
|
@@ -36963,10 +37177,10 @@ function RoadmapChatCard({
|
|
|
36963
37177
|
cardType,
|
|
36964
37178
|
discuss
|
|
36965
37179
|
}) {
|
|
36966
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
36967
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
37180
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _820 => _820.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
37181
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _821 => _821.customItemId]) != null;
|
|
36968
37182
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MapIcon, { size: 24 });
|
|
36969
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
37183
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _822 => _822.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
36970
37184
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
36971
37185
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
36972
37186
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -36974,10 +37188,10 @@ function RoadmapChatCard({
|
|
|
36974
37188
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36975
37189
|
EntityMingoCard,
|
|
36976
37190
|
{
|
|
36977
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
36978
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
37191
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _823 => _823.title]), () => ( "")),
|
|
37192
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _824 => _824.description]), () => ( void 0)),
|
|
36979
37193
|
fallbackIcon: icon,
|
|
36980
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
37194
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _825 => _825.status])),
|
|
36981
37195
|
chatRef,
|
|
36982
37196
|
isNewTab,
|
|
36983
37197
|
discuss,
|
|
@@ -37063,7 +37277,7 @@ function programRegistryEntries() {
|
|
|
37063
37277
|
discuss: opts.discuss,
|
|
37064
37278
|
configKey: cfg.configKey,
|
|
37065
37279
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
37066
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37280
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _826 => _826.extras, 'optionalAccess', _827 => _827.buildOgPlaceholderUrl, 'optionalCall', _828 => _828(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _829 => _829.title]), () => ( "")))]), () => ( null))
|
|
37067
37281
|
}
|
|
37068
37282
|
)
|
|
37069
37283
|
};
|
|
@@ -37209,8 +37423,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37209
37423
|
chatRef,
|
|
37210
37424
|
isNewTab: opts.isNewTab,
|
|
37211
37425
|
discuss: opts.discuss,
|
|
37212
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37213
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
37426
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _830 => _830.extras, 'optionalAccess', _831 => _831.buildOgPlaceholderUrl, 'optionalCall', _832 => _832(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _833 => _833.title]), () => ( "")))]), () => ( null)),
|
|
37427
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _834 => _834.metadata, 'optionalAccess', _835 => _835.hasEmbeddedVideo]) === true
|
|
37214
37428
|
}
|
|
37215
37429
|
)
|
|
37216
37430
|
},
|
|
@@ -37227,7 +37441,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37227
37441
|
chatRef,
|
|
37228
37442
|
isNewTab: opts.isNewTab,
|
|
37229
37443
|
discuss: opts.discuss,
|
|
37230
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37444
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _836 => _836.extras, 'optionalAccess', _837 => _837.buildOgPlaceholderUrl, 'optionalCall', _838 => _838(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _839 => _839.title]), () => ( "")))]), () => ( null))
|
|
37231
37445
|
}
|
|
37232
37446
|
)
|
|
37233
37447
|
},
|
|
@@ -37244,7 +37458,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37244
37458
|
chatRef,
|
|
37245
37459
|
isNewTab: opts.isNewTab,
|
|
37246
37460
|
discuss: opts.discuss,
|
|
37247
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37461
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildOgPlaceholderUrl, 'optionalCall', _842 => _842(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _843 => _843.title]), () => ( "")))]), () => ( null))
|
|
37248
37462
|
}
|
|
37249
37463
|
)
|
|
37250
37464
|
},
|
|
@@ -37255,7 +37469,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37255
37469
|
bareInline: true,
|
|
37256
37470
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
37257
37471
|
render: (item, chatRef, opts) => {
|
|
37258
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37472
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _844 => _844.extras, 'optionalAccess', _845 => _845.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
37259
37473
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37260
37474
|
ProductReleaseChatCard,
|
|
37261
37475
|
{
|
|
@@ -37282,7 +37496,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37282
37496
|
chatRef,
|
|
37283
37497
|
isNewTab: opts.isNewTab,
|
|
37284
37498
|
discuss: opts.discuss,
|
|
37285
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37499
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _846 => _846.extras, 'optionalAccess', _847 => _847.buildOgPlaceholderUrl, 'optionalCall', _848 => _848(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _849 => _849.title]), () => ( "")))]), () => ( null))
|
|
37286
37500
|
}
|
|
37287
37501
|
)
|
|
37288
37502
|
},
|
|
@@ -37301,7 +37515,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37301
37515
|
chatRef,
|
|
37302
37516
|
isNewTab: opts.isNewTab,
|
|
37303
37517
|
discuss: opts.discuss,
|
|
37304
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
37518
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _850 => _850.extras, 'optionalAccess', _851 => _851.buildOgPlaceholderUrl, 'optionalCall', _852 => _852(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _853 => _853.title]), () => ( "")))]), () => ( null))
|
|
37305
37519
|
}
|
|
37306
37520
|
)
|
|
37307
37521
|
},
|
|
@@ -37313,7 +37527,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
37313
37527
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
37314
37528
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
37315
37529
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
37316
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
37530
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _854 => _854.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
37317
37531
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37318
37532
|
CampaignChatCard,
|
|
37319
37533
|
{
|
|
@@ -37339,12 +37553,12 @@ function ChatCardNavWrap({
|
|
|
37339
37553
|
const onClickCapture = (e) => {
|
|
37340
37554
|
if (!href) return;
|
|
37341
37555
|
const targetEl = e.target;
|
|
37342
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
37343
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
37556
|
+
if (_optionalChain([targetEl, 'optionalAccess', _855 => _855.closest, 'optionalCall', _856 => _856("button")])) return;
|
|
37557
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _857 => _857.closest, 'optionalCall', _858 => _858("a")])) return;
|
|
37344
37558
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
37345
37559
|
if (!handled) return;
|
|
37346
37560
|
e.stopPropagation();
|
|
37347
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
37561
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _859 => _859.closeChat])) panel.closeChat();
|
|
37348
37562
|
};
|
|
37349
37563
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
37350
37564
|
}
|
|
@@ -37366,7 +37580,7 @@ function ChatCardLoader({
|
|
|
37366
37580
|
title: chatRef.title,
|
|
37367
37581
|
externalUrl: chatRef.url,
|
|
37368
37582
|
targetPlatform: chatRef.targetPlatform,
|
|
37369
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
37583
|
+
path: typeof _optionalChain([chatRef, 'access', _860 => _860.metadata, 'optionalAccess', _861 => _861.path]) === "string" ? chatRef.metadata.path : null
|
|
37370
37584
|
},
|
|
37371
37585
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
37372
37586
|
);
|
|
@@ -37380,7 +37594,7 @@ function ChatCardLoader({
|
|
|
37380
37594
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
37381
37595
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
37382
37596
|
const { item, isLoading } = useChatCardItem(
|
|
37383
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
37597
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _862 => _862.contentRefType]), () => ( "")),
|
|
37384
37598
|
fetchEntry ? resolvedChatRef.id : ""
|
|
37385
37599
|
);
|
|
37386
37600
|
if (!entry) return null;
|
|
@@ -37411,7 +37625,7 @@ function ChatCardLoader({
|
|
|
37411
37625
|
isNewTab,
|
|
37412
37626
|
discuss
|
|
37413
37627
|
};
|
|
37414
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
37628
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
37415
37629
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37416
37630
|
ChatCardNavWrap,
|
|
37417
37631
|
{
|
|
@@ -37940,7 +38154,7 @@ function useJetStreamDialogSubscription({
|
|
|
37940
38154
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
37941
38155
|
conn: sharedConn,
|
|
37942
38156
|
wsUrl,
|
|
37943
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38157
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _865 => _865.current, 'optionalCall', _866 => _866()]),
|
|
37944
38158
|
backoff: reconnectionBackoffRef.current,
|
|
37945
38159
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
37946
38160
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -37955,7 +38169,7 @@ function useJetStreamDialogSubscription({
|
|
|
37955
38169
|
setReconnectionCount((c) => c + 1);
|
|
37956
38170
|
}
|
|
37957
38171
|
hadConnectionBeforeRef.current = true;
|
|
37958
|
-
_optionalChain([onConnectRef, 'access',
|
|
38172
|
+
_optionalChain([onConnectRef, 'access', _867 => _867.current, 'optionalCall', _868 => _868()]);
|
|
37959
38173
|
}
|
|
37960
38174
|
if (status === "error") {
|
|
37961
38175
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -37965,7 +38179,7 @@ function useJetStreamDialogSubscription({
|
|
|
37965
38179
|
setIsConnected(false);
|
|
37966
38180
|
setIsSubscribed(false);
|
|
37967
38181
|
tearDownSubscription();
|
|
37968
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38182
|
+
_optionalChain([onDisconnectRef, 'access', _869 => _869.current, 'optionalCall', _870 => _870()]);
|
|
37969
38183
|
}
|
|
37970
38184
|
}
|
|
37971
38185
|
});
|
|
@@ -38044,7 +38258,7 @@ function useJetStreamDialogSubscription({
|
|
|
38044
38258
|
}
|
|
38045
38259
|
subscriptionRef.current = handle;
|
|
38046
38260
|
setIsSubscribed(true);
|
|
38047
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38261
|
+
_optionalChain([onSubscribedRef, 'access', _871 => _871.current, 'optionalCall', _872 => _872()]);
|
|
38048
38262
|
} catch (e35) {
|
|
38049
38263
|
if (!cancelled) {
|
|
38050
38264
|
setIsSubscribed(false);
|
|
@@ -38157,20 +38371,20 @@ function useNatsDialogSubscription({
|
|
|
38157
38371
|
const tearDownSubscriptions = () => {
|
|
38158
38372
|
subscriptionRefs.current.forEach((sub) => {
|
|
38159
38373
|
try {
|
|
38160
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38374
|
+
_optionalChain([sub, 'optionalAccess', _873 => _873.unsubscribe, 'call', _874 => _874()]);
|
|
38161
38375
|
} catch (e37) {
|
|
38162
38376
|
}
|
|
38163
38377
|
});
|
|
38164
38378
|
subscriptionRefs.current.clear();
|
|
38165
38379
|
lastSubscribedDialogIdRef.current = null;
|
|
38166
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38380
|
+
_optionalChain([abortControllerRef, 'access', _875 => _875.current, 'optionalAccess', _876 => _876.abort, 'call', _877 => _877()]);
|
|
38167
38381
|
abortControllerRef.current = null;
|
|
38168
38382
|
};
|
|
38169
38383
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
|
|
38170
38384
|
const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
|
|
38171
38385
|
conn: sharedConn,
|
|
38172
38386
|
wsUrl,
|
|
38173
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
38387
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _878 => _878.current, 'optionalCall', _879 => _879()]),
|
|
38174
38388
|
backoff: reconnectionBackoffRef.current,
|
|
38175
38389
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
38176
38390
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -38181,13 +38395,13 @@ function useNatsDialogSubscription({
|
|
|
38181
38395
|
setReconnectionCount((c) => c + 1);
|
|
38182
38396
|
}
|
|
38183
38397
|
hadConnectionBeforeRef.current = true;
|
|
38184
|
-
_optionalChain([onConnectRef, 'access',
|
|
38398
|
+
_optionalChain([onConnectRef, 'access', _880 => _880.current, 'optionalCall', _881 => _881()]);
|
|
38185
38399
|
}
|
|
38186
38400
|
if (isDisconnectStatus(status)) {
|
|
38187
38401
|
setIsConnected(false);
|
|
38188
38402
|
setIsSubscribed(false);
|
|
38189
38403
|
tearDownSubscriptions();
|
|
38190
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
38404
|
+
_optionalChain([onDisconnectRef, 'access', _882 => _882.current, 'optionalCall', _883 => _883()]);
|
|
38191
38405
|
}
|
|
38192
38406
|
}
|
|
38193
38407
|
});
|
|
@@ -38218,13 +38432,13 @@ function useNatsDialogSubscription({
|
|
|
38218
38432
|
setIsSubscribed(false);
|
|
38219
38433
|
subscriptionRefs.current.forEach((sub) => {
|
|
38220
38434
|
try {
|
|
38221
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38435
|
+
_optionalChain([sub, 'optionalAccess', _884 => _884.unsubscribe, 'call', _885 => _885()]);
|
|
38222
38436
|
} catch (e38) {
|
|
38223
38437
|
}
|
|
38224
38438
|
});
|
|
38225
38439
|
subscriptionRefs.current.clear();
|
|
38226
38440
|
lastSubscribedDialogIdRef.current = null;
|
|
38227
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38441
|
+
_optionalChain([abortControllerRef, 'access', _886 => _886.current, 'optionalAccess', _887 => _887.abort, 'call', _888 => _888()]);
|
|
38228
38442
|
abortControllerRef.current = null;
|
|
38229
38443
|
}
|
|
38230
38444
|
return;
|
|
@@ -38236,12 +38450,12 @@ function useNatsDialogSubscription({
|
|
|
38236
38450
|
if (subscriptionRefs.current.size > 0) {
|
|
38237
38451
|
subscriptionRefs.current.forEach((sub) => {
|
|
38238
38452
|
try {
|
|
38239
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38453
|
+
_optionalChain([sub, 'optionalAccess', _889 => _889.unsubscribe, 'call', _890 => _890()]);
|
|
38240
38454
|
} catch (e39) {
|
|
38241
38455
|
}
|
|
38242
38456
|
});
|
|
38243
38457
|
subscriptionRefs.current.clear();
|
|
38244
|
-
_optionalChain([abortControllerRef, 'access',
|
|
38458
|
+
_optionalChain([abortControllerRef, 'access', _891 => _891.current, 'optionalAccess', _892 => _892.abort, 'call', _893 => _893()]);
|
|
38245
38459
|
}
|
|
38246
38460
|
abortControllerRef.current = new AbortController();
|
|
38247
38461
|
const abort = abortControllerRef.current;
|
|
@@ -38273,7 +38487,7 @@ function useNatsDialogSubscription({
|
|
|
38273
38487
|
});
|
|
38274
38488
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
38275
38489
|
setIsSubscribed(true);
|
|
38276
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38490
|
+
_optionalChain([onSubscribedRef, 'access', _894 => _894.current, 'optionalCall', _895 => _895()]);
|
|
38277
38491
|
};
|
|
38278
38492
|
if (isConnectedRef.current) {
|
|
38279
38493
|
createSubscriptions();
|
|
@@ -38283,7 +38497,7 @@ function useNatsDialogSubscription({
|
|
|
38283
38497
|
abort.abort();
|
|
38284
38498
|
subscriptionRefs.current.forEach((sub) => {
|
|
38285
38499
|
try {
|
|
38286
|
-
_optionalChain([sub, 'optionalAccess',
|
|
38500
|
+
_optionalChain([sub, 'optionalAccess', _896 => _896.unsubscribe, 'call', _897 => _897()]);
|
|
38287
38501
|
} catch (e41) {
|
|
38288
38502
|
}
|
|
38289
38503
|
});
|
|
@@ -38324,7 +38538,7 @@ function useNatsDialogSubscription({
|
|
|
38324
38538
|
});
|
|
38325
38539
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
38326
38540
|
setIsSubscribed(true);
|
|
38327
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
38541
|
+
_optionalChain([onSubscribedRef, 'access', _898 => _898.current, 'optionalCall', _899 => _899()]);
|
|
38328
38542
|
} else if (subscriptionRefs.current.size > 0) {
|
|
38329
38543
|
setIsSubscribed(true);
|
|
38330
38544
|
}
|
|
@@ -38332,10 +38546,10 @@ function useNatsDialogSubscription({
|
|
|
38332
38546
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
38333
38547
|
}
|
|
38334
38548
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
38335
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
38549
|
+
const path = _optionalChain([options, 'optionalAccess', _900 => _900.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
38336
38550
|
const u = new URL(path, apiBaseUrl);
|
|
38337
38551
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
38338
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
38552
|
+
if (_optionalChain([options, 'optionalAccess', _901 => _901.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _902 => _902.token])) {
|
|
38339
38553
|
u.searchParams.set("authorization", options.token);
|
|
38340
38554
|
}
|
|
38341
38555
|
return u.toString();
|
|
@@ -38651,8 +38865,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38651
38865
|
type: "tool_execution",
|
|
38652
38866
|
data: {
|
|
38653
38867
|
...toolData,
|
|
38654
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
38655
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
38868
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _903 => _903.data, 'access', _904 => _904.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _905 => _905.toolTitle]))),
|
|
38869
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _906 => _906.parameters])
|
|
38656
38870
|
}
|
|
38657
38871
|
};
|
|
38658
38872
|
if (existingIndex !== -1) {
|
|
@@ -38676,8 +38890,8 @@ var MessageSegmentAccumulator = class {
|
|
|
38676
38890
|
if (seg.type !== "approval_batch") return seg;
|
|
38677
38891
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
38678
38892
|
if (!hasCall) return seg;
|
|
38679
|
-
const prev = _optionalChain([seg, 'access',
|
|
38680
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
38893
|
+
const prev = _optionalChain([seg, 'access', _907 => _907.data, 'access', _908 => _908.executions, 'optionalAccess', _909 => _909[execId]]);
|
|
38894
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _910 => _910.result]), success: _optionalChain([prev, 'optionalAccess', _911 => _911.success]) };
|
|
38681
38895
|
matched = true;
|
|
38682
38896
|
return {
|
|
38683
38897
|
...seg,
|
|
@@ -38797,10 +39011,10 @@ var MessageSegmentAccumulator = class {
|
|
|
38797
39011
|
const segment = {
|
|
38798
39012
|
type: "approval_request",
|
|
38799
39013
|
data: {
|
|
38800
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
38801
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39014
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _912 => _912.command]) || "",
|
|
39015
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _913 => _913.explanation]),
|
|
38802
39016
|
requestId,
|
|
38803
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
39017
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _914 => _914.approvalType]) || approvalType
|
|
38804
39018
|
},
|
|
38805
39019
|
status,
|
|
38806
39020
|
onApprove: this.callbacks.onApprove,
|
|
@@ -38988,7 +39202,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
38988
39202
|
if (initialState.escalatedApprovals) {
|
|
38989
39203
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
38990
39204
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
38991
|
-
_optionalChain([callbacks, 'access',
|
|
39205
|
+
_optionalChain([callbacks, 'access', _915 => _915.onEscalatedApproval, 'optionalCall', _916 => _916(requestId, data)]);
|
|
38992
39206
|
});
|
|
38993
39207
|
}
|
|
38994
39208
|
hasEverStreamedRef.current = true;
|
|
@@ -39010,32 +39224,32 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39010
39224
|
case "message_start":
|
|
39011
39225
|
isInStreamRef.current = true;
|
|
39012
39226
|
hasEverStreamedRef.current = true;
|
|
39013
|
-
_optionalChain([callbacks, 'access',
|
|
39227
|
+
_optionalChain([callbacks, 'access', _917 => _917.onStreamStart, 'optionalCall', _918 => _918()]);
|
|
39014
39228
|
accumulator.resetSegments();
|
|
39015
39229
|
break;
|
|
39016
39230
|
case "message_end":
|
|
39017
39231
|
isInStreamRef.current = false;
|
|
39018
|
-
_optionalChain([callbacks, 'access',
|
|
39232
|
+
_optionalChain([callbacks, 'access', _919 => _919.onStreamEnd, 'optionalCall', _920 => _920()]);
|
|
39019
39233
|
accumulator.resetSegments();
|
|
39020
39234
|
break;
|
|
39021
39235
|
case "metadata":
|
|
39022
|
-
_optionalChain([callbacks, 'access',
|
|
39236
|
+
_optionalChain([callbacks, 'access', _921 => _921.onMetadata, 'optionalCall', _922 => _922(action)]);
|
|
39023
39237
|
break;
|
|
39024
39238
|
case "text": {
|
|
39025
39239
|
const segments = accumulator.appendText(action.text);
|
|
39026
39240
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39027
|
-
_optionalChain([callbacks, 'access',
|
|
39241
|
+
_optionalChain([callbacks, 'access', _923 => _923.onSegmentsUpdate, 'optionalCall', _924 => _924(segments)]);
|
|
39028
39242
|
} else {
|
|
39029
|
-
_optionalChain([callbacks, 'access',
|
|
39243
|
+
_optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926([{ type: "text", text: action.text }], { append: true })]);
|
|
39030
39244
|
}
|
|
39031
39245
|
break;
|
|
39032
39246
|
}
|
|
39033
39247
|
case "thinking": {
|
|
39034
39248
|
const segments = accumulator.appendThinking(action.text);
|
|
39035
39249
|
if (isInStreamRef.current || !hasEverStreamedRef.current) {
|
|
39036
|
-
_optionalChain([callbacks, 'access',
|
|
39250
|
+
_optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928(segments)]);
|
|
39037
39251
|
} else {
|
|
39038
|
-
_optionalChain([callbacks, 'access',
|
|
39252
|
+
_optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930([{ type: "thinking", text: action.text }], { append: true })]);
|
|
39039
39253
|
}
|
|
39040
39254
|
break;
|
|
39041
39255
|
}
|
|
@@ -39045,7 +39259,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39045
39259
|
break;
|
|
39046
39260
|
}
|
|
39047
39261
|
const segments = accumulator.addToolExecution(action.segment);
|
|
39048
|
-
_optionalChain([callbacks, 'access',
|
|
39262
|
+
_optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932(segments)]);
|
|
39049
39263
|
break;
|
|
39050
39264
|
}
|
|
39051
39265
|
case "approval_request": {
|
|
@@ -39059,10 +39273,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39059
39273
|
approvalType,
|
|
39060
39274
|
status
|
|
39061
39275
|
);
|
|
39062
|
-
_optionalChain([callbacks, 'access',
|
|
39276
|
+
_optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
|
|
39063
39277
|
} else {
|
|
39064
39278
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
39065
|
-
_optionalChain([callbacks, 'access',
|
|
39279
|
+
_optionalChain([callbacks, 'access', _935 => _935.onEscalatedApproval, 'optionalCall', _936 => _936(requestId, { command, explanation, approvalType })]);
|
|
39066
39280
|
}
|
|
39067
39281
|
break;
|
|
39068
39282
|
}
|
|
@@ -39074,20 +39288,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39074
39288
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
39075
39289
|
pendingEscalatedRef.current.set(requestId, {
|
|
39076
39290
|
command: summary,
|
|
39077
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39291
|
+
explanation: _optionalChain([required, 'optionalAccess', _937 => _937.toolExplanation]),
|
|
39078
39292
|
approvalType,
|
|
39079
39293
|
toolCalls
|
|
39080
39294
|
});
|
|
39081
|
-
_optionalChain([callbacks, 'access',
|
|
39295
|
+
_optionalChain([callbacks, 'access', _938 => _938.onEscalatedApproval, 'optionalCall', _939 => _939(requestId, {
|
|
39082
39296
|
command: summary,
|
|
39083
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
39297
|
+
explanation: _optionalChain([required, 'optionalAccess', _940 => _940.toolExplanation]),
|
|
39084
39298
|
approvalType
|
|
39085
39299
|
})]);
|
|
39086
39300
|
break;
|
|
39087
39301
|
}
|
|
39088
39302
|
if (batchApprovalsEnabled) {
|
|
39089
39303
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
39090
|
-
_optionalChain([callbacks, 'access',
|
|
39304
|
+
_optionalChain([callbacks, 'access', _941 => _941.onSegmentsUpdate, 'optionalCall', _942 => _942(segments2)]);
|
|
39091
39305
|
break;
|
|
39092
39306
|
}
|
|
39093
39307
|
let segments = accumulator.getSegments();
|
|
@@ -39101,7 +39315,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39101
39315
|
status
|
|
39102
39316
|
);
|
|
39103
39317
|
}
|
|
39104
|
-
_optionalChain([callbacks, 'access',
|
|
39318
|
+
_optionalChain([callbacks, 'access', _943 => _943.onSegmentsUpdate, 'optionalCall', _944 => _944(segments)]);
|
|
39105
39319
|
break;
|
|
39106
39320
|
}
|
|
39107
39321
|
case "approval_result": {
|
|
@@ -39110,7 +39324,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39110
39324
|
const status = approved ? "approved" : "rejected";
|
|
39111
39325
|
if (escalatedData) {
|
|
39112
39326
|
pendingEscalatedRef.current.delete(requestId);
|
|
39113
|
-
_optionalChain([callbacks, 'access',
|
|
39327
|
+
_optionalChain([callbacks, 'access', _945 => _945.onEscalatedApprovalResult, 'optionalCall', _946 => _946(requestId, approved, {
|
|
39114
39328
|
command: escalatedData.command,
|
|
39115
39329
|
explanation: escalatedData.explanation,
|
|
39116
39330
|
approvalType: escalatedData.approvalType
|
|
@@ -39123,7 +39337,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39123
39337
|
escalatedData.toolCalls,
|
|
39124
39338
|
status
|
|
39125
39339
|
);
|
|
39126
|
-
_optionalChain([callbacks, 'access',
|
|
39340
|
+
_optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments)]);
|
|
39127
39341
|
} else {
|
|
39128
39342
|
let segments = accumulator.getSegments();
|
|
39129
39343
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -39136,7 +39350,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39136
39350
|
status
|
|
39137
39351
|
);
|
|
39138
39352
|
}
|
|
39139
|
-
_optionalChain([callbacks, 'access',
|
|
39353
|
+
_optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
|
|
39140
39354
|
}
|
|
39141
39355
|
} else {
|
|
39142
39356
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -39146,65 +39360,65 @@ function useRealtimeChunkProcessor(options) {
|
|
|
39146
39360
|
escalatedData.approvalType,
|
|
39147
39361
|
status
|
|
39148
39362
|
);
|
|
39149
|
-
_optionalChain([callbacks, 'access',
|
|
39363
|
+
_optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(segments)]);
|
|
39150
39364
|
}
|
|
39151
39365
|
} else {
|
|
39152
39366
|
accumulator.updateApprovalStatus(requestId, status);
|
|
39153
39367
|
if (!callbacks.onApprovalResolved) {
|
|
39154
|
-
_optionalChain([callbacks, 'access',
|
|
39368
|
+
_optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(accumulator.getSegments())]);
|
|
39155
39369
|
}
|
|
39156
39370
|
}
|
|
39157
|
-
_optionalChain([callbacks, 'access',
|
|
39371
|
+
_optionalChain([callbacks, 'access', _955 => _955.onApprovalResolved, 'optionalCall', _956 => _956(requestId, status, approvalType)]);
|
|
39158
39372
|
break;
|
|
39159
39373
|
}
|
|
39160
39374
|
case "error": {
|
|
39161
39375
|
let message2;
|
|
39162
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
39376
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _957 => _957.details])) {
|
|
39163
39377
|
try {
|
|
39164
|
-
message2 = _optionalChain([JSON, 'access',
|
|
39378
|
+
message2 = _optionalChain([JSON, 'access', _958 => _958.parse, 'call', _959 => _959(action.details), 'optionalAccess', _960 => _960.error, 'optionalAccess', _961 => _961.message]);
|
|
39165
39379
|
} catch (e43) {
|
|
39166
39380
|
message2 = action.details;
|
|
39167
39381
|
}
|
|
39168
39382
|
}
|
|
39169
39383
|
const segments = accumulator.addError(action.error, message2);
|
|
39170
|
-
_optionalChain([callbacks, 'access',
|
|
39171
|
-
_optionalChain([callbacks, 'access',
|
|
39384
|
+
_optionalChain([callbacks, 'access', _962 => _962.onSegmentsUpdate, 'optionalCall', _963 => _963(segments)]);
|
|
39385
|
+
_optionalChain([callbacks, 'access', _964 => _964.onError, 'optionalCall', _965 => _965(action.error, message2)]);
|
|
39172
39386
|
break;
|
|
39173
39387
|
}
|
|
39174
39388
|
case "system": {
|
|
39175
|
-
_optionalChain([callbacks, 'access',
|
|
39389
|
+
_optionalChain([callbacks, 'access', _966 => _966.onSystemMessage, 'optionalCall', _967 => _967(action.text)]);
|
|
39176
39390
|
break;
|
|
39177
39391
|
}
|
|
39178
39392
|
case "direct_message": {
|
|
39179
|
-
_optionalChain([callbacks, 'access',
|
|
39393
|
+
_optionalChain([callbacks, 'access', _968 => _968.onDirectMessage, 'optionalCall', _969 => _969(action.text, {
|
|
39180
39394
|
ownerType: action.ownerType,
|
|
39181
39395
|
displayName: action.displayName
|
|
39182
39396
|
})]);
|
|
39183
39397
|
break;
|
|
39184
39398
|
}
|
|
39185
39399
|
case "message_request":
|
|
39186
|
-
_optionalChain([callbacks, 'access',
|
|
39400
|
+
_optionalChain([callbacks, 'access', _970 => _970.onUserMessage, 'optionalCall', _971 => _971(action.text, {
|
|
39187
39401
|
ownerType: action.ownerType,
|
|
39188
39402
|
displayName: action.displayName
|
|
39189
39403
|
})]);
|
|
39190
39404
|
break;
|
|
39191
39405
|
case "token_usage":
|
|
39192
|
-
_optionalChain([callbacks, 'access',
|
|
39406
|
+
_optionalChain([callbacks, 'access', _972 => _972.onTokenUsage, 'optionalCall', _973 => _973(action.data)]);
|
|
39193
39407
|
break;
|
|
39194
39408
|
case "context_compaction_start": {
|
|
39195
39409
|
const standalone = !isInStreamRef.current;
|
|
39196
39410
|
const segments = accumulator.addContextCompaction();
|
|
39197
|
-
_optionalChain([callbacks, 'access',
|
|
39411
|
+
_optionalChain([callbacks, 'access', _974 => _974.onSegmentsUpdate, 'optionalCall', _975 => _975(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39198
39412
|
break;
|
|
39199
39413
|
}
|
|
39200
39414
|
case "context_compaction_end": {
|
|
39201
39415
|
const standalone = !isInStreamRef.current;
|
|
39202
39416
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
39203
|
-
_optionalChain([callbacks, 'access',
|
|
39417
|
+
_optionalChain([callbacks, 'access', _976 => _976.onSegmentsUpdate, 'optionalCall', _977 => _977(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
39204
39418
|
break;
|
|
39205
39419
|
}
|
|
39206
39420
|
case "dialog_closed":
|
|
39207
|
-
_optionalChain([callbacks, 'access',
|
|
39421
|
+
_optionalChain([callbacks, 'access', _978 => _978.onDialogClosed, 'optionalCall', _979 => _979()]);
|
|
39208
39422
|
break;
|
|
39209
39423
|
default:
|
|
39210
39424
|
break;
|
|
@@ -39265,7 +39479,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
39265
39479
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
39266
39480
|
if (!cancelled) setCommands(next);
|
|
39267
39481
|
} catch (err) {
|
|
39268
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
39482
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _980 => _980.name]) !== "AbortError") {
|
|
39269
39483
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
39270
39484
|
}
|
|
39271
39485
|
} finally {
|
|
@@ -39284,7 +39498,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
39284
39498
|
const query = _reactquery.useQuery.call(void 0, {
|
|
39285
39499
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
39286
39500
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
39287
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
39501
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _981 => _981.enabled]), () => ( true)),
|
|
39288
39502
|
staleTime: Infinity,
|
|
39289
39503
|
gcTime: Infinity
|
|
39290
39504
|
});
|
|
@@ -39305,7 +39519,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
39305
39519
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
39306
39520
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
39307
39521
|
return new Promise((resolve, reject) => {
|
|
39308
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
39522
|
+
if (_optionalChain([signal, 'optionalAccess', _982 => _982.aborted])) {
|
|
39309
39523
|
reject(new Error("Upload cancelled"));
|
|
39310
39524
|
return;
|
|
39311
39525
|
}
|
|
@@ -39319,7 +39533,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39319
39533
|
xhr.removeEventListener("error", handleError);
|
|
39320
39534
|
xhr.removeEventListener("abort", handleAbort);
|
|
39321
39535
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
39322
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39536
|
+
_optionalChain([signal, 'optionalAccess', _983 => _983.removeEventListener, 'call', _984 => _984("abort", handleSignalAbort)]);
|
|
39323
39537
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
39324
39538
|
};
|
|
39325
39539
|
const handleProgress = (event) => {
|
|
@@ -39355,7 +39569,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
39355
39569
|
const handleSignalAbort = () => {
|
|
39356
39570
|
xhr.abort();
|
|
39357
39571
|
};
|
|
39358
|
-
_optionalChain([signal, 'optionalAccess',
|
|
39572
|
+
_optionalChain([signal, 'optionalAccess', _985 => _985.addEventListener, 'call', _986 => _986("abort", handleSignalAbort, { once: true })]);
|
|
39359
39573
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
39360
39574
|
xhr.addEventListener("load", handleLoad);
|
|
39361
39575
|
xhr.addEventListener("error", handleError);
|
|
@@ -39399,12 +39613,12 @@ function useChatAttachments() {
|
|
|
39399
39613
|
try {
|
|
39400
39614
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
39401
39615
|
} catch (err) {
|
|
39402
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39616
|
+
if (_optionalChain([ctrl, 'optionalAccess', _987 => _987.signal, 'access', _988 => _988.aborted])) return;
|
|
39403
39617
|
throw new Error(
|
|
39404
39618
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
39405
39619
|
);
|
|
39406
39620
|
}
|
|
39407
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39621
|
+
if (_optionalChain([ctrl, 'optionalAccess', _989 => _989.signal, 'access', _990 => _990.aborted])) return;
|
|
39408
39622
|
if (!sniffed) {
|
|
39409
39623
|
throw new Error("Unrecognized file format");
|
|
39410
39624
|
}
|
|
@@ -39418,7 +39632,7 @@ function useChatAttachments() {
|
|
|
39418
39632
|
const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
|
|
39419
39633
|
method: "POST",
|
|
39420
39634
|
headers: { "Content-Type": "application/json" },
|
|
39421
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
39635
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _991 => _991.signal]),
|
|
39422
39636
|
body: JSON.stringify({
|
|
39423
39637
|
fileName: att.file.name,
|
|
39424
39638
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -39444,9 +39658,9 @@ function useChatAttachments() {
|
|
|
39444
39658
|
(pct) => {
|
|
39445
39659
|
updateOne(att.id, { progress: pct });
|
|
39446
39660
|
},
|
|
39447
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
39661
|
+
_optionalChain([ctrl, 'optionalAccess', _992 => _992.signal])
|
|
39448
39662
|
);
|
|
39449
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39663
|
+
if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
|
|
39450
39664
|
updateOne(att.id, {
|
|
39451
39665
|
status: "ready",
|
|
39452
39666
|
progress: 100,
|
|
@@ -39454,7 +39668,7 @@ function useChatAttachments() {
|
|
|
39454
39668
|
viewToken: mintData.viewToken
|
|
39455
39669
|
});
|
|
39456
39670
|
} catch (err) {
|
|
39457
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
39671
|
+
if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
|
|
39458
39672
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
39459
39673
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
39460
39674
|
} finally {
|
|
@@ -39605,7 +39819,7 @@ var ANON_DEFAULTS = {
|
|
|
39605
39819
|
function useResolveChatIdentity(enabled) {
|
|
39606
39820
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
39607
39821
|
const url = runtime.endpoints.identityUrl;
|
|
39608
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call',
|
|
39822
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _997 => _997(), 'optionalAccess', _998 => _998.email]), () => ( null));
|
|
39609
39823
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
39610
39824
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
39611
39825
|
_react.useEffect.call(void 0, () => {
|
|
@@ -39693,7 +39907,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
39693
39907
|
yield chunk;
|
|
39694
39908
|
}
|
|
39695
39909
|
} catch (err) {
|
|
39696
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
39910
|
+
if (_optionalChain([err, 'optionalAccess', _999 => _999.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
39697
39911
|
return;
|
|
39698
39912
|
}
|
|
39699
39913
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -39744,7 +39958,7 @@ function useChat({
|
|
|
39744
39958
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
39745
39959
|
onMessagesChangeRef.current = onMessagesChange;
|
|
39746
39960
|
_react.useEffect.call(void 0, () => {
|
|
39747
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
39961
|
+
_optionalChain([onMessagesChangeRef, 'access', _1000 => _1000.current, 'optionalCall', _1001 => _1001(messages)]);
|
|
39748
39962
|
}, [messages]);
|
|
39749
39963
|
const {
|
|
39750
39964
|
streamMessage,
|
|
@@ -39781,7 +39995,7 @@ function useChat({
|
|
|
39781
39995
|
name: "You",
|
|
39782
39996
|
content: text,
|
|
39783
39997
|
timestamp: /* @__PURE__ */ new Date(),
|
|
39784
|
-
..._optionalChain([options, 'optionalAccess',
|
|
39998
|
+
..._optionalChain([options, 'optionalAccess', _1002 => _1002.hidden]) ? { hidden: true } : {}
|
|
39785
39999
|
};
|
|
39786
40000
|
addMessage(userMessage);
|
|
39787
40001
|
setIsTyping(true);
|
|
@@ -39843,7 +40057,7 @@ function useChat({
|
|
|
39843
40057
|
currentTextSegment = "";
|
|
39844
40058
|
}
|
|
39845
40059
|
const seg = segment;
|
|
39846
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
40060
|
+
const proposalId = _optionalChain([seg, 'access', _1003 => _1003.data, 'optionalAccess', _1004 => _1004.requestId]);
|
|
39847
40061
|
const updateApprovalMessage = (transform) => {
|
|
39848
40062
|
setMessages((prev) => {
|
|
39849
40063
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -39852,7 +40066,7 @@ function useChat({
|
|
|
39852
40066
|
if (!Array.isArray(m.content)) continue;
|
|
39853
40067
|
const segments = m.content;
|
|
39854
40068
|
const hasMatch = segments.some(
|
|
39855
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40069
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]) === proposalId
|
|
39856
40070
|
);
|
|
39857
40071
|
if (!hasMatch) continue;
|
|
39858
40072
|
const next = [...prev];
|
|
@@ -39894,11 +40108,11 @@ function useChat({
|
|
|
39894
40108
|
if (!Array.isArray(m.content)) continue;
|
|
39895
40109
|
const segments = m.content;
|
|
39896
40110
|
const hasMatch = segments.some(
|
|
39897
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40111
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === decision.proposalId
|
|
39898
40112
|
);
|
|
39899
40113
|
if (!hasMatch) continue;
|
|
39900
40114
|
const flipped = segments.map(
|
|
39901
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
40115
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
39902
40116
|
);
|
|
39903
40117
|
const next = [...prev];
|
|
39904
40118
|
next[i] = { ...m, content: flipped };
|
|
@@ -40060,8 +40274,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40060
40274
|
})),
|
|
40061
40275
|
{ role: "user", content: message2 }
|
|
40062
40276
|
];
|
|
40063
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
40064
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
40277
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1011 => _1011.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
40278
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1012 => _1012.approvalAction]) ? {
|
|
40065
40279
|
proposal_id: extra.approvalAction.proposalId,
|
|
40066
40280
|
action: extra.approvalAction.action,
|
|
40067
40281
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -40070,8 +40284,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40070
40284
|
}))
|
|
40071
40285
|
} : {
|
|
40072
40286
|
messages: apiMessages,
|
|
40073
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40074
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
40287
|
+
..._optionalChain([extra, 'optionalAccess', _1013 => _1013.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
40288
|
+
..._optionalChain([extra, 'optionalAccess', _1014 => _1014.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
40075
40289
|
};
|
|
40076
40290
|
const response = await embedAuthedFetch(targetPath, {
|
|
40077
40291
|
method: "POST",
|
|
@@ -40081,7 +40295,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40081
40295
|
if (!response.ok) {
|
|
40082
40296
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
40083
40297
|
}
|
|
40084
|
-
const reader = _optionalChain([response, 'access',
|
|
40298
|
+
const reader = _optionalChain([response, 'access', _1015 => _1015.body, 'optionalAccess', _1016 => _1016.getReader, 'call', _1017 => _1017()]);
|
|
40085
40299
|
if (!reader) throw new Error("No response body");
|
|
40086
40300
|
const decoder = new TextDecoder();
|
|
40087
40301
|
let buffer = "";
|
|
@@ -40164,7 +40378,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40164
40378
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
40165
40379
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
40166
40380
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
40167
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
40381
|
+
if (_optionalChain([card, 'optionalAccess', _1018 => _1018.ref, 'optionalAccess', _1019 => _1019.id]) && _optionalChain([card, 'optionalAccess', _1020 => _1020.type])) {
|
|
40168
40382
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
40169
40383
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
40170
40384
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -40177,8 +40391,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
40177
40391
|
willAutoContinue: meta.willAutoContinue === true,
|
|
40178
40392
|
...toolName ? { toolName } : {},
|
|
40179
40393
|
...result ? { result } : {},
|
|
40180
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40181
|
-
..._optionalChain([card, 'optionalAccess',
|
|
40394
|
+
..._optionalChain([card, 'optionalAccess', _1021 => _1021.marker]) ? { marker: card.marker } : {},
|
|
40395
|
+
..._optionalChain([card, 'optionalAccess', _1022 => _1022.ref]) ? { cardRef: card.ref } : {},
|
|
40182
40396
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
40183
40397
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
40184
40398
|
};
|
|
@@ -40297,7 +40511,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
40297
40511
|
var chatStorageKey = (source) => {
|
|
40298
40512
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
40299
40513
|
const auth = getEmbedProxyAuth();
|
|
40300
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
40514
|
+
if (_optionalChain([auth, 'optionalAccess', _1023 => _1023.email])) {
|
|
40301
40515
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
40302
40516
|
}
|
|
40303
40517
|
return base;
|
|
@@ -40352,7 +40566,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40352
40566
|
const { active = true } = runtimeOptions;
|
|
40353
40567
|
const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
|
|
40354
40568
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
40355
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
40569
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1024 => _1024.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
40356
40570
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
40357
40571
|
if (persistedRef.current === null) {
|
|
40358
40572
|
pruneStaleChatStorage(source);
|
|
@@ -40457,7 +40671,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40457
40671
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
40458
40672
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
40459
40673
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
40460
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
40674
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1025 => _1025.current, 'access', _1026 => _1026.get, 'call', _1027 => _1027(lookupIdx), 'optionalAccess', _1028 => _1028.scrollAnchor]), () => ( void 0));
|
|
40461
40675
|
}
|
|
40462
40676
|
return {
|
|
40463
40677
|
id: m.id,
|
|
@@ -40505,7 +40719,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40505
40719
|
);
|
|
40506
40720
|
return;
|
|
40507
40721
|
}
|
|
40508
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
40722
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1029 => _1029.metadata, 'optionalAccess', _1030 => _1030.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
40509
40723
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
40510
40724
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
40511
40725
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -40577,18 +40791,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
40577
40791
|
clearMessages,
|
|
40578
40792
|
streamingPhase,
|
|
40579
40793
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
40580
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40581
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40582
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40794
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1031 => _1031.provider]), () => ( null)),
|
|
40795
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1032 => _1032.modelLabel]), () => ( null)),
|
|
40796
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.contextWindowMaxTokens]), () => ( null)),
|
|
40583
40797
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
40584
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40798
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.inputTokens]), () => ( null)),
|
|
40585
40799
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
40586
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40800
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.outputTokens]), () => ( null)),
|
|
40587
40801
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
40588
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40802
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1036 => _1036.cacheHitRatePct]), () => ( null)),
|
|
40589
40803
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
40590
40804
|
* token counts). null until the trailing usage frame lands. */
|
|
40591
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
40805
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.breakdown]), () => ( null)),
|
|
40592
40806
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
40593
40807
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
40594
40808
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -40646,15 +40860,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
40646
40860
|
|
|
40647
40861
|
// src/components/chat/utils/process-historical-messages.ts
|
|
40648
40862
|
function getOwnerDisplayName(owner) {
|
|
40649
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
40863
|
+
if (_optionalChain([owner, 'optionalAccess', _1038 => _1038.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
40650
40864
|
const { firstName, lastName } = owner.user;
|
|
40651
40865
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
40652
40866
|
if (name) return name;
|
|
40653
40867
|
}
|
|
40654
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
40868
|
+
return _optionalChain([owner, 'optionalAccess', _1039 => _1039.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
40655
40869
|
}
|
|
40656
40870
|
function getOwnerAvatar(owner) {
|
|
40657
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
40871
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1040 => _1040.user, 'optionalAccess', _1041 => _1041.image, 'optionalAccess', _1042 => _1042.imageUrl]), () => ( void 0));
|
|
40658
40872
|
}
|
|
40659
40873
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
40660
40874
|
messageDataArray.forEach((data) => {
|
|
@@ -40717,10 +40931,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
40717
40931
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
40718
40932
|
return;
|
|
40719
40933
|
}
|
|
40720
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
40934
|
+
const isUserMessage = _optionalChain([msg, 'access', _1043 => _1043.owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1045 => _1045.owner, 'optionalAccess', _1046 => _1046.type]) === OWNER_TYPE.ADMIN;
|
|
40721
40935
|
if (isUserMessage) {
|
|
40722
40936
|
flushAssistantMessage();
|
|
40723
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
40937
|
+
const userAuthorType = _optionalChain([msg, 'access', _1047 => _1047.owner, 'optionalAccess', _1048 => _1048.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
40724
40938
|
messageDataArray.forEach((data) => {
|
|
40725
40939
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
40726
40940
|
processedMessages.push({
|
|
@@ -40745,7 +40959,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
40745
40959
|
});
|
|
40746
40960
|
const nextMsg = messages[index + 1];
|
|
40747
40961
|
const isLastMessage = index === messages.length - 1;
|
|
40748
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
40962
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1051 => _1051.owner, 'optionalAccess', _1052 => _1052.type]) === OWNER_TYPE.ADMIN);
|
|
40749
40963
|
if (isLastMessage || nextIsFromUser) {
|
|
40750
40964
|
flushAssistantMessage();
|
|
40751
40965
|
}
|
|
@@ -40855,7 +41069,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
40855
41069
|
}
|
|
40856
41070
|
}
|
|
40857
41071
|
} else {
|
|
40858
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41072
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1053 => _1053.set, 'call', _1054 => _1054(data.approvalRequestId, {
|
|
40859
41073
|
command: data.command || "",
|
|
40860
41074
|
explanation: data.explanation,
|
|
40861
41075
|
approvalType,
|
|
@@ -40868,8 +41082,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
40868
41082
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
40869
41083
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
40870
41084
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
40871
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
40872
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
41085
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1055 => _1055.get, 'call', _1056 => _1056(data.approvalRequestId)]);
|
|
41086
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1057 => _1057.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
40873
41087
|
if (batchApprovalsEnabled) {
|
|
40874
41088
|
accumulator.addApprovalBatch(
|
|
40875
41089
|
data.approvalRequestId,
|
|
@@ -40889,7 +41103,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
40889
41103
|
);
|
|
40890
41104
|
}
|
|
40891
41105
|
}
|
|
40892
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41106
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1058 => _1058.delete, 'call', _1059 => _1059(data.approvalRequestId)]);
|
|
40893
41107
|
break;
|
|
40894
41108
|
}
|
|
40895
41109
|
if (escalatedData) {
|
|
@@ -40898,7 +41112,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
40898
41112
|
explanation: escalatedData.explanation,
|
|
40899
41113
|
approvalType: escalatedData.approvalType
|
|
40900
41114
|
});
|
|
40901
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
41115
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1060 => _1060.delete, 'call', _1061 => _1061(data.approvalRequestId)]);
|
|
40902
41116
|
}
|
|
40903
41117
|
const before = accumulator.getSegments();
|
|
40904
41118
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -40914,9 +41128,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
40914
41128
|
case MESSAGE_TYPE.ERROR:
|
|
40915
41129
|
if ("error" in data) {
|
|
40916
41130
|
let message2;
|
|
40917
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
41131
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1062 => _1062.details])) {
|
|
40918
41132
|
try {
|
|
40919
|
-
message2 = _optionalChain([JSON, 'access',
|
|
41133
|
+
message2 = _optionalChain([JSON, 'access', _1063 => _1063.parse, 'call', _1064 => _1064(data.details), 'optionalAccess', _1065 => _1065.error, 'optionalAccess', _1066 => _1066.message]);
|
|
40920
41134
|
} catch (e50) {
|
|
40921
41135
|
message2 = data.details;
|
|
40922
41136
|
}
|
|
@@ -40999,10 +41213,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
40999
41213
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
41000
41214
|
return;
|
|
41001
41215
|
}
|
|
41002
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
41216
|
+
const isUserMessage = _optionalChain([msg, 'access', _1067 => _1067.owner, 'optionalAccess', _1068 => _1068.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1069 => _1069.owner, 'optionalAccess', _1070 => _1070.type]) === OWNER_TYPE.ADMIN;
|
|
41003
41217
|
if (isUserMessage) {
|
|
41004
41218
|
flushAssistantMessage();
|
|
41005
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
41219
|
+
const userAuthorType = _optionalChain([msg, 'access', _1071 => _1071.owner, 'optionalAccess', _1072 => _1072.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
41006
41220
|
messageDataArray.forEach((data) => {
|
|
41007
41221
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
41008
41222
|
processedMessages.push({
|
|
@@ -41027,7 +41241,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
41027
41241
|
});
|
|
41028
41242
|
const nextMsg = messages[index + 1];
|
|
41029
41243
|
const isLastMessage = index === messages.length - 1;
|
|
41030
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
41244
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1075 => _1075.owner, 'optionalAccess', _1076 => _1076.type]) === OWNER_TYPE.ADMIN);
|
|
41031
41245
|
if (isLastMessage || nextIsFromUser) {
|
|
41032
41246
|
flushAssistantMessage();
|
|
41033
41247
|
}
|
|
@@ -41365,7 +41579,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41365
41579
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
41366
41580
|
const sendMessage = _react.useCallback.call(void 0,
|
|
41367
41581
|
async (text, sendOptions) => {
|
|
41368
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
41582
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1077 => _1077.hidden]), () => ( false));
|
|
41369
41583
|
setMessages((prev) => [
|
|
41370
41584
|
...prev,
|
|
41371
41585
|
{
|
|
@@ -41529,11 +41743,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
41529
41743
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
41530
41744
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
41531
41745
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
41532
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
41533
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
41534
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41535
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41536
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
41746
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1078 => _1078.provider]), () => ( modelProvider)), () => ( null)),
|
|
41747
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1079 => _1079.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
41748
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1080 => _1080.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1081 => _1081.contextWindowMaxTokens]))), () => ( null)),
|
|
41749
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1082 => _1082.inputTokensSize]), () => ( null)),
|
|
41750
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1083 => _1083.outputTokensSize]), () => ( null)),
|
|
41537
41751
|
currentCacheHitRatePct: null,
|
|
41538
41752
|
currentUsageBreakdown: null,
|
|
41539
41753
|
// Dialog management
|
|
@@ -41781,7 +41995,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
41781
41995
|
break;
|
|
41782
41996
|
case "approval_batch": {
|
|
41783
41997
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
41784
|
-
(c) => _optionalChain([segment, 'access',
|
|
41998
|
+
(c) => _optionalChain([segment, 'access', _1084 => _1084.data, 'access', _1085 => _1085.executions, 'optionalAccess', _1086 => _1086[c.toolExecutionRequestId], 'optionalAccess', _1087 => _1087.status]) === "done"
|
|
41785
41999
|
);
|
|
41786
42000
|
if (segment.status !== "rejected" && !allDone) {
|
|
41787
42001
|
hasIncompleteState = true;
|
|
@@ -41852,7 +42066,7 @@ var NODES = [
|
|
|
41852
42066
|
];
|
|
41853
42067
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
41854
42068
|
const Slot2 = _reactslot.createSlot.call(void 0, `Primitive.${node}`);
|
|
41855
|
-
const Node =
|
|
42069
|
+
const Node = React121.forwardRef((props, forwardedRef) => {
|
|
41856
42070
|
const { asChild, ...primitiveProps } = props;
|
|
41857
42071
|
const Comp = asChild ? Slot2 : node;
|
|
41858
42072
|
if (typeof window !== "undefined") {
|
|
@@ -41880,7 +42094,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
41880
42094
|
wordWrap: "normal"
|
|
41881
42095
|
});
|
|
41882
42096
|
var NAME = "VisuallyHidden";
|
|
41883
|
-
var VisuallyHidden =
|
|
42097
|
+
var VisuallyHidden = React122.forwardRef(
|
|
41884
42098
|
(props, forwardedRef) => {
|
|
41885
42099
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41886
42100
|
Primitive.span,
|
|
@@ -41989,7 +42203,7 @@ function useChatDialogManager({
|
|
|
41989
42203
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
41990
42204
|
if (restoreTarget) {
|
|
41991
42205
|
try {
|
|
41992
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
42206
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1088 => _1088(restoreTarget.id)]);
|
|
41993
42207
|
} catch (err) {
|
|
41994
42208
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
41995
42209
|
return;
|
|
@@ -42388,7 +42602,7 @@ function EmbeddableChatInner({
|
|
|
42388
42602
|
}),
|
|
42389
42603
|
[commandsUrl]
|
|
42390
42604
|
);
|
|
42391
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
42605
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1089 => _1089.firstName, 'optionalAccess', _1090 => _1090.trim, 'call', _1091 => _1091()]) || _optionalChain([identityUser, 'optionalAccess', _1092 => _1092.name, 'optionalAccess', _1093 => _1093.split, 'call', _1094 => _1094(" "), 'access', _1095 => _1095[0], 'optionalAccess', _1096 => _1096.trim, 'call', _1097 => _1097()]) || void 0;
|
|
42392
42606
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
42393
42607
|
if (modes) return modes;
|
|
42394
42608
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -42397,17 +42611,17 @@ function EmbeddableChatInner({
|
|
|
42397
42611
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
42398
42612
|
if (mingoState) {
|
|
42399
42613
|
return {
|
|
42400
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42401
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42402
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42403
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
42614
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1098 => _1098.canRename]), () => ( false)),
|
|
42615
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1099 => _1099.canArchive]), () => ( false)),
|
|
42616
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1100 => _1100.fetchArchivedDialogs]),
|
|
42617
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1101 => _1101.unarchiveDialog])
|
|
42404
42618
|
};
|
|
42405
42619
|
}
|
|
42406
42620
|
return {
|
|
42407
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
42408
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
42409
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
42410
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
42621
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1102 => _1102.mingo, 'optionalAccess', _1103 => _1103.renameDialog]),
|
|
42622
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1104 => _1104.mingo, 'optionalAccess', _1105 => _1105.archiveDialog]),
|
|
42623
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1106 => _1106.mingo, 'optionalAccess', _1107 => _1107.fetchArchivedDialogs]),
|
|
42624
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.unarchiveDialog])
|
|
42411
42625
|
};
|
|
42412
42626
|
}, [mingoState, mingoDialogCapabilities, effectiveModes]);
|
|
42413
42627
|
const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
|
|
@@ -42419,7 +42633,7 @@ function EmbeddableChatInner({
|
|
|
42419
42633
|
if (controlledActiveMode === void 0) {
|
|
42420
42634
|
setUncontrolledActiveMode(next);
|
|
42421
42635
|
}
|
|
42422
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
42636
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1110 => _1110(next)]);
|
|
42423
42637
|
},
|
|
42424
42638
|
[controlledActiveMode, onActiveModeChange]
|
|
42425
42639
|
);
|
|
@@ -42626,9 +42840,9 @@ function EmbeddableChatInner({
|
|
|
42626
42840
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
42627
42841
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
42628
42842
|
if (chatLoading) return void 0;
|
|
42629
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42843
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1111 => _1111.sources]);
|
|
42630
42844
|
if (!sources || sources.length === 0) return void 0;
|
|
42631
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
42845
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1112 => _1112.content]) || "";
|
|
42632
42846
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
42633
42847
|
(m) => parseInt(m[1], 10)
|
|
42634
42848
|
);
|
|
@@ -42675,7 +42889,7 @@ function EmbeddableChatInner({
|
|
|
42675
42889
|
ChatPanelHeader,
|
|
42676
42890
|
{
|
|
42677
42891
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
42678
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
42892
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1113 => _1113.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
|
|
42679
42893
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
42680
42894
|
isArchivedView: isViewingArchived,
|
|
42681
42895
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -42780,10 +42994,10 @@ function EmbeddableChatInner({
|
|
|
42780
42994
|
subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
|
|
42781
42995
|
...guideWelcome,
|
|
42782
42996
|
onQuickAction: (action) => {
|
|
42783
|
-
_optionalChain([chatInputRef, 'access',
|
|
42997
|
+
_optionalChain([chatInputRef, 'access', _1114 => _1114.current, 'optionalAccess', _1115 => _1115.setValue, 'call', _1116 => _1116(
|
|
42784
42998
|
_nullishCoalesce(action.prompt, () => ( action.label))
|
|
42785
42999
|
)]);
|
|
42786
|
-
_optionalChain([chatInputRef, 'access',
|
|
43000
|
+
_optionalChain([chatInputRef, 'access', _1117 => _1117.current, 'optionalAccess', _1118 => _1118.focus, 'call', _1119 => _1119()]);
|
|
42787
43001
|
},
|
|
42788
43002
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
42789
43003
|
!commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -43722,5 +43936,10 @@ function EmbeddableChatInner({
|
|
|
43722
43936
|
|
|
43723
43937
|
|
|
43724
43938
|
|
|
43725
|
-
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.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.buildListUrl = buildListUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
43726
|
-
|
|
43939
|
+
|
|
43940
|
+
|
|
43941
|
+
|
|
43942
|
+
|
|
43943
|
+
|
|
43944
|
+
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.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.buildListUrl = buildListUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
|
|
43945
|
+
//# sourceMappingURL=chunk-QFC725WU.cjs.map
|