@flamingo-stack/openframe-frontend-core 0.0.552 → 0.0.553-1815.4815.1
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-RMWLUKTC.cjs → chunk-2EOL4GLM.cjs} +11 -11
- package/dist/{chunk-RMWLUKTC.cjs.map → chunk-2EOL4GLM.cjs.map} +1 -1
- package/dist/{chunk-4XG7TG7B.cjs → chunk-2JWKBJIP.cjs} +7 -7
- package/dist/{chunk-4XG7TG7B.cjs.map → chunk-2JWKBJIP.cjs.map} +1 -1
- package/dist/{chunk-PVPXI5V6.cjs → chunk-2T5ZC2RO.cjs} +31 -31
- package/dist/{chunk-PVPXI5V6.cjs.map → chunk-2T5ZC2RO.cjs.map} +1 -1
- package/dist/{chunk-RMTTW7LG.cjs → chunk-5FMWTAX5.cjs} +27 -27
- package/dist/{chunk-RMTTW7LG.cjs.map → chunk-5FMWTAX5.cjs.map} +1 -1
- package/dist/{chunk-MVE2YQVG.cjs → chunk-6746LTZC.cjs} +20 -20
- package/dist/{chunk-MVE2YQVG.cjs.map → chunk-6746LTZC.cjs.map} +1 -1
- package/dist/{chunk-6MHMEF5W.cjs → chunk-6POBPMSN.cjs} +39 -39
- package/dist/{chunk-6MHMEF5W.cjs.map → chunk-6POBPMSN.cjs.map} +1 -1
- package/dist/{chunk-6J6Q5QEM.cjs → chunk-7BUY7VKW.cjs} +4 -4
- package/dist/{chunk-6J6Q5QEM.cjs.map → chunk-7BUY7VKW.cjs.map} +1 -1
- package/dist/{chunk-Z5UK7SKC.js → chunk-7FWRJBNW.js} +4 -4
- package/dist/{chunk-KSGQG6WU.js → chunk-AADAEOJA.js} +2 -2
- package/dist/{chunk-SIXNMDYY.js → chunk-AXUS7Y7N.js} +2 -2
- package/dist/{chunk-7TRIUG7Q.js → chunk-CM75WCSO.js} +5 -5
- package/dist/{chunk-SXXIV7IL.cjs → chunk-DG5D5XCS.cjs} +86 -86
- package/dist/{chunk-SXXIV7IL.cjs.map → chunk-DG5D5XCS.cjs.map} +1 -1
- package/dist/{chunk-RJSDYOFD.js → chunk-HECGJFP4.js} +2 -2
- package/dist/{chunk-X4RCWYYF.cjs → chunk-HUZD2MJC.cjs} +807 -695
- package/dist/chunk-HUZD2MJC.cjs.map +1 -0
- package/dist/{chunk-HK5YRHEN.cjs → chunk-I7Y2S3DR.cjs} +9 -9
- package/dist/{chunk-HK5YRHEN.cjs.map → chunk-I7Y2S3DR.cjs.map} +1 -1
- package/dist/{chunk-TI75367M.js → chunk-K5SQ625X.js} +660 -548
- package/dist/chunk-K5SQ625X.js.map +1 -0
- package/dist/{chunk-DOPZ5LCH.cjs → chunk-LXLAVFK3.cjs} +14 -14
- package/dist/{chunk-DOPZ5LCH.cjs.map → chunk-LXLAVFK3.cjs.map} +1 -1
- package/dist/{chunk-6XOJTTWY.js → chunk-M2XQSLNS.js} +2 -2
- package/dist/{chunk-XEOZB5DX.cjs → chunk-PNNO5CMG.cjs} +3 -3
- package/dist/{chunk-XEOZB5DX.cjs.map → chunk-PNNO5CMG.cjs.map} +1 -1
- package/dist/{chunk-OVQ3O66O.cjs → chunk-QD7WBLQ7.cjs} +5 -5
- package/dist/{chunk-OVQ3O66O.cjs.map → chunk-QD7WBLQ7.cjs.map} +1 -1
- package/dist/{chunk-CMDPARDV.js → chunk-QJ4KTTJB.js} +2 -2
- package/dist/{chunk-7MPOW46J.js → chunk-RXMDOLDH.js} +2 -2
- package/dist/{chunk-Y64725GI.cjs → chunk-SQADRYGF.cjs} +61 -61
- package/dist/{chunk-Y64725GI.cjs.map → chunk-SQADRYGF.cjs.map} +1 -1
- package/dist/{chunk-Y6PD76R6.js → chunk-SUGA42SR.js} +2 -2
- package/dist/{chunk-WXDDPK7T.js → chunk-VW5KSRGZ.js} +4 -4
- package/dist/{chunk-BFOXIIM4.js → chunk-Y7SI6UU5.js} +2 -2
- package/dist/{chunk-RJEP74Z4.js → chunk-YHMRC24T.js} +2 -2
- package/dist/{chunk-4DD3223G.js → chunk-ZK2UHBEH.js} +6 -6
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- 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/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/board/board-column.d.ts +6 -3
- package/dist/components/features/board/board-column.d.ts.map +1 -1
- package/dist/components/features/board/board.d.ts +3 -3
- package/dist/components/features/board/board.d.ts.map +1 -1
- package/dist/components/features/board/drop-target.d.ts +79 -0
- package/dist/components/features/board/drop-target.d.ts.map +1 -0
- package/dist/components/features/board/ticket-card.d.ts +11 -6
- package/dist/components/features/board/ticket-card.d.ts.map +1 -1
- package/dist/components/features/board/use-lane-scroll-anchor.d.ts +24 -0
- package/dist/components/features/board/use-lane-scroll-anchor.d.ts.map +1 -0
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +22 -22
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +131 -131
- package/dist/components/index.js +11 -11
- package/dist/components/meeting-scheduler/index.cjs +28 -28
- package/dist/components/meeting-scheduler/index.js +3 -3
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/__tests__/board-drag-guard.test.tsx +146 -0
- package/src/__tests__/board-drop-target.test.ts +262 -0
- package/src/components/features/board/board-column.tsx +50 -40
- package/src/components/features/board/board.tsx +48 -40
- package/src/components/features/board/drop-target.ts +188 -0
- package/src/components/features/board/ticket-card.tsx +36 -16
- package/src/components/features/board/use-lane-scroll-anchor.ts +75 -0
- package/src/stories/Board.stories.tsx +16 -7
- package/dist/chunk-TI75367M.js.map +0 -1
- package/dist/chunk-X4RCWYYF.cjs.map +0 -1
- /package/dist/{chunk-Z5UK7SKC.js.map → chunk-7FWRJBNW.js.map} +0 -0
- /package/dist/{chunk-KSGQG6WU.js.map → chunk-AADAEOJA.js.map} +0 -0
- /package/dist/{chunk-SIXNMDYY.js.map → chunk-AXUS7Y7N.js.map} +0 -0
- /package/dist/{chunk-7TRIUG7Q.js.map → chunk-CM75WCSO.js.map} +0 -0
- /package/dist/{chunk-RJSDYOFD.js.map → chunk-HECGJFP4.js.map} +0 -0
- /package/dist/{chunk-6XOJTTWY.js.map → chunk-M2XQSLNS.js.map} +0 -0
- /package/dist/{chunk-CMDPARDV.js.map → chunk-QJ4KTTJB.js.map} +0 -0
- /package/dist/{chunk-7MPOW46J.js.map → chunk-RXMDOLDH.js.map} +0 -0
- /package/dist/{chunk-Y6PD76R6.js.map → chunk-SUGA42SR.js.map} +0 -0
- /package/dist/{chunk-WXDDPK7T.js.map → chunk-VW5KSRGZ.js.map} +0 -0
- /package/dist/{chunk-BFOXIIM4.js.map → chunk-Y7SI6UU5.js.map} +0 -0
- /package/dist/{chunk-RJEP74Z4.js.map → chunk-YHMRC24T.js.map} +0 -0
- /package/dist/{chunk-4DD3223G.js.map → chunk-ZK2UHBEH.js.map} +0 -0
|
@@ -292,7 +292,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
|
|
|
292
292
|
|
|
293
293
|
// src/components/pagination.tsx
|
|
294
294
|
var _lucidereact = require('lucide-react');
|
|
295
|
-
var _react = require('react'); var
|
|
295
|
+
var _react = require('react'); var React126 = _interopRequireWildcard(_react); var React = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React24 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React27 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React29 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React30 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React34 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React48 = _interopRequireWildcard(_react); var React47 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React49 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React60 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React62 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React66 = _interopRequireWildcard(_react); var React67 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React70 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React72 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React74 = _interopRequireWildcard(_react); var React75 = _interopRequireWildcard(_react); var React76 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React80 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React89 = _interopRequireWildcard(_react); var React93 = _interopRequireWildcard(_react); var React94 = _interopRequireWildcard(_react); var React96 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React102 = _interopRequireWildcard(_react); var React106 = _interopRequireWildcard(_react); var React107 = _interopRequireWildcard(_react); var React108 = _interopRequireWildcard(_react); var React109 = _interopRequireWildcard(_react); var React110 = _interopRequireWildcard(_react); var React111 = _interopRequireWildcard(_react); var React123 = _interopRequireWildcard(_react); var React122 = _interopRequireWildcard(_react); var React125 = _interopRequireWildcard(_react); var React128 = _interopRequireWildcard(_react); var React129 = _interopRequireWildcard(_react); var React131 = _interopRequireWildcard(_react); var React132 = _interopRequireWildcard(_react); var React135 = _interopRequireWildcard(_react); var React134 = _interopRequireWildcard(_react); var React133 = _interopRequireWildcard(_react); var React136 = _interopRequireWildcard(_react); var React138 = _interopRequireWildcard(_react); var React137 = _interopRequireWildcard(_react); var React139 = _interopRequireWildcard(_react); var React140 = _interopRequireWildcard(_react); var React141 = _interopRequireWildcard(_react); var React149 = _interopRequireWildcard(_react); var React148 = _interopRequireWildcard(_react);
|
|
296
296
|
var _jsxruntime = require('react/jsx-runtime');
|
|
297
297
|
var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
|
|
298
298
|
var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
@@ -384,19 +384,19 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
384
384
|
) })
|
|
385
385
|
] }) });
|
|
386
386
|
};
|
|
387
|
-
PaginationContent = exports.PaginationContent =
|
|
387
|
+
PaginationContent = exports.PaginationContent = React126.forwardRef(
|
|
388
388
|
({ className, ...props }, ref) => {
|
|
389
389
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex items-center justify-center", className), ...props });
|
|
390
390
|
}
|
|
391
391
|
);
|
|
392
392
|
PaginationContent.displayName = "PaginationContent";
|
|
393
|
-
PaginationItem = exports.PaginationItem =
|
|
393
|
+
PaginationItem = exports.PaginationItem = React126.forwardRef(
|
|
394
394
|
({ className, ...props }, ref) => {
|
|
395
395
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, "", className), ...props });
|
|
396
396
|
}
|
|
397
397
|
);
|
|
398
398
|
PaginationItem.displayName = "PaginationItem";
|
|
399
|
-
PaginationLink = exports.PaginationLink =
|
|
399
|
+
PaginationLink = exports.PaginationLink = React126.forwardRef(
|
|
400
400
|
({ className, ...props }, ref) => {
|
|
401
401
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
402
402
|
"button",
|
|
@@ -412,7 +412,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
412
412
|
}
|
|
413
413
|
);
|
|
414
414
|
PaginationLink.displayName = "PaginationLink";
|
|
415
|
-
PaginationEllipsis = exports.PaginationEllipsis =
|
|
415
|
+
PaginationEllipsis = exports.PaginationEllipsis = React126.forwardRef(
|
|
416
416
|
({ className, ...props }, ref) => {
|
|
417
417
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
418
418
|
"span",
|
|
@@ -429,7 +429,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
429
429
|
}
|
|
430
430
|
);
|
|
431
431
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
432
|
-
PaginationPrevious = exports.PaginationPrevious =
|
|
432
|
+
PaginationPrevious = exports.PaginationPrevious = React126.forwardRef(
|
|
433
433
|
({ className, ...props }, ref) => {
|
|
434
434
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7INXXQVKcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkKI4EGKNVcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
|
|
435
435
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -438,7 +438,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
438
438
|
}
|
|
439
439
|
);
|
|
440
440
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
441
|
-
PaginationNext = exports.PaginationNext =
|
|
441
|
+
PaginationNext = exports.PaginationNext = React126.forwardRef(
|
|
442
442
|
({ className, ...props }, ref) => {
|
|
443
443
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7INXXQVKcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkKI4EGKNVcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
|
|
444
444
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -4970,7 +4970,7 @@ var ActionsMenu = ({
|
|
|
4970
4970
|
className: `relative min-w-[256px] max-h-[var(--radix-popper-available-height)] bg-ods-bg border border-ods-border rounded-md shadow-lg overflow-y-auto ${className}`,
|
|
4971
4971
|
children: groups.map((group, groupIndex) => {
|
|
4972
4972
|
const groupKey = group.id || group.items.map((i) => i.id).join("|");
|
|
4973
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
4973
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React126.default.Fragment, { children: [
|
|
4974
4974
|
group.items.map((item, itemIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4975
4975
|
MenuItem,
|
|
4976
4976
|
{
|
|
@@ -5007,8 +5007,8 @@ var ActionsMenuDropdown = ({
|
|
|
5007
5007
|
onChange: onOpenChange
|
|
5008
5008
|
});
|
|
5009
5009
|
useReportOverlayOpen(open);
|
|
5010
|
-
const triggerRef =
|
|
5011
|
-
|
|
5010
|
+
const triggerRef = React126.default.useRef(null);
|
|
5011
|
+
React126.default.useEffect(() => {
|
|
5012
5012
|
if (!open) return;
|
|
5013
5013
|
if (typeof document === "undefined") return;
|
|
5014
5014
|
const trigger2 = triggerRef.current;
|
|
@@ -7868,7 +7868,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
|
|
|
7868
7868
|
cache.set(key, entry);
|
|
7869
7869
|
}
|
|
7870
7870
|
const rendered = entry.node;
|
|
7871
|
-
if (
|
|
7871
|
+
if (React126.default.isValidElement(rendered) && rendered.type === BlockCard) {
|
|
7872
7872
|
const props2 = rendered.props;
|
|
7873
7873
|
const markerEnd = match2.index + match2[0].length;
|
|
7874
7874
|
parts.push({ kind: "text", text: text.slice(cursor, markerEnd) });
|
|
@@ -11921,7 +11921,7 @@ var formatTokenCount = (count) => {
|
|
|
11921
11921
|
return String(count);
|
|
11922
11922
|
};
|
|
11923
11923
|
var hasAnyBreakdownRow = (breakdown) => !!breakdown && !!(breakdown.haikuRewriter || breakdown.haikuClassifier || breakdown.haikuSummarizer);
|
|
11924
|
-
var ModelDisplay =
|
|
11924
|
+
var ModelDisplay = React126.default.forwardRef(
|
|
11925
11925
|
({
|
|
11926
11926
|
className,
|
|
11927
11927
|
provider,
|
|
@@ -12043,7 +12043,7 @@ function BreakdownRow({
|
|
|
12043
12043
|
] });
|
|
12044
12044
|
}
|
|
12045
12045
|
ModelDisplay.displayName = "ModelDisplay";
|
|
12046
|
-
var ModelDisplaySkeleton =
|
|
12046
|
+
var ModelDisplaySkeleton = React126.default.forwardRef(
|
|
12047
12047
|
({ className, showTokens = false, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
12048
12048
|
"div",
|
|
12049
12049
|
{
|
|
@@ -13663,7 +13663,7 @@ function VideoUnmuteGlyph({ size: size2 = "md", className }) {
|
|
|
13663
13663
|
|
|
13664
13664
|
// src/utils/fetch-priority.ts
|
|
13665
13665
|
|
|
13666
|
-
var REACT_MAJOR = parseInt((
|
|
13666
|
+
var REACT_MAJOR = parseInt((React126.default.version || "0").split(".")[0], 10);
|
|
13667
13667
|
var USE_CAMEL_CASE_FETCH_PRIORITY = REACT_MAJOR >= 19;
|
|
13668
13668
|
function fetchPriorityProp(priority) {
|
|
13669
13669
|
const value = priority === void 0 ? "auto" : typeof priority === "boolean" ? priority ? "high" : "low" : priority;
|
|
@@ -14788,7 +14788,7 @@ function ManagedCell({
|
|
|
14788
14788
|
cardWidthMobile,
|
|
14789
14789
|
cardWidthDesktop
|
|
14790
14790
|
}) {
|
|
14791
|
-
const hintedWidth =
|
|
14791
|
+
const hintedWidth = React126.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
|
|
14792
14792
|
const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
|
|
14793
14793
|
const cloneRef = _chunk5RJUHUCIcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
|
|
14794
14794
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -14832,7 +14832,7 @@ function CardsStrip(props) {
|
|
|
14832
14832
|
} = props;
|
|
14833
14833
|
const childrenMode = props.renderCard === void 0;
|
|
14834
14834
|
const childItems = _react.useMemo.call(void 0,
|
|
14835
|
-
() => childrenMode ?
|
|
14835
|
+
() => childrenMode ? React126.default.Children.toArray(props.children) : EMPTY_CHILDREN,
|
|
14836
14836
|
[childrenMode, props.children]
|
|
14837
14837
|
);
|
|
14838
14838
|
const items = childrenMode ? childItems : props.items;
|
|
@@ -14841,7 +14841,7 @@ function CardsStrip(props) {
|
|
|
14841
14841
|
_react.useEffect.call(void 0, () => {
|
|
14842
14842
|
if (process.env.NODE_ENV === "production" || !childrenMode) return;
|
|
14843
14843
|
const only = childItems.length === 1 ? childItems[0] : null;
|
|
14844
|
-
if (
|
|
14844
|
+
if (React126.default.isValidElement(only) && only.type === React126.default.Fragment) {
|
|
14845
14845
|
console.warn(
|
|
14846
14846
|
"[CardsStrip] A single <Fragment> child becomes ONE giant cell \u2014 pass an array of card elements ({rows.map(...)}) instead."
|
|
14847
14847
|
);
|
|
@@ -14851,7 +14851,7 @@ function CardsStrip(props) {
|
|
|
14851
14851
|
if (!childrenMode) {
|
|
14852
14852
|
return props.itemKey(item, index);
|
|
14853
14853
|
}
|
|
14854
|
-
return
|
|
14854
|
+
return React126.default.isValidElement(item) && item.key != null ? String(item.key) : String(index);
|
|
14855
14855
|
};
|
|
14856
14856
|
const wrapperRef = _react.useRef.call(void 0, null);
|
|
14857
14857
|
const scrollerRef = _react.useRef.call(void 0, null);
|
|
@@ -15127,7 +15127,7 @@ function CardsStrip(props) {
|
|
|
15127
15127
|
// ctx.isClone) and the managed cell's job in children mode.
|
|
15128
15128
|
// The engine itself adds no wrapper here in render-prop mode
|
|
15129
15129
|
// so the card root stays the track's direct child.
|
|
15130
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
15130
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderItem(item, {
|
|
15131
15131
|
index: i,
|
|
15132
15132
|
cardKey: key,
|
|
15133
15133
|
isClone,
|
|
@@ -15582,7 +15582,7 @@ function ChatVideoEntityCard({
|
|
|
15582
15582
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
15583
15583
|
|
|
15584
15584
|
|
|
15585
|
-
var InteractiveCard =
|
|
15585
|
+
var InteractiveCard = React126.default.forwardRef(
|
|
15586
15586
|
({
|
|
15587
15587
|
children,
|
|
15588
15588
|
onClick,
|
|
@@ -19609,7 +19609,7 @@ function InfoCard({ data, className = "" }) {
|
|
|
19609
19609
|
(data.items.length > 0 || data.progress) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)] items-start self-stretch w-full", children: [
|
|
19610
19610
|
data.items.map((item, index) => {
|
|
19611
19611
|
const values = Array.isArray(item.value) ? item.value : [item.value];
|
|
19612
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19612
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: values.map((val, valIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
19613
19613
|
InfoCardValueRow,
|
|
19614
19614
|
{
|
|
19615
19615
|
label: item.label,
|
|
@@ -20264,7 +20264,7 @@ var noDataActionsVariants = _classvarianceauthority.cva.call(void 0, "overflow-h
|
|
|
20264
20264
|
|
|
20265
20265
|
// src/components/ui/no-data/no-data-message.tsx
|
|
20266
20266
|
|
|
20267
|
-
var NoDataMessage =
|
|
20267
|
+
var NoDataMessage = React126.default.forwardRef(
|
|
20268
20268
|
function NoDataMessage2({ icon, title, description, className, ...props }, ref) {
|
|
20269
20269
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20270
20270
|
"div",
|
|
@@ -20291,7 +20291,7 @@ var NoDataMessage = React129.default.forwardRef(
|
|
|
20291
20291
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
20292
20292
|
|
|
20293
20293
|
|
|
20294
|
-
var NoDataAction =
|
|
20294
|
+
var NoDataAction = React126.default.forwardRef(
|
|
20295
20295
|
function NoDataAction2({ icon, label, children, className, ...props }, ref) {
|
|
20296
20296
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20297
20297
|
"div",
|
|
@@ -20311,16 +20311,16 @@ var NoDataAction = React129.default.forwardRef(
|
|
|
20311
20311
|
);
|
|
20312
20312
|
}
|
|
20313
20313
|
);
|
|
20314
|
-
var NoDataActions =
|
|
20314
|
+
var NoDataActions = React126.default.forwardRef(
|
|
20315
20315
|
function NoDataActions2({ actions, variant = "outline", className, children, ...props }, ref) {
|
|
20316
|
-
const blocks = actions ? actions.map((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NoDataAction, { ...action }, index)) :
|
|
20316
|
+
const blocks = actions ? actions.map((action, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NoDataAction, { ...action }, index)) : React126.default.Children.toArray(children);
|
|
20317
20317
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20318
20318
|
"div",
|
|
20319
20319
|
{
|
|
20320
20320
|
ref,
|
|
20321
20321
|
className: _chunkKI4EGKNVcjs.cn.call(void 0, noDataActionsVariants({ variant }), "flex w-full flex-col md:w-auto md:flex-row", className),
|
|
20322
20322
|
...props,
|
|
20323
|
-
children: blocks.map((block, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20323
|
+
children: blocks.map((block, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React126.default.Fragment, { children: [
|
|
20324
20324
|
index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
20325
20325
|
"div",
|
|
20326
20326
|
{
|
|
@@ -20337,7 +20337,7 @@ var NoDataActions = React129.default.forwardRef(
|
|
|
20337
20337
|
|
|
20338
20338
|
// src/components/ui/no-data/no-data.tsx
|
|
20339
20339
|
|
|
20340
|
-
var NoData =
|
|
20340
|
+
var NoData = React126.default.forwardRef(function NoData2({
|
|
20341
20341
|
icon,
|
|
20342
20342
|
title,
|
|
20343
20343
|
description,
|
|
@@ -26290,7 +26290,7 @@ function IconButtonsVariant({
|
|
|
26290
26290
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: [
|
|
26291
26291
|
selector,
|
|
26292
26292
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26293
|
-
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26293
|
+
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
|
|
26294
26294
|
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions })
|
|
26295
26295
|
] })
|
|
26296
26296
|
] }),
|
|
@@ -26313,7 +26313,7 @@ function PrimaryButtonsVariant({
|
|
|
26313
26313
|
// No overflow trigger in this variant — an unknown action set settles
|
|
26314
26314
|
// into a labelled button, not a square one.
|
|
26315
26315
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions, emptyFallback: "label" })
|
|
26316
|
-
) : desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26316
|
+
) : desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderActionButton(action) }, `desktop-${actionKey(action, idx)}`)) }),
|
|
26317
26317
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileBottomActions, { actions: sortedActions, loading })
|
|
26318
26318
|
] });
|
|
26319
26319
|
}
|
|
@@ -26336,7 +26336,7 @@ function MenuPrimaryVariant({
|
|
|
26336
26336
|
selector,
|
|
26337
26337
|
loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions: desktopActions }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
26338
26338
|
hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions }),
|
|
26339
|
-
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26339
|
+
desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
|
|
26340
26340
|
] })
|
|
26341
26341
|
] }),
|
|
26342
26342
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex md:hidden", className), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileTriggerSkeleton, {}) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: mobileMenuGroups }) : null })
|
|
@@ -26351,7 +26351,7 @@ function MobileBottomActions({ actions, loading }) {
|
|
|
26351
26351
|
// fixed variant is what keeps the 24px the bar has always had.
|
|
26352
26352
|
"flex items-start p-[var(--spacing-system-lf)]",
|
|
26353
26353
|
ACTIONS_GAP
|
|
26354
|
-
), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions, fullWidth: true, emptyFallback: "label" }) : actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
26354
|
+
), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionSkeletons, { actions, fullWidth: true, emptyFallback: "label" }) : actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderActionButton(action, { fullWidth: !!action.label }) }, `mobile-${actionKey(action, idx)}`)) });
|
|
26355
26355
|
}
|
|
26356
26356
|
function usePageActionsBottomPadding(variant) {
|
|
26357
26357
|
return variant === "primary-buttons" || variant === "menu-primary" ? "pb-40 md:pb-0" : "";
|
|
@@ -26657,8 +26657,8 @@ _chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
|
26657
26657
|
|
|
26658
26658
|
function EntityImage({ src, alt, fallbackText, className }) {
|
|
26659
26659
|
const resolvedSrc = _chunk5RJUHUCIcjs.useAuthedImageSrc.call(void 0, src);
|
|
26660
|
-
const [imageFailed, setImageFailed] =
|
|
26661
|
-
|
|
26660
|
+
const [imageFailed, setImageFailed] = React126.default.useState(false);
|
|
26661
|
+
React126.default.useEffect(() => {
|
|
26662
26662
|
setImageFailed(false);
|
|
26663
26663
|
}, [resolvedSrc]);
|
|
26664
26664
|
const showFallback = imageFailed || !resolvedSrc;
|
|
@@ -29068,7 +29068,7 @@ var BenefitCardGrid = ({
|
|
|
29068
29068
|
className = "",
|
|
29069
29069
|
columns = 2
|
|
29070
29070
|
}) => {
|
|
29071
|
-
const childrenArray =
|
|
29071
|
+
const childrenArray = React126.default.Children.toArray(children);
|
|
29072
29072
|
const gridClass = columns === 4 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4" : columns === 3 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3" : "flex flex-col md:flex-row";
|
|
29073
29073
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
29074
29074
|
"bg-ods-card rounded-lg shadow-ods-card border border-ods-border overflow-hidden",
|
|
@@ -29089,7 +29089,7 @@ var BenefitCardGrid = ({
|
|
|
29089
29089
|
} else {
|
|
29090
29090
|
borderClass = isLastItem ? "border-b-0" : "border-b md:border-b-0 md:border-r border-ods-border";
|
|
29091
29091
|
}
|
|
29092
|
-
return
|
|
29092
|
+
return React126.default.cloneElement(child, {
|
|
29093
29093
|
key: index,
|
|
29094
29094
|
className: borderClass
|
|
29095
29095
|
});
|
|
@@ -29106,7 +29106,7 @@ function BrandAssociationCard({
|
|
|
29106
29106
|
className = ""
|
|
29107
29107
|
}) {
|
|
29108
29108
|
const renderIcon = () => {
|
|
29109
|
-
if (
|
|
29109
|
+
if (React126.default.isValidElement(item.icon)) {
|
|
29110
29110
|
return item.icon;
|
|
29111
29111
|
}
|
|
29112
29112
|
const IconComponent = item.icon;
|
|
@@ -30000,11 +30000,11 @@ function DropdownButton({
|
|
|
30000
30000
|
side = "bottom",
|
|
30001
30001
|
onCloseAutoFocus
|
|
30002
30002
|
}) {
|
|
30003
|
-
const [open, setOpen] =
|
|
30004
|
-
|
|
30003
|
+
const [open, setOpen] = React126.default.useState(false);
|
|
30004
|
+
React126.default.useEffect(() => {
|
|
30005
30005
|
if (disabled || loading) setOpen(false);
|
|
30006
30006
|
}, [disabled, loading]);
|
|
30007
|
-
const handleOpenChange =
|
|
30007
|
+
const handleOpenChange = React126.default.useCallback(
|
|
30008
30008
|
(next) => {
|
|
30009
30009
|
if (next && (disabled || loading)) return;
|
|
30010
30010
|
setOpen(next);
|
|
@@ -34068,7 +34068,7 @@ function ReleaseMediaManager({
|
|
|
34068
34068
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
34069
34069
|
|
|
34070
34070
|
|
|
34071
|
-
var SelectButton =
|
|
34071
|
+
var SelectButton = React126.default.forwardRef(
|
|
34072
34072
|
({ title, description, selected = false, disabled = false, icon, image, tag, tagVariant = "outline", onClick, className }, ref) => {
|
|
34073
34073
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
34074
34074
|
"button",
|
|
@@ -39534,9 +39534,6 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
39534
39534
|
|
|
39535
39535
|
|
|
39536
39536
|
|
|
39537
|
-
|
|
39538
|
-
|
|
39539
|
-
|
|
39540
39537
|
var _core = require('@dnd-kit/core');
|
|
39541
39538
|
var _sortable = require('@dnd-kit/sortable');
|
|
39542
39539
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
@@ -39712,6 +39709,35 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
|
39712
39709
|
] });
|
|
39713
39710
|
}
|
|
39714
39711
|
|
|
39712
|
+
// src/components/features/board/use-lane-scroll-anchor.ts
|
|
39713
|
+
|
|
39714
|
+
var TICKET_ID_ATTRIBUTE = "data-ticket-id";
|
|
39715
|
+
function cardPositions(root) {
|
|
39716
|
+
return Array.from(root.querySelectorAll(`[${TICKET_ID_ATTRIBUTE}]`)).map((element) => ({
|
|
39717
|
+
id: _nullishCoalesce(element.getAttribute(TICKET_ID_ATTRIBUTE), () => ( "")),
|
|
39718
|
+
offsetTop: element.offsetTop
|
|
39719
|
+
}));
|
|
39720
|
+
}
|
|
39721
|
+
function useLaneScrollAnchor(scrollRef, tickets) {
|
|
39722
|
+
const positionsRef = _react.useRef.call(void 0, []);
|
|
39723
|
+
_chunk5RJUHUCIcjs.useIsomorphicLayoutEffect.call(void 0, () => {
|
|
39724
|
+
const root = scrollRef.current;
|
|
39725
|
+
if (!root) return;
|
|
39726
|
+
const previous = positionsRef.current;
|
|
39727
|
+
const scrollTop = root.scrollTop;
|
|
39728
|
+
const current = cardPositions(root);
|
|
39729
|
+
if (previous.length > 0 && scrollTop > 0) {
|
|
39730
|
+
const anchor = _nullishCoalesce(previous.find((card) => card.offsetTop >= scrollTop), () => ( previous[previous.length - 1]));
|
|
39731
|
+
const moved = current.find((card) => card.id === anchor.id);
|
|
39732
|
+
if (moved) {
|
|
39733
|
+
const drift = moved.offsetTop - anchor.offsetTop;
|
|
39734
|
+
if (Math.abs(drift) >= 1) root.scrollTop = scrollTop + drift;
|
|
39735
|
+
}
|
|
39736
|
+
}
|
|
39737
|
+
positionsRef.current = current;
|
|
39738
|
+
}, [tickets]);
|
|
39739
|
+
}
|
|
39740
|
+
|
|
39715
39741
|
// src/components/features/board/ticket-card.tsx
|
|
39716
39742
|
|
|
39717
39743
|
var PRIORITY_COLOR_CLASS = {
|
|
@@ -39822,7 +39848,7 @@ function TicketCardView({ className, ...bodyProps }) {
|
|
|
39822
39848
|
}
|
|
39823
39849
|
);
|
|
39824
39850
|
}
|
|
39825
|
-
|
|
39851
|
+
var TicketCard = _react.memo.call(void 0, function TicketCard2({
|
|
39826
39852
|
ticket,
|
|
39827
39853
|
columnId,
|
|
39828
39854
|
columnColor,
|
|
@@ -39833,7 +39859,7 @@ function TicketCard({
|
|
|
39833
39859
|
onApprove,
|
|
39834
39860
|
onReject
|
|
39835
39861
|
}) {
|
|
39836
|
-
const sortableData =
|
|
39862
|
+
const sortableData = _react.useMemo.call(void 0, () => ({ columnId, type: "ticket" }), [columnId]);
|
|
39837
39863
|
const sortable = _sortable.useSortable.call(void 0, { id: ticket.id, data: sortableData, disabled: dragDisabled });
|
|
39838
39864
|
const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
|
|
39839
39865
|
const style = isOverlay ? {} : {
|
|
@@ -39844,15 +39870,18 @@ function TicketCard({
|
|
|
39844
39870
|
const handleClick = (e) => {
|
|
39845
39871
|
if (sortable.isDragging) e.preventDefault();
|
|
39846
39872
|
};
|
|
39847
|
-
const body =
|
|
39848
|
-
|
|
39849
|
-
|
|
39850
|
-
|
|
39851
|
-
|
|
39852
|
-
|
|
39853
|
-
|
|
39854
|
-
|
|
39855
|
-
|
|
39873
|
+
const body = _react.useMemo.call(void 0,
|
|
39874
|
+
() => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
39875
|
+
TicketCardBody,
|
|
39876
|
+
{
|
|
39877
|
+
ticket,
|
|
39878
|
+
columnColor,
|
|
39879
|
+
renderAssignSlot,
|
|
39880
|
+
onApprove: onApprove ? (requestId) => onApprove(ticket.id, requestId) : void 0,
|
|
39881
|
+
onReject: onReject ? (requestId) => onReject(ticket.id, requestId) : void 0
|
|
39882
|
+
}
|
|
39883
|
+
),
|
|
39884
|
+
[ticket, columnColor, renderAssignSlot, onApprove, onReject]
|
|
39856
39885
|
);
|
|
39857
39886
|
const cardClasses = _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
39858
39887
|
TICKET_CARD_SHELL,
|
|
@@ -39864,6 +39893,9 @@ function TicketCard({
|
|
|
39864
39893
|
ref: isOverlay ? void 0 : sortable.setNodeRef,
|
|
39865
39894
|
style,
|
|
39866
39895
|
className: cardClasses,
|
|
39896
|
+
// Read by the lane's scroll anchor to keep the list still when tickets are
|
|
39897
|
+
// inserted above the viewport — see `use-lane-scroll-anchor.ts`.
|
|
39898
|
+
...isOverlay ? {} : { [TICKET_ID_ATTRIBUTE]: ticket.id },
|
|
39867
39899
|
...isOverlay ? {} : sortable.attributes,
|
|
39868
39900
|
...isOverlay ? {} : sortable.listeners
|
|
39869
39901
|
};
|
|
@@ -39899,7 +39931,7 @@ function TicketCard({
|
|
|
39899
39931
|
),
|
|
39900
39932
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "pointer-events-none", innerWrapperClass), children: body })
|
|
39901
39933
|
] });
|
|
39902
|
-
}
|
|
39934
|
+
});
|
|
39903
39935
|
function TicketTagRow({ tags }) {
|
|
39904
39936
|
const visible = tags.slice(0, MAX_VISIBLE_TAGS);
|
|
39905
39937
|
const hidden = tags.length - visible.length;
|
|
@@ -39913,7 +39945,7 @@ function TicketTagRow({ tags }) {
|
|
|
39913
39945
|
|
|
39914
39946
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
39915
39947
|
|
|
39916
|
-
var TicketCardSkeleton =
|
|
39948
|
+
var TicketCardSkeleton = React110.forwardRef(
|
|
39917
39949
|
({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39918
39950
|
"div",
|
|
39919
39951
|
{
|
|
@@ -39949,7 +39981,7 @@ TicketCardSkeleton.displayName = "TicketCardSkeleton";
|
|
|
39949
39981
|
|
|
39950
39982
|
// src/components/features/board/board-column.tsx
|
|
39951
39983
|
|
|
39952
|
-
|
|
39984
|
+
var BoardColumn = _react.memo.call(void 0, function BoardColumn2({
|
|
39953
39985
|
column,
|
|
39954
39986
|
collapsed = false,
|
|
39955
39987
|
onToggleCollapse,
|
|
@@ -39964,16 +39996,24 @@ function BoardColumn({
|
|
|
39964
39996
|
joinLeft = false,
|
|
39965
39997
|
joinRight = false
|
|
39966
39998
|
}) {
|
|
39999
|
+
const droppableData = _react.useMemo.call(void 0, () => ({ columnId: column.id, type: "column" }), [column.id]);
|
|
40000
|
+
const { setNodeRef: setLaneRef, isOver } = _core.useDroppable.call(void 0, {
|
|
40001
|
+
id: `column:${column.id}`,
|
|
40002
|
+
data: droppableData,
|
|
40003
|
+
disabled: column.dropDisabled || collapsed
|
|
40004
|
+
});
|
|
39967
40005
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39968
40006
|
"div",
|
|
39969
40007
|
{
|
|
40008
|
+
ref: setLaneRef,
|
|
39970
40009
|
className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
39971
40010
|
"flex h-full shrink-0 flex-col gap-[var(--spacing-system-sf)] overflow-hidden rounded-md border border-ods-border p-[var(--spacing-system-sf)]",
|
|
39972
40011
|
"transition-[width] duration-300 ease-out",
|
|
39973
40012
|
collapsed ? "w-14" : "w-[400px]",
|
|
39974
40013
|
column.system && "bg-ods-card",
|
|
39975
40014
|
joinLeft && "rounded-l-none border-l-0",
|
|
39976
|
-
joinRight && "rounded-r-none"
|
|
40015
|
+
joinRight && "rounded-r-none",
|
|
40016
|
+
isOver && "outline outline-2 -outline-offset-2 outline-ods-focus"
|
|
39977
40017
|
),
|
|
39978
40018
|
style: column.system ? void 0 : { backgroundColor: tintOnDark(column.color) },
|
|
39979
40019
|
children: [
|
|
@@ -40005,25 +40045,25 @@ function BoardColumn({
|
|
|
40005
40045
|
]
|
|
40006
40046
|
}
|
|
40007
40047
|
);
|
|
40008
|
-
}
|
|
40009
|
-
function ColumnBody({
|
|
40010
|
-
|
|
40011
|
-
|
|
40012
|
-
|
|
40013
|
-
|
|
40014
|
-
|
|
40015
|
-
|
|
40016
|
-
|
|
40017
|
-
|
|
40018
|
-
|
|
40019
|
-
|
|
40020
|
-
const
|
|
40021
|
-
|
|
40022
|
-
const loadMoreRef =
|
|
40048
|
+
});
|
|
40049
|
+
function ColumnBody({
|
|
40050
|
+
column,
|
|
40051
|
+
getTicketHref,
|
|
40052
|
+
renderAssignSlot,
|
|
40053
|
+
onApprove,
|
|
40054
|
+
onReject,
|
|
40055
|
+
onLoadMore,
|
|
40056
|
+
loadMoreRootMargin
|
|
40057
|
+
}) {
|
|
40058
|
+
const ticketIds = _react.useMemo.call(void 0, () => column.tickets.map((t) => t.id), [column.tickets]);
|
|
40059
|
+
const scrollRef = _react.useRef.call(void 0, null);
|
|
40060
|
+
const sentinelRef = _react.useRef.call(void 0, null);
|
|
40061
|
+
useLaneScrollAnchor(scrollRef, column.tickets);
|
|
40062
|
+
const loadMoreRef = _react.useRef.call(void 0, onLoadMore);
|
|
40023
40063
|
loadMoreRef.current = onLoadMore;
|
|
40024
|
-
const columnIdRef =
|
|
40064
|
+
const columnIdRef = _react.useRef.call(void 0, column.id);
|
|
40025
40065
|
columnIdRef.current = column.id;
|
|
40026
|
-
|
|
40066
|
+
_react.useEffect.call(void 0, () => {
|
|
40027
40067
|
if (!column.hasMore || column.isLoadingMore) return;
|
|
40028
40068
|
const sentinel = sentinelRef.current;
|
|
40029
40069
|
const root = scrollRef.current;
|
|
@@ -40039,48 +40079,40 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
40039
40079
|
observer.observe(sentinel);
|
|
40040
40080
|
return () => observer.disconnect();
|
|
40041
40081
|
}, [column.hasMore, column.isLoadingMore, loadMoreRootMargin]);
|
|
40042
|
-
|
|
40043
|
-
|
|
40044
|
-
|
|
40045
|
-
|
|
40046
|
-
|
|
40047
|
-
|
|
40048
|
-
|
|
40049
|
-
|
|
40050
|
-
|
|
40051
|
-
|
|
40052
|
-
|
|
40053
|
-
|
|
40054
|
-
|
|
40055
|
-
|
|
40056
|
-
|
|
40057
|
-
|
|
40058
|
-
|
|
40059
|
-
|
|
40060
|
-
|
|
40061
|
-
|
|
40062
|
-
|
|
40063
|
-
|
|
40064
|
-
|
|
40065
|
-
|
|
40066
|
-
|
|
40067
|
-
|
|
40068
|
-
|
|
40069
|
-
|
|
40070
|
-
|
|
40071
|
-
|
|
40072
|
-
column.isLoadingMore && !column.isLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCardSkeleton, {}),
|
|
40073
|
-
column.hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, "aria-hidden": true, className: "h-1 shrink-0" })
|
|
40074
|
-
]
|
|
40075
|
-
}
|
|
40082
|
+
return (
|
|
40083
|
+
// `overflow-anchor:none` hands scroll anchoring to `useLaneScrollAnchor`
|
|
40084
|
+
// wholesale. The browser's own anchoring is unusable here — it silently
|
|
40085
|
+
// skips transformed elements, so it works between drags and does nothing
|
|
40086
|
+
// during one — and leaving both on double-corrects every insertion.
|
|
40087
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
40088
|
+
"div",
|
|
40089
|
+
{
|
|
40090
|
+
ref: scrollRef,
|
|
40091
|
+
className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto [overflow-anchor:none]",
|
|
40092
|
+
children: [
|
|
40093
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _sortable.SortableContext, { items: ticketIds, strategy: _sortable.verticalListSortingStrategy, children: column.isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SkeletonStack, {}) : column.tickets.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState2, {}) : column.tickets.map((t) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
40094
|
+
TicketCard,
|
|
40095
|
+
{
|
|
40096
|
+
ticket: t,
|
|
40097
|
+
columnId: column.id,
|
|
40098
|
+
columnColor: column.color,
|
|
40099
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _880 => _880(t.id)]),
|
|
40100
|
+
renderAssignSlot,
|
|
40101
|
+
onApprove,
|
|
40102
|
+
onReject,
|
|
40103
|
+
dragDisabled: column.dragDisabled
|
|
40104
|
+
},
|
|
40105
|
+
t.id
|
|
40106
|
+
)) }),
|
|
40107
|
+
column.isLoadingMore && !column.isLoading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCardSkeleton, {}),
|
|
40108
|
+
column.hasMore && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, "aria-hidden": true, className: "h-1 shrink-0" })
|
|
40109
|
+
]
|
|
40110
|
+
}
|
|
40111
|
+
)
|
|
40076
40112
|
);
|
|
40077
40113
|
}
|
|
40078
40114
|
function SkeletonStack({ count = 4 }) {
|
|
40079
|
-
|
|
40080
|
-
() => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
|
|
40081
|
-
[count]
|
|
40082
|
-
);
|
|
40083
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: keys.map((k) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCardSkeleton, {}, k)) });
|
|
40115
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCardSkeleton, {}, `skeleton-${i}`)) });
|
|
40084
40116
|
}
|
|
40085
40117
|
function EmptyState2() {
|
|
40086
40118
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
|
|
@@ -40092,6 +40124,90 @@ function EmptyState2() {
|
|
|
40092
40124
|
] });
|
|
40093
40125
|
}
|
|
40094
40126
|
|
|
40127
|
+
// src/components/features/board/drop-target.ts
|
|
40128
|
+
|
|
40129
|
+
|
|
40130
|
+
|
|
40131
|
+
|
|
40132
|
+
|
|
40133
|
+
function droppableDataOf(collision) {
|
|
40134
|
+
return _optionalChain([collision, 'access', _881 => _881.data, 'optionalAccess', _882 => _882.droppableContainer, 'optionalAccess', _883 => _883.data, 'optionalAccess', _884 => _884.current]);
|
|
40135
|
+
}
|
|
40136
|
+
function detectCollisions(args, pointerHits) {
|
|
40137
|
+
const intersections = pointerHits.length > 0 ? pointerHits : _core.rectIntersection.call(void 0, args);
|
|
40138
|
+
const ticketHit = intersections.find((c) => _optionalChain([droppableDataOf, 'call', _885 => _885(c), 'optionalAccess', _886 => _886.type]) === "ticket");
|
|
40139
|
+
if (ticketHit) return [ticketHit];
|
|
40140
|
+
const columnHit = intersections.find((c) => _optionalChain([droppableDataOf, 'call', _887 => _887(c), 'optionalAccess', _888 => _888.type]) === "column");
|
|
40141
|
+
if (columnHit) {
|
|
40142
|
+
const { columnId } = _nullishCoalesce(droppableDataOf(columnHit), () => ( {}));
|
|
40143
|
+
const ticketsInColumn = args.droppableContainers.filter((container) => {
|
|
40144
|
+
if (container.id === args.active.id) return false;
|
|
40145
|
+
const data = container.data.current;
|
|
40146
|
+
return _optionalChain([data, 'optionalAccess', _889 => _889.type]) === "ticket" && data.columnId === columnId;
|
|
40147
|
+
});
|
|
40148
|
+
if (ticketsInColumn.length > 0) {
|
|
40149
|
+
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
40150
|
+
if (closest.length > 0) return closest;
|
|
40151
|
+
}
|
|
40152
|
+
return [columnHit];
|
|
40153
|
+
}
|
|
40154
|
+
return _core.closestCorners.call(void 0, args);
|
|
40155
|
+
}
|
|
40156
|
+
var animationFrameScheduler = (callback) => {
|
|
40157
|
+
const id = requestAnimationFrame(callback);
|
|
40158
|
+
return () => cancelAnimationFrame(id);
|
|
40159
|
+
};
|
|
40160
|
+
function createDropTargetResolver(scheduleFrame = animationFrameScheduler) {
|
|
40161
|
+
let settling = false;
|
|
40162
|
+
let cancelFrame = null;
|
|
40163
|
+
let lastOverId = null;
|
|
40164
|
+
const clearFrame = () => {
|
|
40165
|
+
_optionalChain([cancelFrame, 'optionalCall', _890 => _890()]);
|
|
40166
|
+
cancelFrame = null;
|
|
40167
|
+
};
|
|
40168
|
+
const scheduleRelease = () => {
|
|
40169
|
+
clearFrame();
|
|
40170
|
+
cancelFrame = scheduleFrame(() => {
|
|
40171
|
+
cancelFrame = null;
|
|
40172
|
+
settling = false;
|
|
40173
|
+
});
|
|
40174
|
+
};
|
|
40175
|
+
const keepLastTarget = (args) => {
|
|
40176
|
+
if (lastOverId === null) return null;
|
|
40177
|
+
const last = args.droppableContainers.find((c) => c.id === lastOverId);
|
|
40178
|
+
return last ? [{ id: last.id, data: { droppableContainer: last, value: 0 } }] : null;
|
|
40179
|
+
};
|
|
40180
|
+
return {
|
|
40181
|
+
detect: (args) => {
|
|
40182
|
+
if (settling) {
|
|
40183
|
+
const frozen = keepLastTarget(args);
|
|
40184
|
+
if (frozen) return frozen;
|
|
40185
|
+
}
|
|
40186
|
+
const pointerHits = args.pointerCoordinates ? _core.pointerWithin.call(void 0, args) : [];
|
|
40187
|
+
if (args.pointerCoordinates && pointerHits.length === 0) {
|
|
40188
|
+
const held = keepLastTarget(args);
|
|
40189
|
+
if (held) return held;
|
|
40190
|
+
}
|
|
40191
|
+
const collisions = detectCollisions(args, pointerHits);
|
|
40192
|
+
if (collisions.length > 0) lastOverId = collisions[0].id;
|
|
40193
|
+
return collisions;
|
|
40194
|
+
},
|
|
40195
|
+
freeze: () => {
|
|
40196
|
+
settling = true;
|
|
40197
|
+
scheduleRelease();
|
|
40198
|
+
},
|
|
40199
|
+
settle: () => {
|
|
40200
|
+
if (settling) scheduleRelease();
|
|
40201
|
+
},
|
|
40202
|
+
release: () => {
|
|
40203
|
+
clearFrame();
|
|
40204
|
+
settling = false;
|
|
40205
|
+
lastOverId = null;
|
|
40206
|
+
},
|
|
40207
|
+
dispose: clearFrame
|
|
40208
|
+
};
|
|
40209
|
+
}
|
|
40210
|
+
|
|
40095
40211
|
// src/components/features/board/use-board-collapse.ts
|
|
40096
40212
|
|
|
40097
40213
|
function useBoardCollapse(storageKey) {
|
|
@@ -40146,45 +40262,38 @@ function Board({
|
|
|
40146
40262
|
onThumbPointerMove,
|
|
40147
40263
|
onThumbPointerUp
|
|
40148
40264
|
} = _chunk5RJUHUCIcjs.useHorizontalScrollbar.call(void 0, );
|
|
40149
|
-
const [items, setItems] =
|
|
40150
|
-
const isDraggingRef =
|
|
40151
|
-
|
|
40265
|
+
const [items, setItems] = _react.useState.call(void 0, columns);
|
|
40266
|
+
const isDraggingRef = _react.useRef.call(void 0, false);
|
|
40267
|
+
_react.useEffect.call(void 0, () => {
|
|
40152
40268
|
if (!isDraggingRef.current) setItems(columns);
|
|
40153
40269
|
}, [columns]);
|
|
40154
|
-
const dragOriginRef =
|
|
40155
|
-
const [activeTicket, setActiveTicket] =
|
|
40270
|
+
const dragOriginRef = _react.useRef.call(void 0, null);
|
|
40271
|
+
const [activeTicket, setActiveTicket] = _react.useState.call(void 0, null);
|
|
40156
40272
|
const sensors = _core.useSensors.call(void 0,
|
|
40157
40273
|
_core.useSensor.call(void 0, _core.PointerSensor, { activationConstraint: { distance: 6 } }),
|
|
40158
40274
|
_core.useSensor.call(void 0, _core.KeyboardSensor, { coordinateGetter: _sortable.sortableKeyboardCoordinates })
|
|
40159
40275
|
);
|
|
40160
|
-
const
|
|
40161
|
-
|
|
40162
|
-
|
|
40163
|
-
|
|
40164
|
-
|
|
40165
|
-
|
|
40166
|
-
|
|
40167
|
-
|
|
40168
|
-
|
|
40169
|
-
);
|
|
40170
|
-
if (
|
|
40171
|
-
|
|
40172
|
-
|
|
40173
|
-
|
|
40174
|
-
|
|
40175
|
-
});
|
|
40176
|
-
if (ticketsInColumn.length > 0) {
|
|
40177
|
-
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
40178
|
-
if (closest.length > 0) return closest;
|
|
40179
|
-
}
|
|
40180
|
-
return [columnHit];
|
|
40181
|
-
}
|
|
40182
|
-
return _core.closestCorners.call(void 0, args);
|
|
40276
|
+
const dropTarget = _react.useMemo.call(void 0, () => createDropTargetResolver(), []);
|
|
40277
|
+
_react.useEffect.call(void 0, () => dropTarget.dispose, [dropTarget]);
|
|
40278
|
+
_react.useEffect.call(void 0, () => {
|
|
40279
|
+
dropTarget.settle();
|
|
40280
|
+
}, [items, dropTarget]);
|
|
40281
|
+
const toggleRef = _react.useRef.call(void 0, toggle);
|
|
40282
|
+
toggleRef.current = toggle;
|
|
40283
|
+
const collapseHandlers = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
40284
|
+
const collapseHandlerFor = _react.useCallback.call(void 0, (columnId) => {
|
|
40285
|
+
let handler = collapseHandlers.current.get(columnId);
|
|
40286
|
+
if (!handler) {
|
|
40287
|
+
handler = () => toggleRef.current(columnId);
|
|
40288
|
+
collapseHandlers.current.set(columnId, handler);
|
|
40289
|
+
}
|
|
40290
|
+
return handler;
|
|
40183
40291
|
}, []);
|
|
40184
40292
|
const handleDragStart = (e) => {
|
|
40185
40293
|
const id = String(e.active.id);
|
|
40186
40294
|
const located = locate(items, id);
|
|
40187
40295
|
if (!located) return;
|
|
40296
|
+
dropTarget.release();
|
|
40188
40297
|
isDraggingRef.current = true;
|
|
40189
40298
|
dragOriginRef.current = { ticketId: id, fromColumnId: located.columnId };
|
|
40190
40299
|
setActiveTicket({ ticket: located.ticket, columnId: located.columnId });
|
|
@@ -40196,20 +40305,21 @@ function Board({
|
|
|
40196
40305
|
const overId = String(over.id);
|
|
40197
40306
|
if (activeId === overId) return;
|
|
40198
40307
|
const overData = over.data.current;
|
|
40199
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
40200
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
40308
|
+
const fromColumnId = _optionalChain([locate, 'call', _891 => _891(items, activeId), 'optionalAccess', _892 => _892.columnId]);
|
|
40309
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _893 => _893.columnId]);
|
|
40201
40310
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
40202
40311
|
const origin = dragOriginRef.current;
|
|
40203
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
40312
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _894 => _894.fromColumnId]) === toColumnId;
|
|
40204
40313
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
40205
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
40206
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
40314
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _895 => _895.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
40315
|
+
if (_optionalChain([targetCol, 'optionalAccess', _896 => _896.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
40316
|
+
dropTarget.freeze();
|
|
40207
40317
|
setItems((prev) => {
|
|
40208
40318
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
40209
40319
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
40210
40320
|
if (fromIndex < 0 || !toCol) return prev;
|
|
40211
40321
|
let toIndex;
|
|
40212
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
40322
|
+
if (_optionalChain([overData, 'optionalAccess', _897 => _897.type]) === "column") {
|
|
40213
40323
|
toIndex = toCol.tickets.length;
|
|
40214
40324
|
} else {
|
|
40215
40325
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -40238,6 +40348,7 @@ function Board({
|
|
|
40238
40348
|
dragOriginRef.current = null;
|
|
40239
40349
|
setActiveTicket(null);
|
|
40240
40350
|
isDraggingRef.current = false;
|
|
40351
|
+
dropTarget.release();
|
|
40241
40352
|
const { over } = e;
|
|
40242
40353
|
if (!over || !origin) {
|
|
40243
40354
|
setItems(columns);
|
|
@@ -40251,14 +40362,14 @@ function Board({
|
|
|
40251
40362
|
const toColumnId = located.columnId;
|
|
40252
40363
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
40253
40364
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
40254
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
40365
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _898 => _898.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _899 => _899.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
40255
40366
|
setItems(columns);
|
|
40256
40367
|
return;
|
|
40257
40368
|
}
|
|
40258
40369
|
let finalIndex = located.index;
|
|
40259
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
40370
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _900 => _900.find, 'call', _901 => _901((c) => c.id === toColumnId), 'optionalAccess', _902 => _902.tickets]), () => ( []));
|
|
40260
40371
|
const overData = over.data.current;
|
|
40261
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
40372
|
+
if (_optionalChain([overData, 'optionalAccess', _903 => _903.type]) === "ticket") {
|
|
40262
40373
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
40263
40374
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
40264
40375
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -40278,21 +40389,22 @@ function Board({
|
|
|
40278
40389
|
ticketId: origin.ticketId,
|
|
40279
40390
|
fromColumnId: origin.fromColumnId,
|
|
40280
40391
|
toColumnId,
|
|
40281
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
40282
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
40392
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _904 => _904[finalIndex - 1], 'optionalAccess', _905 => _905.id]), () => ( null)),
|
|
40393
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _906 => _906[finalIndex + 1], 'optionalAccess', _907 => _907.id]), () => ( null))
|
|
40283
40394
|
});
|
|
40284
40395
|
};
|
|
40285
40396
|
const handleDragCancel = () => {
|
|
40286
40397
|
dragOriginRef.current = null;
|
|
40287
40398
|
setActiveTicket(null);
|
|
40288
40399
|
isDraggingRef.current = false;
|
|
40400
|
+
dropTarget.release();
|
|
40289
40401
|
setItems(columns);
|
|
40290
40402
|
};
|
|
40291
40403
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
40292
40404
|
_core.DndContext,
|
|
40293
40405
|
{
|
|
40294
40406
|
sensors,
|
|
40295
|
-
collisionDetection,
|
|
40407
|
+
collisionDetection: dropTarget.detect,
|
|
40296
40408
|
onDragStart: handleDragStart,
|
|
40297
40409
|
onDragOver: handleDragOver,
|
|
40298
40410
|
onDragEnd: handleDragEnd,
|
|
@@ -40308,17 +40420,17 @@ function Board({
|
|
|
40308
40420
|
children: items.map((column, i) => {
|
|
40309
40421
|
const prev = items[i - 1];
|
|
40310
40422
|
const next = items[i + 1];
|
|
40311
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
40312
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
40423
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _908 => _908.system]));
|
|
40424
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _909 => _909.system]));
|
|
40313
40425
|
const showGap = i > 0 && !joinLeft;
|
|
40314
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
40426
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
|
|
40315
40427
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
40316
40428
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
40317
40429
|
BoardColumn,
|
|
40318
40430
|
{
|
|
40319
40431
|
column,
|
|
40320
40432
|
collapsed: !!collapsed[column.id],
|
|
40321
|
-
onToggleCollapse: (
|
|
40433
|
+
onToggleCollapse: collapseHandlerFor(column.id),
|
|
40322
40434
|
onAddTicket,
|
|
40323
40435
|
onArchive: onArchiveColumn,
|
|
40324
40436
|
getTicketHref,
|
|
@@ -40362,7 +40474,7 @@ function Board({
|
|
|
40362
40474
|
{
|
|
40363
40475
|
ticket: activeTicket.ticket,
|
|
40364
40476
|
columnId: activeTicket.columnId,
|
|
40365
|
-
columnColor: _optionalChain([items, 'access',
|
|
40477
|
+
columnColor: _optionalChain([items, 'access', _910 => _910.find, 'call', _911 => _911((c) => c.id === activeTicket.columnId), 'optionalAccess', _912 => _912.color]),
|
|
40366
40478
|
isOverlay: true
|
|
40367
40479
|
}
|
|
40368
40480
|
) : null })
|
|
@@ -40378,7 +40490,7 @@ function locate(cols, ticketId) {
|
|
|
40378
40490
|
return null;
|
|
40379
40491
|
}
|
|
40380
40492
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
40381
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
40493
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _913 => _913.find, 'call', _914 => _914((c) => c.id === columnId), 'optionalAccess', _915 => _915.tickets, 'access', _916 => _916.findIndex, 'call', _917 => _917((t) => t.id === ticketId)]), () => ( -1));
|
|
40382
40494
|
}
|
|
40383
40495
|
|
|
40384
40496
|
// src/components/features/board/types.ts
|
|
@@ -40469,7 +40581,7 @@ function TicketStatusConfigList({
|
|
|
40469
40581
|
if (oldIndex === -1 || newIndex === -1) return;
|
|
40470
40582
|
onReorder(oldIndex, newIndex);
|
|
40471
40583
|
};
|
|
40472
|
-
const sortableIds =
|
|
40584
|
+
const sortableIds = React111.useMemo(() => items.map((i) => i.id), [items]);
|
|
40473
40585
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _core.DndContext, { sensors, collisionDetection: _core.closestCenter, onDragEnd: handleDragEnd, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _sortable.SortableContext, { items: sortableIds, strategy: _sortable.verticalListSortingStrategy, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className), children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { id: item.id, children: (args) => renderRow(item, args) }, item.id)) }) }) });
|
|
40474
40586
|
}
|
|
40475
40587
|
function SortableRow({
|
|
@@ -40509,7 +40621,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
|
|
|
40509
40621
|
"aria-label": label,
|
|
40510
40622
|
onClick: (e) => {
|
|
40511
40623
|
window.dispatchEvent(new CustomEvent("ask-ai:open", { detail: { source: _nullishCoalesce(source, () => ( "")) } }));
|
|
40512
|
-
_optionalChain([onClick, 'optionalCall',
|
|
40624
|
+
_optionalChain([onClick, 'optionalCall', _918 => _918(e)]);
|
|
40513
40625
|
},
|
|
40514
40626
|
className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
40515
40627
|
// Unified ODS top-navigation cell (Figma 2797-6808 desktop /
|
|
@@ -40568,7 +40680,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
40568
40680
|
if (item.onClick) {
|
|
40569
40681
|
item.onClick();
|
|
40570
40682
|
}
|
|
40571
|
-
_optionalChain([config, 'access',
|
|
40683
|
+
_optionalChain([config, 'access', _919 => _919.onClose, 'optionalCall', _920 => _920()]);
|
|
40572
40684
|
};
|
|
40573
40685
|
if (item.href) {
|
|
40574
40686
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -40685,7 +40797,7 @@ var ANON_DEFAULTS = {
|
|
|
40685
40797
|
function useResolveChatIdentity(enabled) {
|
|
40686
40798
|
const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
|
|
40687
40799
|
const url = runtime.endpoints.identityUrl;
|
|
40688
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk5RJUHUCIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
40800
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk5RJUHUCIcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _921 => _921.email]), () => ( null));
|
|
40689
40801
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
40690
40802
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
40691
40803
|
_react.useEffect.call(void 0, () => {
|
|
@@ -40740,12 +40852,12 @@ var stampMs = (stamp) => {
|
|
|
40740
40852
|
return Number.isNaN(ms) ? 0 : ms;
|
|
40741
40853
|
};
|
|
40742
40854
|
var INVALIDATE_DEBOUNCE_MS = 1500;
|
|
40743
|
-
var TicketLiveContext =
|
|
40855
|
+
var TicketLiveContext = React126.default.createContext(null);
|
|
40744
40856
|
function useOptionalTicketLive() {
|
|
40745
|
-
return
|
|
40857
|
+
return React126.default.useContext(TicketLiveContext);
|
|
40746
40858
|
}
|
|
40747
40859
|
function useTicketLive() {
|
|
40748
|
-
const ctx =
|
|
40860
|
+
const ctx = React126.default.useContext(TicketLiveContext);
|
|
40749
40861
|
if (!ctx) {
|
|
40750
40862
|
throw new Error("useTicketLive must be used within <TicketLiveProvider>");
|
|
40751
40863
|
}
|
|
@@ -40761,16 +40873,16 @@ function TicketLiveProvider({ children }) {
|
|
|
40761
40873
|
const runtime = _chunk7OPWSWEJcjs.useChatRuntime.call(void 0, );
|
|
40762
40874
|
const identity = useChatIdentity();
|
|
40763
40875
|
const queryClient = _reactquery.useQueryClient.call(void 0, );
|
|
40764
|
-
const streamUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
40765
|
-
const readUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
|
40766
|
-
const authed = identity.authTier !== "anon" && !!_optionalChain([identity, 'access',
|
|
40767
|
-
const [connected, setConnected] =
|
|
40768
|
-
const [summary, setSummary] =
|
|
40769
|
-
const [openTicketIdState, setOpenTicketIdState] =
|
|
40770
|
-
const openTicketIdRef =
|
|
40771
|
-
const pendingTicketIdsRef =
|
|
40772
|
-
const invalidateTimerRef =
|
|
40773
|
-
const flushInvalidations =
|
|
40876
|
+
const streamUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _922 => _922.endpoints, 'access', _923 => _923.ticketStreamUrl]), () => ( TICKET_STREAM_ENDPOINT));
|
|
40877
|
+
const readUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _924 => _924.endpoints, 'access', _925 => _925.ticketReadUrl]), () => ( TICKET_READ_ENDPOINT));
|
|
40878
|
+
const authed = identity.authTier !== "anon" && !!_optionalChain([identity, 'access', _926 => _926.user, 'optionalAccess', _927 => _927.email]);
|
|
40879
|
+
const [connected, setConnected] = React126.default.useState(false);
|
|
40880
|
+
const [summary, setSummary] = React126.default.useState(EMPTY_SUMMARY);
|
|
40881
|
+
const [openTicketIdState, setOpenTicketIdState] = React126.default.useState(null);
|
|
40882
|
+
const openTicketIdRef = React126.default.useRef(null);
|
|
40883
|
+
const pendingTicketIdsRef = React126.default.useRef(/* @__PURE__ */ new Set());
|
|
40884
|
+
const invalidateTimerRef = React126.default.useRef(null);
|
|
40885
|
+
const flushInvalidations = React126.default.useCallback(() => {
|
|
40774
40886
|
invalidateTimerRef.current = null;
|
|
40775
40887
|
const ids = Array.from(pendingTicketIdsRef.current);
|
|
40776
40888
|
pendingTicketIdsRef.current.clear();
|
|
@@ -40779,7 +40891,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40779
40891
|
void queryClient.invalidateQueries({ queryKey: ["ticket-engagements", id] });
|
|
40780
40892
|
}
|
|
40781
40893
|
}, [queryClient]);
|
|
40782
|
-
const scheduleInvalidation =
|
|
40894
|
+
const scheduleInvalidation = React126.default.useCallback(
|
|
40783
40895
|
(ticketId) => {
|
|
40784
40896
|
if (ticketId) pendingTicketIdsRef.current.add(ticketId);
|
|
40785
40897
|
if (invalidateTimerRef.current) return;
|
|
@@ -40787,7 +40899,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40787
40899
|
},
|
|
40788
40900
|
[flushInvalidations]
|
|
40789
40901
|
);
|
|
40790
|
-
const bumpUnread =
|
|
40902
|
+
const bumpUnread = React126.default.useCallback((ticketId, createdAt) => {
|
|
40791
40903
|
setSummary((prev) => {
|
|
40792
40904
|
const stamp = _nullishCoalesce(createdAt, () => ( (/* @__PURE__ */ new Date()).toISOString()));
|
|
40793
40905
|
const existing = prev.latestUnreadAt[ticketId];
|
|
@@ -40801,7 +40913,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40801
40913
|
};
|
|
40802
40914
|
});
|
|
40803
40915
|
}, []);
|
|
40804
|
-
const zeroUnread =
|
|
40916
|
+
const zeroUnread = React126.default.useCallback((ticketId) => {
|
|
40805
40917
|
setSummary((prev) => {
|
|
40806
40918
|
const current = _nullishCoalesce(prev.tickets[ticketId], () => ( 0));
|
|
40807
40919
|
if (current === 0) return prev;
|
|
@@ -40812,9 +40924,9 @@ function TicketLiveProvider({ children }) {
|
|
|
40812
40924
|
return { totalUnread: Math.max(0, prev.totalUnread - current), tickets, latestUnreadAt };
|
|
40813
40925
|
});
|
|
40814
40926
|
}, []);
|
|
40815
|
-
const subscriptionRef =
|
|
40816
|
-
const noStreamRef =
|
|
40817
|
-
const handlersRef =
|
|
40927
|
+
const subscriptionRef = React126.default.useRef(null);
|
|
40928
|
+
const noStreamRef = React126.default.useRef(false);
|
|
40929
|
+
const handlersRef = React126.default.useRef({ onEvent: () => {
|
|
40818
40930
|
}, onStatus: () => {
|
|
40819
40931
|
}, onConnected: () => {
|
|
40820
40932
|
} });
|
|
@@ -40830,7 +40942,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40830
40942
|
handlersRef.current.onEvent = (eventName, data) => {
|
|
40831
40943
|
if (eventName === "ticket-summary") {
|
|
40832
40944
|
const frame = data;
|
|
40833
|
-
if (isSummaryData(_optionalChain([frame, 'optionalAccess',
|
|
40945
|
+
if (isSummaryData(_optionalChain([frame, 'optionalAccess', _928 => _928.data]))) {
|
|
40834
40946
|
setSummary({
|
|
40835
40947
|
totalUnread: frame.data.totalUnread,
|
|
40836
40948
|
tickets: _nullishCoalesce(frame.data.tickets, () => ( {})),
|
|
@@ -40845,13 +40957,13 @@ function TicketLiveProvider({ children }) {
|
|
|
40845
40957
|
}
|
|
40846
40958
|
if (eventName === "ticket-status") {
|
|
40847
40959
|
const frame = data;
|
|
40848
|
-
const ticketId = _optionalChain([frame, 'optionalAccess',
|
|
40960
|
+
const ticketId = _optionalChain([frame, 'optionalAccess', _929 => _929.data, 'optionalAccess', _930 => _930.ticket_external_id]);
|
|
40849
40961
|
scheduleInvalidation(ticketId);
|
|
40850
40962
|
return;
|
|
40851
40963
|
}
|
|
40852
40964
|
if (eventName === "ticket-message") {
|
|
40853
40965
|
const frame = data;
|
|
40854
|
-
const payload = _optionalChain([frame, 'optionalAccess',
|
|
40966
|
+
const payload = _optionalChain([frame, 'optionalAccess', _931 => _931.data]);
|
|
40855
40967
|
if (!isTicketMessageData(payload)) {
|
|
40856
40968
|
scheduleInvalidation();
|
|
40857
40969
|
return;
|
|
@@ -40867,7 +40979,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40867
40979
|
if (status === "no-stream") noStreamRef.current = true;
|
|
40868
40980
|
};
|
|
40869
40981
|
const streamEnabled = authed && !!streamUrl;
|
|
40870
|
-
|
|
40982
|
+
React126.default.useEffect(() => {
|
|
40871
40983
|
if (!streamEnabled) return;
|
|
40872
40984
|
if (typeof window === "undefined") return;
|
|
40873
40985
|
subscriptionRef.current = createSseSubscription({
|
|
@@ -40882,7 +40994,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40882
40994
|
const retryIfIdle = () => {
|
|
40883
40995
|
if (noStreamRef.current) {
|
|
40884
40996
|
noStreamRef.current = false;
|
|
40885
|
-
_optionalChain([subscriptionRef, 'access',
|
|
40997
|
+
_optionalChain([subscriptionRef, 'access', _932 => _932.current, 'optionalAccess', _933 => _933.reconnectNow, 'call', _934 => _934()]);
|
|
40886
40998
|
}
|
|
40887
40999
|
};
|
|
40888
41000
|
window.addEventListener("focus", retryIfIdle);
|
|
@@ -40892,13 +41004,13 @@ function TicketLiveProvider({ children }) {
|
|
|
40892
41004
|
clearTimeout(invalidateTimerRef.current);
|
|
40893
41005
|
invalidateTimerRef.current = null;
|
|
40894
41006
|
}
|
|
40895
|
-
_optionalChain([subscriptionRef, 'access',
|
|
41007
|
+
_optionalChain([subscriptionRef, 'access', _935 => _935.current, 'optionalAccess', _936 => _936.close, 'call', _937 => _937()]);
|
|
40896
41008
|
subscriptionRef.current = null;
|
|
40897
41009
|
setConnected(false);
|
|
40898
41010
|
setSummary(EMPTY_SUMMARY);
|
|
40899
41011
|
};
|
|
40900
41012
|
}, [streamEnabled, streamUrl]);
|
|
40901
|
-
const markRead =
|
|
41013
|
+
const markRead = React126.default.useCallback(
|
|
40902
41014
|
async (ticketExternalId) => {
|
|
40903
41015
|
try {
|
|
40904
41016
|
const response = await _chunk5RJUHUCIcjs.embedAuthedFetch.call(void 0, readUrl, {
|
|
@@ -40908,7 +41020,7 @@ function TicketLiveProvider({ children }) {
|
|
|
40908
41020
|
if (!response.ok) return;
|
|
40909
41021
|
zeroUnread(ticketExternalId);
|
|
40910
41022
|
const body = await response.json().catch(() => null);
|
|
40911
|
-
if (isSummaryData(_optionalChain([body, 'optionalAccess',
|
|
41023
|
+
if (isSummaryData(_optionalChain([body, 'optionalAccess', _938 => _938.summary]))) {
|
|
40912
41024
|
setSummary({
|
|
40913
41025
|
totalUnread: body.summary.totalUnread,
|
|
40914
41026
|
tickets: _nullishCoalesce(body.summary.tickets, () => ( {})),
|
|
@@ -40920,15 +41032,15 @@ function TicketLiveProvider({ children }) {
|
|
|
40920
41032
|
},
|
|
40921
41033
|
[readUrl, zeroUnread]
|
|
40922
41034
|
);
|
|
40923
|
-
const setOpenTicketId =
|
|
41035
|
+
const setOpenTicketId = React126.default.useCallback((ticketExternalId) => {
|
|
40924
41036
|
openTicketIdRef.current = ticketExternalId;
|
|
40925
41037
|
setOpenTicketIdState(ticketExternalId);
|
|
40926
41038
|
}, []);
|
|
40927
|
-
const notifyTicketCreated =
|
|
41039
|
+
const notifyTicketCreated = React126.default.useCallback(() => {
|
|
40928
41040
|
noStreamRef.current = false;
|
|
40929
|
-
_optionalChain([subscriptionRef, 'access',
|
|
41041
|
+
_optionalChain([subscriptionRef, 'access', _939 => _939.current, 'optionalAccess', _940 => _940.reconnectNow, 'call', _941 => _941()]);
|
|
40930
41042
|
}, []);
|
|
40931
|
-
const value =
|
|
41043
|
+
const value = React126.default.useMemo(() => {
|
|
40932
41044
|
let unreadByTicket = summary.tickets;
|
|
40933
41045
|
let unreadTotal = summary.totalUnread;
|
|
40934
41046
|
if (openTicketIdState && unreadByTicket[openTicketIdState]) {
|
|
@@ -41164,7 +41276,7 @@ function Header2({ config, platform }) {
|
|
|
41164
41276
|
}, [config.autoHide]);
|
|
41165
41277
|
const renderNavigationItem = (item) => {
|
|
41166
41278
|
if (item.element) {
|
|
41167
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41279
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: item.element }, item.id);
|
|
41168
41280
|
}
|
|
41169
41281
|
if (item.children && item.children.length > 0) {
|
|
41170
41282
|
const isOpen = openDropdowns[item.id] || false;
|
|
@@ -41237,7 +41349,7 @@ function Header2({ config, platform }) {
|
|
|
41237
41349
|
// explicit font-medium beats small-legacy's font-bold via
|
|
41238
41350
|
// tailwind-merge instead of stylesheet order.
|
|
41239
41351
|
"text-h6 font-medium",
|
|
41240
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
41352
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _942 => _942.children, 'optionalAccess', _943 => _943.length]), () => ( 0))) - 1 && "mb-1",
|
|
41241
41353
|
"text-ods-text-primary",
|
|
41242
41354
|
// All dropdown items use primary text color
|
|
41243
41355
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -41309,7 +41421,7 @@ function Header2({ config, platform }) {
|
|
|
41309
41421
|
);
|
|
41310
41422
|
};
|
|
41311
41423
|
const hasNav = !!config.navigation && config.navigation.items.length > 0;
|
|
41312
|
-
const hasCta = !!_optionalChain([config, 'access',
|
|
41424
|
+
const hasCta = !!_optionalChain([config, 'access', _944 => _944.actions, 'optionalAccess', _945 => _945.right, 'optionalAccess', _946 => _946.length]) || !!(_optionalChain([config, 'access', _947 => _947.actions, 'optionalAccess', _948 => _948.persistent]) && config.actions.persistent.length > 0);
|
|
41313
41425
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41314
41426
|
"div",
|
|
41315
41427
|
{
|
|
@@ -41326,19 +41438,19 @@ function Header2({ config, platform }) {
|
|
|
41326
41438
|
centerBreakpoint: "lg",
|
|
41327
41439
|
size: "big",
|
|
41328
41440
|
leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
41329
|
-
!!_optionalChain([config, 'access',
|
|
41330
|
-
_optionalChain([config, 'access',
|
|
41441
|
+
!!_optionalChain([config, 'access', _949 => _949.actions, 'optionalAccess', _950 => _950.left, 'optionalAccess', _951 => _951.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-r border-ods-border", children: config.actions.left }),
|
|
41442
|
+
_optionalChain([config, 'access', _952 => _952.mobile, 'optionalAccess', _953 => _953.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41331
41443
|
HeaderButton,
|
|
41332
41444
|
{
|
|
41333
41445
|
className: "lg:hidden border-r border-ods-border",
|
|
41334
41446
|
onClick: () => {
|
|
41335
|
-
_optionalChain([config, 'access',
|
|
41447
|
+
_optionalChain([config, 'access', _954 => _954.mobile, 'optionalAccess', _955 => _955.onToggle, 'optionalCall', _956 => _956()]);
|
|
41336
41448
|
},
|
|
41337
|
-
isActive: _nullishCoalesce(_optionalChain([config, 'access',
|
|
41338
|
-
"aria-label": _optionalChain([config, 'access',
|
|
41339
|
-
"aria-expanded": _nullishCoalesce(_optionalChain([config, 'access',
|
|
41340
|
-
"aria-controls": _optionalChain([config, 'access',
|
|
41341
|
-
icon: _optionalChain([config, 'access',
|
|
41449
|
+
isActive: _nullishCoalesce(_optionalChain([config, 'access', _957 => _957.mobile, 'optionalAccess', _958 => _958.isOpen]), () => ( false)),
|
|
41450
|
+
"aria-label": _optionalChain([config, 'access', _959 => _959.mobile, 'optionalAccess', _960 => _960.isOpen]) ? "Close menu" : "Open menu",
|
|
41451
|
+
"aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _961 => _961.mobile, 'optionalAccess', _962 => _962.isOpen]), () => ( false)),
|
|
41452
|
+
"aria-controls": _optionalChain([config, 'access', _963 => _963.mobile, 'optionalAccess', _964 => _964.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
|
|
41453
|
+
icon: _optionalChain([config, 'access', _965 => _965.mobile, 'optionalAccess', _966 => _966.isOpen]) ? _optionalChain([config, 'access', _967 => _967.mobile, 'optionalAccess', _968 => _968.closeIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.XmarkIcon, { className: "w-6 h-6" }) : _optionalChain([config, 'access', _969 => _969.mobile, 'optionalAccess', _970 => _970.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.Menu01Icon, { className: "w-6 h-6" })
|
|
41342
41454
|
}
|
|
41343
41455
|
)
|
|
41344
41456
|
] }),
|
|
@@ -41351,23 +41463,23 @@ function Header2({ config, platform }) {
|
|
|
41351
41463
|
"flex items-center gap-2",
|
|
41352
41464
|
// True centering relative to the bar (not the leftover flex
|
|
41353
41465
|
// space) — same treatment the pre-unification header had.
|
|
41354
|
-
_optionalChain([config, 'access',
|
|
41466
|
+
_optionalChain([config, 'access', _971 => _971.navigation, 'optionalAccess', _972 => _972.position]) === "center" && "absolute left-1/2 -translate-x-1/2"
|
|
41355
41467
|
),
|
|
41356
41468
|
role: "navigation",
|
|
41357
41469
|
"aria-label": "Main navigation",
|
|
41358
|
-
children: _optionalChain([config, 'access',
|
|
41470
|
+
children: _optionalChain([config, 'access', _973 => _973.navigation, 'optionalAccess', _974 => _974.items, 'access', _975 => _975.map, 'call', _976 => _976(renderNavigationItem)])
|
|
41359
41471
|
}
|
|
41360
41472
|
) : void 0,
|
|
41361
41473
|
centerClassName: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
41362
|
-
_optionalChain([config, 'access',
|
|
41363
|
-
_optionalChain([config, 'access',
|
|
41474
|
+
_optionalChain([config, 'access', _977 => _977.navigation, 'optionalAccess', _978 => _978.position]) === "left" && "justify-start",
|
|
41475
|
+
_optionalChain([config, 'access', _979 => _979.navigation, 'optionalAccess', _980 => _980.position]) === "right" && "justify-end pr-[var(--spacing-system-m)]"
|
|
41364
41476
|
),
|
|
41365
41477
|
cta: hasCta ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
41366
|
-
!!_optionalChain([config, 'access',
|
|
41367
|
-
_optionalChain([config, 'access',
|
|
41478
|
+
!!_optionalChain([config, 'access', _981 => _981.actions, 'optionalAccess', _982 => _982.right, 'optionalAccess', _983 => _983.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
|
|
41479
|
+
_optionalChain([config, 'access', _984 => _984.actions, 'optionalAccess', _985 => _985.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent })
|
|
41368
41480
|
] }) : void 0,
|
|
41369
41481
|
ctaClassName: "gap-3",
|
|
41370
|
-
sideActions: config.tickets || _optionalChain([config, 'access',
|
|
41482
|
+
sideActions: config.tickets || _optionalChain([config, 'access', _986 => _986.mingo, 'optionalAccess', _987 => _987.enabled]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
41371
41483
|
config.tickets && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41372
41484
|
TicketAlertsButton,
|
|
41373
41485
|
{
|
|
@@ -41376,7 +41488,7 @@ function Header2({ config, platform }) {
|
|
|
41376
41488
|
className: "border-l border-ods-border"
|
|
41377
41489
|
}
|
|
41378
41490
|
),
|
|
41379
|
-
_optionalChain([config, 'access',
|
|
41491
|
+
_optionalChain([config, 'access', _988 => _988.mingo, 'optionalAccess', _989 => _989.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41380
41492
|
MingoAiButton,
|
|
41381
41493
|
{
|
|
41382
41494
|
source: config.mingo.source,
|
|
@@ -41398,17 +41510,17 @@ function Header2({ config, platform }) {
|
|
|
41398
41510
|
// src/components/navigation/header-skeleton.tsx
|
|
41399
41511
|
|
|
41400
41512
|
function HeaderSkeleton({ config }) {
|
|
41401
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
41402
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
41403
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
41404
|
-
const showLeftActions = !!_optionalChain([config, 'optionalAccess',
|
|
41513
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _990 => _990.navigation]) && config.navigation.items.length > 0;
|
|
41514
|
+
const showActions = _optionalChain([config, 'optionalAccess', _991 => _991.actions, 'optionalAccess', _992 => _992.right]) && config.actions.right.length > 0;
|
|
41515
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _993 => _993.mobile, 'optionalAccess', _994 => _994.enabled]);
|
|
41516
|
+
const showLeftActions = !!_optionalChain([config, 'optionalAccess', _995 => _995.actions, 'optionalAccess', _996 => _996.left]);
|
|
41405
41517
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-[50] w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
41406
41518
|
"header",
|
|
41407
41519
|
{
|
|
41408
41520
|
className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
41409
41521
|
"flex h-[72px] w-full items-center border-b border-t border-ods-border md:border-t-0",
|
|
41410
|
-
_optionalChain([config, 'optionalAccess',
|
|
41411
|
-
_optionalChain([config, 'optionalAccess',
|
|
41522
|
+
_optionalChain([config, 'optionalAccess', _997 => _997.backgroundColor]) || "bg-ods-card",
|
|
41523
|
+
_optionalChain([config, 'optionalAccess', _998 => _998.className])
|
|
41412
41524
|
),
|
|
41413
41525
|
children: [
|
|
41414
41526
|
showLeftActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-[72px] items-center justify-center border-r border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 animate-pulse rounded bg-ods-border" }) }),
|
|
@@ -41423,7 +41535,7 @@ function HeaderSkeleton({ config }) {
|
|
|
41423
41535
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-24 animate-pulse rounded bg-ods-border" })
|
|
41424
41536
|
] }) }),
|
|
41425
41537
|
showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden h-full items-center px-[var(--spacing-system-m)] lg:flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-24 animate-pulse rounded bg-ods-border" }) }),
|
|
41426
|
-
_optionalChain([config, 'optionalAccess',
|
|
41538
|
+
_optionalChain([config, 'optionalAccess', _999 => _999.mingo, 'optionalAccess', _1000 => _1000.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-l border-ods-border px-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 animate-pulse rounded bg-ods-border md:w-28" }) })
|
|
41427
41539
|
]
|
|
41428
41540
|
}
|
|
41429
41541
|
) });
|
|
@@ -41530,7 +41642,7 @@ function SlidingSidebar({ config }) {
|
|
|
41530
41642
|
variant: "transparent",
|
|
41531
41643
|
size: "default",
|
|
41532
41644
|
onClick: () => {
|
|
41533
|
-
_optionalChain([item, 'access',
|
|
41645
|
+
_optionalChain([item, 'access', _1001 => _1001.onClick, 'optionalCall', _1002 => _1002()]);
|
|
41534
41646
|
config.onClose();
|
|
41535
41647
|
},
|
|
41536
41648
|
leftIcon: item.icon,
|
|
@@ -41553,7 +41665,7 @@ function SlidingSidebar({ config }) {
|
|
|
41553
41665
|
variant: "transparent",
|
|
41554
41666
|
size: "default",
|
|
41555
41667
|
onClick: () => {
|
|
41556
|
-
_optionalChain([item, 'access',
|
|
41668
|
+
_optionalChain([item, 'access', _1003 => _1003.onClick, 'optionalCall', _1004 => _1004()]);
|
|
41557
41669
|
config.onClose();
|
|
41558
41670
|
},
|
|
41559
41671
|
leftIcon: item.icon,
|
|
@@ -41685,7 +41797,7 @@ function StickySectionNav({
|
|
|
41685
41797
|
] });
|
|
41686
41798
|
}
|
|
41687
41799
|
function useSectionNavigation(sections, options) {
|
|
41688
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
41800
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _1005 => _1005[0], 'optionalAccess', _1006 => _1006.id]) || "");
|
|
41689
41801
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
41690
41802
|
const { offset: offset2 = 100 } = options || {};
|
|
41691
41803
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -41709,7 +41821,7 @@ function useSectionNavigation(sections, options) {
|
|
|
41709
41821
|
const handleScroll = () => {
|
|
41710
41822
|
if (isScrollingFromClick.current) return;
|
|
41711
41823
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
41712
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
41824
|
+
let currentSection = _optionalChain([sections, 'access', _1007 => _1007[0], 'optionalAccess', _1008 => _1008.id]) || "";
|
|
41713
41825
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
41714
41826
|
const element = document.getElementById(sections[i].id);
|
|
41715
41827
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -41925,7 +42037,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
41925
42037
|
} else {
|
|
41926
42038
|
setDesktopMinimized((prev) => !prev);
|
|
41927
42039
|
}
|
|
41928
|
-
_optionalChain([config, 'access',
|
|
42040
|
+
_optionalChain([config, 'access', _1009 => _1009.onToggleMinimized, 'optionalCall', _1010 => _1010()]);
|
|
41929
42041
|
}, [isTablet, setDesktopMinimized, config]);
|
|
41930
42042
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
41931
42043
|
setTabletMinimized(true);
|
|
@@ -41940,14 +42052,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
41940
42052
|
}, [isOverlayOpen, closeOverlay]);
|
|
41941
42053
|
const [pendingItemId, setPendingItemId] = _react.useState.call(void 0, null);
|
|
41942
42054
|
const committedActiveId = _react.useMemo.call(void 0,
|
|
41943
|
-
() => _nullishCoalesce(_optionalChain([config, 'access',
|
|
42055
|
+
() => _nullishCoalesce(_optionalChain([config, 'access', _1011 => _1011.items, 'access', _1012 => _1012.find, 'call', _1013 => _1013((item) => item.isActive), 'optionalAccess', _1014 => _1014.id]), () => ( null)),
|
|
41944
42056
|
[config.items]
|
|
41945
42057
|
);
|
|
41946
42058
|
_react.useEffect.call(void 0, () => {
|
|
41947
42059
|
setPendingItemId(null);
|
|
41948
42060
|
}, [committedActiveId]);
|
|
41949
42061
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
41950
|
-
_optionalChain([event, 'optionalAccess',
|
|
42062
|
+
_optionalChain([event, 'optionalAccess', _1015 => _1015.stopPropagation, 'call', _1016 => _1016()]);
|
|
41951
42063
|
if (item.onClick) {
|
|
41952
42064
|
item.onClick();
|
|
41953
42065
|
if (isTablet) setTabletMinimized(true);
|
|
@@ -41956,7 +42068,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
41956
42068
|
if (!item.path) return;
|
|
41957
42069
|
if (isModifiedClick(event)) return;
|
|
41958
42070
|
if (config.onNavigate) {
|
|
41959
|
-
_optionalChain([event, 'optionalAccess',
|
|
42071
|
+
_optionalChain([event, 'optionalAccess', _1017 => _1017.preventDefault, 'call', _1018 => _1018()]);
|
|
41960
42072
|
if (item.id !== committedActiveId) setPendingItemId(item.id);
|
|
41961
42073
|
config.onNavigate(item.path);
|
|
41962
42074
|
}
|
|
@@ -41968,13 +42080,13 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
41968
42080
|
}), [config.items]);
|
|
41969
42081
|
const loadingRows = _react.useMemo.call(void 0, () => {
|
|
41970
42082
|
if (!config.loading) return null;
|
|
41971
|
-
const primary = _nullishCoalesce(_optionalChain([config, 'access',
|
|
41972
|
-
const secondary = _nullishCoalesce(_optionalChain([config, 'access',
|
|
42083
|
+
const primary = _nullishCoalesce(_optionalChain([config, 'access', _1019 => _1019.loadingRows, 'optionalAccess', _1020 => _1020.primary]), () => ( 7));
|
|
42084
|
+
const secondary = _nullishCoalesce(_optionalChain([config, 'access', _1021 => _1021.loadingRows, 'optionalAccess', _1022 => _1022.secondary]), () => ( 2));
|
|
41973
42085
|
return {
|
|
41974
42086
|
primary: Array.from({ length: Math.max(0, primary) }, (_, i) => `primary-${i}`),
|
|
41975
42087
|
secondary: Array.from({ length: Math.max(0, secondary) }, (_, i) => `secondary-${i}`)
|
|
41976
42088
|
};
|
|
41977
|
-
}, [config.loading, _optionalChain([config, 'access',
|
|
42089
|
+
}, [config.loading, _optionalChain([config, 'access', _1023 => _1023.loadingRows, 'optionalAccess', _1024 => _1024.primary]), _optionalChain([config, 'access', _1025 => _1025.loadingRows, 'optionalAccess', _1026 => _1026.secondary])]);
|
|
41978
42090
|
const sidebarWidth = _react.useMemo.call(void 0,
|
|
41979
42091
|
() => minimized ? `${MINIMIZED_WIDTH}px` : `${EXPANDED_WIDTH}px`,
|
|
41980
42092
|
[minimized]
|
|
@@ -42025,7 +42137,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
42025
42137
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebarHeader, { minimized }),
|
|
42026
42138
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col justify-between py-4 overflow-y-auto", children: [
|
|
42027
42139
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
42028
|
-
_optionalChain([config, 'access',
|
|
42140
|
+
_optionalChain([config, 'access', _1027 => _1027.topSlot, 'optionalCall', _1028 => _1028({ minimized })]),
|
|
42029
42141
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { className: "flex flex-col", "aria-label": "Primary navigation", "aria-busy": !!loadingRows, children: loadingRows ? loadingRows.primary.map((key) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebarItemSkeleton, { showLabel }, key)) : primaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42030
42142
|
NavigationSidebarItemButton,
|
|
42031
42143
|
{
|
|
@@ -42081,7 +42193,7 @@ function HeaderGlobalSearch({
|
|
|
42081
42193
|
placeholder = "Global Search",
|
|
42082
42194
|
className
|
|
42083
42195
|
}) {
|
|
42084
|
-
const [internalValue, setInternalValue] =
|
|
42196
|
+
const [internalValue, setInternalValue] = React126.default.useState(value);
|
|
42085
42197
|
const currentValue = onChange ? value : internalValue;
|
|
42086
42198
|
const handleChange = (e) => {
|
|
42087
42199
|
const newValue = e.target.value;
|
|
@@ -42093,11 +42205,11 @@ function HeaderGlobalSearch({
|
|
|
42093
42205
|
};
|
|
42094
42206
|
const handleSubmit = (e) => {
|
|
42095
42207
|
e.preventDefault();
|
|
42096
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
42208
|
+
_optionalChain([onSubmit, 'optionalCall', _1029 => _1029(currentValue)]);
|
|
42097
42209
|
};
|
|
42098
42210
|
const handleKeyDown = (e) => {
|
|
42099
42211
|
if (e.key === "Enter") {
|
|
42100
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
42212
|
+
_optionalChain([onSubmit, 'optionalCall', _1030 => _1030(currentValue)]);
|
|
42101
42213
|
}
|
|
42102
42214
|
};
|
|
42103
42215
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -42200,8 +42312,8 @@ function HeaderOrganizationFilter({
|
|
|
42200
42312
|
className
|
|
42201
42313
|
}) {
|
|
42202
42314
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
42203
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
42204
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
42315
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _1031 => _1031.name]) || "All Organizations";
|
|
42316
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _1032 => _1032.deviceCount]), () => ( totalDeviceCount));
|
|
42205
42317
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDCB4EBA5cjs.DropdownMenu, { children: [
|
|
42206
42318
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDCB4EBA5cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
42207
42319
|
"button",
|
|
@@ -42227,11 +42339,11 @@ function HeaderOrganizationFilter({
|
|
|
42227
42339
|
}
|
|
42228
42340
|
) }),
|
|
42229
42341
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDCB4EBA5cjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
42230
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDCB4EBA5cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
42342
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDCB4EBA5cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _1033 => _1033("")]), children: "All Organizations" }),
|
|
42231
42343
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42232
42344
|
_chunkDCB4EBA5cjs.DropdownMenuItem,
|
|
42233
42345
|
{
|
|
42234
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
42346
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _1034 => _1034(org.id)]),
|
|
42235
42347
|
children: org.name
|
|
42236
42348
|
},
|
|
42237
42349
|
org.id
|
|
@@ -42242,7 +42354,7 @@ function HeaderOrganizationFilter({
|
|
|
42242
42354
|
|
|
42243
42355
|
// src/components/navigation/app-header.tsx
|
|
42244
42356
|
|
|
42245
|
-
var AppHeader =
|
|
42357
|
+
var AppHeader = React126.default.memo(function AppHeader2({
|
|
42246
42358
|
showSearch,
|
|
42247
42359
|
onSearch,
|
|
42248
42360
|
showOrganizations,
|
|
@@ -42452,9 +42564,9 @@ var AppHeader = React129.default.memo(function AppHeader2({
|
|
|
42452
42564
|
});
|
|
42453
42565
|
function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
|
|
42454
42566
|
const ctx = useOptionalNotifications();
|
|
42455
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
42456
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
42457
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
42567
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _1035 => _1035.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
42568
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _1036 => _1036.isOpen]), () => ( false));
|
|
42569
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _1037 => _1037.toggle]);
|
|
42458
42570
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42459
42571
|
HeaderButton,
|
|
42460
42572
|
{
|
|
@@ -42531,7 +42643,7 @@ function AppHeaderSkeleton({
|
|
|
42531
42643
|
|
|
42532
42644
|
|
|
42533
42645
|
var HEADER_HEIGHT = 56;
|
|
42534
|
-
var MobileBurgerMenu =
|
|
42646
|
+
var MobileBurgerMenu = React126.default.memo(function MobileBurgerMenu2({
|
|
42535
42647
|
isOpen,
|
|
42536
42648
|
onClose,
|
|
42537
42649
|
config,
|
|
@@ -42548,7 +42660,7 @@ var MobileBurgerMenu = React129.default.memo(function MobileBurgerMenu2({
|
|
|
42548
42660
|
if (item.onClick) {
|
|
42549
42661
|
item.onClick();
|
|
42550
42662
|
} else if (item.path) {
|
|
42551
|
-
_optionalChain([config, 'access',
|
|
42663
|
+
_optionalChain([config, 'access', _1038 => _1038.onNavigate, 'optionalCall', _1039 => _1039(item.path)]);
|
|
42552
42664
|
}
|
|
42553
42665
|
onClose();
|
|
42554
42666
|
}, [config, onClose]);
|
|
@@ -42575,7 +42687,7 @@ var MobileBurgerMenu = React129.default.memo(function MobileBurgerMenu2({
|
|
|
42575
42687
|
),
|
|
42576
42688
|
"aria-current": isActive ? "page" : void 0,
|
|
42577
42689
|
children: [
|
|
42578
|
-
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children:
|
|
42690
|
+
item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children: React126.default.cloneElement(item.icon, {
|
|
42579
42691
|
size: 16,
|
|
42580
42692
|
color: isActive && !disabled ? "var(--color-accent-primary)" : "var(--color-text-secondary)"
|
|
42581
42693
|
}) }),
|
|
@@ -42588,7 +42700,7 @@ var MobileBurgerMenu = React129.default.memo(function MobileBurgerMenu2({
|
|
|
42588
42700
|
item.id
|
|
42589
42701
|
);
|
|
42590
42702
|
};
|
|
42591
|
-
const renderNavigationGrid = (items) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-3", children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42703
|
+
const renderNavigationGrid = (items) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 gap-3", children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderNavigationItem(item, true) }, item.id)) });
|
|
42592
42704
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
42593
42705
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42594
42706
|
"div",
|
|
@@ -42678,9 +42790,9 @@ var MobileBurgerMenu = React129.default.memo(function MobileBurgerMenu2({
|
|
|
42678
42790
|
]
|
|
42679
42791
|
}
|
|
42680
42792
|
),
|
|
42681
|
-
_optionalChain([config, 'access',
|
|
42793
|
+
_optionalChain([config, 'access', _1040 => _1040.topSlot, 'optionalCall', _1041 => _1041({ minimized: false })]),
|
|
42682
42794
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Primary navigation", children: renderNavigationGrid(primaryItems) }),
|
|
42683
|
-
secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
42795
|
+
secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React126.default.Fragment, { children: renderNavigationItem(item, false) }, item.id)) }),
|
|
42684
42796
|
onLogout && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
42685
42797
|
"button",
|
|
42686
42798
|
{
|
|
@@ -43146,7 +43258,7 @@ var ShellTypeBadge = ({
|
|
|
43146
43258
|
className,
|
|
43147
43259
|
iconClassName
|
|
43148
43260
|
}) => {
|
|
43149
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
43261
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _1042 => _1042.toUpperCase, 'call', _1043 => _1043()]);
|
|
43150
43262
|
const label = getShellLabel(normalizedType);
|
|
43151
43263
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
43152
43264
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -43363,7 +43475,7 @@ function OnboardingStepCard({
|
|
|
43363
43475
|
onSkip,
|
|
43364
43476
|
className
|
|
43365
43477
|
}) {
|
|
43366
|
-
const [isProcessing, setIsProcessing] =
|
|
43478
|
+
const [isProcessing, setIsProcessing] = React126.default.useState(false);
|
|
43367
43479
|
const handleAction = async (e) => {
|
|
43368
43480
|
e.stopPropagation();
|
|
43369
43481
|
setIsProcessing(true);
|
|
@@ -43475,7 +43587,7 @@ function OnboardingWalkthrough({
|
|
|
43475
43587
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
43476
43588
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
43477
43589
|
const actionInProgressRef = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
|
|
43478
|
-
|
|
43590
|
+
React126.default.useEffect(() => {
|
|
43479
43591
|
if (isLoadingCompletion) {
|
|
43480
43592
|
hasAutoMarkedRef.current = false;
|
|
43481
43593
|
return;
|
|
@@ -43533,12 +43645,12 @@ function OnboardingWalkthrough({
|
|
|
43533
43645
|
}
|
|
43534
43646
|
}, [state.completedSteps, markComplete]);
|
|
43535
43647
|
const handleStepSkip = (step) => {
|
|
43536
|
-
_optionalChain([step, 'access',
|
|
43648
|
+
_optionalChain([step, 'access', _1044 => _1044.onSkip, 'optionalCall', _1045 => _1045()]);
|
|
43537
43649
|
markSkipped(step.id);
|
|
43538
43650
|
};
|
|
43539
43651
|
const handleDismiss = () => {
|
|
43540
43652
|
dismissOnboarding();
|
|
43541
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
43653
|
+
_optionalChain([onDismiss, 'optionalCall', _1046 => _1046()]);
|
|
43542
43654
|
};
|
|
43543
43655
|
if (state.dismissed) {
|
|
43544
43656
|
return null;
|
|
@@ -43606,7 +43718,7 @@ var LOG_SEVERITY_LABELS = {
|
|
|
43606
43718
|
|
|
43607
43719
|
// src/components/log-severity-dot.tsx
|
|
43608
43720
|
|
|
43609
|
-
var LogSeverityDot =
|
|
43721
|
+
var LogSeverityDot = React122.forwardRef(({ severity, size: size2 = "md", className }, ref) => {
|
|
43610
43722
|
const sizeClasses2 = {
|
|
43611
43723
|
sm: "w-4 h-4",
|
|
43612
43724
|
md: "w-6 h-6",
|
|
@@ -43668,7 +43780,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
43668
43780
|
onKeyDown: (e) => {
|
|
43669
43781
|
if (e.key === "Enter" || e.key === " ") {
|
|
43670
43782
|
e.preventDefault();
|
|
43671
|
-
_optionalChain([onClick, 'optionalCall',
|
|
43783
|
+
_optionalChain([onClick, 'optionalCall', _1047 => _1047()]);
|
|
43672
43784
|
}
|
|
43673
43785
|
},
|
|
43674
43786
|
children: [
|
|
@@ -43696,7 +43808,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
43696
43808
|
)
|
|
43697
43809
|
] });
|
|
43698
43810
|
};
|
|
43699
|
-
var LogsList =
|
|
43811
|
+
var LogsList = React123.forwardRef(({
|
|
43700
43812
|
logs,
|
|
43701
43813
|
maxHeight = "400px",
|
|
43702
43814
|
showConnector = true,
|
|
@@ -43705,7 +43817,7 @@ var LogsList = React126.forwardRef(({
|
|
|
43705
43817
|
emptyMessage = "No logs to display",
|
|
43706
43818
|
className
|
|
43707
43819
|
}, ref) => {
|
|
43708
|
-
const containerRef =
|
|
43820
|
+
const containerRef = React123.useRef(null);
|
|
43709
43821
|
const isFullHeight = maxHeight === "100%";
|
|
43710
43822
|
const getContainerStyles = () => {
|
|
43711
43823
|
if (isFullHeight) return void 0;
|
|
@@ -43769,7 +43881,7 @@ var LogsList = React126.forwardRef(({
|
|
|
43769
43881
|
log,
|
|
43770
43882
|
isLast: index === logs.length - 1,
|
|
43771
43883
|
showConnector,
|
|
43772
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
43884
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _1048 => _1048(log)])
|
|
43773
43885
|
},
|
|
43774
43886
|
log.id
|
|
43775
43887
|
))
|
|
@@ -43877,11 +43989,11 @@ function ServiceCardRowItem({ row }) {
|
|
|
43877
43989
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
43878
43990
|
|
|
43879
43991
|
|
|
43880
|
-
var Slider =
|
|
43992
|
+
var Slider = React125.forwardRef(
|
|
43881
43993
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
43882
43994
|
const handleChange = (e) => {
|
|
43883
43995
|
const newValue = [Number(e.target.value)];
|
|
43884
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
43996
|
+
_optionalChain([onValueChange, 'optionalCall', _1049 => _1049(newValue)]);
|
|
43885
43997
|
};
|
|
43886
43998
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
43887
43999
|
"input",
|
|
@@ -44268,7 +44380,7 @@ function CursorPaginationSimple({
|
|
|
44268
44380
|
{
|
|
44269
44381
|
variant: "transparent",
|
|
44270
44382
|
size: "icon",
|
|
44271
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
44383
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _1050 => _1050("")]),
|
|
44272
44384
|
disabled: !hasPreviousPage || loading,
|
|
44273
44385
|
className: "h-8 w-8",
|
|
44274
44386
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -44280,7 +44392,7 @@ function CursorPaginationSimple({
|
|
|
44280
44392
|
{
|
|
44281
44393
|
variant: "transparent",
|
|
44282
44394
|
size: "icon",
|
|
44283
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
44395
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _1051 => _1051("")]),
|
|
44284
44396
|
disabled: !hasNextPage || loading,
|
|
44285
44397
|
className: "h-8 w-8",
|
|
44286
44398
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -44300,8 +44412,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
|
|
|
44300
44412
|
icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
|
|
44301
44413
|
title: _nullishCoalesce(message2, () => ( "No results found")),
|
|
44302
44414
|
description: message2 == null ? "Try adjusting your search or filters" : void 0,
|
|
44303
|
-
buttonLabel: _optionalChain([action, 'optionalAccess',
|
|
44304
|
-
onButtonClick: _optionalChain([action, 'optionalAccess',
|
|
44415
|
+
buttonLabel: _optionalChain([action, 'optionalAccess', _1052 => _1052.label]),
|
|
44416
|
+
onButtonClick: _optionalChain([action, 'optionalAccess', _1053 => _1053.onClick]),
|
|
44305
44417
|
className: _chunkKI4EGKNVcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
|
|
44306
44418
|
}
|
|
44307
44419
|
);
|
|
@@ -44322,7 +44434,7 @@ function TableColumnFilterDropdown({
|
|
|
44322
44434
|
placement = "bottom-start",
|
|
44323
44435
|
dropdownClassName = "min-w-[240px]"
|
|
44324
44436
|
}) {
|
|
44325
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
44437
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _1054 => _1054[columnKey], 'optionalAccess', _1055 => _1055.length]) || 0;
|
|
44326
44438
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
44327
44439
|
FiltersDropdown,
|
|
44328
44440
|
{
|
|
@@ -44365,7 +44477,7 @@ function TableColumnFilterDropdown({
|
|
|
44365
44477
|
delete newFilters[columnKey];
|
|
44366
44478
|
onFilterChange(newFilters);
|
|
44367
44479
|
},
|
|
44368
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
44480
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _1056 => _1056[columnKey]]) || [] },
|
|
44369
44481
|
placement,
|
|
44370
44482
|
dropdownClassName
|
|
44371
44483
|
}
|
|
@@ -44575,7 +44687,7 @@ function TableCardSkeleton({
|
|
|
44575
44687
|
className,
|
|
44576
44688
|
rowClassName
|
|
44577
44689
|
}) {
|
|
44578
|
-
const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess',
|
|
44690
|
+
const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _1057 => _1057.key]);
|
|
44579
44691
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
44580
44692
|
"div",
|
|
44581
44693
|
{
|
|
@@ -44668,7 +44780,7 @@ function TableRow({
|
|
|
44668
44780
|
const keys = column.key.split(".");
|
|
44669
44781
|
let value = item;
|
|
44670
44782
|
for (const key of keys) {
|
|
44671
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
44783
|
+
value = _optionalChain([value, 'optionalAccess', _1058 => _1058[key]]);
|
|
44672
44784
|
}
|
|
44673
44785
|
if (value === null || value === void 0) {
|
|
44674
44786
|
return "-";
|
|
@@ -44757,7 +44869,7 @@ function useTableMotion(enabled) {
|
|
|
44757
44869
|
// src/components/ui/table/table.tsx
|
|
44758
44870
|
|
|
44759
44871
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
44760
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
44872
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _1059 => _1059.length])) || Boolean(renderRowActions);
|
|
44761
44873
|
const result = [...columns];
|
|
44762
44874
|
if (hasActions) {
|
|
44763
44875
|
const actionsColumn = {
|
|
@@ -44853,7 +44965,7 @@ function Table({
|
|
|
44853
44965
|
return rowKey(item);
|
|
44854
44966
|
}
|
|
44855
44967
|
const key = item[rowKey];
|
|
44856
|
-
return _optionalChain([key, 'optionalAccess',
|
|
44968
|
+
return _optionalChain([key, 'optionalAccess', _1060 => _1060.toString, 'call', _1061 => _1061()]) || index.toString();
|
|
44857
44969
|
};
|
|
44858
44970
|
const getRowClassName = (item, index) => {
|
|
44859
44971
|
if (typeof rowClassName === "function") {
|
|
@@ -44887,23 +44999,23 @@ function Table({
|
|
|
44887
44999
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
44888
45000
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
44889
45001
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
44890
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
44891
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
45002
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _1062 => _1062.onLoadMore]));
|
|
45003
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _1063 => _1063.onLoadMore]);
|
|
44892
45004
|
_react.useEffect.call(void 0, () => {
|
|
44893
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
45005
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _1064 => _1064.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
44894
45006
|
const sentinel = sentinelRef.current;
|
|
44895
45007
|
if (!sentinel) return;
|
|
44896
45008
|
const observer = new IntersectionObserver(
|
|
44897
45009
|
(entries) => {
|
|
44898
|
-
if (_optionalChain([entries, 'access',
|
|
44899
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
45010
|
+
if (_optionalChain([entries, 'access', _1065 => _1065[0], 'optionalAccess', _1066 => _1066.isIntersecting])) {
|
|
45011
|
+
_optionalChain([onLoadMoreRef, 'access', _1067 => _1067.current, 'optionalCall', _1068 => _1068()]);
|
|
44900
45012
|
}
|
|
44901
45013
|
},
|
|
44902
45014
|
{ rootMargin: "200px" }
|
|
44903
45015
|
);
|
|
44904
45016
|
observer.observe(sentinel);
|
|
44905
45017
|
return () => observer.disconnect();
|
|
44906
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
45018
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _1069 => _1069.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _1070 => _1070.isFetchingNextPage])]);
|
|
44907
45019
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
44908
45020
|
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: [
|
|
44909
45021
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: [
|
|
@@ -44973,14 +45085,14 @@ function Table({
|
|
|
44973
45085
|
selected: isRowSelected(item),
|
|
44974
45086
|
onSelect: handleSelectRow,
|
|
44975
45087
|
animateRowReorder,
|
|
44976
|
-
motionDiv: _optionalChain([tableMotion, 'optionalAccess',
|
|
45088
|
+
motionDiv: _optionalChain([tableMotion, 'optionalAccess', _1071 => _1071.motionDiv])
|
|
44977
45089
|
},
|
|
44978
45090
|
getRowKey(item, index)
|
|
44979
45091
|
));
|
|
44980
|
-
const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess',
|
|
45092
|
+
const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _1072 => _1072.LayoutGroup]);
|
|
44981
45093
|
return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
|
|
44982
45094
|
})(),
|
|
44983
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
45095
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _1073 => _1073.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
44984
45096
|
TableCardSkeleton,
|
|
44985
45097
|
{
|
|
44986
45098
|
columns,
|
|
@@ -44989,7 +45101,7 @@ function Table({
|
|
|
44989
45101
|
hasChevron: Boolean(rowHref)
|
|
44990
45102
|
}
|
|
44991
45103
|
),
|
|
44992
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
45104
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _1074 => _1074.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
44993
45105
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
44994
45106
|
"div",
|
|
44995
45107
|
{
|
|
@@ -45347,7 +45459,7 @@ function QueryReportTable({
|
|
|
45347
45459
|
);
|
|
45348
45460
|
const handleExport = () => {
|
|
45349
45461
|
exportToCSV(data, columns, exportFilename);
|
|
45350
|
-
_optionalChain([onExport, 'optionalCall',
|
|
45462
|
+
_optionalChain([onExport, 'optionalCall', _1075 => _1075()]);
|
|
45351
45463
|
};
|
|
45352
45464
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
45353
45465
|
const {
|
|
@@ -45539,7 +45651,7 @@ function DataTableColumnFilter({
|
|
|
45539
45651
|
pending = false
|
|
45540
45652
|
}) {
|
|
45541
45653
|
const currentValue = column.getFilterValue();
|
|
45542
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
45654
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _1076 => _1076.length]), () => ( 0));
|
|
45543
45655
|
const sections = _react.useMemo.call(void 0,
|
|
45544
45656
|
() => [
|
|
45545
45657
|
{
|
|
@@ -45674,7 +45786,7 @@ function DataTableHeader({
|
|
|
45674
45786
|
);
|
|
45675
45787
|
}
|
|
45676
45788
|
function keepsCellOnTablet(meta) {
|
|
45677
|
-
return Boolean(_optionalChain([meta, 'optionalAccess',
|
|
45789
|
+
return Boolean(_optionalChain([meta, 'optionalAccess', _1077 => _1077.filter])) || _optionalChain([meta, 'optionalAccess', _1078 => _1078.alwaysShowHeader]) === true;
|
|
45678
45790
|
}
|
|
45679
45791
|
var SHOW_FROM = {
|
|
45680
45792
|
md: "md:flex",
|
|
@@ -45712,11 +45824,11 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
45712
45824
|
if (header.isPlaceholder) return null;
|
|
45713
45825
|
const column = header.column;
|
|
45714
45826
|
const meta = column.columnDef.meta;
|
|
45715
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
45827
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _1079 => _1079.filter]));
|
|
45716
45828
|
const keepOnTablet = keepsCellOnTablet(meta);
|
|
45717
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
45718
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
45719
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
45829
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1080 => _1080.align]), () => ( "left"));
|
|
45830
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _1081 => _1081.sortable]) === true;
|
|
45831
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _1082 => _1082.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
45720
45832
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45721
45833
|
"div",
|
|
45722
45834
|
{
|
|
@@ -45724,7 +45836,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
45724
45836
|
"items-stretch",
|
|
45725
45837
|
// Cells are hidden rather than dropped from the tree, so which columns
|
|
45726
45838
|
// exist never depends on when an effect ran.
|
|
45727
|
-
getCellVisibilityClasses(keepOnTablet, _optionalChain([meta, 'optionalAccess',
|
|
45839
|
+
getCellVisibilityClasses(keepOnTablet, _optionalChain([meta, 'optionalAccess', _1083 => _1083.hideAt])),
|
|
45728
45840
|
// Width applies from lg only. Stated as "always, neutralized below lg"
|
|
45729
45841
|
// because `meta.width` is an opaque consumer string that cannot be
|
|
45730
45842
|
// prefixed. Only `keepOnTablet` cells need the override — the rest are
|
|
@@ -45742,9 +45854,9 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
45742
45854
|
// Specificity rather than `!important`: it stays a normal declaration, so a
|
|
45743
45855
|
// consumer that genuinely needs a tablet width can still take it back with a
|
|
45744
45856
|
// more specific rule — `!important` could only be answered with another one.
|
|
45745
|
-
_optionalChain([meta, 'optionalAccess',
|
|
45857
|
+
_optionalChain([meta, 'optionalAccess', _1084 => _1084.width]) || "flex-1 min-w-0",
|
|
45746
45858
|
keepOnTablet && "max-lg:[&&]:w-auto max-lg:[&&]:flex-none max-lg:[&&]:basis-auto",
|
|
45747
|
-
_optionalChain([meta, 'optionalAccess',
|
|
45859
|
+
_optionalChain([meta, 'optionalAccess', _1085 => _1085.headerClassName])
|
|
45748
45860
|
),
|
|
45749
45861
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45750
45862
|
DataTableColumnFilter,
|
|
@@ -45768,7 +45880,7 @@ function HeaderCell({ header, sort, onSortChange }) {
|
|
|
45768
45880
|
keepOnTablet && "max-lg:justify-start",
|
|
45769
45881
|
canSort && "group cursor-pointer"
|
|
45770
45882
|
),
|
|
45771
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
45883
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _1086 => _1086(column.id)]) : void 0,
|
|
45772
45884
|
children: [
|
|
45773
45885
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
45774
45886
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -45834,7 +45946,7 @@ function DataTableSkeleton({
|
|
|
45834
45946
|
}) {
|
|
45835
45947
|
const table = useDataTableContext();
|
|
45836
45948
|
const columns = table.getVisibleFlatColumns();
|
|
45837
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
45949
|
+
const firstColumnId = _optionalChain([columns, 'access', _1087 => _1087[0], 'optionalAccess', _1088 => _1088.id]);
|
|
45838
45950
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
45839
45951
|
"div",
|
|
45840
45952
|
{
|
|
@@ -45859,13 +45971,13 @@ function DataTableSkeleton({
|
|
|
45859
45971
|
{
|
|
45860
45972
|
className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
45861
45973
|
"flex flex-col justify-center shrink-0",
|
|
45862
|
-
_optionalChain([meta, 'optionalAccess',
|
|
45974
|
+
_optionalChain([meta, 'optionalAccess', _1089 => _1089.width]) || "flex-1",
|
|
45863
45975
|
// Same responsive hiding the real header and row apply.
|
|
45864
45976
|
// Without it a `hideAt` column was drawn in the skeleton and
|
|
45865
45977
|
// absent from the loaded table, so below that breakpoint the
|
|
45866
45978
|
// remaining columns were sized against a different total and
|
|
45867
45979
|
// the whole row re-laid-out the moment data arrived.
|
|
45868
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
45980
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _1090 => _1090.hideAt]))
|
|
45869
45981
|
),
|
|
45870
45982
|
children: [
|
|
45871
45983
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -45916,7 +46028,7 @@ function DataTableRowImpl({
|
|
|
45916
46028
|
const handleClick = _react.useCallback.call(void 0,
|
|
45917
46029
|
(e) => {
|
|
45918
46030
|
const target = e.target;
|
|
45919
|
-
if (!_optionalChain([containerRef, 'access',
|
|
46031
|
+
if (!_optionalChain([containerRef, 'access', _1091 => _1091.current, 'optionalAccess', _1092 => _1092.contains, 'call', _1093 => _1093(target)])) {
|
|
45920
46032
|
if (isLinkMode) e.preventDefault();
|
|
45921
46033
|
return;
|
|
45922
46034
|
}
|
|
@@ -45924,7 +46036,7 @@ function DataTableRowImpl({
|
|
|
45924
46036
|
if (isLinkMode) e.preventDefault();
|
|
45925
46037
|
return;
|
|
45926
46038
|
}
|
|
45927
|
-
_optionalChain([onClick, 'optionalCall',
|
|
46039
|
+
_optionalChain([onClick, 'optionalCall', _1094 => _1094(row.original)]);
|
|
45928
46040
|
},
|
|
45929
46041
|
[onClick, row.original, isLinkMode]
|
|
45930
46042
|
);
|
|
@@ -45950,10 +46062,10 @@ function DataTableRowImpl({
|
|
|
45950
46062
|
{
|
|
45951
46063
|
className: _chunkKI4EGKNVcjs.cn.call(void 0,
|
|
45952
46064
|
"flex flex-col overflow-hidden",
|
|
45953
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
45954
|
-
_optionalChain([meta, 'optionalAccess',
|
|
45955
|
-
_optionalChain([meta, 'optionalAccess',
|
|
45956
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
46065
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _1095 => _1095.align])),
|
|
46066
|
+
_optionalChain([meta, 'optionalAccess', _1096 => _1096.width]) || "flex-1 min-w-0",
|
|
46067
|
+
_optionalChain([meta, 'optionalAccess', _1097 => _1097.cellClassName]),
|
|
46068
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _1098 => _1098.hideAt]))
|
|
45957
46069
|
),
|
|
45958
46070
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
45959
46071
|
},
|
|
@@ -46033,7 +46145,7 @@ function DataTableBody({
|
|
|
46033
46145
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
46034
46146
|
rows.map((row, index) => {
|
|
46035
46147
|
const item = row.original;
|
|
46036
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
46148
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _1099 => _1099(item)]), () => ( void 0));
|
|
46037
46149
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
46038
46150
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
46039
46151
|
DataTableRow,
|
|
@@ -46044,7 +46156,7 @@ function DataTableBody({
|
|
|
46044
46156
|
compact,
|
|
46045
46157
|
autoHeight,
|
|
46046
46158
|
className: cls,
|
|
46047
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
46159
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _1100 => _1100(item)])
|
|
46048
46160
|
},
|
|
46049
46161
|
row.id
|
|
46050
46162
|
);
|
|
@@ -46101,7 +46213,7 @@ function DataTableInfiniteFooter({
|
|
|
46101
46213
|
if (!sentinel) return;
|
|
46102
46214
|
const observer = new IntersectionObserver(
|
|
46103
46215
|
(entries) => {
|
|
46104
|
-
if (_optionalChain([entries, 'access',
|
|
46216
|
+
if (_optionalChain([entries, 'access', _1101 => _1101[0], 'optionalAccess', _1102 => _1102.isIntersecting])) onLoadMoreRef.current();
|
|
46105
46217
|
},
|
|
46106
46218
|
{ rootMargin }
|
|
46107
46219
|
);
|
|
@@ -46149,7 +46261,7 @@ function DataTableRowCount({
|
|
|
46149
46261
|
const table = useDataTableContext();
|
|
46150
46262
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
46151
46263
|
if (hideWhenEmpty && count === 0) return null;
|
|
46152
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
46264
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _1103 => _1103(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
46153
46265
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
46154
46266
|
"span",
|
|
46155
46267
|
{
|
|
@@ -46280,13 +46392,13 @@ function SearchInput({
|
|
|
46280
46392
|
limitTags = "auto",
|
|
46281
46393
|
getLimitTagsText = (more) => `+${more}`
|
|
46282
46394
|
}) {
|
|
46283
|
-
const [internalValue, setInternalValue] =
|
|
46395
|
+
const [internalValue, setInternalValue] = React128.useState(defaultValue);
|
|
46284
46396
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
46285
46397
|
const debouncedValue = _chunk5RJUHUCIcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
46286
|
-
const [isOpen, setIsOpen] =
|
|
46287
|
-
const [highlightedIndex, setHighlightedIndex] =
|
|
46398
|
+
const [isOpen, setIsOpen] = React128.useState(false);
|
|
46399
|
+
const [highlightedIndex, setHighlightedIndex] = React128.useState(-1);
|
|
46288
46400
|
const keyboardPadding = _chunk5RJUHUCIcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
46289
|
-
const containerRef =
|
|
46401
|
+
const containerRef = React128.useRef(null);
|
|
46290
46402
|
const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
|
|
46291
46403
|
const {
|
|
46292
46404
|
visibleCount: rawVisibleCount,
|
|
@@ -46303,14 +46415,14 @@ function SearchInput({
|
|
|
46303
46415
|
placeholder: filterChips.length > 0 ? "" : placeholder
|
|
46304
46416
|
});
|
|
46305
46417
|
const visibleCount = filterChips.length > 0 ? Math.max(1, rawVisibleCount) : rawVisibleCount;
|
|
46306
|
-
const hiddenTagsRef =
|
|
46307
|
-
const hiddenTagsPopupRef =
|
|
46308
|
-
const [showHiddenTags, setShowHiddenTags] =
|
|
46309
|
-
|
|
46418
|
+
const hiddenTagsRef = React128.useRef(null);
|
|
46419
|
+
const hiddenTagsPopupRef = React128.useRef(null);
|
|
46420
|
+
const [showHiddenTags, setShowHiddenTags] = React128.useState(false);
|
|
46421
|
+
React128.useEffect(() => {
|
|
46310
46422
|
if (!showHiddenTags) return;
|
|
46311
46423
|
const handleClick = (e) => {
|
|
46312
46424
|
const target = e.target;
|
|
46313
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
46425
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _1104 => _1104.current, 'optionalAccess', _1105 => _1105.contains, 'call', _1106 => _1106(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1107 => _1107.current, 'optionalAccess', _1108 => _1108.contains, 'call', _1109 => _1109(target)])) {
|
|
46314
46426
|
setShowHiddenTags(false);
|
|
46315
46427
|
}
|
|
46316
46428
|
};
|
|
@@ -46320,7 +46432,7 @@ function SearchInput({
|
|
|
46320
46432
|
const hiddenCount = filterChips.length - visibleCount;
|
|
46321
46433
|
const visibleChips = filterChips.slice(0, visibleCount);
|
|
46322
46434
|
const hiddenChips = filterChips.slice(visibleCount);
|
|
46323
|
-
const { flatResults, groups } =
|
|
46435
|
+
const { flatResults, groups } = React128.useMemo(() => {
|
|
46324
46436
|
if (!groupBy) return { flatResults: results, groups: null };
|
|
46325
46437
|
const grouped = /* @__PURE__ */ new Map();
|
|
46326
46438
|
for (const r of results) {
|
|
@@ -46337,7 +46449,7 @@ function SearchInput({
|
|
|
46337
46449
|
const meetsMinQuery = debouncedValue.length >= minQueryLength;
|
|
46338
46450
|
const autoShow = meetsMinQuery;
|
|
46339
46451
|
const dropdownVisible = _nullishCoalesce(showDropdownProp, () => ( (isOpen && autoShow)));
|
|
46340
|
-
|
|
46452
|
+
React128.useEffect(() => {
|
|
46341
46453
|
setHighlightedIndex(-1);
|
|
46342
46454
|
}, [flatResults.length]);
|
|
46343
46455
|
const handleChange = (e) => {
|
|
@@ -46358,10 +46470,10 @@ function SearchInput({
|
|
|
46358
46470
|
} else {
|
|
46359
46471
|
setInternalValue("");
|
|
46360
46472
|
}
|
|
46361
|
-
_optionalChain([inputRef, 'access',
|
|
46473
|
+
_optionalChain([inputRef, 'access', _1110 => _1110.current, 'optionalAccess', _1111 => _1111.focus, 'call', _1112 => _1112()]);
|
|
46362
46474
|
};
|
|
46363
46475
|
const handleResultClick = (result, e) => {
|
|
46364
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
46476
|
+
_optionalChain([onResultSelect, 'optionalCall', _1113 => _1113(
|
|
46365
46477
|
result,
|
|
46366
46478
|
e ? {
|
|
46367
46479
|
metaKey: e.metaKey,
|
|
@@ -46393,7 +46505,7 @@ function SearchInput({
|
|
|
46393
46505
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
46394
46506
|
handleResultClick(flatResults[highlightedIndex]);
|
|
46395
46507
|
} else {
|
|
46396
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
46508
|
+
_optionalChain([onSubmit, 'optionalCall', _1114 => _1114(currentValue)]);
|
|
46397
46509
|
}
|
|
46398
46510
|
break;
|
|
46399
46511
|
case "Escape":
|
|
@@ -46471,7 +46583,7 @@ function SearchInput({
|
|
|
46471
46583
|
dropdownVisible && "!border-ods-accent"
|
|
46472
46584
|
),
|
|
46473
46585
|
onClick: () => {
|
|
46474
|
-
_optionalChain([inputRef, 'access',
|
|
46586
|
+
_optionalChain([inputRef, 'access', _1115 => _1115.current, 'optionalAccess', _1116 => _1116.focus, 'call', _1117 => _1117()]);
|
|
46475
46587
|
setIsOpen(true);
|
|
46476
46588
|
},
|
|
46477
46589
|
children: [
|
|
@@ -46557,10 +46669,10 @@ function SearchInput({
|
|
|
46557
46669
|
collisionPadding: { bottom: keyboardPadding },
|
|
46558
46670
|
onOpenAutoFocus: (e) => {
|
|
46559
46671
|
e.preventDefault();
|
|
46560
|
-
_optionalChain([inputRef, 'access',
|
|
46672
|
+
_optionalChain([inputRef, 'access', _1118 => _1118.current, 'optionalAccess', _1119 => _1119.focus, 'call', _1120 => _1120()]);
|
|
46561
46673
|
},
|
|
46562
46674
|
onInteractOutside: (e) => {
|
|
46563
|
-
if (_optionalChain([containerRef, 'access',
|
|
46675
|
+
if (_optionalChain([containerRef, 'access', _1121 => _1121.current, 'optionalAccess', _1122 => _1122.contains, 'call', _1123 => _1123(e.target)])) {
|
|
46564
46676
|
e.preventDefault();
|
|
46565
46677
|
}
|
|
46566
46678
|
},
|
|
@@ -46577,10 +46689,10 @@ function SearchInput({
|
|
|
46577
46689
|
ref: hiddenTagsPopupRef,
|
|
46578
46690
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
46579
46691
|
style: {
|
|
46580
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
46692
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _1124 => _1124.current, 'optionalAccess', _1125 => _1125.getBoundingClientRect, 'call', _1126 => _1126(), 'access', _1127 => _1127.left]), () => ( 0))) : 0
|
|
46581
46693
|
},
|
|
46582
46694
|
onRemove: (value2) => {
|
|
46583
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
46695
|
+
_optionalChain([onFilterRemove, 'optionalCall', _1128 => _1128(value2)]);
|
|
46584
46696
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
46585
46697
|
}
|
|
46586
46698
|
}
|
|
@@ -46631,7 +46743,7 @@ function FilterListItem({
|
|
|
46631
46743
|
}) {
|
|
46632
46744
|
const handleToggle = () => {
|
|
46633
46745
|
if (disabled) return;
|
|
46634
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
46746
|
+
_optionalChain([onToggle, 'optionalCall', _1129 => _1129(!selected)]);
|
|
46635
46747
|
};
|
|
46636
46748
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
46637
46749
|
"div",
|
|
@@ -46667,7 +46779,7 @@ function FilterListItem({
|
|
|
46667
46779
|
"flex items-start gap-[var(--spacing-system-xxs)] text-h6",
|
|
46668
46780
|
selected ? "text-ods-accent" : "text-ods-text-secondary"
|
|
46669
46781
|
),
|
|
46670
|
-
children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
46782
|
+
children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React129.Fragment, { children: [
|
|
46671
46783
|
index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", children: "\u2022" }),
|
|
46672
46784
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item })
|
|
46673
46785
|
] }, index))
|
|
@@ -46678,7 +46790,7 @@ function FilterListItem({
|
|
|
46678
46790
|
CheckboxPrimitive4.Root,
|
|
46679
46791
|
{
|
|
46680
46792
|
checked: selected,
|
|
46681
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
46793
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _1130 => _1130(c === true)]),
|
|
46682
46794
|
onClick: (e) => e.stopPropagation(),
|
|
46683
46795
|
disabled,
|
|
46684
46796
|
"aria-label": title,
|
|
@@ -46777,7 +46889,7 @@ function TagSearchInput({
|
|
|
46777
46889
|
if (!showHiddenTags) return;
|
|
46778
46890
|
const handleClick = (e) => {
|
|
46779
46891
|
const target = e.target;
|
|
46780
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
46892
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _1131 => _1131.current, 'optionalAccess', _1132 => _1132.contains, 'call', _1133 => _1133(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1134 => _1134.current, 'optionalAccess', _1135 => _1135.contains, 'call', _1136 => _1136(target)])) {
|
|
46781
46893
|
setShowHiddenTags(false);
|
|
46782
46894
|
}
|
|
46783
46895
|
};
|
|
@@ -46793,13 +46905,13 @@ function TagSearchInput({
|
|
|
46793
46905
|
e.preventDefault();
|
|
46794
46906
|
onSubmit(searchValue);
|
|
46795
46907
|
}
|
|
46796
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
46908
|
+
_optionalChain([onKeyDown, 'optionalCall', _1137 => _1137(e)]);
|
|
46797
46909
|
};
|
|
46798
46910
|
const handleClearAll = (e) => {
|
|
46799
46911
|
e.stopPropagation();
|
|
46800
46912
|
e.preventDefault();
|
|
46801
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
46802
|
-
_optionalChain([inputRef, 'access',
|
|
46913
|
+
_optionalChain([onClearAll, 'optionalCall', _1138 => _1138()]);
|
|
46914
|
+
_optionalChain([inputRef, 'access', _1139 => _1139.current, 'optionalAccess', _1140 => _1140.focus, 'call', _1141 => _1141()]);
|
|
46803
46915
|
};
|
|
46804
46916
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
46805
46917
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -46822,7 +46934,7 @@ function TagSearchInput({
|
|
|
46822
46934
|
className
|
|
46823
46935
|
),
|
|
46824
46936
|
onClick: () => {
|
|
46825
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
46937
|
+
if (!disabled) _optionalChain([inputRef, 'access', _1142 => _1142.current, 'optionalAccess', _1143 => _1143.focus, 'call', _1144 => _1144()]);
|
|
46826
46938
|
},
|
|
46827
46939
|
children: [
|
|
46828
46940
|
/* @__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" }) }),
|
|
@@ -46895,7 +47007,7 @@ function TagSearchInput({
|
|
|
46895
47007
|
items: hiddenTags,
|
|
46896
47008
|
disabled,
|
|
46897
47009
|
style: {
|
|
46898
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
47010
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _1145 => _1145.current, 'optionalAccess', _1146 => _1146.getBoundingClientRect, 'call', _1147 => _1147(), 'access', _1148 => _1148.left]), () => ( 0))) : 0
|
|
46899
47011
|
},
|
|
46900
47012
|
onRemove: (value) => {
|
|
46901
47013
|
onTagRemove(value);
|
|
@@ -46996,7 +47108,7 @@ function MarkdownEditor({
|
|
|
46996
47108
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
46997
47109
|
_react.useEffect.call(void 0, () => {
|
|
46998
47110
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
46999
|
-
if (_optionalChain([mod, 'access',
|
|
47111
|
+
if (_optionalChain([mod, 'access', _1149 => _1149.commands, 'optionalAccess', _1150 => _1150.getExtraCommands])) {
|
|
47000
47112
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
47001
47113
|
}
|
|
47002
47114
|
});
|
|
@@ -47030,7 +47142,7 @@ function MarkdownEditor({
|
|
|
47030
47142
|
const isImage = file.type.startsWith("image/");
|
|
47031
47143
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
47032
47144
|
insertTextAtCursor(markdown);
|
|
47033
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
47145
|
+
_optionalChain([onFileUploaded, 'optionalCall', _1151 => _1151(url, file.name)]);
|
|
47034
47146
|
} catch (error) {
|
|
47035
47147
|
console.error("File upload failed:", error);
|
|
47036
47148
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -47043,7 +47155,7 @@ function MarkdownEditor({
|
|
|
47043
47155
|
);
|
|
47044
47156
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
47045
47157
|
(e) => {
|
|
47046
|
-
const file = _optionalChain([e, 'access',
|
|
47158
|
+
const file = _optionalChain([e, 'access', _1152 => _1152.target, 'access', _1153 => _1153.files, 'optionalAccess', _1154 => _1154[0]]);
|
|
47047
47159
|
if (file) {
|
|
47048
47160
|
handleFileUpload(file);
|
|
47049
47161
|
e.target.value = "";
|
|
@@ -47054,7 +47166,7 @@ function MarkdownEditor({
|
|
|
47054
47166
|
const handlePaste = _react.useCallback.call(void 0,
|
|
47055
47167
|
(e) => {
|
|
47056
47168
|
if (!onUploadFile) return;
|
|
47057
|
-
const items = _optionalChain([e, 'access',
|
|
47169
|
+
const items = _optionalChain([e, 'access', _1155 => _1155.clipboardData, 'optionalAccess', _1156 => _1156.items]);
|
|
47058
47170
|
if (!items) return;
|
|
47059
47171
|
for (const item of items) {
|
|
47060
47172
|
if (item.type.startsWith("image/")) {
|
|
@@ -47079,7 +47191,7 @@ function MarkdownEditor({
|
|
|
47079
47191
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
47080
47192
|
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" }),
|
|
47081
47193
|
execute: () => {
|
|
47082
|
-
_optionalChain([fileInputRef, 'access',
|
|
47194
|
+
_optionalChain([fileInputRef, 'access', _1157 => _1157.current, 'optionalAccess', _1158 => _1158.click, 'call', _1159 => _1159()]);
|
|
47083
47195
|
}
|
|
47084
47196
|
} : null;
|
|
47085
47197
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -47091,7 +47203,7 @@ function MarkdownEditor({
|
|
|
47091
47203
|
const EDGE_ZONE = 60;
|
|
47092
47204
|
const MAX_SCROLL_SPEED = 15;
|
|
47093
47205
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
47094
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
47206
|
+
let node = _optionalChain([el, 'optionalAccess', _1160 => _1160.parentElement]);
|
|
47095
47207
|
while (node && node !== document.documentElement) {
|
|
47096
47208
|
const { overflowY } = window.getComputedStyle(node);
|
|
47097
47209
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -47234,7 +47346,7 @@ function matchesAccept(file, accept) {
|
|
|
47234
47346
|
});
|
|
47235
47347
|
}
|
|
47236
47348
|
function dragHasFiles(e) {
|
|
47237
|
-
const types = _optionalChain([e, 'access',
|
|
47349
|
+
const types = _optionalChain([e, 'access', _1161 => _1161.dataTransfer, 'optionalAccess', _1162 => _1162.types]);
|
|
47238
47350
|
if (!types) return false;
|
|
47239
47351
|
for (let i = 0; i < types.length; i++) {
|
|
47240
47352
|
if (types[i] === "Files") return true;
|
|
@@ -47262,11 +47374,11 @@ function FileUpload({
|
|
|
47262
47374
|
acceptWindowDrops = false,
|
|
47263
47375
|
pickFiles
|
|
47264
47376
|
}) {
|
|
47265
|
-
const [dragActive, setDragActive] =
|
|
47266
|
-
const [validationError, setValidationError] =
|
|
47267
|
-
const fileInputRef =
|
|
47377
|
+
const [dragActive, setDragActive] = React131.useState(false);
|
|
47378
|
+
const [validationError, setValidationError] = React131.useState(null);
|
|
47379
|
+
const fileInputRef = React131.useRef(null);
|
|
47268
47380
|
const isManaged = managedFiles !== void 0;
|
|
47269
|
-
const files =
|
|
47381
|
+
const files = React131.useMemo(() => {
|
|
47270
47382
|
if (!value) return [];
|
|
47271
47383
|
return Array.isArray(value) ? value : [value];
|
|
47272
47384
|
}, [value]);
|
|
@@ -47314,7 +47426,7 @@ function FileUpload({
|
|
|
47314
47426
|
fileInputRef.current.value = "";
|
|
47315
47427
|
}
|
|
47316
47428
|
};
|
|
47317
|
-
const handleFilesRef =
|
|
47429
|
+
const handleFilesRef = React131.useRef(handleFiles);
|
|
47318
47430
|
handleFilesRef.current = handleFiles;
|
|
47319
47431
|
const handleDrag = (e) => {
|
|
47320
47432
|
e.preventDefault();
|
|
@@ -47331,11 +47443,11 @@ function FileUpload({
|
|
|
47331
47443
|
e.stopPropagation();
|
|
47332
47444
|
setDragActive(false);
|
|
47333
47445
|
if (disabled) return;
|
|
47334
|
-
if (_optionalChain([e, 'access',
|
|
47446
|
+
if (_optionalChain([e, 'access', _1163 => _1163.dataTransfer, 'access', _1164 => _1164.files, 'optionalAccess', _1165 => _1165.length])) {
|
|
47335
47447
|
handleFiles(e.dataTransfer.files);
|
|
47336
47448
|
}
|
|
47337
47449
|
};
|
|
47338
|
-
|
|
47450
|
+
React131.useEffect(() => {
|
|
47339
47451
|
if (!acceptWindowDrops || disabled) return;
|
|
47340
47452
|
let dragCounter = 0;
|
|
47341
47453
|
const onWindowDragEnter = (e) => {
|
|
@@ -47359,7 +47471,7 @@ function FileUpload({
|
|
|
47359
47471
|
e.preventDefault();
|
|
47360
47472
|
dragCounter = 0;
|
|
47361
47473
|
setDragActive(false);
|
|
47362
|
-
if (_optionalChain([e, 'access',
|
|
47474
|
+
if (_optionalChain([e, 'access', _1166 => _1166.dataTransfer, 'optionalAccess', _1167 => _1167.files, 'optionalAccess', _1168 => _1168.length])) {
|
|
47363
47475
|
handleFilesRef.current(e.dataTransfer.files);
|
|
47364
47476
|
}
|
|
47365
47477
|
};
|
|
@@ -47381,7 +47493,7 @@ function FileUpload({
|
|
|
47381
47493
|
};
|
|
47382
47494
|
}, [acceptWindowDrops, disabled]);
|
|
47383
47495
|
const handleFileSelect = (e) => {
|
|
47384
|
-
if (_optionalChain([e, 'access',
|
|
47496
|
+
if (_optionalChain([e, 'access', _1169 => _1169.target, 'access', _1170 => _1170.files, 'optionalAccess', _1171 => _1171.length])) {
|
|
47385
47497
|
handleFiles(e.target.files);
|
|
47386
47498
|
}
|
|
47387
47499
|
};
|
|
@@ -47399,7 +47511,7 @@ function FileUpload({
|
|
|
47399
47511
|
const openDialog = async () => {
|
|
47400
47512
|
if (disabled) return;
|
|
47401
47513
|
if (!pickFiles) {
|
|
47402
|
-
_optionalChain([fileInputRef, 'access',
|
|
47514
|
+
_optionalChain([fileInputRef, 'access', _1172 => _1172.current, 'optionalAccess', _1173 => _1173.click, 'call', _1174 => _1174()]);
|
|
47403
47515
|
return;
|
|
47404
47516
|
}
|
|
47405
47517
|
try {
|
|
@@ -47469,7 +47581,7 @@ function FileUpload({
|
|
|
47469
47581
|
"button",
|
|
47470
47582
|
{
|
|
47471
47583
|
type: "button",
|
|
47472
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
47584
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _1175 => _1175(entry.id)]),
|
|
47473
47585
|
className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
|
|
47474
47586
|
"aria-label": `Remove ${entry.fileName}`,
|
|
47475
47587
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.TrashIcon, { className: "size-6" })
|
|
@@ -47578,10 +47690,10 @@ function ImageUploader({
|
|
|
47578
47690
|
className,
|
|
47579
47691
|
dropzoneClassName
|
|
47580
47692
|
}) {
|
|
47581
|
-
const inputRef =
|
|
47582
|
-
const [dragActive, setDragActive] =
|
|
47583
|
-
const [pressed, setPressed] =
|
|
47584
|
-
const [validationError, setValidationError] =
|
|
47693
|
+
const inputRef = React132.useRef(null);
|
|
47694
|
+
const [dragActive, setDragActive] = React132.useState(false);
|
|
47695
|
+
const [pressed, setPressed] = React132.useState(false);
|
|
47696
|
+
const [validationError, setValidationError] = React132.useState(null);
|
|
47585
47697
|
const interactive = !disabled && !loading;
|
|
47586
47698
|
const resolvedValue = _chunk5RJUHUCIcjs.useAuthedImageSrc.call(void 0, value);
|
|
47587
47699
|
const hasImage = Boolean(value);
|
|
@@ -47601,7 +47713,7 @@ function ImageUploader({
|
|
|
47601
47713
|
onChange(file);
|
|
47602
47714
|
};
|
|
47603
47715
|
const handleFileSelect = (e) => {
|
|
47604
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
47716
|
+
validateAndEmit(_optionalChain([e, 'access', _1176 => _1176.target, 'access', _1177 => _1177.files, 'optionalAccess', _1178 => _1178[0]]));
|
|
47605
47717
|
if (inputRef.current) inputRef.current.value = "";
|
|
47606
47718
|
};
|
|
47607
47719
|
const handleDrag = (e) => {
|
|
@@ -47616,11 +47728,11 @@ function ImageUploader({
|
|
|
47616
47728
|
e.stopPropagation();
|
|
47617
47729
|
setDragActive(false);
|
|
47618
47730
|
if (!interactive) return;
|
|
47619
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
47731
|
+
validateAndEmit(_optionalChain([e, 'access', _1179 => _1179.dataTransfer, 'access', _1180 => _1180.files, 'optionalAccess', _1181 => _1181[0]]));
|
|
47620
47732
|
};
|
|
47621
47733
|
const openDialog = () => {
|
|
47622
47734
|
if (!interactive) return;
|
|
47623
|
-
_optionalChain([inputRef, 'access',
|
|
47735
|
+
_optionalChain([inputRef, 'access', _1182 => _1182.current, 'optionalAccess', _1183 => _1183.click, 'call', _1184 => _1184()]);
|
|
47624
47736
|
};
|
|
47625
47737
|
const handleRootKeyDown = (e) => {
|
|
47626
47738
|
if (hasImage || !interactive) return;
|
|
@@ -47758,7 +47870,7 @@ _chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
|
47758
47870
|
|
|
47759
47871
|
var Popover2 = PopoverPrimitive7.Root;
|
|
47760
47872
|
var PopoverTrigger = PopoverPrimitive7.Trigger;
|
|
47761
|
-
var PopoverContent =
|
|
47873
|
+
var PopoverContent = React133.forwardRef(({ className, align = "center", sideOffset = 4, collisionPadding, ...props }, ref) => {
|
|
47762
47874
|
const keyboardPadding = _chunk5RJUHUCIcjs.useKeyboardCollisionPadding.call(void 0, );
|
|
47763
47875
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive7.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
47764
47876
|
PopoverPrimitive7.Content,
|
|
@@ -47815,8 +47927,8 @@ function ColorPresetSelect({
|
|
|
47815
47927
|
}) {
|
|
47816
47928
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
47817
47929
|
const isCustom = !selectedPreset;
|
|
47818
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
47819
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
47930
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1185 => _1185.label]), () => ( "Custom"));
|
|
47931
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1186 => _1186.color]), () => ( value));
|
|
47820
47932
|
const groups = [
|
|
47821
47933
|
{
|
|
47822
47934
|
items: [
|
|
@@ -47859,8 +47971,8 @@ var FORMATS = ["HEX", "RGB", "HSL"];
|
|
|
47859
47971
|
var channelInputClass = "flex-1 min-w-0 [&_input]:text-center [&_input]:tabular-nums";
|
|
47860
47972
|
var hexInputClass = "flex-1 min-w-0 [&_input]:uppercase";
|
|
47861
47973
|
function HexInputs({ value, onChange }) {
|
|
47862
|
-
const [draft, setDraft] =
|
|
47863
|
-
|
|
47974
|
+
const [draft, setDraft] = React134.useState(value);
|
|
47975
|
+
React134.useEffect(() => setDraft(value), [value]);
|
|
47864
47976
|
const commit = () => {
|
|
47865
47977
|
const candidate = (draft.startsWith("#") ? draft : `#${draft}`).toLowerCase();
|
|
47866
47978
|
if (HEX_PATTERN.test(candidate)) onChange(candidate);
|
|
@@ -47892,8 +48004,8 @@ function ChannelInput({
|
|
|
47892
48004
|
ariaLabel,
|
|
47893
48005
|
onCommit
|
|
47894
48006
|
}) {
|
|
47895
|
-
const [draft, setDraft] =
|
|
47896
|
-
|
|
48007
|
+
const [draft, setDraft] = React134.useState(String(value));
|
|
48008
|
+
React134.useEffect(() => setDraft(String(value)), [value]);
|
|
47897
48009
|
const commit = () => {
|
|
47898
48010
|
const parsed = Number.parseInt(draft, 10);
|
|
47899
48011
|
if (!Number.isFinite(parsed)) {
|
|
@@ -47953,8 +48065,8 @@ function HslInputs({ value, onChange }) {
|
|
|
47953
48065
|
] });
|
|
47954
48066
|
}
|
|
47955
48067
|
function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
47956
|
-
const [open, setOpen] =
|
|
47957
|
-
const [format3, setFormat] =
|
|
48068
|
+
const [open, setOpen] = React134.useState(false);
|
|
48069
|
+
const [format3, setFormat] = React134.useState("HEX");
|
|
47958
48070
|
const formatGroups = [
|
|
47959
48071
|
{
|
|
47960
48072
|
items: FORMATS.map((f) => ({
|
|
@@ -48019,9 +48131,9 @@ function ColorPickerInput({ value, onChange, disabled, className }) {
|
|
|
48019
48131
|
|
|
48020
48132
|
var dismissOpenTooltip = null;
|
|
48021
48133
|
function WithLeftTooltip({ content, children }) {
|
|
48022
|
-
const [open, setOpen] =
|
|
48023
|
-
const isTouchRef =
|
|
48024
|
-
const close =
|
|
48134
|
+
const [open, setOpen] = React135.useState(false);
|
|
48135
|
+
const isTouchRef = React135.useRef(false);
|
|
48136
|
+
const close = React135.useCallback(() => setOpen(false), []);
|
|
48025
48137
|
if (!content) return children;
|
|
48026
48138
|
const toggleFromTouch = () => {
|
|
48027
48139
|
setOpen((prev) => {
|
|
@@ -48106,7 +48218,7 @@ function TicketStatusConfigRow({
|
|
|
48106
48218
|
_chunkDCB4EBA5cjs.Input,
|
|
48107
48219
|
{
|
|
48108
48220
|
value: name,
|
|
48109
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
48221
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _1187 => _1187(e.target.value)]),
|
|
48110
48222
|
disabled: isSystem,
|
|
48111
48223
|
readOnly: isSystem,
|
|
48112
48224
|
"aria-label": "Status name",
|
|
@@ -48173,8 +48285,8 @@ function TestResultsSkeleton() {
|
|
|
48173
48285
|
] }) });
|
|
48174
48286
|
}
|
|
48175
48287
|
function TestResultsTable({ rows, loading }) {
|
|
48176
|
-
const columnKeys =
|
|
48177
|
-
const columns =
|
|
48288
|
+
const columnKeys = React136.useMemo(() => rows.length > 0 ? Object.keys(rows[0]) : [], [rows]);
|
|
48289
|
+
const columns = React136.useMemo(() => {
|
|
48178
48290
|
return columnKeys.map((key) => ({
|
|
48179
48291
|
id: key,
|
|
48180
48292
|
accessorFn: (row) => row[key],
|
|
@@ -48267,10 +48379,10 @@ function TestRunStatusStat({ status, className }) {
|
|
|
48267
48379
|
] });
|
|
48268
48380
|
}
|
|
48269
48381
|
function useTestRunState(campaign) {
|
|
48270
|
-
const [hasRun, setHasRun] =
|
|
48271
|
-
const [isStarting, setIsStarting] =
|
|
48272
|
-
const [durationMs, setDurationMs] =
|
|
48273
|
-
|
|
48382
|
+
const [hasRun, setHasRun] = React136.useState(false);
|
|
48383
|
+
const [isStarting, setIsStarting] = React136.useState(false);
|
|
48384
|
+
const [durationMs, setDurationMs] = React136.useState(0);
|
|
48385
|
+
React136.useEffect(() => {
|
|
48274
48386
|
if (!campaign.startedAt || !campaign.isRunning) {
|
|
48275
48387
|
if (campaign.startedAt && !campaign.isRunning) {
|
|
48276
48388
|
setDurationMs(Date.now() - campaign.startedAt.getTime());
|
|
@@ -48283,7 +48395,7 @@ function useTestRunState(campaign) {
|
|
|
48283
48395
|
}, 1e3);
|
|
48284
48396
|
return () => clearInterval(interval);
|
|
48285
48397
|
}, [campaign.startedAt, campaign.isRunning]);
|
|
48286
|
-
const run =
|
|
48398
|
+
const run = React136.useCallback(async (start) => {
|
|
48287
48399
|
setHasRun(true);
|
|
48288
48400
|
setDurationMs(0);
|
|
48289
48401
|
setIsStarting(true);
|
|
@@ -48293,11 +48405,11 @@ function useTestRunState(campaign) {
|
|
|
48293
48405
|
setIsStarting(false);
|
|
48294
48406
|
}
|
|
48295
48407
|
}, []);
|
|
48296
|
-
const stop =
|
|
48408
|
+
const stop = React136.useCallback(() => {
|
|
48297
48409
|
setIsStarting(false);
|
|
48298
48410
|
campaign.stopCampaign();
|
|
48299
48411
|
}, [campaign.stopCampaign]);
|
|
48300
|
-
const reset =
|
|
48412
|
+
const reset = React136.useCallback(() => {
|
|
48301
48413
|
setIsStarting(false);
|
|
48302
48414
|
campaign.stopCampaign();
|
|
48303
48415
|
setDurationMs(0);
|
|
@@ -48311,7 +48423,7 @@ function useTestRunState(campaign) {
|
|
|
48311
48423
|
const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
|
|
48312
48424
|
const startedLabel = showTiming && campaign.startedAt ? formatTime(campaign.startedAt) : "00:00 PM";
|
|
48313
48425
|
const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
|
|
48314
|
-
const displayRows =
|
|
48426
|
+
const displayRows = React136.useMemo(
|
|
48315
48427
|
() => campaign.results.map(
|
|
48316
48428
|
(row) => Object.fromEntries(Object.entries(row).map(([key, value]) => [key.replace(/_/g, " "), value]))
|
|
48317
48429
|
),
|
|
@@ -48425,8 +48537,8 @@ _chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
|
48425
48537
|
_chunkKI4EGKNVcjs.init_cn.call(void 0, );
|
|
48426
48538
|
|
|
48427
48539
|
function TicketNoteCard({ note, onEdit, onDelete, className }) {
|
|
48428
|
-
const [isEditing, setIsEditing] =
|
|
48429
|
-
const [editText, setEditText] =
|
|
48540
|
+
const [isEditing, setIsEditing] = React137.useState(false);
|
|
48541
|
+
const [editText, setEditText] = React137.useState(note.text);
|
|
48430
48542
|
const handleSave = () => {
|
|
48431
48543
|
const trimmed = editText.trim();
|
|
48432
48544
|
if (!trimmed || !onEdit) return;
|
|
@@ -48549,7 +48661,7 @@ function TicketNotesSection({
|
|
|
48549
48661
|
isAddingNote,
|
|
48550
48662
|
className
|
|
48551
48663
|
}) {
|
|
48552
|
-
const [noteText, setNoteText] =
|
|
48664
|
+
const [noteText, setNoteText] = React138.useState("");
|
|
48553
48665
|
const handleSend = () => {
|
|
48554
48666
|
const trimmed = noteText.trim();
|
|
48555
48667
|
if (!trimmed || !onAddNote || isAddingNote) return;
|
|
@@ -48659,14 +48771,14 @@ function TicketInfoSection({
|
|
|
48659
48771
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48660
48772
|
SquareAvatar,
|
|
48661
48773
|
{
|
|
48662
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
48663
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
48664
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
48774
|
+
src: _optionalChain([organization, 'optionalAccess', _1188 => _1188.imageSrc]),
|
|
48775
|
+
alt: _optionalChain([organization, 'optionalAccess', _1189 => _1189.name]),
|
|
48776
|
+
fallback: _optionalChain([organization, 'optionalAccess', _1190 => _1190.name]) || "Org",
|
|
48665
48777
|
size: "md",
|
|
48666
48778
|
className: "shrink-0"
|
|
48667
48779
|
}
|
|
48668
48780
|
),
|
|
48669
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
48781
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _1191 => _1191.name]) || "Unassigned", label: "Organization" })
|
|
48670
48782
|
] }),
|
|
48671
48783
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48672
48784
|
AssigneeDropdown,
|
|
@@ -48687,10 +48799,10 @@ function TicketInfoSection({
|
|
|
48687
48799
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
48688
48800
|
InfoCell2,
|
|
48689
48801
|
{
|
|
48690
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
48802
|
+
value: _optionalChain([device, 'optionalAccess', _1192 => _1192.name]) || "Unassigned",
|
|
48691
48803
|
label: "Device",
|
|
48692
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
48693
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
48804
|
+
icon: _optionalChain([device, 'optionalAccess', _1193 => _1193.icon]),
|
|
48805
|
+
onClick: _optionalChain([device, 'optionalAccess', _1194 => _1194.onClick])
|
|
48694
48806
|
}
|
|
48695
48807
|
),
|
|
48696
48808
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -48788,14 +48900,14 @@ function TakeOverTicketModal({
|
|
|
48788
48900
|
isPending = false,
|
|
48789
48901
|
onConfirm
|
|
48790
48902
|
}) {
|
|
48791
|
-
const [statusId, setStatusId] =
|
|
48792
|
-
const [assigneeId, setAssigneeId] =
|
|
48793
|
-
|
|
48903
|
+
const [statusId, setStatusId] = React139.useState(null);
|
|
48904
|
+
const [assigneeId, setAssigneeId] = React139.useState(null);
|
|
48905
|
+
React139.useEffect(() => {
|
|
48794
48906
|
if (!isOpen) return;
|
|
48795
48907
|
setStatusId(_nullishCoalesce(initialStatusId, () => ( null)));
|
|
48796
48908
|
setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
|
|
48797
48909
|
}, [isOpen, initialStatusId, initialAssigneeId]);
|
|
48798
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
48910
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _1195 => _1195[0], 'optionalAccess', _1196 => _1196.value]))), () => ( null));
|
|
48799
48911
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
48800
48912
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
48801
48913
|
const handleConfirm = () => {
|
|
@@ -48882,16 +48994,16 @@ function ReopenTicketModal({
|
|
|
48882
48994
|
isPending = false,
|
|
48883
48995
|
onConfirm
|
|
48884
48996
|
}) {
|
|
48885
|
-
const [statusId, setStatusId] =
|
|
48886
|
-
const [assigneeId, setAssigneeId] =
|
|
48887
|
-
const [reason, setReason] =
|
|
48888
|
-
|
|
48997
|
+
const [statusId, setStatusId] = React140.useState(null);
|
|
48998
|
+
const [assigneeId, setAssigneeId] = React140.useState(null);
|
|
48999
|
+
const [reason, setReason] = React140.useState("");
|
|
49000
|
+
React140.useEffect(() => {
|
|
48889
49001
|
if (!isOpen) return;
|
|
48890
49002
|
setStatusId(_nullishCoalesce(initialStatusId, () => ( null)));
|
|
48891
49003
|
setAssigneeId(_nullishCoalesce(initialAssigneeId, () => ( null)));
|
|
48892
49004
|
setReason("");
|
|
48893
49005
|
}, [isOpen, initialStatusId, initialAssigneeId]);
|
|
48894
|
-
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access',
|
|
49006
|
+
const selectedStatusId = _nullishCoalesce(_nullishCoalesce(statusId, () => ( _optionalChain([statusOptions, 'access', _1197 => _1197[0], 'optionalAccess', _1198 => _1198.value]))), () => ( null));
|
|
48895
49007
|
const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
|
|
48896
49008
|
const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
|
|
48897
49009
|
const handleConfirm = () => {
|
|
@@ -48989,9 +49101,9 @@ function ReopenTicketRequestModal({
|
|
|
48989
49101
|
isPending = false,
|
|
48990
49102
|
onConfirm
|
|
48991
49103
|
}) {
|
|
48992
|
-
const [reason, setReason] =
|
|
48993
|
-
const [handoff, setHandoff] =
|
|
48994
|
-
|
|
49104
|
+
const [reason, setReason] = React141.useState("");
|
|
49105
|
+
const [handoff, setHandoff] = React141.useState(false);
|
|
49106
|
+
React141.useEffect(() => {
|
|
48995
49107
|
if (!isOpen) return;
|
|
48996
49108
|
setReason("");
|
|
48997
49109
|
setHandoff(false);
|
|
@@ -49316,7 +49428,7 @@ function RoadmapCard({
|
|
|
49316
49428
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
49317
49429
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
49318
49430
|
const hasFigma = !!item.figmaUrl;
|
|
49319
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
49431
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _1199 => _1199.screenshots, 'optionalAccess', _1200 => _1200.length]), () => ( 0))) > 0;
|
|
49320
49432
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
49321
49433
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
49322
49434
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -49335,7 +49447,7 @@ function RoadmapCard({
|
|
|
49335
49447
|
unoptimized: true,
|
|
49336
49448
|
className: "h-8 w-8 object-contain"
|
|
49337
49449
|
}
|
|
49338
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
49450
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1201 => _1201.title, 'optionalAccess', _1202 => _1202.substring, 'call', _1203 => _1203(0, 2)]) || "??" })
|
|
49339
49451
|
}
|
|
49340
49452
|
),
|
|
49341
49453
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -49411,7 +49523,7 @@ function RoadmapCard({
|
|
|
49411
49523
|
unoptimized: true,
|
|
49412
49524
|
className: "object-contain p-1"
|
|
49413
49525
|
}
|
|
49414
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
49526
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1204 => _1204.title, 'optionalAccess', _1205 => _1205.substring, 'call', _1206 => _1206(0, 2)]) || "??" }) }),
|
|
49415
49527
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
49416
49528
|
/* @__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 flex-1 line-clamp-2", children: item.title }) }),
|
|
49417
49529
|
/* @__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 truncate", children: [
|
|
@@ -49652,7 +49764,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
|
|
|
49652
49764
|
reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
|
|
49653
49765
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: primaryText })
|
|
49654
49766
|
] }),
|
|
49655
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
49767
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React126.default.Fragment, { children: [
|
|
49656
49768
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
49657
49769
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
49658
49770
|
] }, i)) }) }),
|
|
@@ -49744,7 +49856,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
|
|
|
49744
49856
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
49745
49857
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
|
|
49746
49858
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
|
|
49747
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
49859
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React126.default.Fragment, { children: [
|
|
49748
49860
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
49749
49861
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
49750
49862
|
] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
|
|
@@ -49856,7 +49968,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
|
|
|
49856
49968
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
|
|
49857
49969
|
] }) : null,
|
|
49858
49970
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
|
|
49859
|
-
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
49971
|
+
metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React126.default.Fragment, { children: [
|
|
49860
49972
|
i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
|
|
49861
49973
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
|
|
49862
49974
|
] }, i)) }) }) : null
|
|
@@ -49922,7 +50034,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
49922
50034
|
] }) : null,
|
|
49923
50035
|
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-h6 text-ods-text-secondary", children: item.preview }) }) : null
|
|
49924
50036
|
] }),
|
|
49925
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
50037
|
+
_optionalChain([anchorProps, 'optionalAccess', _1207 => _1207.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
|
|
49926
50038
|
] });
|
|
49927
50039
|
if (!anchorProps) {
|
|
49928
50040
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -49992,7 +50104,7 @@ function getDefaultOptions() {
|
|
|
49992
50104
|
// node_modules/date-fns/startOfWeek.mjs
|
|
49993
50105
|
function startOfWeek(date, options) {
|
|
49994
50106
|
const defaultOptions2 = getDefaultOptions();
|
|
49995
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
50107
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1208 => _1208.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1209 => _1209.locale, 'optionalAccess', _1210 => _1210.options, 'optionalAccess', _1211 => _1211.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1212 => _1212.locale, 'optionalAccess', _1213 => _1213.options, 'optionalAccess', _1214 => _1214.weekStartsOn]))), () => ( 0));
|
|
49996
50108
|
const _date = toDate2(date);
|
|
49997
50109
|
const day = _date.getDay();
|
|
49998
50110
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -50167,7 +50279,7 @@ var formatDistance = (token, count, options) => {
|
|
|
50167
50279
|
} else {
|
|
50168
50280
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
50169
50281
|
}
|
|
50170
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
50282
|
+
if (_optionalChain([options, 'optionalAccess', _1215 => _1215.addSuffix])) {
|
|
50171
50283
|
if (options.comparison && options.comparison > 0) {
|
|
50172
50284
|
return "in " + result;
|
|
50173
50285
|
} else {
|
|
@@ -50234,15 +50346,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
50234
50346
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
50235
50347
|
function buildLocalizeFn(args) {
|
|
50236
50348
|
return (value, options) => {
|
|
50237
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
50349
|
+
const context = _optionalChain([options, 'optionalAccess', _1216 => _1216.context]) ? String(options.context) : "standalone";
|
|
50238
50350
|
let valuesArray;
|
|
50239
50351
|
if (context === "formatting" && args.formattingValues) {
|
|
50240
50352
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
50241
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
50353
|
+
const width = _optionalChain([options, 'optionalAccess', _1217 => _1217.width]) ? String(options.width) : defaultWidth;
|
|
50242
50354
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
50243
50355
|
} else {
|
|
50244
50356
|
const defaultWidth = args.defaultWidth;
|
|
50245
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
50357
|
+
const width = _optionalChain([options, 'optionalAccess', _1218 => _1218.width]) ? String(options.width) : args.defaultWidth;
|
|
50246
50358
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
50247
50359
|
}
|
|
50248
50360
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -50622,7 +50734,7 @@ function getWeekYear(date, options) {
|
|
|
50622
50734
|
const _date = toDate2(date);
|
|
50623
50735
|
const year = _date.getFullYear();
|
|
50624
50736
|
const defaultOptions2 = getDefaultOptions();
|
|
50625
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
50737
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1219 => _1219.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1220 => _1220.locale, 'optionalAccess', _1221 => _1221.options, 'optionalAccess', _1222 => _1222.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1223 => _1223.locale, 'optionalAccess', _1224 => _1224.options, 'optionalAccess', _1225 => _1225.firstWeekContainsDate]))), () => ( 1));
|
|
50626
50738
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
50627
50739
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
50628
50740
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -50643,7 +50755,7 @@ function getWeekYear(date, options) {
|
|
|
50643
50755
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
50644
50756
|
function startOfWeekYear(date, options) {
|
|
50645
50757
|
const defaultOptions2 = getDefaultOptions();
|
|
50646
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
50758
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1226 => _1226.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1227 => _1227.locale, 'optionalAccess', _1228 => _1228.options, 'optionalAccess', _1229 => _1229.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1230 => _1230.locale, 'optionalAccess', _1231 => _1231.options, 'optionalAccess', _1232 => _1232.firstWeekContainsDate]))), () => ( 1));
|
|
50647
50759
|
const year = getWeekYear(date, options);
|
|
50648
50760
|
const firstWeek = constructFrom(date, 0);
|
|
50649
50761
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -51458,9 +51570,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
51458
51570
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
51459
51571
|
function format2(date, formatStr, options) {
|
|
51460
51572
|
const defaultOptions2 = getDefaultOptions();
|
|
51461
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
51462
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
51463
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
51573
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1233 => _1233.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
51574
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1234 => _1234.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1235 => _1235.locale, 'optionalAccess', _1236 => _1236.options, 'optionalAccess', _1237 => _1237.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1238 => _1238.locale, 'optionalAccess', _1239 => _1239.options, 'optionalAccess', _1240 => _1240.firstWeekContainsDate]))), () => ( 1));
|
|
51575
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1241 => _1241.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1242 => _1242.locale, 'optionalAccess', _1243 => _1243.options, 'optionalAccess', _1244 => _1244.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1245 => _1245.locale, 'optionalAccess', _1246 => _1246.options, 'optionalAccess', _1247 => _1247.weekStartsOn]))), () => ( 0));
|
|
51464
51576
|
const originalDate = toDate2(date);
|
|
51465
51577
|
if (!isValid(originalDate)) {
|
|
51466
51578
|
throw new RangeError("Invalid time value");
|
|
@@ -51501,7 +51613,7 @@ function format2(date, formatStr, options) {
|
|
|
51501
51613
|
return parts.map((part) => {
|
|
51502
51614
|
if (!part.isToken) return part.value;
|
|
51503
51615
|
const token = part.value;
|
|
51504
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
51616
|
+
if (!_optionalChain([options, 'optionalAccess', _1248 => _1248.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1249 => _1249.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
51505
51617
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
51506
51618
|
}
|
|
51507
51619
|
const formatter = formatters[token[0]];
|
|
@@ -51707,7 +51819,7 @@ function ProgramCard({
|
|
|
51707
51819
|
const itemDate2 = compactDate;
|
|
51708
51820
|
const compactCover = coverImage || placeholderUrl || null;
|
|
51709
51821
|
const typeMeta = compactTypeMeta();
|
|
51710
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
51822
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1250 => _1250.labels, 'optionalAccess', _1251 => _1251.singular])].filter(
|
|
51711
51823
|
(s) => typeof s === "string" && s.length > 0
|
|
51712
51824
|
);
|
|
51713
51825
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkKI4EGKNVcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -51864,7 +51976,7 @@ function ProgramCard({
|
|
|
51864
51976
|
|
|
51865
51977
|
|
|
51866
51978
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
51867
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
51979
|
+
const goalsCount = _optionalChain([campaign, 'access', _1252 => _1252.goals, 'optionalAccess', _1253 => _1253.length]) || 0;
|
|
51868
51980
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
51869
51981
|
/* @__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" }) }),
|
|
51870
51982
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -52032,7 +52144,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
52032
52144
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
52033
52145
|
const safePath = sanitizePath(row.path);
|
|
52034
52146
|
if (safePath) {
|
|
52035
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
52147
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1254 => _1254.docPlatformTargets, 'optionalAccess', _1255 => _1255[row.documentType]]) : void 0;
|
|
52036
52148
|
if (docTarget) {
|
|
52037
52149
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
52038
52150
|
const base = `${_chunkKI4EGKNVcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -52331,8 +52443,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
|
|
|
52331
52443
|
if (href) {
|
|
52332
52444
|
items.push({
|
|
52333
52445
|
id: "open-details",
|
|
52334
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
52335
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
52446
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1256 => _1256.label]), () => ( "Open Details")),
|
|
52447
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1257 => _1257.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.EyeIcon, { size: 20 }))),
|
|
52336
52448
|
// Main row → open the entity (same tab, soft Link nav).
|
|
52337
52449
|
href,
|
|
52338
52450
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -52392,16 +52504,16 @@ function itemVideoMetadata(item) {
|
|
|
52392
52504
|
for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
|
|
52393
52505
|
return void 0;
|
|
52394
52506
|
};
|
|
52395
|
-
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52507
|
+
const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1258 => _1258.metadata]), () => ( {}));
|
|
52396
52508
|
const out = {};
|
|
52397
|
-
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess',
|
|
52398
|
-
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess',
|
|
52399
|
-
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess',
|
|
52509
|
+
const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _1259 => _1259.custom_video_url]), _optionalChain([item, 'optionalAccess', _1260 => _1260.main_video_url]));
|
|
52510
|
+
const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _1261 => _1261.youtube_url]), _optionalChain([item, 'optionalAccess', _1262 => _1262.testimonial_video_url]));
|
|
52511
|
+
const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _1263 => _1263.highlight_video_url]));
|
|
52400
52512
|
const videoPoster = pick(
|
|
52401
52513
|
m.videoPoster,
|
|
52402
|
-
_optionalChain([item, 'optionalAccess',
|
|
52403
|
-
_optionalChain([item, 'optionalAccess',
|
|
52404
|
-
_optionalChain([item, 'optionalAccess',
|
|
52514
|
+
_optionalChain([item, 'optionalAccess', _1264 => _1264.main_video_thumbnail]),
|
|
52515
|
+
_optionalChain([item, 'optionalAccess', _1265 => _1265.highlight_video_thumbnail]),
|
|
52516
|
+
_optionalChain([item, 'optionalAccess', _1266 => _1266.featured_image])
|
|
52405
52517
|
);
|
|
52406
52518
|
if (videoUrl) out.videoUrl = videoUrl;
|
|
52407
52519
|
if (youtubeUrl) out.youtubeUrl = youtubeUrl;
|
|
@@ -52435,15 +52547,15 @@ function fetchedItemDisplayRef(item, chatRef) {
|
|
|
52435
52547
|
}
|
|
52436
52548
|
function fetchedFaqDisplayRef(item, chatRef) {
|
|
52437
52549
|
const it = item;
|
|
52438
|
-
const answer = typeof _optionalChain([it, 'optionalAccess',
|
|
52550
|
+
const answer = typeof _optionalChain([it, 'optionalAccess', _1267 => _1267.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
|
|
52439
52551
|
return {
|
|
52440
52552
|
type: "faq",
|
|
52441
52553
|
id: chatRef.id,
|
|
52442
52554
|
sourceRepo: chatRef.sourceRepo,
|
|
52443
|
-
title: typeof _optionalChain([it, 'optionalAccess',
|
|
52555
|
+
title: typeof _optionalChain([it, 'optionalAccess', _1268 => _1268.question]) === "string" && it.question ? it.question : chatRef.id,
|
|
52444
52556
|
url: _nullishCoalesce(chatRef.url, () => ( null)),
|
|
52445
52557
|
...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
|
|
52446
|
-
metadata: typeof _optionalChain([it, 'optionalAccess',
|
|
52558
|
+
metadata: typeof _optionalChain([it, 'optionalAccess', _1269 => _1269.section]) === "string" && it.section ? { section: it.section } : {}
|
|
52447
52559
|
};
|
|
52448
52560
|
}
|
|
52449
52561
|
function HubspotTicketChatCard({
|
|
@@ -52451,8 +52563,8 @@ function HubspotTicketChatCard({
|
|
|
52451
52563
|
isNewTab,
|
|
52452
52564
|
discuss
|
|
52453
52565
|
}) {
|
|
52454
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
52455
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
52566
|
+
const status = typeof _optionalChain([chatRef, 'access', _1270 => _1270.metadata, 'optionalAccess', _1271 => _1271.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
52567
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _1272 => _1272.metadata, 'optionalAccess', _1273 => _1273.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
52456
52568
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
52457
52569
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52458
52570
|
MingoInfoCard,
|
|
@@ -52475,7 +52587,7 @@ function FaqChatCard({
|
|
|
52475
52587
|
isNewTab,
|
|
52476
52588
|
discuss
|
|
52477
52589
|
}) {
|
|
52478
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
52590
|
+
const section = typeof _optionalChain([chatRef, 'access', _1274 => _1274.metadata, 'optionalAccess', _1275 => _1275.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
52479
52591
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
52480
52592
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52481
52593
|
MingoInfoCard,
|
|
@@ -52495,7 +52607,7 @@ function SlackChatCard({
|
|
|
52495
52607
|
isNewTab,
|
|
52496
52608
|
discuss
|
|
52497
52609
|
}) {
|
|
52498
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
52610
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _1276 => _1276.metadata, 'optionalAccess', _1277 => _1277.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
52499
52611
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
52500
52612
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
52501
52613
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -52535,7 +52647,7 @@ function GenericFinancialChatCard({
|
|
|
52535
52647
|
isNewTab,
|
|
52536
52648
|
discuss
|
|
52537
52649
|
}) {
|
|
52538
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
52650
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _1278 => _1278.metadata, 'optionalAccess', _1279 => _1279.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
52539
52651
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52540
52652
|
MingoInfoCard,
|
|
52541
52653
|
{
|
|
@@ -52604,12 +52716,12 @@ function ProductReleaseChatCard({
|
|
|
52604
52716
|
discuss
|
|
52605
52717
|
}) {
|
|
52606
52718
|
const releaseProps = buildProps(item);
|
|
52607
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
52719
|
+
const status = _optionalChain([item, 'optionalAccess', _1280 => _1280.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
52608
52720
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52609
52721
|
EntityMingoCard,
|
|
52610
52722
|
{
|
|
52611
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52612
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
52723
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1281 => _1281.title]), () => ( "")),
|
|
52724
|
+
description: _optionalChain([item, 'optionalAccess', _1282 => _1282.summary]) || releaseProps.formattedDate || void 0,
|
|
52613
52725
|
cover: releaseProps.coverImage || void 0,
|
|
52614
52726
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.Rocket02Icon, { size: 24 }),
|
|
52615
52727
|
status,
|
|
@@ -52626,17 +52738,17 @@ function CampaignChatCard({
|
|
|
52626
52738
|
isNewTab,
|
|
52627
52739
|
discuss
|
|
52628
52740
|
}) {
|
|
52629
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
52741
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1283 => _1283.goals])) ? item.goals.length : 0;
|
|
52630
52742
|
const meta = [
|
|
52631
|
-
_optionalChain([item, 'optionalAccess',
|
|
52743
|
+
_optionalChain([item, 'optionalAccess', _1284 => _1284.start_date]) ? formatDateShort(item.start_date) : null,
|
|
52632
52744
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
52633
52745
|
"Marketing campaign"
|
|
52634
52746
|
].filter(Boolean).join(" \xB7 ");
|
|
52635
52747
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52636
52748
|
EntityMingoCard,
|
|
52637
52749
|
{
|
|
52638
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52639
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
52750
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1285 => _1285.name]), () => ( "")),
|
|
52751
|
+
description: meta || _optionalChain([item, 'optionalAccess', _1286 => _1286.description]) || void 0,
|
|
52640
52752
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.Megaphone01Icon, { size: 24 }),
|
|
52641
52753
|
chatRef,
|
|
52642
52754
|
isNewTab,
|
|
@@ -52691,14 +52803,14 @@ function BlogChatCard({
|
|
|
52691
52803
|
hasEmbeddedVideo,
|
|
52692
52804
|
discuss
|
|
52693
52805
|
}) {
|
|
52694
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
52806
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1287 => _1287.categories])) ? _optionalChain([item, 'access', _1288 => _1288.categories, 'access', _1289 => _1289.find, 'call', _1290 => _1290((c) => c && c.name), 'optionalAccess', _1291 => _1291.name]) : void 0;
|
|
52695
52807
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
52696
52808
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52697
52809
|
EntityMingoCard,
|
|
52698
52810
|
{
|
|
52699
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52700
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52701
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
52811
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1292 => _1292.title]), () => ( "")),
|
|
52812
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1293 => _1293.summary]), () => ( void 0)),
|
|
52813
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1294 => _1294.featured_image]), ogPlaceholder),
|
|
52702
52814
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.NewspaperIcon, { size: 24 }),
|
|
52703
52815
|
status,
|
|
52704
52816
|
chatRef,
|
|
@@ -52715,13 +52827,13 @@ function CaseStudyChatCard({
|
|
|
52715
52827
|
ogPlaceholder,
|
|
52716
52828
|
discuss
|
|
52717
52829
|
}) {
|
|
52718
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
52830
|
+
const meta = [_optionalChain([item, 'optionalAccess', _1295 => _1295.msp, 'optionalAccess', _1296 => _1296.name]), _optionalChain([item, 'optionalAccess', _1297 => _1297.user, 'optionalAccess', _1298 => _1298.full_name])].filter(Boolean).join(" \xB7 ");
|
|
52719
52831
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52720
52832
|
EntityMingoCard,
|
|
52721
52833
|
{
|
|
52722
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52723
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
52724
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
52834
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1299 => _1299.title]), () => ( "")),
|
|
52835
|
+
description: _optionalChain([item, 'optionalAccess', _1300 => _1300.summary]) || meta || void 0,
|
|
52836
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1301 => _1301.featured_image]), ogPlaceholder),
|
|
52725
52837
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.TrophyIcon, { size: 24 }),
|
|
52726
52838
|
status: { label: "Case study", variant: "grey" },
|
|
52727
52839
|
chatRef,
|
|
@@ -52738,13 +52850,13 @@ function CustomerInterviewChatCard({
|
|
|
52738
52850
|
ogPlaceholder,
|
|
52739
52851
|
discuss
|
|
52740
52852
|
}) {
|
|
52741
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
52853
|
+
const meta = [_optionalChain([item, 'optionalAccess', _1302 => _1302.user, 'optionalAccess', _1303 => _1303.full_name]), _optionalChain([item, 'optionalAccess', _1304 => _1304.msp, 'optionalAccess', _1305 => _1305.name])].filter(Boolean).join(" \xB7 ");
|
|
52742
52854
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52743
52855
|
EntityMingoCard,
|
|
52744
52856
|
{
|
|
52745
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52746
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
52747
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
52857
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1306 => _1306.title]), () => ( "")),
|
|
52858
|
+
description: _optionalChain([item, 'optionalAccess', _1307 => _1307.video_summary]) || meta || void 0,
|
|
52859
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1308 => _1308.featured_image]), ogPlaceholder),
|
|
52748
52860
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MicrophoneIcon, { size: 24 }),
|
|
52749
52861
|
status: { label: "Interview", variant: "grey" },
|
|
52750
52862
|
chatRef,
|
|
@@ -52761,13 +52873,13 @@ function InvestorUpdateChatCard({
|
|
|
52761
52873
|
ogPlaceholder,
|
|
52762
52874
|
discuss
|
|
52763
52875
|
}) {
|
|
52764
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
52876
|
+
const title = _optionalChain([item, 'optionalAccess', _1309 => _1309.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1310 => _1310.update_number]), () => ( "?"))}`;
|
|
52765
52877
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52766
52878
|
EntityMingoCard,
|
|
52767
52879
|
{
|
|
52768
52880
|
title,
|
|
52769
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
52770
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
52881
|
+
description: _optionalChain([item, 'optionalAccess', _1311 => _1311.strategic_update]) || _optionalChain([item, 'optionalAccess', _1312 => _1312.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1313 => _1313.period_start]), _optionalChain([item, 'optionalAccess', _1314 => _1314.period_end])) || void 0,
|
|
52882
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1315 => _1315.featured_image]), ogPlaceholder),
|
|
52771
52883
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.PresentationLineIcon, { size: 24 }),
|
|
52772
52884
|
status: { label: "Investor update", variant: "grey" },
|
|
52773
52885
|
chatRef,
|
|
@@ -52784,12 +52896,12 @@ function OnboardingGuideChatCard({
|
|
|
52784
52896
|
ogPlaceholder,
|
|
52785
52897
|
discuss
|
|
52786
52898
|
}) {
|
|
52787
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
52899
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1316 => _1316.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1317 => _1317.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1318 => _1318.og_image_url]), ogPlaceholder)));
|
|
52788
52900
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52789
52901
|
EntityMingoCard,
|
|
52790
52902
|
{
|
|
52791
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52792
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52903
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1319 => _1319.title]), () => ( "")),
|
|
52904
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1320 => _1320.summary]), () => ( _optionalChain([item, 'optionalAccess', _1321 => _1321.description]))), () => ( void 0)),
|
|
52793
52905
|
cover,
|
|
52794
52906
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CompassIcon, { size: 24 }),
|
|
52795
52907
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -52810,25 +52922,25 @@ function ProgramChatCard({
|
|
|
52810
52922
|
discuss
|
|
52811
52923
|
}) {
|
|
52812
52924
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MicrophoneIcon, { size: 24 });
|
|
52813
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
52925
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _1322 => _1322.status]) === "scheduled";
|
|
52814
52926
|
let typeMeta;
|
|
52815
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
52927
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1323 => _1323.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
52816
52928
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
52817
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
52929
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1324 => _1324.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
52818
52930
|
typeMeta = item.location_name;
|
|
52819
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
52931
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1325 => _1325.start_at])) {
|
|
52820
52932
|
const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
52821
52933
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
52822
52934
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
52823
52935
|
}
|
|
52824
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52936
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1326 => _1326.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
52825
52937
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
52826
52938
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52827
52939
|
EntityMingoCard,
|
|
52828
52940
|
{
|
|
52829
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52830
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
52831
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
52941
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1327 => _1327.title]), () => ( "")),
|
|
52942
|
+
description: meta || _optionalChain([item, 'optionalAccess', _1328 => _1328.description]) || void 0,
|
|
52943
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1329 => _1329.cover_url]), ogPlaceholder),
|
|
52832
52944
|
fallbackIcon: icon,
|
|
52833
52945
|
status: { label, variant: "grey" },
|
|
52834
52946
|
chatRef,
|
|
@@ -52845,10 +52957,10 @@ function RoadmapChatCard({
|
|
|
52845
52957
|
cardType,
|
|
52846
52958
|
discuss
|
|
52847
52959
|
}) {
|
|
52848
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
52849
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
52960
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1330 => _1330.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
52961
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1331 => _1331.customItemId]) != null;
|
|
52850
52962
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.MapIcon, { size: 24 });
|
|
52851
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
52963
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1332 => _1332.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
52852
52964
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
52853
52965
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
52854
52966
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -52859,10 +52971,10 @@ function RoadmapChatCard({
|
|
|
52859
52971
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52860
52972
|
EntityMingoCard,
|
|
52861
52973
|
{
|
|
52862
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52863
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52974
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1333 => _1333.title]), () => ( "")),
|
|
52975
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1334 => _1334.description]), () => ( void 0)),
|
|
52864
52976
|
fallbackIcon: icon,
|
|
52865
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
52977
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _1335 => _1335.status])),
|
|
52866
52978
|
chatRef,
|
|
52867
52979
|
isNewTab,
|
|
52868
52980
|
discuss,
|
|
@@ -52878,7 +52990,7 @@ function refHydratedEntry(docType, label, renderRef) {
|
|
|
52878
52990
|
bareInline: true,
|
|
52879
52991
|
contentRefType: docType,
|
|
52880
52992
|
noComposedHref: true,
|
|
52881
|
-
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
52993
|
+
fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1336 => _1336.url]), () => ( null)),
|
|
52882
52994
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
52883
52995
|
render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
|
|
52884
52996
|
};
|
|
@@ -52951,7 +53063,7 @@ function programRegistryEntries() {
|
|
|
52951
53063
|
discuss: opts.discuss,
|
|
52952
53064
|
configKey: cfg.configKey,
|
|
52953
53065
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
52954
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53066
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1337 => _1337.extras, 'optionalAccess', _1338 => _1338.buildOgPlaceholderUrl, 'optionalCall', _1339 => _1339(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1340 => _1340.title]), () => ( "")))]), () => ( null))
|
|
52955
53067
|
}
|
|
52956
53068
|
)
|
|
52957
53069
|
}));
|
|
@@ -52972,7 +53084,7 @@ var ROADMAP_CARD_CONFIGS = {
|
|
|
52972
53084
|
// The card's destination IS the ClickUp deep link, derived from the
|
|
52973
53085
|
// task id post-fetch (the refs frame used to carry it).
|
|
52974
53086
|
noComposedHref: true,
|
|
52975
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
53087
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1341 => _1341.id]) != null ? clickupTaskUrl(String(item.id)) : null
|
|
52976
53088
|
}
|
|
52977
53089
|
};
|
|
52978
53090
|
function roadmapRegistryEntries() {
|
|
@@ -53014,8 +53126,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53014
53126
|
DeletedDataCard,
|
|
53015
53127
|
{
|
|
53016
53128
|
title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
|
|
53017
|
-
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
53018
|
-
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access',
|
|
53129
|
+
entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1342 => _1342.metadata, 'optionalAccess', _1343 => _1343.entity_label]), () => ( null)),
|
|
53130
|
+
recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1344 => _1344.metadata, 'optionalAccess', _1345 => _1345.recovery_note]), () => ( null))
|
|
53019
53131
|
}
|
|
53020
53132
|
)
|
|
53021
53133
|
},
|
|
@@ -53029,7 +53141,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53029
53141
|
bareInline: true,
|
|
53030
53142
|
contentRefType: "faq",
|
|
53031
53143
|
noComposedHref: true,
|
|
53032
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
53144
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1346 => _1346.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
|
|
53033
53145
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
|
|
53034
53146
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53035
53147
|
FaqChatCard,
|
|
@@ -53113,8 +53225,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53113
53225
|
chatRef,
|
|
53114
53226
|
isNewTab: opts.isNewTab,
|
|
53115
53227
|
discuss: opts.discuss,
|
|
53116
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53117
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
53228
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1347 => _1347.extras, 'optionalAccess', _1348 => _1348.buildOgPlaceholderUrl, 'optionalCall', _1349 => _1349(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1350 => _1350.title]), () => ( "")))]), () => ( null)),
|
|
53229
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1351 => _1351.metadata, 'optionalAccess', _1352 => _1352.hasEmbeddedVideo]) === true
|
|
53118
53230
|
}
|
|
53119
53231
|
)
|
|
53120
53232
|
},
|
|
@@ -53130,7 +53242,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53130
53242
|
chatRef,
|
|
53131
53243
|
isNewTab: opts.isNewTab,
|
|
53132
53244
|
discuss: opts.discuss,
|
|
53133
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53245
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1353 => _1353.extras, 'optionalAccess', _1354 => _1354.buildOgPlaceholderUrl, 'optionalCall', _1355 => _1355(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1356 => _1356.title]), () => ( "")))]), () => ( null))
|
|
53134
53246
|
}
|
|
53135
53247
|
)
|
|
53136
53248
|
},
|
|
@@ -53146,7 +53258,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53146
53258
|
chatRef,
|
|
53147
53259
|
isNewTab: opts.isNewTab,
|
|
53148
53260
|
discuss: opts.discuss,
|
|
53149
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53261
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1357 => _1357.extras, 'optionalAccess', _1358 => _1358.buildOgPlaceholderUrl, 'optionalCall', _1359 => _1359(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1360 => _1360.title]), () => ( "")))]), () => ( null))
|
|
53150
53262
|
}
|
|
53151
53263
|
)
|
|
53152
53264
|
},
|
|
@@ -53156,7 +53268,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53156
53268
|
bareInline: true,
|
|
53157
53269
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
53158
53270
|
render: (item, chatRef, opts) => {
|
|
53159
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53271
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1361 => _1361.extras, 'optionalAccess', _1362 => _1362.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
53160
53272
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53161
53273
|
ProductReleaseChatCard,
|
|
53162
53274
|
{
|
|
@@ -53182,7 +53294,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53182
53294
|
chatRef,
|
|
53183
53295
|
isNewTab: opts.isNewTab,
|
|
53184
53296
|
discuss: opts.discuss,
|
|
53185
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53297
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1363 => _1363.extras, 'optionalAccess', _1364 => _1364.buildOgPlaceholderUrl, 'optionalCall', _1365 => _1365(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1366 => _1366.title]), () => ( "")))]), () => ( null))
|
|
53186
53298
|
}
|
|
53187
53299
|
)
|
|
53188
53300
|
},
|
|
@@ -53200,7 +53312,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53200
53312
|
chatRef,
|
|
53201
53313
|
isNewTab: opts.isNewTab,
|
|
53202
53314
|
discuss: opts.discuss,
|
|
53203
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
53315
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1367 => _1367.extras, 'optionalAccess', _1368 => _1368.buildOgPlaceholderUrl, 'optionalCall', _1369 => _1369(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1370 => _1370.title]), () => ( "")))]), () => ( null))
|
|
53204
53316
|
}
|
|
53205
53317
|
)
|
|
53206
53318
|
},
|
|
@@ -53211,7 +53323,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
53211
53323
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
53212
53324
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
53213
53325
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
53214
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
53326
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1371 => _1371.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
53215
53327
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53216
53328
|
CampaignChatCard,
|
|
53217
53329
|
{
|
|
@@ -53238,13 +53350,13 @@ function ChatCardNavWrap({
|
|
|
53238
53350
|
if (!href) return;
|
|
53239
53351
|
const targetEl = e.target;
|
|
53240
53352
|
const host = e.currentTarget;
|
|
53241
|
-
if (!_optionalChain([host, 'optionalAccess',
|
|
53242
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
53243
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
53353
|
+
if (!_optionalChain([host, 'optionalAccess', _1372 => _1372.contains, 'call', _1373 => _1373(targetEl)])) return;
|
|
53354
|
+
if (_optionalChain([targetEl, 'optionalAccess', _1374 => _1374.closest, 'optionalCall', _1375 => _1375("button")])) return;
|
|
53355
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _1376 => _1376.closest, 'optionalCall', _1377 => _1377("a")])) return;
|
|
53244
53356
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
53245
53357
|
if (!handled) return;
|
|
53246
53358
|
e.stopPropagation();
|
|
53247
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
53359
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1378 => _1378.closeChat])) panel.closeChat();
|
|
53248
53360
|
};
|
|
53249
53361
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
53250
53362
|
}
|
|
@@ -53257,7 +53369,7 @@ function ChatCardLoader({
|
|
|
53257
53369
|
extras
|
|
53258
53370
|
}) {
|
|
53259
53371
|
const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
|
|
53260
|
-
const resolvedChatRef =
|
|
53372
|
+
const resolvedChatRef = React126.default.useMemo(() => {
|
|
53261
53373
|
const cta = resolveSourceRowCTA(
|
|
53262
53374
|
{
|
|
53263
53375
|
sourceRepo: chatRef.sourceRepo,
|
|
@@ -53266,7 +53378,7 @@ function ChatCardLoader({
|
|
|
53266
53378
|
title: chatRef.title,
|
|
53267
53379
|
externalUrl: chatRef.url,
|
|
53268
53380
|
targetPlatform: chatRef.targetPlatform,
|
|
53269
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
53381
|
+
path: typeof _optionalChain([chatRef, 'access', _1379 => _1379.metadata, 'optionalAccess', _1380 => _1380.path]) === "string" ? chatRef.metadata.path : null
|
|
53270
53382
|
},
|
|
53271
53383
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
53272
53384
|
);
|
|
@@ -53280,11 +53392,11 @@ function ChatCardLoader({
|
|
|
53280
53392
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
53281
53393
|
const fetchEntry = entry && entry.contentRefType ? entry : null;
|
|
53282
53394
|
const { item, isLoading, isError, isFetched } = useChatCardItem(
|
|
53283
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
53395
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1381 => _1381.contentRefType]), () => ( "")),
|
|
53284
53396
|
fetchEntry ? resolvedChatRef.id : ""
|
|
53285
53397
|
);
|
|
53286
53398
|
if (!entry) return null;
|
|
53287
|
-
const composedHref = _optionalChain([fetchEntry, 'optionalAccess',
|
|
53399
|
+
const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _1382 => _1382.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
|
|
53288
53400
|
contentRefType: fetchEntry.contentRefType,
|
|
53289
53401
|
id: resolvedChatRef.id,
|
|
53290
53402
|
item,
|
|
@@ -53323,7 +53435,7 @@ function ChatCardLoader({
|
|
|
53323
53435
|
isNewTab,
|
|
53324
53436
|
discuss
|
|
53325
53437
|
};
|
|
53326
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
53438
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _1383 => _1383.metadata, 'optionalAccess', _1384 => _1384.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
53327
53439
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53328
53440
|
ChatCardNavWrap,
|
|
53329
53441
|
{
|
|
@@ -53347,7 +53459,7 @@ function ChatCardLoader({
|
|
|
53347
53459
|
if (!fetchEntry) {
|
|
53348
53460
|
return finish(entry.render(void 0, finalChatRef, renderOpts));
|
|
53349
53461
|
}
|
|
53350
|
-
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access',
|
|
53462
|
+
if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _1385 => _1385.skeleton, 'optionalCall', _1386 => _1386()]), () => ( null)) });
|
|
53351
53463
|
if (!item) {
|
|
53352
53464
|
if (isError) {
|
|
53353
53465
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
|
|
@@ -53610,7 +53722,7 @@ function useChunkCatchup({
|
|
|
53610
53722
|
console.error("Error during chunk catchup:", error);
|
|
53611
53723
|
} finally {
|
|
53612
53724
|
if (dialogId2 !== dialogIdRef.current) {
|
|
53613
|
-
if (_optionalChain([pendingCatchupRef, 'access',
|
|
53725
|
+
if (_optionalChain([pendingCatchupRef, 'access', _1387 => _1387.current, 'optionalAccess', _1388 => _1388.dialogId]) === dialogId2) {
|
|
53614
53726
|
pendingCatchupRef.current = null;
|
|
53615
53727
|
}
|
|
53616
53728
|
} else {
|
|
@@ -53623,7 +53735,7 @@ function useChunkCatchup({
|
|
|
53623
53735
|
lastFetchParams.current = null;
|
|
53624
53736
|
bufferUntilInitialCatchupComplete.current = true;
|
|
53625
53737
|
try {
|
|
53626
|
-
await _optionalChain([catchUpChunksRef, 'access',
|
|
53738
|
+
await _optionalChain([catchUpChunksRef, 'access', _1389 => _1389.current, 'optionalCall', _1390 => _1390(pending.fromSequenceId)]);
|
|
53627
53739
|
} catch (rerunError) {
|
|
53628
53740
|
console.error("Queued catch-up re-run failed:", rerunError);
|
|
53629
53741
|
}
|
|
@@ -53687,7 +53799,7 @@ function useChunkCatchup({
|
|
|
53687
53799
|
|
|
53688
53800
|
var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
|
|
53689
53801
|
function prefersReducedMotion() {
|
|
53690
|
-
return typeof window !== "undefined" && _optionalChain([window, 'access',
|
|
53802
|
+
return typeof window !== "undefined" && _optionalChain([window, 'access', _1391 => _1391.matchMedia, 'optionalCall', _1392 => _1392("(prefers-reduced-motion: reduce)"), 'access', _1393 => _1393.matches]) === true;
|
|
53691
53803
|
}
|
|
53692
53804
|
function useScriptedStream(frames, resetKey, enabled = true) {
|
|
53693
53805
|
const [index, setIndex] = _react.useState.call(void 0, 0);
|
|
@@ -53699,7 +53811,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
|
|
|
53699
53811
|
}
|
|
53700
53812
|
_react.useEffect.call(void 0, () => {
|
|
53701
53813
|
setReducedMotion(prefersReducedMotion());
|
|
53702
|
-
const mq = _optionalChain([window, 'access',
|
|
53814
|
+
const mq = _optionalChain([window, 'access', _1394 => _1394.matchMedia, 'optionalCall', _1395 => _1395("(prefers-reduced-motion: reduce)")]);
|
|
53703
53815
|
if (!mq) return;
|
|
53704
53816
|
const onChange = () => setReducedMotion(mq.matches);
|
|
53705
53817
|
mq.addEventListener("change", onChange);
|
|
@@ -53835,7 +53947,7 @@ function useJetStreamDialogSubscription({
|
|
|
53835
53947
|
const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
|
|
53836
53948
|
conn: sharedConn,
|
|
53837
53949
|
wsUrl,
|
|
53838
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
53950
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1396 => _1396.current, 'optionalCall', _1397 => _1397()]),
|
|
53839
53951
|
backoff: reconnectionBackoffRef.current,
|
|
53840
53952
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
53841
53953
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -53850,7 +53962,7 @@ function useJetStreamDialogSubscription({
|
|
|
53850
53962
|
setReconnectionCount((c) => c + 1);
|
|
53851
53963
|
}
|
|
53852
53964
|
hadConnectionBeforeRef.current = true;
|
|
53853
|
-
_optionalChain([onConnectRef, 'access',
|
|
53965
|
+
_optionalChain([onConnectRef, 'access', _1398 => _1398.current, 'optionalCall', _1399 => _1399()]);
|
|
53854
53966
|
}
|
|
53855
53967
|
if (status === "error") {
|
|
53856
53968
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -53860,7 +53972,7 @@ function useJetStreamDialogSubscription({
|
|
|
53860
53972
|
setIsConnected(false);
|
|
53861
53973
|
setIsSubscribed(false);
|
|
53862
53974
|
tearDownSubscription();
|
|
53863
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
53975
|
+
_optionalChain([onDisconnectRef, 'access', _1400 => _1400.current, 'optionalCall', _1401 => _1401()]);
|
|
53864
53976
|
}
|
|
53865
53977
|
}
|
|
53866
53978
|
});
|
|
@@ -53989,7 +54101,7 @@ function useJetStreamDialogSubscription({
|
|
|
53989
54101
|
}
|
|
53990
54102
|
subscriptionRef.current = handle;
|
|
53991
54103
|
setIsSubscribed(true);
|
|
53992
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
54104
|
+
_optionalChain([onSubscribedRef, 'access', _1402 => _1402.current, 'optionalCall', _1403 => _1403()]);
|
|
53993
54105
|
} catch (e90) {
|
|
53994
54106
|
if (!cancelled) {
|
|
53995
54107
|
setIsSubscribed(false);
|
|
@@ -54103,20 +54215,20 @@ function useNatsDialogSubscription({
|
|
|
54103
54215
|
const tearDownSubscriptions = () => {
|
|
54104
54216
|
subscriptionRefs.current.forEach((sub) => {
|
|
54105
54217
|
try {
|
|
54106
|
-
_optionalChain([sub, 'optionalAccess',
|
|
54218
|
+
_optionalChain([sub, 'optionalAccess', _1404 => _1404.unsubscribe, 'call', _1405 => _1405()]);
|
|
54107
54219
|
} catch (e92) {
|
|
54108
54220
|
}
|
|
54109
54221
|
});
|
|
54110
54222
|
subscriptionRefs.current.clear();
|
|
54111
54223
|
lastSubscribedDialogIdRef.current = null;
|
|
54112
|
-
_optionalChain([abortControllerRef, 'access',
|
|
54224
|
+
_optionalChain([abortControllerRef, 'access', _1406 => _1406.current, 'optionalAccess', _1407 => _1407.abort, 'call', _1408 => _1408()]);
|
|
54113
54225
|
abortControllerRef.current = null;
|
|
54114
54226
|
};
|
|
54115
54227
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
54116
54228
|
const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
|
|
54117
54229
|
conn: sharedConn,
|
|
54118
54230
|
wsUrl,
|
|
54119
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
54231
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1409 => _1409.current, 'optionalCall', _1410 => _1410()]),
|
|
54120
54232
|
backoff: reconnectionBackoffRef.current,
|
|
54121
54233
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
54122
54234
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -54127,7 +54239,7 @@ function useNatsDialogSubscription({
|
|
|
54127
54239
|
setReconnectionCount((c) => c + 1);
|
|
54128
54240
|
}
|
|
54129
54241
|
hadConnectionBeforeRef.current = true;
|
|
54130
|
-
_optionalChain([onConnectRef, 'access',
|
|
54242
|
+
_optionalChain([onConnectRef, 'access', _1411 => _1411.current, 'optionalCall', _1412 => _1412()]);
|
|
54131
54243
|
}
|
|
54132
54244
|
if (status === "error") {
|
|
54133
54245
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -54137,7 +54249,7 @@ function useNatsDialogSubscription({
|
|
|
54137
54249
|
setIsConnected(false);
|
|
54138
54250
|
setIsSubscribed(false);
|
|
54139
54251
|
tearDownSubscriptions();
|
|
54140
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
54252
|
+
_optionalChain([onDisconnectRef, 'access', _1413 => _1413.current, 'optionalCall', _1414 => _1414()]);
|
|
54141
54253
|
}
|
|
54142
54254
|
}
|
|
54143
54255
|
});
|
|
@@ -54170,13 +54282,13 @@ function useNatsDialogSubscription({
|
|
|
54170
54282
|
setIsSubscribed(false);
|
|
54171
54283
|
subscriptionRefs.current.forEach((sub) => {
|
|
54172
54284
|
try {
|
|
54173
|
-
_optionalChain([sub, 'optionalAccess',
|
|
54285
|
+
_optionalChain([sub, 'optionalAccess', _1415 => _1415.unsubscribe, 'call', _1416 => _1416()]);
|
|
54174
54286
|
} catch (e93) {
|
|
54175
54287
|
}
|
|
54176
54288
|
});
|
|
54177
54289
|
subscriptionRefs.current.clear();
|
|
54178
54290
|
lastSubscribedDialogIdRef.current = null;
|
|
54179
|
-
_optionalChain([abortControllerRef, 'access',
|
|
54291
|
+
_optionalChain([abortControllerRef, 'access', _1417 => _1417.current, 'optionalAccess', _1418 => _1418.abort, 'call', _1419 => _1419()]);
|
|
54180
54292
|
abortControllerRef.current = null;
|
|
54181
54293
|
}
|
|
54182
54294
|
return;
|
|
@@ -54188,12 +54300,12 @@ function useNatsDialogSubscription({
|
|
|
54188
54300
|
if (subscriptionRefs.current.size > 0) {
|
|
54189
54301
|
subscriptionRefs.current.forEach((sub) => {
|
|
54190
54302
|
try {
|
|
54191
|
-
_optionalChain([sub, 'optionalAccess',
|
|
54303
|
+
_optionalChain([sub, 'optionalAccess', _1420 => _1420.unsubscribe, 'call', _1421 => _1421()]);
|
|
54192
54304
|
} catch (e94) {
|
|
54193
54305
|
}
|
|
54194
54306
|
});
|
|
54195
54307
|
subscriptionRefs.current.clear();
|
|
54196
|
-
_optionalChain([abortControllerRef, 'access',
|
|
54308
|
+
_optionalChain([abortControllerRef, 'access', _1422 => _1422.current, 'optionalAccess', _1423 => _1423.abort, 'call', _1424 => _1424()]);
|
|
54197
54309
|
}
|
|
54198
54310
|
abortControllerRef.current = new AbortController();
|
|
54199
54311
|
const abort = abortControllerRef.current;
|
|
@@ -54225,7 +54337,7 @@ function useNatsDialogSubscription({
|
|
|
54225
54337
|
});
|
|
54226
54338
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
54227
54339
|
setIsSubscribed(true);
|
|
54228
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
54340
|
+
_optionalChain([onSubscribedRef, 'access', _1425 => _1425.current, 'optionalCall', _1426 => _1426()]);
|
|
54229
54341
|
};
|
|
54230
54342
|
if (isConnectedRef.current) {
|
|
54231
54343
|
createSubscriptions();
|
|
@@ -54235,7 +54347,7 @@ function useNatsDialogSubscription({
|
|
|
54235
54347
|
abort.abort();
|
|
54236
54348
|
subscriptionRefs.current.forEach((sub) => {
|
|
54237
54349
|
try {
|
|
54238
|
-
_optionalChain([sub, 'optionalAccess',
|
|
54350
|
+
_optionalChain([sub, 'optionalAccess', _1427 => _1427.unsubscribe, 'call', _1428 => _1428()]);
|
|
54239
54351
|
} catch (e96) {
|
|
54240
54352
|
}
|
|
54241
54353
|
});
|
|
@@ -54276,7 +54388,7 @@ function useNatsDialogSubscription({
|
|
|
54276
54388
|
});
|
|
54277
54389
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
54278
54390
|
setIsSubscribed(true);
|
|
54279
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
54391
|
+
_optionalChain([onSubscribedRef, 'access', _1429 => _1429.current, 'optionalCall', _1430 => _1430()]);
|
|
54280
54392
|
} else if (subscriptionRefs.current.size > 0) {
|
|
54281
54393
|
setIsSubscribed(true);
|
|
54282
54394
|
}
|
|
@@ -54284,10 +54396,10 @@ function useNatsDialogSubscription({
|
|
|
54284
54396
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
54285
54397
|
}
|
|
54286
54398
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
54287
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
54399
|
+
const path = _optionalChain([options, 'optionalAccess', _1431 => _1431.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
54288
54400
|
const u = new URL(path, apiBaseUrl);
|
|
54289
54401
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
54290
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
54402
|
+
if (_optionalChain([options, 'optionalAccess', _1432 => _1432.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1433 => _1433.token])) {
|
|
54291
54403
|
u.searchParams.set("authorization", options.token);
|
|
54292
54404
|
}
|
|
54293
54405
|
return u.toString();
|
|
@@ -54305,7 +54417,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
54305
54417
|
const data = await res.json();
|
|
54306
54418
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
54307
54419
|
} catch (err) {
|
|
54308
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
54420
|
+
if (_optionalChain([err, 'optionalAccess', _1434 => _1434.name]) === "AbortError") throw err;
|
|
54309
54421
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
54310
54422
|
return [];
|
|
54311
54423
|
}
|
|
@@ -54326,7 +54438,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
54326
54438
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
54327
54439
|
if (!cancelled) setCommands(next);
|
|
54328
54440
|
} catch (err) {
|
|
54329
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
54441
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _1435 => _1435.name]) !== "AbortError") {
|
|
54330
54442
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
54331
54443
|
}
|
|
54332
54444
|
} finally {
|
|
@@ -54345,7 +54457,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
54345
54457
|
const query = _reactquery.useQuery.call(void 0, {
|
|
54346
54458
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
54347
54459
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
54348
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
54460
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1436 => _1436.enabled]), () => ( true)),
|
|
54349
54461
|
staleTime: Infinity,
|
|
54350
54462
|
gcTime: Infinity,
|
|
54351
54463
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -54384,21 +54496,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
54384
54496
|
}
|
|
54385
54497
|
const data = await res.json();
|
|
54386
54498
|
return {
|
|
54387
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54388
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54389
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54390
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54391
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54392
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
54499
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1437 => _1437.name]), () => ( null)),
|
|
54500
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1438 => _1438.icon]), () => ( null)),
|
|
54501
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1439 => _1439.greeting]), () => ( null)),
|
|
54502
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1440 => _1440.enabledRagTableIds]), () => ( [])),
|
|
54503
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1441 => _1441.quickActions]), () => ( [])),
|
|
54504
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1442 => _1442.suggestedQueries]), () => ( []))
|
|
54393
54505
|
};
|
|
54394
54506
|
} catch (err) {
|
|
54395
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
54507
|
+
if (_optionalChain([err, 'optionalAccess', _1443 => _1443.name]) === "AbortError") throw err;
|
|
54396
54508
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
54397
54509
|
return EMPTY_STATE_FALLBACK;
|
|
54398
54510
|
}
|
|
54399
54511
|
}
|
|
54400
54512
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
54401
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
54513
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1444 => _1444.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
54402
54514
|
const query = _reactquery.useQuery.call(void 0, {
|
|
54403
54515
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
54404
54516
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -54427,7 +54539,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
54427
54539
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
54428
54540
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
54429
54541
|
return new Promise((resolve, reject) => {
|
|
54430
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
54542
|
+
if (_optionalChain([signal, 'optionalAccess', _1445 => _1445.aborted])) {
|
|
54431
54543
|
reject(new Error("Upload cancelled"));
|
|
54432
54544
|
return;
|
|
54433
54545
|
}
|
|
@@ -54441,7 +54553,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
54441
54553
|
xhr.removeEventListener("error", handleError);
|
|
54442
54554
|
xhr.removeEventListener("abort", handleAbort);
|
|
54443
54555
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
54444
|
-
_optionalChain([signal, 'optionalAccess',
|
|
54556
|
+
_optionalChain([signal, 'optionalAccess', _1446 => _1446.removeEventListener, 'call', _1447 => _1447("abort", handleSignalAbort)]);
|
|
54445
54557
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
54446
54558
|
};
|
|
54447
54559
|
const handleProgress = (event) => {
|
|
@@ -54477,7 +54589,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
54477
54589
|
const handleSignalAbort = () => {
|
|
54478
54590
|
xhr.abort();
|
|
54479
54591
|
};
|
|
54480
|
-
_optionalChain([signal, 'optionalAccess',
|
|
54592
|
+
_optionalChain([signal, 'optionalAccess', _1448 => _1448.addEventListener, 'call', _1449 => _1449("abort", handleSignalAbort, { once: true })]);
|
|
54481
54593
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
54482
54594
|
xhr.addEventListener("load", handleLoad);
|
|
54483
54595
|
xhr.addEventListener("error", handleError);
|
|
@@ -54521,12 +54633,12 @@ function useChatAttachments() {
|
|
|
54521
54633
|
try {
|
|
54522
54634
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
54523
54635
|
} catch (err) {
|
|
54524
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
54636
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1450 => _1450.signal, 'access', _1451 => _1451.aborted])) return;
|
|
54525
54637
|
throw new Error(
|
|
54526
54638
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
54527
54639
|
);
|
|
54528
54640
|
}
|
|
54529
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
54641
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1452 => _1452.signal, 'access', _1453 => _1453.aborted])) return;
|
|
54530
54642
|
if (!sniffed) {
|
|
54531
54643
|
throw new Error("Unrecognized file format");
|
|
54532
54644
|
}
|
|
@@ -54540,7 +54652,7 @@ function useChatAttachments() {
|
|
|
54540
54652
|
const urlResp = await _chunk5RJUHUCIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
54541
54653
|
method: "POST",
|
|
54542
54654
|
headers: { "Content-Type": "application/json" },
|
|
54543
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
54655
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _1454 => _1454.signal]),
|
|
54544
54656
|
body: JSON.stringify({
|
|
54545
54657
|
fileName: att.file.name,
|
|
54546
54658
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -54566,9 +54678,9 @@ function useChatAttachments() {
|
|
|
54566
54678
|
(pct) => {
|
|
54567
54679
|
updateOne(att.id, { progress: pct });
|
|
54568
54680
|
},
|
|
54569
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
54681
|
+
_optionalChain([ctrl, 'optionalAccess', _1455 => _1455.signal])
|
|
54570
54682
|
);
|
|
54571
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
54683
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1456 => _1456.signal, 'access', _1457 => _1457.aborted])) return;
|
|
54572
54684
|
updateOne(att.id, {
|
|
54573
54685
|
status: "ready",
|
|
54574
54686
|
progress: 100,
|
|
@@ -54576,7 +54688,7 @@ function useChatAttachments() {
|
|
|
54576
54688
|
viewToken: mintData.viewToken
|
|
54577
54689
|
});
|
|
54578
54690
|
} catch (err) {
|
|
54579
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
54691
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1458 => _1458.signal, 'access', _1459 => _1459.aborted])) return;
|
|
54580
54692
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
54581
54693
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
54582
54694
|
} finally {
|
|
@@ -54763,7 +54875,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
54763
54875
|
yield chunk;
|
|
54764
54876
|
}
|
|
54765
54877
|
} catch (err) {
|
|
54766
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
54878
|
+
if (_optionalChain([err, 'optionalAccess', _1460 => _1460.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
54767
54879
|
return;
|
|
54768
54880
|
}
|
|
54769
54881
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -54814,7 +54926,7 @@ function useChat({
|
|
|
54814
54926
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
54815
54927
|
onMessagesChangeRef.current = onMessagesChange;
|
|
54816
54928
|
_react.useEffect.call(void 0, () => {
|
|
54817
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
54929
|
+
_optionalChain([onMessagesChangeRef, 'access', _1461 => _1461.current, 'optionalCall', _1462 => _1462(messages)]);
|
|
54818
54930
|
}, [messages]);
|
|
54819
54931
|
const {
|
|
54820
54932
|
streamMessage,
|
|
@@ -54851,7 +54963,7 @@ function useChat({
|
|
|
54851
54963
|
name: "You",
|
|
54852
54964
|
content: text,
|
|
54853
54965
|
timestamp: /* @__PURE__ */ new Date(),
|
|
54854
|
-
..._optionalChain([options, 'optionalAccess',
|
|
54966
|
+
..._optionalChain([options, 'optionalAccess', _1463 => _1463.hidden]) ? { hidden: true } : {}
|
|
54855
54967
|
};
|
|
54856
54968
|
addMessage(userMessage);
|
|
54857
54969
|
setIsTyping(true);
|
|
@@ -54913,7 +55025,7 @@ function useChat({
|
|
|
54913
55025
|
currentTextSegment = "";
|
|
54914
55026
|
}
|
|
54915
55027
|
const seg = segment;
|
|
54916
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
55028
|
+
const proposalId = _optionalChain([seg, 'access', _1464 => _1464.data, 'optionalAccess', _1465 => _1465.requestId]);
|
|
54917
55029
|
const updateApprovalMessage = (transform) => {
|
|
54918
55030
|
setMessages((prev) => {
|
|
54919
55031
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -54922,7 +55034,7 @@ function useChat({
|
|
|
54922
55034
|
if (!Array.isArray(m.content)) continue;
|
|
54923
55035
|
const segments = m.content;
|
|
54924
55036
|
const hasMatch = segments.some(
|
|
54925
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
55037
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1466 => _1466.data, 'optionalAccess', _1467 => _1467.requestId]) === proposalId
|
|
54926
55038
|
);
|
|
54927
55039
|
if (!hasMatch) continue;
|
|
54928
55040
|
const next = [...prev];
|
|
@@ -54964,11 +55076,11 @@ function useChat({
|
|
|
54964
55076
|
if (!Array.isArray(m.content)) continue;
|
|
54965
55077
|
const segments = m.content;
|
|
54966
55078
|
const hasMatch = segments.some(
|
|
54967
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
55079
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1468 => _1468.data, 'optionalAccess', _1469 => _1469.requestId]) === decision.proposalId
|
|
54968
55080
|
);
|
|
54969
55081
|
if (!hasMatch) continue;
|
|
54970
55082
|
const flipped = segments.map(
|
|
54971
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
55083
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1470 => _1470.data, 'optionalAccess', _1471 => _1471.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
54972
55084
|
);
|
|
54973
55085
|
const next = [...prev];
|
|
54974
55086
|
next[i] = { ...m, content: flipped };
|
|
@@ -55096,7 +55208,7 @@ function buildConfirmToolBody(request) {
|
|
|
55096
55208
|
async function readServerErrorMessage(response) {
|
|
55097
55209
|
try {
|
|
55098
55210
|
const body = await response.json();
|
|
55099
|
-
if (typeof _optionalChain([body, 'optionalAccess',
|
|
55211
|
+
if (typeof _optionalChain([body, 'optionalAccess', _1472 => _1472.error]) === "string" && body.error.length > 0) return body.error;
|
|
55100
55212
|
} catch (e98) {
|
|
55101
55213
|
}
|
|
55102
55214
|
return null;
|
|
@@ -55317,7 +55429,7 @@ var STORAGE_KEY2 = "conversation";
|
|
|
55317
55429
|
var namespaceFor = (source) => {
|
|
55318
55430
|
const base = `mingo-chat-${source}`;
|
|
55319
55431
|
const auth = _chunk5RJUHUCIcjs.getEmbedProxyAuth.call(void 0, );
|
|
55320
|
-
return _optionalChain([auth, 'optionalAccess',
|
|
55432
|
+
return _optionalChain([auth, 'optionalAccess', _1473 => _1473.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
|
|
55321
55433
|
};
|
|
55322
55434
|
function createChatConversationStorage(source) {
|
|
55323
55435
|
return _chunk5RJUHUCIcjs.createLocalStorageAdapter.call(void 0, {
|
|
@@ -55379,8 +55491,8 @@ function useChatHistoryHydration({
|
|
|
55379
55491
|
);
|
|
55380
55492
|
if (!res.ok) return;
|
|
55381
55493
|
const payload = await res.json().catch(() => null);
|
|
55382
|
-
const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess',
|
|
55383
|
-
const rows = Array.isArray(_optionalChain([body, 'optionalAccess',
|
|
55494
|
+
const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1474 => _1474.data]), () => ( payload));
|
|
55495
|
+
const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1475 => _1475.messages])) ? body.messages : [];
|
|
55384
55496
|
if (cancelled || rows.length === 0) return;
|
|
55385
55497
|
const hydrated = [];
|
|
55386
55498
|
const sourcesSeed = /* @__PURE__ */ new Map();
|
|
@@ -55487,11 +55599,11 @@ function appendToTrailingAssistant(prev, segments) {
|
|
|
55487
55599
|
for (const seg of segments) {
|
|
55488
55600
|
const tail = merged[merged.length - 1];
|
|
55489
55601
|
const key = upsertKey(seg);
|
|
55490
|
-
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess',
|
|
55602
|
+
if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1476 => _1476.type]) === "text") {
|
|
55491
55603
|
merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
|
|
55492
|
-
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess',
|
|
55604
|
+
} else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1477 => _1477.type]) === "thinking") {
|
|
55493
55605
|
merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
|
|
55494
|
-
} else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess',
|
|
55606
|
+
} else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1478 => _1478.type]) === "guide") {
|
|
55495
55607
|
merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
|
|
55496
55608
|
} else if (key) {
|
|
55497
55609
|
const idx = merged.findIndex((m) => upsertKey(m) === key);
|
|
@@ -55531,7 +55643,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
55531
55643
|
}
|
|
55532
55644
|
if (s.type !== "approval_batch") return s;
|
|
55533
55645
|
const isAnchor = s.data.approvalRequestId === requestId;
|
|
55534
|
-
const hasRow = _optionalChain([s, 'access',
|
|
55646
|
+
const hasRow = _optionalChain([s, 'access', _1479 => _1479.data, 'access', _1480 => _1480.toolCalls, 'optionalAccess', _1481 => _1481.some, 'call', _1482 => _1482((c) => c.toolExecutionRequestId === requestId)]);
|
|
55535
55647
|
if (!isAnchor && !hasRow) return s;
|
|
55536
55648
|
const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
|
|
55537
55649
|
const nextExecutions = hasRow ? {
|
|
@@ -55553,8 +55665,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
|
|
|
55553
55665
|
};
|
|
55554
55666
|
}
|
|
55555
55667
|
function nextBatchExecution(prevExec, toolData) {
|
|
55556
|
-
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess',
|
|
55557
|
-
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess',
|
|
55668
|
+
if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1483 => _1483.status]) === "done") return null;
|
|
55669
|
+
return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1484 => _1484.result]), success: _optionalChain([prevExec, 'optionalAccess', _1485 => _1485.success]) };
|
|
55558
55670
|
}
|
|
55559
55671
|
function withBatchExecution(seg, execId, state) {
|
|
55560
55672
|
return {
|
|
@@ -55571,11 +55683,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
|
|
|
55571
55683
|
}
|
|
55572
55684
|
function projectBatchRowFailureToMessages(prev, rowRequestId) {
|
|
55573
55685
|
return mapSegments(prev, (s) => {
|
|
55574
|
-
if (s.type !== "approval_batch" || !_optionalChain([s, 'access',
|
|
55686
|
+
if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1486 => _1486.data, 'access', _1487 => _1487.toolCalls, 'optionalAccess', _1488 => _1488.some, 'call', _1489 => _1489((c) => c.toolExecutionRequestId === rowRequestId)])) {
|
|
55575
55687
|
return s;
|
|
55576
55688
|
}
|
|
55577
|
-
const existing = _optionalChain([s, 'access',
|
|
55578
|
-
if (_optionalChain([existing, 'optionalAccess',
|
|
55689
|
+
const existing = _optionalChain([s, 'access', _1490 => _1490.data, 'access', _1491 => _1491.executions, 'optionalAccess', _1492 => _1492[rowRequestId]]);
|
|
55690
|
+
if (_optionalChain([existing, 'optionalAccess', _1493 => _1493.status]) === "done") return s;
|
|
55579
55691
|
return withBatchExecution(s, rowRequestId, { status: "done", success: false });
|
|
55580
55692
|
});
|
|
55581
55693
|
}
|
|
@@ -55614,7 +55726,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
|
|
|
55614
55726
|
for (let j = message2.segments.length - 1; j >= 0; j--) {
|
|
55615
55727
|
const seg = message2.segments[j];
|
|
55616
55728
|
if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
|
|
55617
|
-
const prevExec = _optionalChain([seg, 'access',
|
|
55729
|
+
const prevExec = _optionalChain([seg, 'access', _1494 => _1494.data, 'access', _1495 => _1495.executions, 'optionalAccess', _1496 => _1496[execId]]);
|
|
55618
55730
|
const nextExec = nextBatchExecution(prevExec, toolData);
|
|
55619
55731
|
if (nextExec === null) return prev;
|
|
55620
55732
|
if (sameExecutionState(prevExec, nextExec)) return prev;
|
|
@@ -55803,9 +55915,9 @@ var MessageSegmentAccumulator = class {
|
|
|
55803
55915
|
type: "tool_execution",
|
|
55804
55916
|
data: {
|
|
55805
55917
|
...toolData,
|
|
55806
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
55807
|
-
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
55808
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
55918
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1497 => _1497.data, 'access', _1498 => _1498.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1499 => _1499.toolTitle]))),
|
|
55919
|
+
toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1500 => _1500.data, 'access', _1501 => _1501.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1502 => _1502.toolExplanation]))),
|
|
55920
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1503 => _1503.parameters])
|
|
55809
55921
|
}
|
|
55810
55922
|
};
|
|
55811
55923
|
if (existingIndex !== -1) {
|
|
@@ -55829,7 +55941,7 @@ var MessageSegmentAccumulator = class {
|
|
|
55829
55941
|
if (seg.type !== "approval_batch") return seg;
|
|
55830
55942
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
55831
55943
|
if (!hasCall) return seg;
|
|
55832
|
-
const prev = _optionalChain([seg, 'access',
|
|
55944
|
+
const prev = _optionalChain([seg, 'access', _1504 => _1504.data, 'access', _1505 => _1505.executions, 'optionalAccess', _1506 => _1506[execId]]);
|
|
55833
55945
|
const next = nextBatchExecution(prev, toolData);
|
|
55834
55946
|
matched = true;
|
|
55835
55947
|
if (next === null) return seg;
|
|
@@ -55971,8 +56083,8 @@ var MessageSegmentAccumulator = class {
|
|
|
55971
56083
|
requestId,
|
|
55972
56084
|
{
|
|
55973
56085
|
...pendingApproval,
|
|
55974
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
55975
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
56086
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _1507 => _1507.command]) || "",
|
|
56087
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1508 => _1508.approvalType]) || approvalType
|
|
55976
56088
|
},
|
|
55977
56089
|
status
|
|
55978
56090
|
);
|
|
@@ -55997,9 +56109,9 @@ var MessageSegmentAccumulator = class {
|
|
|
55997
56109
|
type: "escalation_offer",
|
|
55998
56110
|
// The resolved chunk carries no text/origin — a redelivered offer must
|
|
55999
56111
|
// not blank the card the PENDING chunk already painted.
|
|
56000
|
-
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess',
|
|
56112
|
+
data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _1509 => _1509.data, 'access', _1510 => _1510.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _1511 => _1511.data, 'access', _1512 => _1512.origin]))) },
|
|
56001
56113
|
status,
|
|
56002
|
-
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess',
|
|
56114
|
+
resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _1513 => _1513.resolvedByName]))),
|
|
56003
56115
|
onApprove: this.callbacks.onEscalationApprove,
|
|
56004
56116
|
onReject: this.callbacks.onEscalationReject
|
|
56005
56117
|
};
|
|
@@ -56215,7 +56327,7 @@ function createMessageSegmentAccumulator(callbacks) {
|
|
|
56215
56327
|
// src/chat-protocol/events.ts
|
|
56216
56328
|
var GUIDE_ORIGIN = "guide";
|
|
56217
56329
|
function isGuideOrigin(source) {
|
|
56218
|
-
return _optionalChain([source, 'optionalAccess',
|
|
56330
|
+
return _optionalChain([source, 'optionalAccess', _1514 => _1514.origin]) === GUIDE_ORIGIN;
|
|
56219
56331
|
}
|
|
56220
56332
|
var ESCALATION_STATE = {
|
|
56221
56333
|
PENDING: "PENDING",
|
|
@@ -56338,7 +56450,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
56338
56450
|
let stateCache = null;
|
|
56339
56451
|
function invalidate() {
|
|
56340
56452
|
stateCache = null;
|
|
56341
|
-
_optionalChain([onChange, 'optionalCall',
|
|
56453
|
+
_optionalChain([onChange, 'optionalCall', _1515 => _1515()]);
|
|
56342
56454
|
}
|
|
56343
56455
|
function getState() {
|
|
56344
56456
|
if (!stateCache) {
|
|
@@ -56355,7 +56467,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
56355
56467
|
return stateCache;
|
|
56356
56468
|
}
|
|
56357
56469
|
function emit(name, ...args) {
|
|
56358
|
-
_optionalChain([onEffect, 'optionalCall',
|
|
56470
|
+
_optionalChain([onEffect, 'optionalCall', _1516 => _1516({ name, args })]);
|
|
56359
56471
|
}
|
|
56360
56472
|
function setMessagesInternal(next) {
|
|
56361
56473
|
if (next !== messages) {
|
|
@@ -56386,12 +56498,12 @@ function createChatStreamReducer(options = {}) {
|
|
|
56386
56498
|
return [...next.slice(0, -1), { ...last, streamSeq: seq }];
|
|
56387
56499
|
}
|
|
56388
56500
|
function applySegmentsToState(segments, meta) {
|
|
56389
|
-
const seq = _optionalChain([meta, 'optionalAccess',
|
|
56390
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
56501
|
+
const seq = _optionalChain([meta, 'optionalAccess', _1517 => _1517.streamSeq]);
|
|
56502
|
+
if (_optionalChain([meta, 'optionalAccess', _1518 => _1518.append]) && meta.isCompacting) {
|
|
56391
56503
|
setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
|
|
56392
56504
|
return;
|
|
56393
56505
|
}
|
|
56394
|
-
if (_optionalChain([meta, 'optionalAccess',
|
|
56506
|
+
if (_optionalChain([meta, 'optionalAccess', _1519 => _1519.append])) {
|
|
56395
56507
|
setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
|
|
56396
56508
|
return;
|
|
56397
56509
|
}
|
|
@@ -56403,7 +56515,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
56403
56515
|
adoptTrailingAssistant = false;
|
|
56404
56516
|
const last = messages[messages.length - 1];
|
|
56405
56517
|
if (!last || last.role !== "assistant" || adoptTail) return;
|
|
56406
|
-
const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access',
|
|
56518
|
+
const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1520 => _1520.segments, 'optionalAccess', _1521 => _1521.length]), () => ( 0))) > 0 || last.content !== "";
|
|
56407
56519
|
if (!hasContent2) return;
|
|
56408
56520
|
setMessagesInternal([
|
|
56409
56521
|
...messages,
|
|
@@ -56631,13 +56743,13 @@ function createChatStreamReducer(options = {}) {
|
|
|
56631
56743
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
56632
56744
|
pendingEscalated.set(requestId, {
|
|
56633
56745
|
command: summary,
|
|
56634
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
56746
|
+
explanation: _optionalChain([required, 'optionalAccess', _1522 => _1522.toolExplanation]),
|
|
56635
56747
|
approvalType,
|
|
56636
56748
|
toolCalls
|
|
56637
56749
|
});
|
|
56638
56750
|
emit("onEscalatedApproval", requestId, {
|
|
56639
56751
|
command: summary,
|
|
56640
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
56752
|
+
explanation: _optionalChain([required, 'optionalAccess', _1523 => _1523.toolExplanation]),
|
|
56641
56753
|
approvalType
|
|
56642
56754
|
});
|
|
56643
56755
|
break;
|
|
@@ -56827,7 +56939,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
56827
56939
|
let message2;
|
|
56828
56940
|
if (event.details) {
|
|
56829
56941
|
try {
|
|
56830
|
-
message2 = _optionalChain([JSON, 'access',
|
|
56942
|
+
message2 = _optionalChain([JSON, 'access', _1524 => _1524.parse, 'call', _1525 => _1525(event.details), 'optionalAccess', _1526 => _1526.error, 'optionalAccess', _1527 => _1527.message]);
|
|
56831
56943
|
} catch (e103) {
|
|
56832
56944
|
message2 = event.details;
|
|
56833
56945
|
}
|
|
@@ -57044,7 +57156,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
57044
57156
|
const resolveBatch = (status, confirm) => async () => {
|
|
57045
57157
|
setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
|
|
57046
57158
|
for (const id of ids) {
|
|
57047
|
-
const ok = await _optionalChain([confirm, 'optionalCall',
|
|
57159
|
+
const ok = await _optionalChain([confirm, 'optionalCall', _1528 => _1528(id)]);
|
|
57048
57160
|
if (ok === false) {
|
|
57049
57161
|
setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
|
|
57050
57162
|
}
|
|
@@ -57187,8 +57299,8 @@ function createChatStreamReducer(options = {}) {
|
|
|
57187
57299
|
}
|
|
57188
57300
|
}
|
|
57189
57301
|
}
|
|
57190
|
-
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess',
|
|
57191
|
-
if (_optionalChain([extras, 'optionalAccess',
|
|
57302
|
+
hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1529 => _1529.resumed]), () => ( messages.length > 0)));
|
|
57303
|
+
if (_optionalChain([extras, 'optionalAccess', _1530 => _1530.agentBusy])) agentBusyState();
|
|
57192
57304
|
invalidate();
|
|
57193
57305
|
}
|
|
57194
57306
|
return {
|
|
@@ -57273,7 +57385,7 @@ function createChatStreamReducer(options = {}) {
|
|
|
57273
57385
|
},
|
|
57274
57386
|
endSseTurn() {
|
|
57275
57387
|
const last = messages[messages.length - 1];
|
|
57276
|
-
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access',
|
|
57388
|
+
if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1531 => _1531.segments, 'optionalAccess', _1532 => _1532.length]), () => ( 0))) === 0 && last.content === "") {
|
|
57277
57389
|
messages = messages.slice(0, -1);
|
|
57278
57390
|
}
|
|
57279
57391
|
sseCurrentText = "";
|
|
@@ -57427,10 +57539,10 @@ function createChatDialogStore(options = {}) {
|
|
|
57427
57539
|
if (onEvict) {
|
|
57428
57540
|
const sep = key.indexOf(KEY_SEP);
|
|
57429
57541
|
onEvict(key.slice(0, sep), key.slice(sep + 1), {
|
|
57430
|
-
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
57431
|
-
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
57432
|
-
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
57433
|
-
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess',
|
|
57542
|
+
messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1533 => _1533.state, 'access', _1534 => _1534.messages]), () => ( EMPTY_STATE.messages)),
|
|
57543
|
+
approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1535 => _1535.state, 'access', _1536 => _1536.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
|
|
57544
|
+
lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1537 => _1537.getLastAppliedSeq, 'call', _1538 => _1538()]), () => ( Number.NEGATIVE_INFINITY)),
|
|
57545
|
+
pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1539 => _1539.getPendingEchoes, 'call', _1540 => _1540()]), () => ( EMPTY_PENDING_ECHOES))
|
|
57434
57546
|
});
|
|
57435
57547
|
}
|
|
57436
57548
|
}
|
|
@@ -57440,12 +57552,12 @@ function createChatDialogStore(options = {}) {
|
|
|
57440
57552
|
const key = keyOf(dialogId, side);
|
|
57441
57553
|
let reducer2 = reducers.get(key);
|
|
57442
57554
|
if (!reducer2) {
|
|
57443
|
-
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall',
|
|
57555
|
+
const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1541 => _1541(dialogId, side)]), () => ( {}));
|
|
57444
57556
|
const userOnChange = base.onChange;
|
|
57445
57557
|
reducer2 = createChatStreamReducer({
|
|
57446
57558
|
...base,
|
|
57447
57559
|
onChange: () => {
|
|
57448
|
-
_optionalChain([userOnChange, 'optionalCall',
|
|
57560
|
+
_optionalChain([userOnChange, 'optionalCall', _1542 => _1542()]);
|
|
57449
57561
|
notify();
|
|
57450
57562
|
}
|
|
57451
57563
|
});
|
|
@@ -57490,7 +57602,7 @@ function createChatDialogStore(options = {}) {
|
|
|
57490
57602
|
};
|
|
57491
57603
|
}
|
|
57492
57604
|
function getSnapshot(dialogId, side = DEFAULT_DIALOG_SIDE) {
|
|
57493
|
-
return _nullishCoalesce(_optionalChain([reducers, 'access',
|
|
57605
|
+
return _nullishCoalesce(_optionalChain([reducers, 'access', _1543 => _1543.get, 'call', _1544 => _1544(keyOf(dialogId, side)), 'optionalAccess', _1545 => _1545.state]), () => ( EMPTY_STATE));
|
|
57494
57606
|
}
|
|
57495
57607
|
function getServerSnapshot() {
|
|
57496
57608
|
return EMPTY_STATE;
|
|
@@ -57582,7 +57694,7 @@ function createDeltaBatcher({
|
|
|
57582
57694
|
pending = [];
|
|
57583
57695
|
const key = pendingKey;
|
|
57584
57696
|
for (const delta of batch) applyOne(delta, key);
|
|
57585
|
-
_optionalChain([onFlushed, 'optionalCall',
|
|
57697
|
+
_optionalChain([onFlushed, 'optionalCall', _1546 => _1546(batch.length)]);
|
|
57586
57698
|
}
|
|
57587
57699
|
function schedule() {
|
|
57588
57700
|
if (raf !== null || timer !== null) return;
|
|
@@ -57606,7 +57718,7 @@ function createDeltaBatcher({
|
|
|
57606
57718
|
}
|
|
57607
57719
|
if (!isDeltaEvent(event)) return false;
|
|
57608
57720
|
const tail = pending[pending.length - 1];
|
|
57609
|
-
const seqAdvances = _optionalChain([tail, 'optionalAccess',
|
|
57721
|
+
const seqAdvances = _optionalChain([tail, 'optionalAccess', _1547 => _1547.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
|
|
57610
57722
|
if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
|
|
57611
57723
|
pending[pending.length - 1] = {
|
|
57612
57724
|
...tail,
|
|
@@ -57639,7 +57751,7 @@ function useChatStreamReducer({
|
|
|
57639
57751
|
}) {
|
|
57640
57752
|
const optionsRef = _react.useRef.call(void 0, createReducerOptions);
|
|
57641
57753
|
optionsRef.current = createReducerOptions;
|
|
57642
|
-
const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access',
|
|
57754
|
+
const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1548 => _1548.current, 'optionalCall', _1549 => _1549()]), () => ( {})));
|
|
57643
57755
|
const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
|
|
57644
57756
|
const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
|
|
57645
57757
|
const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
|
|
@@ -57699,7 +57811,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57699
57811
|
const { active = true } = runtimeOptions;
|
|
57700
57812
|
const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
|
|
57701
57813
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
57702
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
57814
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1550 => _1550.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
57703
57815
|
const sendMessageRef = _react.useRef.call(void 0, async () => true);
|
|
57704
57816
|
const cardResolve = _react.useCallback.call(void 0,
|
|
57705
57817
|
(action) => (reqId) => {
|
|
@@ -57734,7 +57846,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57734
57846
|
if (!restoredConversationRef.current) {
|
|
57735
57847
|
restoredConversationRef.current = true;
|
|
57736
57848
|
pruneStaleChatConversationStorage(source);
|
|
57737
|
-
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access',
|
|
57849
|
+
conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1551 => _1551.load, 'call', _1552 => _1552(), 'optionalAccess', _1553 => _1553.conversationId]), () => ( null));
|
|
57738
57850
|
}
|
|
57739
57851
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
57740
57852
|
const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
|
|
@@ -57841,7 +57953,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57841
57953
|
const serverMessage = await readServerErrorMessage(response);
|
|
57842
57954
|
throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
|
|
57843
57955
|
}
|
|
57844
|
-
const reader = _optionalChain([response, 'access',
|
|
57956
|
+
const reader = _optionalChain([response, 'access', _1554 => _1554.body, 'optionalAccess', _1555 => _1555.getReader, 'call', _1556 => _1556()]);
|
|
57845
57957
|
if (!reader) throw new Error("No response body");
|
|
57846
57958
|
const frameDecoder = createSseFrameDecoder();
|
|
57847
57959
|
let finished = false;
|
|
@@ -57864,7 +57976,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57864
57976
|
}
|
|
57865
57977
|
return true;
|
|
57866
57978
|
} catch (err) {
|
|
57867
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
57979
|
+
if (_optionalChain([err, 'optionalAccess', _1557 => _1557.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
57868
57980
|
return true;
|
|
57869
57981
|
}
|
|
57870
57982
|
flushDeltas();
|
|
@@ -57886,7 +57998,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57886
57998
|
);
|
|
57887
57999
|
sendMessageRef.current = sendMessage;
|
|
57888
58000
|
const stopMessage = _react.useCallback.call(void 0, () => {
|
|
57889
|
-
_optionalChain([abortControllerRef, 'access',
|
|
58001
|
+
_optionalChain([abortControllerRef, 'access', _1558 => _1558.current, 'optionalAccess', _1559 => _1559.abort, 'call', _1560 => _1560()]);
|
|
57890
58002
|
flushDeltas();
|
|
57891
58003
|
mutate((r) => r.setPhase("idle"));
|
|
57892
58004
|
}, [mutate, flushDeltas]);
|
|
@@ -57902,7 +58014,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57902
58014
|
let sendIdx = -1;
|
|
57903
58015
|
return state.messages.map((m) => {
|
|
57904
58016
|
const segments = m.segments;
|
|
57905
|
-
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess',
|
|
58017
|
+
const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1561 => _1561.filter, 'call', _1562 => _1562((s) => s.type === "text"), 'access', _1563 => _1563.map, 'call', _1564 => _1564((s) => s.text), 'access', _1565 => _1565.join, 'call', _1566 => _1566("")]), () => ( ""));
|
|
57906
58018
|
let sources;
|
|
57907
58019
|
let scrollAnchor;
|
|
57908
58020
|
if (m.role === "user" && !m.hidden) {
|
|
@@ -57911,7 +58023,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57911
58023
|
if (m.role === "assistant") {
|
|
57912
58024
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
57913
58025
|
sources = sourcesMap.get(lookupIdx);
|
|
57914
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access',
|
|
58026
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1567 => _1567.get, 'call', _1568 => _1568(lookupIdx), 'optionalAccess', _1569 => _1569.scrollAnchor]), () => ( void 0));
|
|
57915
58027
|
}
|
|
57916
58028
|
return {
|
|
57917
58029
|
id: m.id,
|
|
@@ -57940,7 +58052,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57940
58052
|
);
|
|
57941
58053
|
return;
|
|
57942
58054
|
}
|
|
57943
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
58055
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1570 => _1570.metadata, 'optionalAccess', _1571 => _1571.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
57944
58056
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
57945
58057
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
57946
58058
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -57990,18 +58102,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
57990
58102
|
/** True while the mount-time rebuild from the server transcript runs. */
|
|
57991
58103
|
isHydratingHistory,
|
|
57992
58104
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
57993
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
57994
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
57995
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
58105
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1572 => _1572.provider]), () => ( null)),
|
|
58106
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1573 => _1573.modelLabel]), () => ( null)),
|
|
58107
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1574 => _1574.contextWindowMaxTokens]), () => ( null)),
|
|
57996
58108
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
57997
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
58109
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1575 => _1575.inputTokens]), () => ( null)),
|
|
57998
58110
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
57999
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
58111
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1576 => _1576.outputTokens]), () => ( null)),
|
|
58000
58112
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
58001
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
58113
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1577 => _1577.cacheHitRatePct]), () => ( null)),
|
|
58002
58114
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
58003
58115
|
* token counts). null until the trailing usage frame lands. */
|
|
58004
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
58116
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1578 => _1578.breakdown]), () => ( null)),
|
|
58005
58117
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
58006
58118
|
// Guide mode keeps ONE server-side conversation per stored id
|
|
58007
58119
|
// (`chat_conversations`, hydrated on mount). Surfacing multiple threads
|
|
@@ -58296,7 +58408,7 @@ function decodeNatsChunk(chunk) {
|
|
|
58296
58408
|
userId: typeof data.userId === "string" ? data.userId : void 0,
|
|
58297
58409
|
// Wire shape carries no label; fall back to the id (parity with
|
|
58298
58410
|
// the history path in `process-historical-messages.ts`).
|
|
58299
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
58411
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1579 => _1579.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1580 => _1580.id]) === "string").map((it) => ({
|
|
58300
58412
|
type: it.type,
|
|
58301
58413
|
id: it.id,
|
|
58302
58414
|
label: it.id
|
|
@@ -58348,15 +58460,15 @@ function decodeNatsChunk(chunk) {
|
|
|
58348
58460
|
|
|
58349
58461
|
// src/components/chat/utils/process-historical-messages.ts
|
|
58350
58462
|
function getOwnerDisplayName(owner) {
|
|
58351
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
58463
|
+
if (_optionalChain([owner, 'optionalAccess', _1581 => _1581.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
58352
58464
|
const { firstName, lastName } = owner.user;
|
|
58353
58465
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
58354
58466
|
if (name) return name;
|
|
58355
58467
|
}
|
|
58356
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
58468
|
+
return _optionalChain([owner, 'optionalAccess', _1582 => _1582.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
58357
58469
|
}
|
|
58358
58470
|
function getOwnerAvatar(owner) {
|
|
58359
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
58471
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1583 => _1583.user, 'optionalAccess', _1584 => _1584.image, 'optionalAccess', _1585 => _1585.imageUrl]), () => ( void 0));
|
|
58360
58472
|
}
|
|
58361
58473
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
58362
58474
|
messageDataArray.forEach((data) => {
|
|
@@ -58555,7 +58667,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58555
58667
|
event.offerId,
|
|
58556
58668
|
event.text,
|
|
58557
58669
|
event.origin,
|
|
58558
|
-
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess',
|
|
58670
|
+
_nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1586 => _1586[event.offerId]]), () => ( "pending"))
|
|
58559
58671
|
);
|
|
58560
58672
|
break;
|
|
58561
58673
|
case "ticket-escalated":
|
|
@@ -58581,7 +58693,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58581
58693
|
});
|
|
58582
58694
|
break;
|
|
58583
58695
|
case "escalation-offer-resolved":
|
|
58584
|
-
_optionalChain([offerResolutions, 'optionalAccess',
|
|
58696
|
+
_optionalChain([offerResolutions, 'optionalAccess', _1587 => _1587.set, 'call', _1588 => _1588(event.offerId, {
|
|
58585
58697
|
status: event.status,
|
|
58586
58698
|
resolvedByName: event.resolvedByName
|
|
58587
58699
|
})]);
|
|
@@ -58659,7 +58771,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58659
58771
|
}
|
|
58660
58772
|
}
|
|
58661
58773
|
} else {
|
|
58662
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
58774
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1589 => _1589.set, 'call', _1590 => _1590(event.requestId, {
|
|
58663
58775
|
command: event.command || "",
|
|
58664
58776
|
explanation: event.explanation,
|
|
58665
58777
|
approvalType,
|
|
@@ -58674,8 +58786,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58674
58786
|
const existingStatus = approvalStatuses[requestId];
|
|
58675
58787
|
const status = existingStatus || event.status;
|
|
58676
58788
|
const resolvedByName = event.resolvedByName;
|
|
58677
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
58678
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
58789
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1591 => _1591.get, 'call', _1592 => _1592(requestId)]);
|
|
58790
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1593 => _1593.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
58679
58791
|
if (batchApprovalsEnabled) {
|
|
58680
58792
|
accumulator.addApprovalBatch(
|
|
58681
58793
|
requestId,
|
|
@@ -58697,7 +58809,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58697
58809
|
);
|
|
58698
58810
|
}
|
|
58699
58811
|
}
|
|
58700
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
58812
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1594 => _1594.delete, 'call', _1595 => _1595(requestId)]);
|
|
58701
58813
|
break;
|
|
58702
58814
|
}
|
|
58703
58815
|
if (escalatedData) {
|
|
@@ -58706,7 +58818,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58706
58818
|
explanation: escalatedData.explanation,
|
|
58707
58819
|
approvalType: escalatedData.approvalType
|
|
58708
58820
|
});
|
|
58709
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
58821
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1596 => _1596.delete, 'call', _1597 => _1597(requestId)]);
|
|
58710
58822
|
}
|
|
58711
58823
|
const before = accumulator.getSegments();
|
|
58712
58824
|
const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
|
|
@@ -58723,7 +58835,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
|
|
|
58723
58835
|
let message2;
|
|
58724
58836
|
if (event.details) {
|
|
58725
58837
|
try {
|
|
58726
|
-
message2 = _optionalChain([JSON, 'access',
|
|
58838
|
+
message2 = _optionalChain([JSON, 'access', _1598 => _1598.parse, 'call', _1599 => _1599(event.details), 'optionalAccess', _1600 => _1600.error, 'optionalAccess', _1601 => _1601.message]);
|
|
58727
58839
|
} catch (e104) {
|
|
58728
58840
|
message2 = event.details;
|
|
58729
58841
|
}
|
|
@@ -58809,14 +58921,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
58809
58921
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
58810
58922
|
return;
|
|
58811
58923
|
}
|
|
58812
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
58924
|
+
const isUserMessage = _optionalChain([msg, 'access', _1602 => _1602.owner, 'optionalAccess', _1603 => _1603.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1604 => _1604.owner, 'optionalAccess', _1605 => _1605.type]) === OWNER_TYPE.ADMIN;
|
|
58813
58925
|
if (isUserMessage) {
|
|
58814
58926
|
flushAssistantMessage();
|
|
58815
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
58927
|
+
const userAuthorType = _optionalChain([msg, 'access', _1606 => _1606.owner, 'optionalAccess', _1607 => _1607.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
58816
58928
|
messageDataArray.forEach((data) => {
|
|
58817
58929
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
58818
58930
|
const rawContext = data.contextItems;
|
|
58819
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
58931
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1608 => _1608.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1609 => _1609.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
58820
58932
|
processedMessages.push({
|
|
58821
58933
|
id: msg.id,
|
|
58822
58934
|
role: "user",
|
|
@@ -58853,7 +58965,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
58853
58965
|
});
|
|
58854
58966
|
const nextMsg = messages[index + 1];
|
|
58855
58967
|
const isLastMessage = index === messages.length - 1;
|
|
58856
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
58968
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1610 => _1610.owner, 'optionalAccess', _1611 => _1611.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1612 => _1612.owner, 'optionalAccess', _1613 => _1613.type]) === OWNER_TYPE.ADMIN);
|
|
58857
58969
|
if (isLastMessage || nextIsFromUser) {
|
|
58858
58970
|
flushAssistantMessage();
|
|
58859
58971
|
}
|
|
@@ -58965,7 +59077,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
58965
59077
|
break;
|
|
58966
59078
|
case "approval_batch": {
|
|
58967
59079
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
58968
|
-
(c) => _optionalChain([segment, 'access',
|
|
59080
|
+
(c) => _optionalChain([segment, 'access', _1614 => _1614.data, 'access', _1615 => _1615.executions, 'optionalAccess', _1616 => _1616[c.toolExecutionRequestId], 'optionalAccess', _1617 => _1617.status]) === "done"
|
|
58969
59081
|
);
|
|
58970
59082
|
if (segment.status !== "rejected" && !allDone) {
|
|
58971
59083
|
hasIncompleteState = true;
|
|
@@ -59001,11 +59113,11 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
59001
59113
|
function extractIncompleteTailState(messages) {
|
|
59002
59114
|
if (!messages || messages.length === 0) return void 0;
|
|
59003
59115
|
let start = messages.length;
|
|
59004
|
-
while (start > 0 && _optionalChain([messages, 'access',
|
|
59116
|
+
while (start > 0 && _optionalChain([messages, 'access', _1618 => _1618[start - 1], 'optionalAccess', _1619 => _1619.role]) === "assistant") start -= 1;
|
|
59005
59117
|
if (start === messages.length) return void 0;
|
|
59006
59118
|
const segments = [];
|
|
59007
59119
|
for (let i = start; i < messages.length; i += 1) {
|
|
59008
|
-
const content = _optionalChain([messages, 'access',
|
|
59120
|
+
const content = _optionalChain([messages, 'access', _1620 => _1620[i], 'optionalAccess', _1621 => _1621.content]);
|
|
59009
59121
|
if (Array.isArray(content)) segments.push(...content);
|
|
59010
59122
|
}
|
|
59011
59123
|
if (segments.length === 0) return void 0;
|
|
@@ -59359,7 +59471,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
59359
59471
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
59360
59472
|
const sendMessage = _react.useCallback.call(void 0,
|
|
59361
59473
|
async (text, sendOptions) => {
|
|
59362
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
59474
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1622 => _1622.hidden]), () => ( false));
|
|
59363
59475
|
mutate((r) => r.pushOptimisticSend(text, hidden));
|
|
59364
59476
|
await publishUserMessage(text, { hidden, dialogId });
|
|
59365
59477
|
},
|
|
@@ -59515,11 +59627,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
59515
59627
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
59516
59628
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
59517
59629
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
59518
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
59519
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
59520
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
59521
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
59522
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
59630
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1623 => _1623.provider]), () => ( modelProvider)), () => ( null)),
|
|
59631
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1624 => _1624.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
59632
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1625 => _1625.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1626 => _1626.contextWindowMaxTokens]))), () => ( null)),
|
|
59633
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1627 => _1627.inputTokensSize]), () => ( null)),
|
|
59634
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1628 => _1628.outputTokensSize]), () => ( null)),
|
|
59523
59635
|
currentCacheHitRatePct: null,
|
|
59524
59636
|
currentUsageBreakdown: null,
|
|
59525
59637
|
// Dialog management
|
|
@@ -59656,7 +59768,7 @@ function useUnifiedChat(options) {
|
|
|
59656
59768
|
[]
|
|
59657
59769
|
);
|
|
59658
59770
|
const setDialogScope = _react.useCallback.call(void 0,
|
|
59659
|
-
(scope) => _optionalChain([activeStateRef, 'access',
|
|
59771
|
+
(scope) => _optionalChain([activeStateRef, 'access', _1629 => _1629.current, 'access', _1630 => _1630.setDialogScope, 'optionalCall', _1631 => _1631(scope)]),
|
|
59660
59772
|
[]
|
|
59661
59773
|
);
|
|
59662
59774
|
const reloadDialogs = _react.useCallback.call(void 0,
|
|
@@ -59760,19 +59872,19 @@ function turnRequestKeys(content) {
|
|
|
59760
59872
|
if (!Array.isArray(content)) return keys;
|
|
59761
59873
|
for (const seg of content) {
|
|
59762
59874
|
if (seg.type === "tool_execution") {
|
|
59763
|
-
const id = _optionalChain([seg, 'access',
|
|
59875
|
+
const id = _optionalChain([seg, 'access', _1632 => _1632.data, 'optionalAccess', _1633 => _1633.toolExecutionRequestId]);
|
|
59764
59876
|
if (id) keys.add(id);
|
|
59765
59877
|
} else if (seg.type === "approval_request") {
|
|
59766
|
-
const id = _optionalChain([seg, 'access',
|
|
59878
|
+
const id = _optionalChain([seg, 'access', _1634 => _1634.data, 'optionalAccess', _1635 => _1635.requestId]);
|
|
59767
59879
|
if (id) keys.add(id);
|
|
59768
59880
|
} else if (seg.type === "escalation_offer") {
|
|
59769
|
-
const id = _optionalChain([seg, 'access',
|
|
59881
|
+
const id = _optionalChain([seg, 'access', _1636 => _1636.data, 'optionalAccess', _1637 => _1637.offerId]);
|
|
59770
59882
|
if (id) keys.add(id);
|
|
59771
59883
|
} else if (seg.type === "approval_batch") {
|
|
59772
59884
|
const data = seg.data;
|
|
59773
|
-
if (_optionalChain([data, 'optionalAccess',
|
|
59774
|
-
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
59775
|
-
if (_optionalChain([call, 'optionalAccess',
|
|
59885
|
+
if (_optionalChain([data, 'optionalAccess', _1638 => _1638.approvalRequestId])) keys.add(data.approvalRequestId);
|
|
59886
|
+
for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1639 => _1639.toolCalls]), () => ( []))) {
|
|
59887
|
+
if (_optionalChain([call, 'optionalAccess', _1640 => _1640.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
|
|
59776
59888
|
}
|
|
59777
59889
|
}
|
|
59778
59890
|
}
|
|
@@ -59824,20 +59936,20 @@ function mergeHistoryWithRealtime(input) {
|
|
|
59824
59936
|
}
|
|
59825
59937
|
}
|
|
59826
59938
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
59827
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
59828
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
59939
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1641 => _1641.role]) === "assistant" ? trailing : null;
|
|
59940
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1642 => _1642.content, 'access', _1643 => _1643.find, 'call', _1644 => _1644((s) => s.type === "approval_batch"), 'optionalAccess', _1645 => _1645.data, 'optionalAccess', _1646 => _1646.approvalRequestId]), () => ( null)) : null;
|
|
59829
59941
|
let processedToUse = processedHistory;
|
|
59830
59942
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
59831
59943
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
59832
59944
|
if (historyBatchId) {
|
|
59833
59945
|
const batchTwins = existingMessages.filter(
|
|
59834
59946
|
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
59835
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
59947
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1647 => _1647.data, 'optionalAccess', _1648 => _1648.approvalRequestId]) === historyBatchId
|
|
59836
59948
|
)
|
|
59837
59949
|
);
|
|
59838
59950
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
59839
59951
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
59840
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
59952
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1649 => _1649.content])) ? historyTrailingAssistant.content.length : 0;
|
|
59841
59953
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
59842
59954
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
59843
59955
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -59879,9 +59991,9 @@ function mergeHistoryWithRealtime(input) {
|
|
|
59879
59991
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
59880
59992
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
59881
59993
|
if (processedIds.has(m.id)) return false;
|
|
59882
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
59994
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1650 => _1650.has, 'call', _1651 => _1651(m.id)])) return false;
|
|
59883
59995
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
59884
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
59996
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1652 => _1652.timestamp, 'optionalAccess', _1653 => _1653.getTime, 'call', _1654 => _1654()]), () => ( 0))) <= historyFetchedAt;
|
|
59885
59997
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
59886
59998
|
}
|
|
59887
59999
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
@@ -59905,7 +60017,7 @@ function mergeHistoryWithRealtime(input) {
|
|
|
59905
60017
|
} else if (typeof m.streamSeq === "number") {
|
|
59906
60018
|
covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
|
|
59907
60019
|
} else {
|
|
59908
|
-
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
60020
|
+
covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1655 => _1655.timestamp, 'optionalAccess', _1656 => _1656.getTime, 'call', _1657 => _1657()]), () => ( 0))) <= historyFetchedAt;
|
|
59909
60021
|
}
|
|
59910
60022
|
if (covered) return false;
|
|
59911
60023
|
}
|
|
@@ -59961,7 +60073,7 @@ function normalizeHistoricalMessageData(md) {
|
|
|
59961
60073
|
function isHistoricalUserTurn(m) {
|
|
59962
60074
|
return !!m.owner;
|
|
59963
60075
|
}
|
|
59964
|
-
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess',
|
|
60076
|
+
var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1658 => _1658.type]) === "TEXT" && typeof d.text === "string";
|
|
59965
60077
|
var THINK_MS = 550;
|
|
59966
60078
|
var TOKEN_MS = 55;
|
|
59967
60079
|
var USER_MS = 480;
|
|
@@ -60050,7 +60162,7 @@ var NODES = [
|
|
|
60050
60162
|
];
|
|
60051
60163
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
60052
60164
|
const Slot2 = _reactslot.createSlot.call(void 0, `Primitive.${node}`);
|
|
60053
|
-
const Node2 =
|
|
60165
|
+
const Node2 = React148.forwardRef((props, forwardedRef) => {
|
|
60054
60166
|
const { asChild, ...primitiveProps } = props;
|
|
60055
60167
|
const Comp = asChild ? Slot2 : node;
|
|
60056
60168
|
if (typeof window !== "undefined") {
|
|
@@ -60083,7 +60195,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
60083
60195
|
whiteSpace: "nowrap",
|
|
60084
60196
|
wordWrap: "normal"
|
|
60085
60197
|
});
|
|
60086
|
-
var VisuallyHidden = /* @__PURE__ */
|
|
60198
|
+
var VisuallyHidden = /* @__PURE__ */ React149.forwardRef(
|
|
60087
60199
|
/* @__PURE__ */ __name4(function VisuallyHidden2(props, forwardedRef) {
|
|
60088
60200
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
60089
60201
|
Primitive.span,
|
|
@@ -60208,7 +60320,7 @@ function useChatDialogManager({
|
|
|
60208
60320
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
60209
60321
|
if (restoreTarget) {
|
|
60210
60322
|
try {
|
|
60211
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
60323
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1659 => _1659(restoreTarget.id)]);
|
|
60212
60324
|
} catch (err) {
|
|
60213
60325
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
60214
60326
|
return;
|
|
@@ -60690,7 +60802,7 @@ function EmbeddableChatInner({
|
|
|
60690
60802
|
}),
|
|
60691
60803
|
[commandsUrl]
|
|
60692
60804
|
);
|
|
60693
|
-
const headerUserName = _optionalChain([identityUser, 'optionalAccess',
|
|
60805
|
+
const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1660 => _1660.name, 'optionalAccess', _1661 => _1661.trim, 'call', _1662 => _1662()]) || [_optionalChain([identityUser, 'optionalAccess', _1663 => _1663.firstName]), _optionalChain([identityUser, 'optionalAccess', _1664 => _1664.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1665 => _1665.trim, 'call', _1666 => _1666()]) || void 0;
|
|
60694
60806
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
60695
60807
|
if (modes) return modes;
|
|
60696
60808
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -60699,19 +60811,19 @@ function EmbeddableChatInner({
|
|
|
60699
60811
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
60700
60812
|
if (mingoState) {
|
|
60701
60813
|
return {
|
|
60702
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60703
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60704
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60705
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60706
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60707
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
60814
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1667 => _1667.canRename]), () => ( false)),
|
|
60815
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1668 => _1668.canArchive]), () => ( false)),
|
|
60816
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1669 => _1669.fetchArchivedDialogs]),
|
|
60817
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1670 => _1670.unarchiveDialog]),
|
|
60818
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1671 => _1671.searchQuery]),
|
|
60819
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1672 => _1672.onSearchChange])
|
|
60708
60820
|
};
|
|
60709
60821
|
}
|
|
60710
60822
|
return {
|
|
60711
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
60712
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
60713
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
60714
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
60823
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1673 => _1673.mingo, 'optionalAccess', _1674 => _1674.renameDialog]),
|
|
60824
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1675 => _1675.mingo, 'optionalAccess', _1676 => _1676.archiveDialog]),
|
|
60825
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1677 => _1677.mingo, 'optionalAccess', _1678 => _1678.fetchArchivedDialogs]),
|
|
60826
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1679 => _1679.mingo, 'optionalAccess', _1680 => _1680.unarchiveDialog]),
|
|
60715
60827
|
searchQuery: void 0,
|
|
60716
60828
|
onSearchChange: void 0
|
|
60717
60829
|
};
|
|
@@ -60725,7 +60837,7 @@ function EmbeddableChatInner({
|
|
|
60725
60837
|
if (controlledActiveMode === void 0) {
|
|
60726
60838
|
setUncontrolledActiveMode(next);
|
|
60727
60839
|
}
|
|
60728
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
60840
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1681 => _1681(next)]);
|
|
60729
60841
|
},
|
|
60730
60842
|
[controlledActiveMode, onActiveModeChange]
|
|
60731
60843
|
);
|
|
@@ -60747,7 +60859,7 @@ function EmbeddableChatInner({
|
|
|
60747
60859
|
const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
|
|
60748
60860
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
60749
60861
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
60750
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
60862
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1682 => _1682.title]) === "string" ? guideWelcome.title : null)));
|
|
60751
60863
|
const {
|
|
60752
60864
|
messages: rawMessages,
|
|
60753
60865
|
isLoading: chatLoading,
|
|
@@ -60789,7 +60901,7 @@ function EmbeddableChatInner({
|
|
|
60789
60901
|
if (activeMode !== "guide" || guidePromptSentRef.current) return;
|
|
60790
60902
|
guidePromptSentRef.current = true;
|
|
60791
60903
|
void sendMessage(guidePendingPrompt);
|
|
60792
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
60904
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _1683 => _1683()]);
|
|
60793
60905
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
60794
60906
|
const {
|
|
60795
60907
|
attachments: stagedAttachments,
|
|
@@ -60800,7 +60912,7 @@ function EmbeddableChatInner({
|
|
|
60800
60912
|
clear: clearAttachments
|
|
60801
60913
|
} = useChatAttachments();
|
|
60802
60914
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
60803
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
60915
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1684 => _1684.maxItems]), () => ( 10));
|
|
60804
60916
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
60805
60917
|
const [contextItems, setContextItems] = _react.useState.call(void 0, []);
|
|
60806
60918
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -60817,10 +60929,10 @@ function EmbeddableChatInner({
|
|
|
60817
60929
|
}, [activeDialogId, activeMode]);
|
|
60818
60930
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
60819
60931
|
const m = /* @__PURE__ */ new Map();
|
|
60820
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
60932
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1685 => _1685.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
60821
60933
|
return m;
|
|
60822
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
60823
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
60934
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _1686 => _1686.entityTypes])]);
|
|
60935
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1687 => _1687.entityTypes]);
|
|
60824
60936
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
60825
60937
|
const byType = /* @__PURE__ */ new Map();
|
|
60826
60938
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -60832,7 +60944,7 @@ function EmbeddableChatInner({
|
|
|
60832
60944
|
if (mentionActiveRef.current) {
|
|
60833
60945
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
60834
60946
|
if (contextItems.length >= contextMaxItems) return;
|
|
60835
|
-
_optionalChain([chatInputRef, 'access',
|
|
60947
|
+
_optionalChain([chatInputRef, 'access', _1688 => _1688.current, 'optionalAccess', _1689 => _1689.commitMention, 'call', _1690 => _1690(mentionTokenOf(key, mentionMarkerByType), {
|
|
60836
60948
|
label: item.label,
|
|
60837
60949
|
icon: resolveContextIcon(item)
|
|
60838
60950
|
})]);
|
|
@@ -60854,9 +60966,9 @@ function EmbeddableChatInner({
|
|
|
60854
60966
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
60855
60967
|
if (mentionKeysRef.current.has(key)) {
|
|
60856
60968
|
mentionKeysRef.current.delete(key);
|
|
60857
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
60969
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1691 => _1691.current, 'optionalAccess', _1692 => _1692.getValue, 'call', _1693 => _1693()]), () => ( ""));
|
|
60858
60970
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
60859
|
-
_optionalChain([chatInputRef, 'access',
|
|
60971
|
+
_optionalChain([chatInputRef, 'access', _1694 => _1694.current, 'optionalAccess', _1695 => _1695.setValue, 'call', _1696 => _1696(next)]);
|
|
60860
60972
|
}
|
|
60861
60973
|
}, [mentionMarkerByType]);
|
|
60862
60974
|
const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
|
|
@@ -60873,7 +60985,7 @@ function EmbeddableChatInner({
|
|
|
60873
60985
|
}, []);
|
|
60874
60986
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
60875
60987
|
if (mentionActiveRef.current) {
|
|
60876
|
-
_optionalChain([chatInputRef, 'access',
|
|
60988
|
+
_optionalChain([chatInputRef, 'access', _1697 => _1697.current, 'optionalAccess', _1698 => _1698.removeMentionTrigger, 'call', _1699 => _1699()]);
|
|
60877
60989
|
}
|
|
60878
60990
|
setContextPickerOpen(false);
|
|
60879
60991
|
setMentionQuery(null);
|
|
@@ -60907,8 +61019,8 @@ function EmbeddableChatInner({
|
|
|
60907
61019
|
[effectiveAssistantIcon]
|
|
60908
61020
|
);
|
|
60909
61021
|
const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
60910
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
60911
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
61022
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1700 => _1700.firstName]), _optionalChain([identityUser, 'optionalAccess', _1701 => _1701.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1702 => _1702.name, 'optionalAccess', _1703 => _1703.trim, 'call', _1704 => _1704()]) || void 0 : void 0;
|
|
61023
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1705 => _1705.avatarUrl, 'optionalAccess', _1706 => _1706.trim, 'call', _1707 => _1707()]) || void 0 : void 0;
|
|
60912
61024
|
const messages = _react.useMemo.call(void 0, () => {
|
|
60913
61025
|
const cache = timestampCacheRef.current;
|
|
60914
61026
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -61099,9 +61211,9 @@ function EmbeddableChatInner({
|
|
|
61099
61211
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
61100
61212
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
61101
61213
|
if (chatLoading) return void 0;
|
|
61102
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
61214
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1708 => _1708.sources]);
|
|
61103
61215
|
if (!sources || sources.length === 0) return void 0;
|
|
61104
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
61216
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1709 => _1709.content]) || "";
|
|
61105
61217
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
61106
61218
|
(m) => parseInt(m[1], 10)
|
|
61107
61219
|
);
|
|
@@ -61121,7 +61233,7 @@ function EmbeddableChatInner({
|
|
|
61121
61233
|
const el = panelMeasureRef.current;
|
|
61122
61234
|
if (!el || typeof ResizeObserver === "undefined") return;
|
|
61123
61235
|
const ro = new ResizeObserver((entries) => {
|
|
61124
|
-
const w = _optionalChain([entries, 'access',
|
|
61236
|
+
const w = _optionalChain([entries, 'access', _1710 => _1710[0], 'optionalAccess', _1711 => _1711.contentRect, 'optionalAccess', _1712 => _1712.width]);
|
|
61125
61237
|
if (typeof w === "number") setPanelWidth(w);
|
|
61126
61238
|
});
|
|
61127
61239
|
ro.observe(el);
|
|
@@ -61164,16 +61276,16 @@ function EmbeddableChatInner({
|
|
|
61164
61276
|
const isMingoMode = activeMode === "mingo";
|
|
61165
61277
|
const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
|
|
61166
61278
|
const headerShowBack = hasConversation || guideCanReturnToMingo;
|
|
61167
|
-
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
61279
|
+
const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1713 => _1713.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
|
|
61168
61280
|
const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
|
|
61169
61281
|
const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
|
|
61170
61282
|
const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
|
|
61171
61283
|
const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
|
|
61172
61284
|
const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
|
|
61173
61285
|
const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
|
|
61174
|
-
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
61175
|
-
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess',
|
|
61176
|
-
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access',
|
|
61286
|
+
const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1714 => _1714.owner]) : void 0;
|
|
61287
|
+
const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1715 => _1715.name, 'optionalAccess', _1716 => _1716.trim, 'call', _1717 => _1717()]) || headerUserName;
|
|
61288
|
+
const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1718 => _1718.avatarUrl, 'optionalAccess', _1719 => _1719.trim, 'call', _1720 => _1720()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1721 => _1721.avatarUrl, 'optionalAccess', _1722 => _1722.trim, 'call', _1723 => _1723()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1724 => _1724.trim, 'call', _1725 => _1725()]) || void 0;
|
|
61177
61289
|
const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
|
|
61178
61290
|
const handleNewChat = _react.useCallback.call(void 0, () => {
|
|
61179
61291
|
resetToNewChat();
|
|
@@ -61534,9 +61646,9 @@ function EmbeddableChatInner({
|
|
|
61534
61646
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
61535
61647
|
subtitleLoading: emptyStateLoading,
|
|
61536
61648
|
...guideWelcome,
|
|
61537
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
61538
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
61539
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
61649
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1726 => _1726.title]))),
|
|
61650
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1727 => _1727.icon]))),
|
|
61651
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1728 => _1728.quickActions]), () => ( guideSuggestedActions)),
|
|
61540
61652
|
onQuickAction: (action) => {
|
|
61541
61653
|
setQuickActionPreview(null);
|
|
61542
61654
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -61616,8 +61728,8 @@ function EmbeddableChatInner({
|
|
|
61616
61728
|
selectedContextItems: contextItems,
|
|
61617
61729
|
onToggleContextItem: toggleContextItem,
|
|
61618
61730
|
onRemoveContextItem: removeContextItem,
|
|
61619
|
-
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess',
|
|
61620
|
-
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess',
|
|
61731
|
+
contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1729 => _1729.items]),
|
|
61732
|
+
onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1730 => _1730.onRemove]),
|
|
61621
61733
|
contextPickerOpen,
|
|
61622
61734
|
onOpenContextPicker: openContextPicker,
|
|
61623
61735
|
onCloseContextPicker: closeContextPicker,
|
|
@@ -62822,4 +62934,4 @@ function EmbeddableChatInner({
|
|
|
62822
62934
|
|
|
62823
62935
|
|
|
62824
62936
|
exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; 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.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate2; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; 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.formatEntryMonthUTC = formatEntryMonthUTC; 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.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; 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.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormModal = AdminFormModal; 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.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; 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.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; 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.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; 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.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; 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.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; 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.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = EmployeeEntryCardSkeleton; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.HowIWorkCard = HowIWorkCard; exports.HowIWorkCardSkeleton = HowIWorkCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; 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.AvatarStack = AvatarStack; 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.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.clickupTaskUrl = clickupTaskUrl; 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.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; 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.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; 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.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; 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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; 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.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; 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 = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; 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.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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; 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.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.SubtitlesEditor = SubtitlesEditor; 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.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; 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.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.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; 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.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; 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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; 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;
|
|
62825
|
-
//# sourceMappingURL=chunk-
|
|
62937
|
+
//# sourceMappingURL=chunk-HUZD2MJC.cjs.map
|