@flamingo-stack/openframe-frontend-core 0.0.389 → 0.0.390-snapshot.20260709094308
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-VXJBE5NX.cjs → chunk-2LHLX7GH.cjs} +59 -59
- package/dist/{chunk-VXJBE5NX.cjs.map → chunk-2LHLX7GH.cjs.map} +1 -1
- package/dist/{chunk-WIMXB5EU.js → chunk-3ML4WLFP.js} +4 -4
- package/dist/{chunk-7MKU2EB4.cjs → chunk-5SBJ77M7.cjs} +26 -26
- package/dist/{chunk-7MKU2EB4.cjs.map → chunk-5SBJ77M7.cjs.map} +1 -1
- package/dist/{chunk-BJPQJNSC.js → chunk-7W3B6ZGK.js} +4 -4
- package/dist/{chunk-2JCSORCJ.cjs → chunk-BIWPZS54.cjs} +26 -26
- package/dist/{chunk-2JCSORCJ.cjs.map → chunk-BIWPZS54.cjs.map} +1 -1
- package/dist/{chunk-ZFZAHLI4.cjs → chunk-C5BJFGOU.cjs} +7 -7
- package/dist/{chunk-ZFZAHLI4.cjs.map → chunk-C5BJFGOU.cjs.map} +1 -1
- package/dist/{chunk-3JQUNKWY.cjs → chunk-CLXHPRN2.cjs} +15 -15
- package/dist/{chunk-3JQUNKWY.cjs.map → chunk-CLXHPRN2.cjs.map} +1 -1
- package/dist/{chunk-KA4WXCN3.js → chunk-DRWFCYDM.js} +4 -4
- package/dist/{chunk-CQXHHVMR.js → chunk-DV5O2VU7.js} +2 -2
- package/dist/{chunk-TQZLC3BQ.cjs → chunk-DVDB5FJ7.cjs} +5 -5
- package/dist/{chunk-TQZLC3BQ.cjs.map → chunk-DVDB5FJ7.cjs.map} +1 -1
- package/dist/{chunk-EHTE3CTT.cjs → chunk-EI45U7WT.cjs} +37 -37
- package/dist/{chunk-EHTE3CTT.cjs.map → chunk-EI45U7WT.cjs.map} +1 -1
- package/dist/{chunk-LFLFQ422.js → chunk-HATQB5CS.js} +2 -2
- package/dist/{chunk-Q4YGG3CL.cjs → chunk-KC5MY4HW.cjs} +31 -31
- package/dist/{chunk-Q4YGG3CL.cjs.map → chunk-KC5MY4HW.cjs.map} +1 -1
- package/dist/{chunk-4OLIDOLO.js → chunk-LC3W676Z.js} +2 -2
- package/dist/{chunk-M6ODI2F5.js → chunk-N6LX6CYY.js} +2 -2
- package/dist/{chunk-JSFHTIKA.js → chunk-OKUDGO3Q.js} +2 -2
- package/dist/{chunk-OBKCQ7LA.cjs → chunk-RBFGCUWO.cjs} +62 -62
- package/dist/{chunk-OBKCQ7LA.cjs.map → chunk-RBFGCUWO.cjs.map} +1 -1
- package/dist/{chunk-XGOX5UQ2.js → chunk-SI6DI5HC.js} +4 -4
- package/dist/{chunk-MIEODAAV.cjs → chunk-TIJP7OPH.cjs} +9 -9
- package/dist/{chunk-MIEODAAV.cjs.map → chunk-TIJP7OPH.cjs.map} +1 -1
- package/dist/{chunk-GNB5ERZP.cjs → chunk-VFK5CZNU.cjs} +1025 -974
- package/dist/chunk-VFK5CZNU.cjs.map +1 -0
- package/dist/{chunk-IDWKP5H5.js → chunk-VIKH44M7.js} +1492 -1441
- package/dist/chunk-VIKH44M7.js.map +1 -0
- package/dist/{chunk-NULFIYK2.js → chunk-WL4YNYJN.js} +2 -2
- package/dist/{chunk-44Q3IXZM.js → chunk-Y6SVPXGD.js} +2 -2
- package/dist/{chunk-MPOP47ME.cjs → chunk-ZLMIJ3EN.cjs} +12 -12
- package/dist/{chunk-MPOP47ME.cjs.map → chunk-ZLMIJ3EN.cjs.map} +1 -1
- 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/auth/accept-invitation-form.d.ts +2 -2
- package/dist/components/features/auth/accept-invitation-form.d.ts.map +1 -1
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
- package/dist/components/features/time-tracker/time-tracker-header-button.d.ts +5 -2
- package/dist/components/features/time-tracker/time-tracker-header-button.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +120 -120
- package/dist/components/index.js +9 -9
- package/dist/components/navigation/app-header.d.ts.map +1 -1
- package/dist/components/navigation/app-layout-context.d.ts +34 -0
- package/dist/components/navigation/app-layout-context.d.ts.map +1 -0
- package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
- package/dist/components/navigation/app-layout.d.ts +2 -21
- package/dist/components/navigation/app-layout.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +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 +5 -5
- package/dist/components/tickets/index.js +4 -4
- 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/components/features/auth/accept-invitation-form.tsx +4 -4
- package/src/components/features/notifications/notification-drawer.tsx +72 -43
- package/src/components/features/time-tracker/time-tracker-header-button.tsx +46 -6
- package/src/components/navigation/app-header.tsx +13 -9
- package/src/components/navigation/app-layout-context.ts +46 -0
- package/src/components/navigation/app-layout-drawer.tsx +21 -11
- package/src/components/navigation/app-layout.tsx +17 -39
- package/dist/chunk-GNB5ERZP.cjs.map +0 -1
- package/dist/chunk-IDWKP5H5.js.map +0 -1
- /package/dist/{chunk-WIMXB5EU.js.map → chunk-3ML4WLFP.js.map} +0 -0
- /package/dist/{chunk-BJPQJNSC.js.map → chunk-7W3B6ZGK.js.map} +0 -0
- /package/dist/{chunk-KA4WXCN3.js.map → chunk-DRWFCYDM.js.map} +0 -0
- /package/dist/{chunk-CQXHHVMR.js.map → chunk-DV5O2VU7.js.map} +0 -0
- /package/dist/{chunk-LFLFQ422.js.map → chunk-HATQB5CS.js.map} +0 -0
- /package/dist/{chunk-4OLIDOLO.js.map → chunk-LC3W676Z.js.map} +0 -0
- /package/dist/{chunk-M6ODI2F5.js.map → chunk-N6LX6CYY.js.map} +0 -0
- /package/dist/{chunk-JSFHTIKA.js.map → chunk-OKUDGO3Q.js.map} +0 -0
- /package/dist/{chunk-XGOX5UQ2.js.map → chunk-SI6DI5HC.js.map} +0 -0
- /package/dist/{chunk-NULFIYK2.js.map → chunk-WL4YNYJN.js.map} +0 -0
- /package/dist/{chunk-44Q3IXZM.js.map → chunk-Y6SVPXGD.js.map} +0 -0
|
@@ -253,7 +253,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
|
|
|
253
253
|
|
|
254
254
|
// src/components/pagination.tsx
|
|
255
255
|
var _lucidereact = require('lucide-react');
|
|
256
|
-
var _react = require('react'); var React119 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React38 = _interopRequireWildcard(_react); var React39 = _interopRequireWildcard(_react); var React41 = _interopRequireWildcard(_react); var React40 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React59 = _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 React67 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React79 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React83 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React88 = _interopRequireWildcard(_react); var React93 = _interopRequireWildcard(_react); var React96 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var
|
|
256
|
+
var _react = require('react'); var React119 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React17 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React25 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React26 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React37 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React38 = _interopRequireWildcard(_react); var React39 = _interopRequireWildcard(_react); var React41 = _interopRequireWildcard(_react); var React40 = _interopRequireWildcard(_react); var React44 = _interopRequireWildcard(_react); var React45 = _interopRequireWildcard(_react); var React46 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React59 = _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 React67 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React79 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React83 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React88 = _interopRequireWildcard(_react); var React93 = _interopRequireWildcard(_react); var React96 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React98 = _interopRequireWildcard(_react); var React99 = _interopRequireWildcard(_react); var React104 = _interopRequireWildcard(_react); var React103 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react); var React100 = _interopRequireWildcard(_react); var React102 = _interopRequireWildcard(_react); var React105 = _interopRequireWildcard(_react); var React116 = _interopRequireWildcard(_react); var React115 = _interopRequireWildcard(_react); var React118 = _interopRequireWildcard(_react); var React121 = _interopRequireWildcard(_react); var React122 = _interopRequireWildcard(_react); var React124 = _interopRequireWildcard(_react); var React125 = _interopRequireWildcard(_react); var React128 = _interopRequireWildcard(_react); var React127 = _interopRequireWildcard(_react); var React126 = _interopRequireWildcard(_react); var React130 = _interopRequireWildcard(_react); var React129 = _interopRequireWildcard(_react); var React138 = _interopRequireWildcard(_react); var React137 = _interopRequireWildcard(_react);
|
|
257
257
|
var _jsxruntime = require('react/jsx-runtime');
|
|
258
258
|
var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
|
|
259
259
|
var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
@@ -25165,7 +25165,7 @@ function AcceptInvitationForm({
|
|
|
25165
25165
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-h2 text-ods-text-primary tracking-[-0.64px]", children: title }),
|
|
25166
25166
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-secondary", children: subtitle })
|
|
25167
25167
|
] }),
|
|
25168
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.Input, { type: "email", label: emailLabel, value: email, disabled: true
|
|
25168
|
+
email && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.Input, { type: "email", label: emailLabel, value: email, disabled: true }),
|
|
25169
25169
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
25170
25170
|
SsoProviderButtons,
|
|
25171
25171
|
{
|
|
@@ -31744,6 +31744,496 @@ function useOptionalNotifications() {
|
|
|
31744
31744
|
|
|
31745
31745
|
// src/components/features/notifications/notification-drawer.tsx
|
|
31746
31746
|
|
|
31747
|
+
|
|
31748
|
+
// src/components/navigation/app-layout-context.ts
|
|
31749
|
+
|
|
31750
|
+
var AppLayoutDrawerContainerContext = _react.createContext.call(void 0, null);
|
|
31751
|
+
function useAppLayoutDrawerContainer() {
|
|
31752
|
+
return _react.useContext.call(void 0, AppLayoutDrawerContainerContext);
|
|
31753
|
+
}
|
|
31754
|
+
var AppLayoutDrawerCoordinationContext = _react.createContext.call(void 0, null);
|
|
31755
|
+
function useAppLayoutDrawerCoordination() {
|
|
31756
|
+
return _react.useContext.call(void 0, AppLayoutDrawerCoordinationContext);
|
|
31757
|
+
}
|
|
31758
|
+
|
|
31759
|
+
// src/components/navigation/app-layout-drawer.tsx
|
|
31760
|
+
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
31761
|
+
|
|
31762
|
+
|
|
31763
|
+
|
|
31764
|
+
|
|
31765
|
+
var DrawerOpenContext = React98.createContext(false);
|
|
31766
|
+
var AppLayoutDrawerRoot = ({
|
|
31767
|
+
open: openProp,
|
|
31768
|
+
defaultOpen,
|
|
31769
|
+
onOpenChange,
|
|
31770
|
+
modal = false,
|
|
31771
|
+
children,
|
|
31772
|
+
...rest
|
|
31773
|
+
}) => {
|
|
31774
|
+
const [internalOpen, setInternalOpen] = React98.useState(_nullishCoalesce(defaultOpen, () => ( false)));
|
|
31775
|
+
const isControlled = openProp !== void 0;
|
|
31776
|
+
const open = isControlled ? openProp : internalOpen;
|
|
31777
|
+
const handleOpenChange = React98.useCallback(
|
|
31778
|
+
(next) => {
|
|
31779
|
+
if (!isControlled) setInternalOpen(next);
|
|
31780
|
+
_optionalChain([onOpenChange, 'optionalCall', _582 => _582(next)]);
|
|
31781
|
+
},
|
|
31782
|
+
[isControlled, onOpenChange]
|
|
31783
|
+
);
|
|
31784
|
+
const coordination = useAppLayoutDrawerCoordination();
|
|
31785
|
+
const openRef = React98.useRef(open);
|
|
31786
|
+
openRef.current = open;
|
|
31787
|
+
const handleOpenChangeRef = React98.useRef(handleOpenChange);
|
|
31788
|
+
handleOpenChangeRef.current = handleOpenChange;
|
|
31789
|
+
const selfHandleRef = React98.useRef(null);
|
|
31790
|
+
if (!selfHandleRef.current) {
|
|
31791
|
+
selfHandleRef.current = {
|
|
31792
|
+
close: () => {
|
|
31793
|
+
if (openRef.current) handleOpenChangeRef.current(false);
|
|
31794
|
+
}
|
|
31795
|
+
};
|
|
31796
|
+
}
|
|
31797
|
+
React98.useEffect(() => {
|
|
31798
|
+
if (open) _optionalChain([coordination, 'optionalAccess', _583 => _583.notifyDrawerDidOpen, 'call', _584 => _584(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
|
|
31799
|
+
}, [open, coordination]);
|
|
31800
|
+
React98.useEffect(() => {
|
|
31801
|
+
if (!selfHandleRef.current) return;
|
|
31802
|
+
return _optionalChain([coordination, 'optionalAccess', _585 => _585.registerDrawer, 'call', _586 => _586(selfHandleRef.current)]);
|
|
31803
|
+
}, [coordination]);
|
|
31804
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31805
|
+
DialogPrimitive3.Root,
|
|
31806
|
+
{
|
|
31807
|
+
...rest,
|
|
31808
|
+
open,
|
|
31809
|
+
onOpenChange: handleOpenChange,
|
|
31810
|
+
modal,
|
|
31811
|
+
children
|
|
31812
|
+
}
|
|
31813
|
+
) });
|
|
31814
|
+
};
|
|
31815
|
+
AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
|
|
31816
|
+
var AppLayoutDrawerTrigger = DialogPrimitive3.Trigger;
|
|
31817
|
+
var AppLayoutDrawerClose = DialogPrimitive3.Close;
|
|
31818
|
+
var appLayoutDrawerVariants = _classvarianceauthority.cva.call(void 0,
|
|
31819
|
+
"absolute z-[103] flex outline-none focus:outline-none focus-visible:outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-300",
|
|
31820
|
+
{
|
|
31821
|
+
variants: {
|
|
31822
|
+
side: {
|
|
31823
|
+
right: "inset-y-0 right-0 items-center data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
|
|
31824
|
+
left: "inset-y-0 left-0 items-center data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
|
|
31825
|
+
top: "inset-x-0 top-0 justify-center data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
31826
|
+
bottom: "inset-x-0 bottom-0 justify-center data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom"
|
|
31827
|
+
},
|
|
31828
|
+
flush: {
|
|
31829
|
+
false: "",
|
|
31830
|
+
true: ""
|
|
31831
|
+
}
|
|
31832
|
+
},
|
|
31833
|
+
compoundVariants: [
|
|
31834
|
+
{ side: "right", flush: false, class: "pr-[var(--spacing-system-m)] py-[var(--spacing-system-m)]" },
|
|
31835
|
+
{ side: "left", flush: false, class: "pl-[var(--spacing-system-m)] py-[var(--spacing-system-m)]" },
|
|
31836
|
+
{ side: "top", flush: false, class: "pt-[var(--spacing-system-m)] px-[var(--spacing-system-m)]" },
|
|
31837
|
+
{ side: "bottom", flush: false, class: "pb-[var(--spacing-system-m)] px-[var(--spacing-system-m)]" },
|
|
31838
|
+
{ side: "right", flush: true, class: "md:pr-[var(--spacing-system-m)] md:py-[var(--spacing-system-m)]" },
|
|
31839
|
+
{ side: "left", flush: true, class: "md:pl-[var(--spacing-system-m)] md:py-[var(--spacing-system-m)]" },
|
|
31840
|
+
{ side: "top", flush: true, class: "md:pt-[var(--spacing-system-m)] md:px-[var(--spacing-system-m)]" },
|
|
31841
|
+
{ side: "bottom", flush: true, class: "md:pb-[var(--spacing-system-m)] md:px-[var(--spacing-system-m)]" }
|
|
31842
|
+
],
|
|
31843
|
+
defaultVariants: {
|
|
31844
|
+
side: "right",
|
|
31845
|
+
flush: false
|
|
31846
|
+
}
|
|
31847
|
+
}
|
|
31848
|
+
);
|
|
31849
|
+
var appLayoutDrawerPanelVariants = _classvarianceauthority.cva.call(void 0,
|
|
31850
|
+
"relative flex flex-col overflow-hidden bg-ods-card outline-none focus:outline-none focus-visible:outline-none",
|
|
31851
|
+
{
|
|
31852
|
+
variants: {
|
|
31853
|
+
side: {
|
|
31854
|
+
right: "h-full",
|
|
31855
|
+
left: "h-full",
|
|
31856
|
+
top: "w-full",
|
|
31857
|
+
bottom: "w-full"
|
|
31858
|
+
},
|
|
31859
|
+
flush: {
|
|
31860
|
+
false: "gap-4 rounded-md border border-ods-border p-4",
|
|
31861
|
+
true: ""
|
|
31862
|
+
}
|
|
31863
|
+
},
|
|
31864
|
+
compoundVariants: [
|
|
31865
|
+
{ side: "right", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
31866
|
+
{ side: "left", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
31867
|
+
{ side: "top", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
31868
|
+
{ side: "bottom", flush: true, class: "md:rounded-md md:border md:border-ods-border" }
|
|
31869
|
+
],
|
|
31870
|
+
defaultVariants: {
|
|
31871
|
+
side: "right",
|
|
31872
|
+
flush: false
|
|
31873
|
+
}
|
|
31874
|
+
}
|
|
31875
|
+
);
|
|
31876
|
+
var HORIZONTAL_SIDES2 = /* @__PURE__ */ new Set(["left", "right"]);
|
|
31877
|
+
var PERSIST_CLOSED_HOLD = "data-[state=closed]:fill-mode-forwards";
|
|
31878
|
+
function clamp3(value, min, max) {
|
|
31879
|
+
if (max < min) return min;
|
|
31880
|
+
return Math.min(max, Math.max(min, value));
|
|
31881
|
+
}
|
|
31882
|
+
function useContainedResizableSize({
|
|
31883
|
+
enabled,
|
|
31884
|
+
isHorizontal,
|
|
31885
|
+
minSize,
|
|
31886
|
+
maxSize,
|
|
31887
|
+
defaultSize,
|
|
31888
|
+
storageKey,
|
|
31889
|
+
container
|
|
31890
|
+
}) {
|
|
31891
|
+
const [available, setAvailable] = React98.useState(0);
|
|
31892
|
+
React98.useEffect(() => {
|
|
31893
|
+
if (!enabled || !container) return;
|
|
31894
|
+
const update = () => {
|
|
31895
|
+
setAvailable(isHorizontal ? container.clientWidth : container.clientHeight);
|
|
31896
|
+
};
|
|
31897
|
+
update();
|
|
31898
|
+
const ro = new ResizeObserver(update);
|
|
31899
|
+
ro.observe(container);
|
|
31900
|
+
return () => ro.disconnect();
|
|
31901
|
+
}, [enabled, container, isHorizontal]);
|
|
31902
|
+
const clampToContainer = React98.useCallback(
|
|
31903
|
+
(value) => {
|
|
31904
|
+
const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
|
|
31905
|
+
return clamp3(value, minSize, Math.max(minSize, effectiveMax));
|
|
31906
|
+
},
|
|
31907
|
+
[available, minSize, maxSize]
|
|
31908
|
+
);
|
|
31909
|
+
const readInitial = React98.useCallback(() => {
|
|
31910
|
+
if (!enabled) return defaultSize;
|
|
31911
|
+
if (typeof window === "undefined") return defaultSize;
|
|
31912
|
+
if (!storageKey) return defaultSize;
|
|
31913
|
+
try {
|
|
31914
|
+
const raw = window.localStorage.getItem(storageKey);
|
|
31915
|
+
if (!raw) return defaultSize;
|
|
31916
|
+
const parsed = parseFloat(raw);
|
|
31917
|
+
if (!Number.isFinite(parsed)) return defaultSize;
|
|
31918
|
+
return parsed;
|
|
31919
|
+
} catch (e38) {
|
|
31920
|
+
return defaultSize;
|
|
31921
|
+
}
|
|
31922
|
+
}, [enabled, storageKey, defaultSize]);
|
|
31923
|
+
const [size2, setSizeRaw] = React98.useState(readInitial);
|
|
31924
|
+
const setSize = React98.useCallback(
|
|
31925
|
+
(next) => setSizeRaw(clampToContainer(next)),
|
|
31926
|
+
[clampToContainer]
|
|
31927
|
+
);
|
|
31928
|
+
React98.useEffect(() => {
|
|
31929
|
+
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
31930
|
+
try {
|
|
31931
|
+
window.localStorage.setItem(storageKey, String(Math.round(size2)));
|
|
31932
|
+
} catch (e39) {
|
|
31933
|
+
}
|
|
31934
|
+
}, [enabled, size2, storageKey]);
|
|
31935
|
+
React98.useEffect(() => {
|
|
31936
|
+
if (!enabled) return;
|
|
31937
|
+
setSizeRaw((prev) => clampToContainer(prev));
|
|
31938
|
+
}, [enabled, clampToContainer]);
|
|
31939
|
+
return { size: size2, setSize };
|
|
31940
|
+
}
|
|
31941
|
+
function AppLayoutDrawerResizeHandle({
|
|
31942
|
+
side,
|
|
31943
|
+
size: size2,
|
|
31944
|
+
minSize,
|
|
31945
|
+
maxSize,
|
|
31946
|
+
onSize,
|
|
31947
|
+
ariaLabel
|
|
31948
|
+
}) {
|
|
31949
|
+
const isHorizontal = HORIZONTAL_SIDES2.has(side);
|
|
31950
|
+
const startRef = React98.useRef(null);
|
|
31951
|
+
const direction = side === "right" || side === "bottom" ? -1 : 1;
|
|
31952
|
+
const handlePointerDown = (e) => {
|
|
31953
|
+
if (e.button !== 0 && e.pointerType === "mouse") return;
|
|
31954
|
+
e.preventDefault();
|
|
31955
|
+
startRef.current = { x: e.clientX, y: e.clientY, size: size2 };
|
|
31956
|
+
e.currentTarget.setPointerCapture(e.pointerId);
|
|
31957
|
+
document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
|
|
31958
|
+
document.body.style.userSelect = "none";
|
|
31959
|
+
};
|
|
31960
|
+
const handlePointerMove = (e) => {
|
|
31961
|
+
const start = startRef.current;
|
|
31962
|
+
if (!start) return;
|
|
31963
|
+
const delta = isHorizontal ? e.clientX - start.x : e.clientY - start.y;
|
|
31964
|
+
onSize(start.size + delta * direction);
|
|
31965
|
+
};
|
|
31966
|
+
const endDrag = (e) => {
|
|
31967
|
+
if (!startRef.current) return;
|
|
31968
|
+
startRef.current = null;
|
|
31969
|
+
try {
|
|
31970
|
+
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
31971
|
+
} catch (e40) {
|
|
31972
|
+
}
|
|
31973
|
+
document.body.style.cursor = "";
|
|
31974
|
+
document.body.style.userSelect = "";
|
|
31975
|
+
};
|
|
31976
|
+
const handleKeyDown = (e) => {
|
|
31977
|
+
const step = e.shiftKey ? 40 : 16;
|
|
31978
|
+
if (isHorizontal) {
|
|
31979
|
+
if (e.key === "ArrowLeft") {
|
|
31980
|
+
e.preventDefault();
|
|
31981
|
+
onSize(size2 + step * (side === "right" ? 1 : -1));
|
|
31982
|
+
} else if (e.key === "ArrowRight") {
|
|
31983
|
+
e.preventDefault();
|
|
31984
|
+
onSize(size2 + step * (side === "right" ? -1 : 1));
|
|
31985
|
+
}
|
|
31986
|
+
} else {
|
|
31987
|
+
if (e.key === "ArrowUp") {
|
|
31988
|
+
e.preventDefault();
|
|
31989
|
+
onSize(size2 + step * (side === "bottom" ? 1 : -1));
|
|
31990
|
+
} else if (e.key === "ArrowDown") {
|
|
31991
|
+
e.preventDefault();
|
|
31992
|
+
onSize(size2 + step * (side === "bottom" ? -1 : 1));
|
|
31993
|
+
}
|
|
31994
|
+
}
|
|
31995
|
+
if (e.key === "Home") {
|
|
31996
|
+
e.preventDefault();
|
|
31997
|
+
onSize(minSize);
|
|
31998
|
+
} else if (e.key === "End") {
|
|
31999
|
+
e.preventDefault();
|
|
32000
|
+
onSize(maxSize);
|
|
32001
|
+
}
|
|
32002
|
+
};
|
|
32003
|
+
const trackPosition = side === "right" ? "right-full top-4 bottom-4 w-6 items-center justify-end pr-1" : side === "left" ? "left-full top-4 bottom-4 w-6 items-center justify-start pl-1" : side === "bottom" ? "bottom-full left-4 right-4 h-6 justify-center items-end pb-1" : "top-full left-4 right-4 h-6 justify-center items-start pt-1";
|
|
32004
|
+
const cursorClass = isHorizontal ? "cursor-col-resize" : "cursor-row-resize";
|
|
32005
|
+
const gripClass = isHorizontal ? "h-10 w-1" : "w-10 h-1";
|
|
32006
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32007
|
+
"div",
|
|
32008
|
+
{
|
|
32009
|
+
role: "separator",
|
|
32010
|
+
tabIndex: 0,
|
|
32011
|
+
"aria-orientation": isHorizontal ? "vertical" : "horizontal",
|
|
32012
|
+
"aria-valuenow": Math.round(size2),
|
|
32013
|
+
"aria-valuemin": minSize,
|
|
32014
|
+
"aria-valuemax": maxSize,
|
|
32015
|
+
"aria-label": _nullishCoalesce(ariaLabel, () => ( (isHorizontal ? "Resize panel width" : "Resize panel height"))),
|
|
32016
|
+
onPointerDown: handlePointerDown,
|
|
32017
|
+
onPointerMove: handlePointerMove,
|
|
32018
|
+
onPointerUp: endDrag,
|
|
32019
|
+
onPointerCancel: endDrag,
|
|
32020
|
+
onKeyDown: handleKeyDown,
|
|
32021
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32022
|
+
"group absolute z-20 flex select-none touch-none",
|
|
32023
|
+
"outline-none ring-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0",
|
|
32024
|
+
trackPosition,
|
|
32025
|
+
cursorClass
|
|
32026
|
+
),
|
|
32027
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32028
|
+
"div",
|
|
32029
|
+
{
|
|
32030
|
+
"aria-hidden": true,
|
|
32031
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32032
|
+
"rounded-full bg-ods-border",
|
|
32033
|
+
gripClass
|
|
32034
|
+
)
|
|
32035
|
+
}
|
|
32036
|
+
)
|
|
32037
|
+
}
|
|
32038
|
+
);
|
|
32039
|
+
}
|
|
32040
|
+
var AppLayoutDrawerContent = React98.forwardRef(
|
|
32041
|
+
({
|
|
32042
|
+
side = "right",
|
|
32043
|
+
flush = false,
|
|
32044
|
+
resizable = false,
|
|
32045
|
+
minSize = 320,
|
|
32046
|
+
// No upper cap by default — the AppLayout container width is the natural
|
|
32047
|
+
// limit. Consumers can still pass an explicit `maxSize` to clamp tighter.
|
|
32048
|
+
maxSize = Number.POSITIVE_INFINITY,
|
|
32049
|
+
defaultSize,
|
|
32050
|
+
storageKey,
|
|
32051
|
+
mobileBreakpoint = 768,
|
|
32052
|
+
overlayClassName,
|
|
32053
|
+
resizeAriaLabel,
|
|
32054
|
+
className,
|
|
32055
|
+
style,
|
|
32056
|
+
panelStyle,
|
|
32057
|
+
panelClassName,
|
|
32058
|
+
container,
|
|
32059
|
+
dismissOnInteractOutside = true,
|
|
32060
|
+
onInteractOutside,
|
|
32061
|
+
debugLayoutShift = false,
|
|
32062
|
+
keepMounted = false,
|
|
32063
|
+
children,
|
|
32064
|
+
...props
|
|
32065
|
+
}, ref) => {
|
|
32066
|
+
const contextContainer = useAppLayoutDrawerContainer();
|
|
32067
|
+
const portalContainer = container !== void 0 ? container : contextContainer;
|
|
32068
|
+
const open = React98.useContext(DrawerOpenContext);
|
|
32069
|
+
const [hasOpened, setHasOpened] = React98.useState(Boolean(open));
|
|
32070
|
+
React98.useEffect(() => {
|
|
32071
|
+
if (open) setHasOpened(true);
|
|
32072
|
+
}, [open]);
|
|
32073
|
+
const persist = keepMounted && hasOpened;
|
|
32074
|
+
React98.useEffect(() => {
|
|
32075
|
+
if (!debugLayoutShift) return;
|
|
32076
|
+
if (!open) return;
|
|
32077
|
+
if (typeof window === "undefined") return;
|
|
32078
|
+
if (!portalContainer) return;
|
|
32079
|
+
const collect = () => {
|
|
32080
|
+
const list = [];
|
|
32081
|
+
let el = portalContainer;
|
|
32082
|
+
while (el) {
|
|
32083
|
+
list.push(el);
|
|
32084
|
+
el = el.parentElement;
|
|
32085
|
+
}
|
|
32086
|
+
if (!list.includes(document.documentElement)) {
|
|
32087
|
+
list.push(document.documentElement);
|
|
32088
|
+
}
|
|
32089
|
+
return list;
|
|
32090
|
+
};
|
|
32091
|
+
const snapshot = (label) => {
|
|
32092
|
+
const data = collect().map((el, i) => {
|
|
32093
|
+
const cs = window.getComputedStyle(el);
|
|
32094
|
+
const overflows = el.scrollWidth > el.clientWidth;
|
|
32095
|
+
const cls = String(_nullishCoalesce(el.className, () => ( ""))).replace(/\s+/g, " ").slice(0, 60);
|
|
32096
|
+
return {
|
|
32097
|
+
depth: i,
|
|
32098
|
+
tag: el.tagName.toLowerCase() + (el.id ? "#" + el.id : ""),
|
|
32099
|
+
class: cls,
|
|
32100
|
+
"overflow-x": cs.overflowX,
|
|
32101
|
+
scrollLeft: el.scrollLeft,
|
|
32102
|
+
scrollWidth: el.scrollWidth,
|
|
32103
|
+
clientWidth: el.clientWidth,
|
|
32104
|
+
hOverflow: overflows ? "\u26A0\uFE0F" : ""
|
|
32105
|
+
};
|
|
32106
|
+
});
|
|
32107
|
+
console.groupCollapsed(`[AppLayoutDrawer] ${label}`);
|
|
32108
|
+
console.table(data);
|
|
32109
|
+
console.groupEnd();
|
|
32110
|
+
};
|
|
32111
|
+
snapshot("open: t0 (mount)");
|
|
32112
|
+
const raf = requestAnimationFrame(() => snapshot("open: t\u224816ms (RAF 1)"));
|
|
32113
|
+
const t150 = window.setTimeout(() => snapshot("open: t\u2248150ms (mid-anim)"), 150);
|
|
32114
|
+
const t350 = window.setTimeout(() => snapshot("open: t\u2248350ms (post-anim)"), 350);
|
|
32115
|
+
return () => {
|
|
32116
|
+
cancelAnimationFrame(raf);
|
|
32117
|
+
clearTimeout(t150);
|
|
32118
|
+
clearTimeout(t350);
|
|
32119
|
+
snapshot("close");
|
|
32120
|
+
};
|
|
32121
|
+
}, [open, portalContainer, debugLayoutShift]);
|
|
32122
|
+
const resolvedSide = _nullishCoalesce(side, () => ( "right"));
|
|
32123
|
+
const isHorizontal = HORIZONTAL_SIDES2.has(resolvedSide);
|
|
32124
|
+
const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
|
|
32125
|
+
const [isMobile, setIsMobile] = React98.useState(false);
|
|
32126
|
+
React98.useEffect(() => {
|
|
32127
|
+
if (typeof window === "undefined") return;
|
|
32128
|
+
const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
32129
|
+
const update = () => setIsMobile(mq.matches);
|
|
32130
|
+
update();
|
|
32131
|
+
mq.addEventListener("change", update);
|
|
32132
|
+
return () => mq.removeEventListener("change", update);
|
|
32133
|
+
}, [mobileBreakpoint]);
|
|
32134
|
+
const { size: size2, setSize } = useContainedResizableSize({
|
|
32135
|
+
enabled: resizable,
|
|
32136
|
+
isHorizontal,
|
|
32137
|
+
minSize,
|
|
32138
|
+
maxSize,
|
|
32139
|
+
defaultSize: initialSize,
|
|
32140
|
+
storageKey,
|
|
32141
|
+
container: portalContainer
|
|
32142
|
+
});
|
|
32143
|
+
const applyInlineSize = resizable && !isMobile;
|
|
32144
|
+
const sizeStyle = applyInlineSize ? isHorizontal ? { width: size2 } : { height: size2 } : {};
|
|
32145
|
+
if (keepMounted && !hasOpened) return null;
|
|
32146
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive3.Portal, { container: portalContainer, forceMount: persist || void 0, children: [
|
|
32147
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32148
|
+
"div",
|
|
32149
|
+
{
|
|
32150
|
+
"aria-hidden": true,
|
|
32151
|
+
"data-state": open ? "open" : "closed",
|
|
32152
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32153
|
+
"absolute inset-0 z-[102] outline-none data-[state=open]:pointer-events-auto data-[state=closed]:pointer-events-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
32154
|
+
OVERLAY_BACKDROP_CLASS,
|
|
32155
|
+
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
32156
|
+
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
32157
|
+
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
32158
|
+
persist && PERSIST_CLOSED_HOLD,
|
|
32159
|
+
overlayClassName
|
|
32160
|
+
)
|
|
32161
|
+
}
|
|
32162
|
+
),
|
|
32163
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32164
|
+
DialogPrimitive3.Content,
|
|
32165
|
+
{
|
|
32166
|
+
ref,
|
|
32167
|
+
forceMount: persist || void 0,
|
|
32168
|
+
...persist && !open ? { inert: true, "aria-hidden": true } : {},
|
|
32169
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32170
|
+
appLayoutDrawerVariants({ side, flush }),
|
|
32171
|
+
// Mobile: span the whole container and drop the outer gap so the
|
|
32172
|
+
// panel renders edge-to-edge full-screen. (`p-0` overrides the
|
|
32173
|
+
// variant's wrapper padding via tailwind-merge.)
|
|
32174
|
+
isMobile && "inset-0 p-0",
|
|
32175
|
+
"data-[state=closed]:pointer-events-none",
|
|
32176
|
+
// Persist mode only: hold the slide-out's final (off-screen) frame
|
|
32177
|
+
// so the panel doesn't snap back into view (see PERSIST_CLOSED_HOLD).
|
|
32178
|
+
persist && PERSIST_CLOSED_HOLD
|
|
32179
|
+
),
|
|
32180
|
+
style,
|
|
32181
|
+
onInteractOutside: (event) => {
|
|
32182
|
+
_optionalChain([onInteractOutside, 'optionalCall', _587 => _587(event)]);
|
|
32183
|
+
if (event.defaultPrevented) return;
|
|
32184
|
+
const target = event.target;
|
|
32185
|
+
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _588 => _588.contains, 'call', _589 => _589(target)]);
|
|
32186
|
+
if (!isInsideContainer) {
|
|
32187
|
+
event.preventDefault();
|
|
32188
|
+
return;
|
|
32189
|
+
}
|
|
32190
|
+
if (!dismissOnInteractOutside) event.preventDefault();
|
|
32191
|
+
},
|
|
32192
|
+
...props,
|
|
32193
|
+
children: [
|
|
32194
|
+
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32195
|
+
AppLayoutDrawerResizeHandle,
|
|
32196
|
+
{
|
|
32197
|
+
side: resolvedSide,
|
|
32198
|
+
size: size2,
|
|
32199
|
+
minSize,
|
|
32200
|
+
maxSize,
|
|
32201
|
+
onSize: setSize,
|
|
32202
|
+
ariaLabel: resizeAriaLabel
|
|
32203
|
+
}
|
|
32204
|
+
) : null,
|
|
32205
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32206
|
+
"div",
|
|
32207
|
+
{
|
|
32208
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32209
|
+
appLayoutDrawerPanelVariants({ side, flush }),
|
|
32210
|
+
// Mobile: fill the container (the side already pins one axis) and
|
|
32211
|
+
// drop the card chrome so the panel is edge-to-edge full-screen.
|
|
32212
|
+
// Inner padding/gap is preserved so content isn't glued to the
|
|
32213
|
+
// edges. tailwind-merge lets these override the variant classes.
|
|
32214
|
+
isMobile && (isHorizontal ? "w-full" : "h-full"),
|
|
32215
|
+
isMobile && "rounded-none border-0",
|
|
32216
|
+
className,
|
|
32217
|
+
panelClassName
|
|
32218
|
+
),
|
|
32219
|
+
style: { ...sizeStyle, ...panelStyle },
|
|
32220
|
+
children
|
|
32221
|
+
}
|
|
32222
|
+
)
|
|
32223
|
+
]
|
|
32224
|
+
}
|
|
32225
|
+
)
|
|
32226
|
+
] });
|
|
32227
|
+
}
|
|
32228
|
+
);
|
|
32229
|
+
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
32230
|
+
var AppLayoutDrawerHeader = DrawerHeader;
|
|
32231
|
+
var AppLayoutDrawerTitle = DrawerTitle;
|
|
32232
|
+
var AppLayoutDrawerDescription = DrawerDescription;
|
|
32233
|
+
var AppLayoutDrawerBody = DrawerBody;
|
|
32234
|
+
var AppLayoutDrawerFooter = DrawerFooter;
|
|
32235
|
+
|
|
32236
|
+
// src/components/features/notifications/notification-drawer.tsx
|
|
31747
32237
|
_chunkNYIZVI4Icjs.init_button2.call(void 0, );
|
|
31748
32238
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
31749
32239
|
|
|
@@ -31800,7 +32290,7 @@ function NotificationTile({
|
|
|
31800
32290
|
if (!counting) return;
|
|
31801
32291
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
31802
32292
|
const timer = window.setTimeout(() => {
|
|
31803
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
32293
|
+
_optionalChain([onSettle, 'optionalCall', _590 => _590(id)]);
|
|
31804
32294
|
}, remaining);
|
|
31805
32295
|
return () => window.clearTimeout(timer);
|
|
31806
32296
|
}, [id, counting, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -31856,7 +32346,7 @@ function NotificationTile({
|
|
|
31856
32346
|
}
|
|
31857
32347
|
) : null,
|
|
31858
32348
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
|
|
31859
|
-
{ active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
32349
|
+
{ active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _591 => _591(id)]) },
|
|
31860
32350
|
{ active: !isLive, label: "Mark notification complete", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { size: 16 }), onClick: () => onComplete(id) }
|
|
31861
32351
|
].map(({ active, label, icon: icon2, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31862
32352
|
"button",
|
|
@@ -31910,6 +32400,7 @@ function NotificationDrawer({
|
|
|
31910
32400
|
renderTile: renderTileProp
|
|
31911
32401
|
}) {
|
|
31912
32402
|
const ctx = useOptionalNotifications();
|
|
32403
|
+
const layoutContainer = useAppLayoutDrawerContainer();
|
|
31913
32404
|
if (!ctx) return null;
|
|
31914
32405
|
const {
|
|
31915
32406
|
notifications,
|
|
@@ -31934,7 +32425,68 @@ function NotificationDrawer({
|
|
|
31934
32425
|
} = ctx;
|
|
31935
32426
|
const renderTile = _nullishCoalesce(renderTileProp, () => ( ctxRenderTile));
|
|
31936
32427
|
const unreadNotifications = notifications.filter((n) => !n.read);
|
|
31937
|
-
|
|
32428
|
+
const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
32429
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32430
|
+
DrawerTitle,
|
|
32431
|
+
{
|
|
32432
|
+
hideClose: true,
|
|
32433
|
+
className: "truncate",
|
|
32434
|
+
actions: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32435
|
+
"button",
|
|
32436
|
+
{
|
|
32437
|
+
type: "button",
|
|
32438
|
+
disabled: unreadCount === 0,
|
|
32439
|
+
onClick: markAllRead,
|
|
32440
|
+
className: "self-center text-h6 text-ods-text-secondary underline transition-colors hover:text-ods-text-primary disabled:opacity-40",
|
|
32441
|
+
children: "Mark All Complete"
|
|
32442
|
+
}
|
|
32443
|
+
),
|
|
32444
|
+
children: "New Notifications"
|
|
32445
|
+
}
|
|
32446
|
+
) }),
|
|
32447
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32448
|
+
DrawerScrollList,
|
|
32449
|
+
{
|
|
32450
|
+
unreadNotifications,
|
|
32451
|
+
liveDurationMs,
|
|
32452
|
+
onComplete: markRead,
|
|
32453
|
+
onSettle: markSettled,
|
|
32454
|
+
hasMore,
|
|
32455
|
+
isLoadingMore,
|
|
32456
|
+
loadMore,
|
|
32457
|
+
loadMoreRootMargin,
|
|
32458
|
+
renderTile
|
|
32459
|
+
}
|
|
32460
|
+
),
|
|
32461
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)] px-[var(--spacing-system-m)] pb-[var(--spacing-system-m)]", children: [
|
|
32462
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: [
|
|
32463
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ShowNotificationsToggleRow, { checked: showPopups, onChange: setShowPopups }),
|
|
32464
|
+
desktopPopupsConfigured && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesktopNotificationsToggleRow, { checked: showDesktopPopups, onChange: setShowDesktopPopups })
|
|
32465
|
+
] }),
|
|
32466
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32467
|
+
NotificationsHistoryButton,
|
|
32468
|
+
{
|
|
32469
|
+
onClick: onHistoryClick ? () => {
|
|
32470
|
+
onHistoryClick();
|
|
32471
|
+
close();
|
|
32472
|
+
} : void 0,
|
|
32473
|
+
historyHref
|
|
32474
|
+
}
|
|
32475
|
+
)
|
|
32476
|
+
] })
|
|
32477
|
+
] });
|
|
32478
|
+
if (layoutContainer) {
|
|
32479
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerRoot, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32480
|
+
AppLayoutDrawerContent,
|
|
32481
|
+
{
|
|
32482
|
+
side: "right",
|
|
32483
|
+
"aria-describedby": void 0,
|
|
32484
|
+
className: _chunkFIG2RKZFcjs.cn.call(void 0, "md:w-[26rem] gap-[var(--spacing-system-m)] p-[var(--spacing-system-zero)]", className),
|
|
32485
|
+
children: content
|
|
32486
|
+
}
|
|
32487
|
+
) });
|
|
32488
|
+
}
|
|
32489
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31938
32490
|
DrawerContent,
|
|
31939
32491
|
{
|
|
31940
32492
|
side: "right",
|
|
@@ -31944,56 +32496,7 @@ function NotificationDrawer({
|
|
|
31944
32496
|
"w-[calc(100vw-2rem)] sm:w-[26rem] sm:max-w-[calc(100vw-2rem)] gap-[var(--spacing-system-m)] p-[var(--spacing-system-zero)]",
|
|
31945
32497
|
className
|
|
31946
32498
|
),
|
|
31947
|
-
children:
|
|
31948
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31949
|
-
DrawerTitle,
|
|
31950
|
-
{
|
|
31951
|
-
hideClose: true,
|
|
31952
|
-
className: "truncate",
|
|
31953
|
-
actions: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31954
|
-
"button",
|
|
31955
|
-
{
|
|
31956
|
-
type: "button",
|
|
31957
|
-
disabled: unreadCount === 0,
|
|
31958
|
-
onClick: markAllRead,
|
|
31959
|
-
className: "self-center text-h6 text-ods-text-secondary underline transition-colors hover:text-ods-text-primary disabled:opacity-40",
|
|
31960
|
-
children: "Complete All"
|
|
31961
|
-
}
|
|
31962
|
-
),
|
|
31963
|
-
children: "New Notifications"
|
|
31964
|
-
}
|
|
31965
|
-
) }),
|
|
31966
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31967
|
-
DrawerScrollList,
|
|
31968
|
-
{
|
|
31969
|
-
unreadNotifications,
|
|
31970
|
-
liveDurationMs,
|
|
31971
|
-
onComplete: markRead,
|
|
31972
|
-
onSettle: markSettled,
|
|
31973
|
-
hasMore,
|
|
31974
|
-
isLoadingMore,
|
|
31975
|
-
loadMore,
|
|
31976
|
-
loadMoreRootMargin,
|
|
31977
|
-
renderTile
|
|
31978
|
-
}
|
|
31979
|
-
),
|
|
31980
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)] px-[var(--spacing-system-m)] pb-[var(--spacing-system-m)]", children: [
|
|
31981
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: [
|
|
31982
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ShowNotificationsToggleRow, { checked: showPopups, onChange: setShowPopups }),
|
|
31983
|
-
desktopPopupsConfigured && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesktopNotificationsToggleRow, { checked: showDesktopPopups, onChange: setShowDesktopPopups })
|
|
31984
|
-
] }),
|
|
31985
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31986
|
-
NotificationsHistoryButton,
|
|
31987
|
-
{
|
|
31988
|
-
onClick: onHistoryClick ? () => {
|
|
31989
|
-
onHistoryClick();
|
|
31990
|
-
close();
|
|
31991
|
-
} : void 0,
|
|
31992
|
-
historyHref
|
|
31993
|
-
}
|
|
31994
|
-
)
|
|
31995
|
-
] })
|
|
31996
|
-
]
|
|
32499
|
+
children: content
|
|
31997
32500
|
}
|
|
31998
32501
|
) });
|
|
31999
32502
|
}
|
|
@@ -32019,7 +32522,7 @@ function DrawerScrollList({
|
|
|
32019
32522
|
if (!sentinel || !root) return;
|
|
32020
32523
|
const observer = new IntersectionObserver(
|
|
32021
32524
|
(entries) => {
|
|
32022
|
-
if (_optionalChain([entries, 'access',
|
|
32525
|
+
if (_optionalChain([entries, 'access', _592 => _592[0], 'optionalAccess', _593 => _593.isIntersecting])) _optionalChain([loadMoreRef, 'access', _594 => _594.current, 'optionalCall', _595 => _595()]);
|
|
32023
32526
|
},
|
|
32024
32527
|
{ root, rootMargin: loadMoreRootMargin }
|
|
32025
32528
|
);
|
|
@@ -32034,7 +32537,7 @@ function DrawerScrollList({
|
|
|
32034
32537
|
className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
|
|
32035
32538
|
children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
32036
32539
|
unreadNotifications.map((n) => {
|
|
32037
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
32540
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _596 => _596(n, { onComplete, onSettle, liveDurationMs })]);
|
|
32038
32541
|
if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
|
|
32039
32542
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32040
32543
|
NotificationTile,
|
|
@@ -32198,7 +32701,7 @@ function NotificationPopups({
|
|
|
32198
32701
|
className
|
|
32199
32702
|
),
|
|
32200
32703
|
children: live.map((n) => {
|
|
32201
|
-
const custom = _optionalChain([renderTile, 'optionalCall',
|
|
32704
|
+
const custom = _optionalChain([renderTile, 'optionalCall', _597 => _597(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
|
|
32202
32705
|
if (custom) {
|
|
32203
32706
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
|
|
32204
32707
|
}
|
|
@@ -32378,21 +32881,21 @@ function transformWebinarToProgram(webinar) {
|
|
|
32378
32881
|
// src/components/features/notifications/types.ts
|
|
32379
32882
|
var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
|
|
32380
32883
|
function isApprovalNotification(notification) {
|
|
32381
|
-
return _optionalChain([notification, 'access',
|
|
32884
|
+
return _optionalChain([notification, 'access', _598 => _598.meta, 'optionalAccess', _599 => _599.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
|
|
32382
32885
|
}
|
|
32383
32886
|
function getApprovalMeta(notification) {
|
|
32384
32887
|
if (!isApprovalNotification(notification)) return null;
|
|
32385
32888
|
const meta = notification.meta;
|
|
32386
|
-
const approvalRequestId = _optionalChain([meta, 'optionalAccess',
|
|
32387
|
-
const toolCalls = _optionalChain([meta, 'optionalAccess',
|
|
32889
|
+
const approvalRequestId = _optionalChain([meta, 'optionalAccess', _600 => _600.approvalRequestId]);
|
|
32890
|
+
const toolCalls = _optionalChain([meta, 'optionalAccess', _601 => _601.toolCalls]);
|
|
32388
32891
|
if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
|
|
32389
32892
|
return {
|
|
32390
32893
|
approvalRequestId,
|
|
32391
|
-
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
32392
|
-
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
32393
|
-
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
32394
|
-
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
32395
|
-
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
32894
|
+
dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _602 => _602.dialogId]), () => ( null)),
|
|
32895
|
+
ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _603 => _603.ticketId]), () => ( null)),
|
|
32896
|
+
approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _604 => _604.approvalType]), () => ( null)),
|
|
32897
|
+
resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _605 => _605.resolution]), () => ( null)),
|
|
32898
|
+
resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _606 => _606.resolvedByName]), () => ( null)),
|
|
32396
32899
|
toolCalls
|
|
32397
32900
|
};
|
|
32398
32901
|
}
|
|
@@ -32442,7 +32945,7 @@ function ApprovalRequestNotificationTile({
|
|
|
32442
32945
|
const [processing, setProcessing] = _react.useState.call(void 0, false);
|
|
32443
32946
|
const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
|
|
32444
32947
|
const approval = getApprovalMeta(notification);
|
|
32445
|
-
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess',
|
|
32948
|
+
const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _607 => _607.resolution]));
|
|
32446
32949
|
const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
|
|
32447
32950
|
const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
|
|
32448
32951
|
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
@@ -32458,7 +32961,7 @@ function ApprovalRequestNotificationTile({
|
|
|
32458
32961
|
setLocalStatus(nextStatus);
|
|
32459
32962
|
try {
|
|
32460
32963
|
await action(batchData.approvalRequestId);
|
|
32461
|
-
} catch (
|
|
32964
|
+
} catch (e41) {
|
|
32462
32965
|
setLocalStatus(null);
|
|
32463
32966
|
return;
|
|
32464
32967
|
} finally {
|
|
@@ -32519,24 +33022,24 @@ function ApprovalRequestNotificationTile({
|
|
|
32519
33022
|
// src/components/features/time-tracker/time-tracker-context.tsx
|
|
32520
33023
|
|
|
32521
33024
|
|
|
32522
|
-
var TimeTrackerContext =
|
|
33025
|
+
var TimeTrackerContext = React99.createContext(null);
|
|
32523
33026
|
function TimeTrackerProvider({ children, defaultOpen = false, ...data }) {
|
|
32524
|
-
const [isOpen, setIsOpen] =
|
|
32525
|
-
const open =
|
|
32526
|
-
const close =
|
|
32527
|
-
const toggle =
|
|
33027
|
+
const [isOpen, setIsOpen] = React99.useState(defaultOpen);
|
|
33028
|
+
const open = React99.useCallback(() => setIsOpen(true), []);
|
|
33029
|
+
const close = React99.useCallback(() => setIsOpen(false), []);
|
|
33030
|
+
const toggle = React99.useCallback(() => setIsOpen((v) => !v), []);
|
|
32528
33031
|
const value = { ...data, isOpen, open, close, toggle };
|
|
32529
33032
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeTrackerContext.Provider, { value, children });
|
|
32530
33033
|
}
|
|
32531
33034
|
function useTimeTracker() {
|
|
32532
|
-
const ctx =
|
|
33035
|
+
const ctx = React99.useContext(TimeTrackerContext);
|
|
32533
33036
|
if (!ctx) {
|
|
32534
33037
|
throw new Error("useTimeTracker must be used inside <TimeTrackerProvider>");
|
|
32535
33038
|
}
|
|
32536
33039
|
return ctx;
|
|
32537
33040
|
}
|
|
32538
33041
|
function useOptionalTimeTracker() {
|
|
32539
|
-
return
|
|
33042
|
+
return React99.useContext(TimeTrackerContext);
|
|
32540
33043
|
}
|
|
32541
33044
|
|
|
32542
33045
|
// src/components/features/time-tracker/time-tracker-panel.tsx
|
|
@@ -32746,7 +33249,7 @@ function TimeTrackerPanel({
|
|
|
32746
33249
|
error: showFieldError ? "Required if no notes added" : void 0,
|
|
32747
33250
|
disableClientFilter: !!onTicketSearch,
|
|
32748
33251
|
onInputChange: (value, reason) => {
|
|
32749
|
-
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall',
|
|
33252
|
+
if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _608 => _608(value)]);
|
|
32750
33253
|
}
|
|
32751
33254
|
}
|
|
32752
33255
|
),
|
|
@@ -32761,7 +33264,7 @@ function TimeTrackerPanel({
|
|
|
32761
33264
|
disabled: customerLocked,
|
|
32762
33265
|
disableClientFilter: !!onCustomerSearch,
|
|
32763
33266
|
onInputChange: (value, reason) => {
|
|
32764
|
-
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall',
|
|
33267
|
+
if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _609 => _609(value)]);
|
|
32765
33268
|
},
|
|
32766
33269
|
startAdornment: customerStartAdornment,
|
|
32767
33270
|
renderOption: renderCustomerOption
|
|
@@ -32854,7 +33357,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
32854
33357
|
{
|
|
32855
33358
|
variant: "outline",
|
|
32856
33359
|
size: "icon",
|
|
32857
|
-
onClick: () => _optionalChain([onClick, 'optionalCall',
|
|
33360
|
+
onClick: () => _optionalChain([onClick, 'optionalCall', _610 => _610(entry)]),
|
|
32858
33361
|
disabled: !onClick,
|
|
32859
33362
|
"aria-label": `Open entry: ${entry.title}`,
|
|
32860
33363
|
className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
|
|
@@ -32868,6 +33371,7 @@ function LastEntryRow({ entry, onClick }) {
|
|
|
32868
33371
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
32869
33372
|
|
|
32870
33373
|
|
|
33374
|
+
|
|
32871
33375
|
// src/components/navigation/header-button.tsx
|
|
32872
33376
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
32873
33377
|
|
|
@@ -32898,12 +33402,34 @@ function HeaderButton({
|
|
|
32898
33402
|
function TimeTrackerHeaderButton({ className, disabled }) {
|
|
32899
33403
|
const ctx = useOptionalTimeTracker();
|
|
32900
33404
|
const elapsedLabel = useTrackerClock({
|
|
32901
|
-
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
32902
|
-
runningSince: _optionalChain([ctx, 'optionalAccess',
|
|
32903
|
-
accumulatedMs: _optionalChain([ctx, 'optionalAccess',
|
|
33405
|
+
status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _611 => _611.status]), () => ( "ready")),
|
|
33406
|
+
runningSince: _optionalChain([ctx, 'optionalAccess', _612 => _612.runningSince]),
|
|
33407
|
+
accumulatedMs: _optionalChain([ctx, 'optionalAccess', _613 => _613.accumulatedMs])
|
|
32904
33408
|
});
|
|
33409
|
+
const layoutContainer = useAppLayoutDrawerContainer();
|
|
33410
|
+
const coordination = useAppLayoutDrawerCoordination();
|
|
33411
|
+
const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _614 => _614.isOpen]), () => ( false));
|
|
33412
|
+
const isOpenRef = _react.useRef.call(void 0, isOpen);
|
|
33413
|
+
isOpenRef.current = isOpen;
|
|
33414
|
+
const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _615 => _615.close]));
|
|
33415
|
+
closeRef.current = _optionalChain([ctx, 'optionalAccess', _616 => _616.close]);
|
|
33416
|
+
const selfHandleRef = _react.useRef.call(void 0, null);
|
|
33417
|
+
if (!selfHandleRef.current) {
|
|
33418
|
+
selfHandleRef.current = {
|
|
33419
|
+
close: () => {
|
|
33420
|
+
if (isOpenRef.current) _optionalChain([closeRef, 'access', _617 => _617.current, 'optionalCall', _618 => _618()]);
|
|
33421
|
+
}
|
|
33422
|
+
};
|
|
33423
|
+
}
|
|
33424
|
+
_react.useEffect.call(void 0, () => {
|
|
33425
|
+
if (isOpen) _optionalChain([coordination, 'optionalAccess', _619 => _619.notifyDrawerDidOpen, 'call', _620 => _620(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
|
|
33426
|
+
}, [isOpen, coordination]);
|
|
33427
|
+
_react.useEffect.call(void 0, () => {
|
|
33428
|
+
if (!selfHandleRef.current) return;
|
|
33429
|
+
return _optionalChain([coordination, 'optionalAccess', _621 => _621.registerDrawer, 'call', _622 => _622(selfHandleRef.current)]);
|
|
33430
|
+
}, [coordination]);
|
|
32905
33431
|
if (!ctx) return null;
|
|
32906
|
-
const {
|
|
33432
|
+
const { open, close, status } = ctx;
|
|
32907
33433
|
const isPaused = status === "paused";
|
|
32908
33434
|
const isActive = status === "tracking" || isPaused;
|
|
32909
33435
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverPrimitive5.Root, { open: isOpen, onOpenChange: (next) => next ? open() : close(), children: [
|
|
@@ -32941,13 +33467,13 @@ function TimeTrackerHeaderButton({ className, disabled }) {
|
|
|
32941
33467
|
] })
|
|
32942
33468
|
}
|
|
32943
33469
|
) }),
|
|
32944
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive5.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33470
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive5.Portal, { container: _nullishCoalesce(layoutContainer, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32945
33471
|
"div",
|
|
32946
33472
|
{
|
|
32947
33473
|
"aria-hidden": "true",
|
|
32948
33474
|
"data-state": isOpen ? "open" : "closed",
|
|
32949
33475
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
32950
|
-
"fixed inset-0 z-[1299]",
|
|
33476
|
+
layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
|
|
32951
33477
|
OVERLAY_BACKDROP_CLASS,
|
|
32952
33478
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
32953
33479
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
|
|
@@ -33112,7 +33638,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
|
33112
33638
|
|
|
33113
33639
|
|
|
33114
33640
|
function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
|
|
33115
|
-
const [expanded, setExpanded] =
|
|
33641
|
+
const [expanded, setExpanded] = React100.useState(false);
|
|
33116
33642
|
const { innerRef, containerStyle } = useCollapsible({ expanded });
|
|
33117
33643
|
const isAdmin = pendingApproval.approvalType === "ADMIN";
|
|
33118
33644
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
|
|
@@ -33180,7 +33706,7 @@ function TicketCard({
|
|
|
33180
33706
|
onApprove,
|
|
33181
33707
|
onReject
|
|
33182
33708
|
}) {
|
|
33183
|
-
const sortableData =
|
|
33709
|
+
const sortableData = React101.useMemo(
|
|
33184
33710
|
() => ({ columnId, type: "ticket" }),
|
|
33185
33711
|
[columnId]
|
|
33186
33712
|
);
|
|
@@ -33196,15 +33722,15 @@ function TicketCard({
|
|
|
33196
33722
|
transition: sortable.transition
|
|
33197
33723
|
};
|
|
33198
33724
|
if (showNewMessage) style.borderColor = columnColor;
|
|
33199
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
33725
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _623 => _623.deviceHostnames, 'optionalAccess', _624 => _624.length]) || ticket.organizationName);
|
|
33200
33726
|
const deviceText = [
|
|
33201
|
-
_optionalChain([ticket, 'access',
|
|
33727
|
+
_optionalChain([ticket, 'access', _625 => _625.deviceHostnames, 'optionalAccess', _626 => _626.join, 'call', _627 => _627(", ")]),
|
|
33202
33728
|
ticket.organizationName
|
|
33203
33729
|
].filter(Boolean).join(", ");
|
|
33204
33730
|
const handleClick = (e) => {
|
|
33205
33731
|
if (sortable.isDragging) e.preventDefault();
|
|
33206
33732
|
};
|
|
33207
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
33733
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _628 => _628.assignees, 'optionalAccess', _629 => _629.length]) || renderAssignSlot);
|
|
33208
33734
|
const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
|
|
33209
33735
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33210
33736
|
_chunkBGD345ZVcjs.Flag02Icon,
|
|
@@ -33213,7 +33739,7 @@ function TicketCard({
|
|
|
33213
33739
|
"aria-label": `Priority: ${ticket.priority}`
|
|
33214
33740
|
}
|
|
33215
33741
|
),
|
|
33216
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
33742
|
+
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _630 => _630.assignees, 'optionalAccess', _631 => _631.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
|
|
33217
33743
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33218
33744
|
SquareAvatar,
|
|
33219
33745
|
{
|
|
@@ -33244,7 +33770,7 @@ function TicketCard({
|
|
|
33244
33770
|
] }),
|
|
33245
33771
|
rightSection
|
|
33246
33772
|
] }),
|
|
33247
|
-
_optionalChain([ticket, 'access',
|
|
33773
|
+
_optionalChain([ticket, 'access', _632 => _632.tags, 'optionalAccess', _633 => _633.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
|
|
33248
33774
|
timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
|
|
33249
33775
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto text-h6 truncate text-ods-text-secondary", children: timestampLabel }) }),
|
|
33250
33776
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
|
|
@@ -33326,7 +33852,7 @@ function TicketTagRow({ tags }) {
|
|
|
33326
33852
|
|
|
33327
33853
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
33328
33854
|
|
|
33329
|
-
var TicketCardSkeleton =
|
|
33855
|
+
var TicketCardSkeleton = React102.forwardRef(
|
|
33330
33856
|
({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33331
33857
|
"div",
|
|
33332
33858
|
{
|
|
@@ -33420,8 +33946,8 @@ function BoardColumn({
|
|
|
33420
33946
|
);
|
|
33421
33947
|
}
|
|
33422
33948
|
function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReject, onLoadMore, loadMoreRootMargin }) {
|
|
33423
|
-
const ticketIds =
|
|
33424
|
-
const droppableData =
|
|
33949
|
+
const ticketIds = React103.useMemo(() => column.tickets.map((t) => t.id), [column.tickets]);
|
|
33950
|
+
const droppableData = React103.useMemo(
|
|
33425
33951
|
() => ({ columnId: column.id, type: "column" }),
|
|
33426
33952
|
[column.id]
|
|
33427
33953
|
);
|
|
@@ -33430,13 +33956,13 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
33430
33956
|
data: droppableData,
|
|
33431
33957
|
disabled: column.dropDisabled
|
|
33432
33958
|
});
|
|
33433
|
-
const scrollRef =
|
|
33434
|
-
const sentinelRef =
|
|
33435
|
-
const loadMoreRef =
|
|
33959
|
+
const scrollRef = React103.useRef(null);
|
|
33960
|
+
const sentinelRef = React103.useRef(null);
|
|
33961
|
+
const loadMoreRef = React103.useRef(onLoadMore);
|
|
33436
33962
|
loadMoreRef.current = onLoadMore;
|
|
33437
|
-
const columnIdRef =
|
|
33963
|
+
const columnIdRef = React103.useRef(column.id);
|
|
33438
33964
|
columnIdRef.current = column.id;
|
|
33439
|
-
|
|
33965
|
+
React103.useEffect(() => {
|
|
33440
33966
|
if (!column.hasMore || column.isLoadingMore) return;
|
|
33441
33967
|
const sentinel = sentinelRef.current;
|
|
33442
33968
|
const root = scrollRef.current;
|
|
@@ -33444,7 +33970,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
33444
33970
|
const observer = new IntersectionObserver(
|
|
33445
33971
|
(entries) => {
|
|
33446
33972
|
if (entries.some((e) => e.isIntersecting)) {
|
|
33447
|
-
_optionalChain([loadMoreRef, 'access',
|
|
33973
|
+
_optionalChain([loadMoreRef, 'access', _634 => _634.current, 'optionalCall', _635 => _635(columnIdRef.current)]);
|
|
33448
33974
|
}
|
|
33449
33975
|
},
|
|
33450
33976
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -33452,7 +33978,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
33452
33978
|
observer.observe(sentinel);
|
|
33453
33979
|
return () => observer.disconnect();
|
|
33454
33980
|
}, [column.hasMore, column.isLoadingMore, loadMoreRootMargin]);
|
|
33455
|
-
const setBodyRef =
|
|
33981
|
+
const setBodyRef = React103.useCallback(
|
|
33456
33982
|
(el) => {
|
|
33457
33983
|
scrollRef.current = el;
|
|
33458
33984
|
setDroppableRef(el);
|
|
@@ -33474,7 +34000,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
33474
34000
|
ticket: t,
|
|
33475
34001
|
columnId: column.id,
|
|
33476
34002
|
columnColor: column.color,
|
|
33477
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
34003
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _636 => _636(t.id)]),
|
|
33478
34004
|
renderAssignSlot,
|
|
33479
34005
|
onApprove,
|
|
33480
34006
|
onReject,
|
|
@@ -33489,7 +34015,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
|
|
|
33489
34015
|
);
|
|
33490
34016
|
}
|
|
33491
34017
|
function SkeletonStack({ count = 4 }) {
|
|
33492
|
-
const keys =
|
|
34018
|
+
const keys = React103.useMemo(
|
|
33493
34019
|
() => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
|
|
33494
34020
|
[count]
|
|
33495
34021
|
);
|
|
@@ -33559,32 +34085,32 @@ function Board({
|
|
|
33559
34085
|
onThumbPointerMove,
|
|
33560
34086
|
onThumbPointerUp
|
|
33561
34087
|
} = _chunk743FCO64cjs.useHorizontalScrollbar.call(void 0, );
|
|
33562
|
-
const [items, setItems] =
|
|
33563
|
-
const isDraggingRef =
|
|
33564
|
-
|
|
34088
|
+
const [items, setItems] = React104.useState(columns);
|
|
34089
|
+
const isDraggingRef = React104.useRef(false);
|
|
34090
|
+
React104.useEffect(() => {
|
|
33565
34091
|
if (!isDraggingRef.current) setItems(columns);
|
|
33566
34092
|
}, [columns]);
|
|
33567
|
-
const dragOriginRef =
|
|
33568
|
-
const [activeTicket, setActiveTicket] =
|
|
34093
|
+
const dragOriginRef = React104.useRef(null);
|
|
34094
|
+
const [activeTicket, setActiveTicket] = React104.useState(null);
|
|
33569
34095
|
const sensors = _core.useSensors.call(void 0,
|
|
33570
34096
|
_core.useSensor.call(void 0, _core.PointerSensor, { activationConstraint: { distance: 6 } }),
|
|
33571
34097
|
_core.useSensor.call(void 0, _core.KeyboardSensor, { coordinateGetter: _sortable.sortableKeyboardCoordinates })
|
|
33572
34098
|
);
|
|
33573
|
-
const collisionDetection =
|
|
34099
|
+
const collisionDetection = React104.useCallback((args) => {
|
|
33574
34100
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
33575
34101
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
33576
34102
|
const ticketHit = intersections.find(
|
|
33577
|
-
(c) => _optionalChain([c, 'access',
|
|
34103
|
+
(c) => _optionalChain([c, 'access', _637 => _637.data, 'optionalAccess', _638 => _638.droppableContainer, 'optionalAccess', _639 => _639.data, 'optionalAccess', _640 => _640.current, 'optionalAccess', _641 => _641.type]) === "ticket"
|
|
33578
34104
|
);
|
|
33579
34105
|
if (ticketHit) return [ticketHit];
|
|
33580
34106
|
const columnHit = intersections.find(
|
|
33581
|
-
(c) => _optionalChain([c, 'access',
|
|
34107
|
+
(c) => _optionalChain([c, 'access', _642 => _642.data, 'optionalAccess', _643 => _643.droppableContainer, 'optionalAccess', _644 => _644.data, 'optionalAccess', _645 => _645.current, 'optionalAccess', _646 => _646.type]) === "column"
|
|
33582
34108
|
);
|
|
33583
34109
|
if (columnHit) {
|
|
33584
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
34110
|
+
const columnId = _optionalChain([columnHit, 'access', _647 => _647.data, 'optionalAccess', _648 => _648.droppableContainer, 'optionalAccess', _649 => _649.data, 'optionalAccess', _650 => _650.current, 'optionalAccess', _651 => _651.columnId]);
|
|
33585
34111
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
33586
34112
|
const d = c.data.current;
|
|
33587
|
-
return _optionalChain([d, 'optionalAccess',
|
|
34113
|
+
return _optionalChain([d, 'optionalAccess', _652 => _652.type]) === "ticket" && d.columnId === columnId;
|
|
33588
34114
|
});
|
|
33589
34115
|
if (ticketsInColumn.length > 0) {
|
|
33590
34116
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -33609,20 +34135,20 @@ function Board({
|
|
|
33609
34135
|
const overId = String(over.id);
|
|
33610
34136
|
if (activeId === overId) return;
|
|
33611
34137
|
const overData = over.data.current;
|
|
33612
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
33613
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
34138
|
+
const fromColumnId = _optionalChain([locate, 'call', _653 => _653(items, activeId), 'optionalAccess', _654 => _654.columnId]);
|
|
34139
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _655 => _655.columnId]);
|
|
33614
34140
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
33615
34141
|
const origin = dragOriginRef.current;
|
|
33616
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
34142
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _656 => _656.fromColumnId]) === toColumnId;
|
|
33617
34143
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33618
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
33619
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
34144
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _657 => _657.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
34145
|
+
if (_optionalChain([targetCol, 'optionalAccess', _658 => _658.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
33620
34146
|
setItems((prev) => {
|
|
33621
34147
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
33622
34148
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
33623
34149
|
if (fromIndex < 0 || !toCol) return prev;
|
|
33624
34150
|
let toIndex;
|
|
33625
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
34151
|
+
if (_optionalChain([overData, 'optionalAccess', _659 => _659.type]) === "column") {
|
|
33626
34152
|
toIndex = toCol.tickets.length;
|
|
33627
34153
|
} else {
|
|
33628
34154
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -33664,14 +34190,14 @@ function Board({
|
|
|
33664
34190
|
const toColumnId = located.columnId;
|
|
33665
34191
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
33666
34192
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33667
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
34193
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _660 => _660.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _661 => _661.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
33668
34194
|
setItems(columns);
|
|
33669
34195
|
return;
|
|
33670
34196
|
}
|
|
33671
34197
|
let finalIndex = located.index;
|
|
33672
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
34198
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _662 => _662.find, 'call', _663 => _663((c) => c.id === toColumnId), 'optionalAccess', _664 => _664.tickets]), () => ( []));
|
|
33673
34199
|
const overData = over.data.current;
|
|
33674
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
34200
|
+
if (_optionalChain([overData, 'optionalAccess', _665 => _665.type]) === "ticket") {
|
|
33675
34201
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
33676
34202
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
33677
34203
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -33691,8 +34217,8 @@ function Board({
|
|
|
33691
34217
|
ticketId: origin.ticketId,
|
|
33692
34218
|
fromColumnId: origin.fromColumnId,
|
|
33693
34219
|
toColumnId,
|
|
33694
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33695
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
34220
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _666 => _666[finalIndex - 1], 'optionalAccess', _667 => _667.id]), () => ( null)),
|
|
34221
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _668 => _668[finalIndex + 1], 'optionalAccess', _669 => _669.id]), () => ( null))
|
|
33696
34222
|
});
|
|
33697
34223
|
};
|
|
33698
34224
|
const handleDragCancel = () => {
|
|
@@ -33721,10 +34247,10 @@ function Board({
|
|
|
33721
34247
|
children: items.map((column, i) => {
|
|
33722
34248
|
const prev = items[i - 1];
|
|
33723
34249
|
const next = items[i + 1];
|
|
33724
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
33725
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
34250
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _670 => _670.system]));
|
|
34251
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _671 => _671.system]));
|
|
33726
34252
|
const showGap = i > 0 && !joinLeft;
|
|
33727
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
34253
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React104.Fragment, { children: [
|
|
33728
34254
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
33729
34255
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
33730
34256
|
BoardColumn,
|
|
@@ -33775,7 +34301,7 @@ function Board({
|
|
|
33775
34301
|
{
|
|
33776
34302
|
ticket: activeTicket.ticket,
|
|
33777
34303
|
columnId: activeTicket.columnId,
|
|
33778
|
-
columnColor: _optionalChain([items, 'access',
|
|
34304
|
+
columnColor: _optionalChain([items, 'access', _672 => _672.find, 'call', _673 => _673((c) => c.id === activeTicket.columnId), 'optionalAccess', _674 => _674.color]),
|
|
33779
34305
|
isOverlay: true
|
|
33780
34306
|
}
|
|
33781
34307
|
) : null })
|
|
@@ -33791,7 +34317,7 @@ function locate(cols, ticketId) {
|
|
|
33791
34317
|
return null;
|
|
33792
34318
|
}
|
|
33793
34319
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
33794
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
34320
|
+
return _nullishCoalesce(_optionalChain([cols, 'access', _675 => _675.find, 'call', _676 => _676((c) => c.id === columnId), 'optionalAccess', _677 => _677.tickets, 'access', _678 => _678.findIndex, 'call', _679 => _679((t) => t.id === ticketId)]), () => ( -1));
|
|
33795
34321
|
}
|
|
33796
34322
|
|
|
33797
34323
|
// src/components/features/board/types.ts
|
|
@@ -33882,7 +34408,7 @@ function TicketStatusConfigList({
|
|
|
33882
34408
|
if (oldIndex === -1 || newIndex === -1) return;
|
|
33883
34409
|
onReorder(oldIndex, newIndex);
|
|
33884
34410
|
};
|
|
33885
|
-
const sortableIds =
|
|
34411
|
+
const sortableIds = React105.useMemo(() => items.map((i) => i.id), [items]);
|
|
33886
34412
|
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: _chunkFIG2RKZFcjs.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)) }) }) });
|
|
33887
34413
|
}
|
|
33888
34414
|
function SortableRow({
|
|
@@ -34039,7 +34565,7 @@ function Header2({ config, platform }) {
|
|
|
34039
34565
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
34040
34566
|
"flex justify-start w-full",
|
|
34041
34567
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
34042
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
34568
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _680 => _680.children, 'optionalAccess', _681 => _681.length]), () => ( 0))) - 1 && "mb-1",
|
|
34043
34569
|
"text-ods-text-primary",
|
|
34044
34570
|
// All dropdown items use primary text color
|
|
34045
34571
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -34131,7 +34657,7 @@ function Header2({ config, platform }) {
|
|
|
34131
34657
|
style: config.style,
|
|
34132
34658
|
children: [
|
|
34133
34659
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
34134
|
-
_optionalChain([config, 'access',
|
|
34660
|
+
_optionalChain([config, 'access', _682 => _682.actions, 'optionalAccess', _683 => _683.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
34135
34661
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
34136
34662
|
] }),
|
|
34137
34663
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -34148,7 +34674,7 @@ function Header2({ config, platform }) {
|
|
|
34148
34674
|
}
|
|
34149
34675
|
),
|
|
34150
34676
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
34151
|
-
_optionalChain([config, 'access',
|
|
34677
|
+
_optionalChain([config, 'access', _684 => _684.actions, 'optionalAccess', _685 => _685.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
34152
34678
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
34153
34679
|
_chunkNYIZVI4Icjs.Button,
|
|
34154
34680
|
{
|
|
@@ -34156,10 +34682,10 @@ function Header2({ config, platform }) {
|
|
|
34156
34682
|
size: "icon",
|
|
34157
34683
|
className: "flex md:hidden",
|
|
34158
34684
|
onClick: () => {
|
|
34159
|
-
_optionalChain([config, 'access',
|
|
34685
|
+
_optionalChain([config, 'access', _686 => _686.mobile, 'optionalAccess', _687 => _687.onToggle, 'optionalCall', _688 => _688()]);
|
|
34160
34686
|
},
|
|
34161
|
-
"aria-label": _optionalChain([config, 'access',
|
|
34162
|
-
leftIcon: _optionalChain([config, 'access',
|
|
34687
|
+
"aria-label": _optionalChain([config, 'access', _689 => _689.mobile, 'optionalAccess', _690 => _690.isOpen]) ? "Close menu" : "Open menu",
|
|
34688
|
+
leftIcon: _optionalChain([config, 'access', _691 => _691.mobile, 'optionalAccess', _692 => _692.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
|
|
34163
34689
|
}
|
|
34164
34690
|
)
|
|
34165
34691
|
] })
|
|
@@ -34176,10 +34702,10 @@ function Header2({ config, platform }) {
|
|
|
34176
34702
|
// src/components/navigation/header-skeleton.tsx
|
|
34177
34703
|
|
|
34178
34704
|
function HeaderSkeleton({ config }) {
|
|
34179
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
34180
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
34181
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
34182
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
34705
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _693 => _693.navigation]) && config.navigation.items.length > 0;
|
|
34706
|
+
const showActions = _optionalChain([config, 'optionalAccess', _694 => _694.actions, 'optionalAccess', _695 => _695.right]) && config.actions.right.length > 0;
|
|
34707
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _696 => _696.mobile, 'optionalAccess', _697 => _697.enabled]);
|
|
34708
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _698 => _698.className, 'optionalAccess', _699 => _699.includes, 'call', _700 => _700("admin")]);
|
|
34183
34709
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
34184
34710
|
"header",
|
|
34185
34711
|
{
|
|
@@ -34188,11 +34714,11 @@ function HeaderSkeleton({ config }) {
|
|
|
34188
34714
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
34189
34715
|
"px-6 py-3",
|
|
34190
34716
|
"transition-opacity duration-300 ease-in-out",
|
|
34191
|
-
_optionalChain([config, 'optionalAccess',
|
|
34717
|
+
_optionalChain([config, 'optionalAccess', _701 => _701.className])
|
|
34192
34718
|
),
|
|
34193
34719
|
children: [
|
|
34194
34720
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
34195
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
34721
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _702 => _702.actions, 'optionalAccess', _703 => _703.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
34196
34722
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
34197
34723
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
34198
34724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -34200,8 +34726,8 @@ function HeaderSkeleton({ config }) {
|
|
|
34200
34726
|
] }),
|
|
34201
34727
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
34202
34728
|
"hidden md:flex items-center gap-2",
|
|
34203
|
-
_optionalChain([config, 'optionalAccess',
|
|
34204
|
-
_optionalChain([config, 'optionalAccess',
|
|
34729
|
+
_optionalChain([config, 'optionalAccess', _704 => _704.navigation, 'optionalAccess', _705 => _705.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
34730
|
+
_optionalChain([config, 'optionalAccess', _706 => _706.navigation, 'optionalAccess', _707 => _707.position]) === "right" && "ml-auto mr-4"
|
|
34205
34731
|
), children: [
|
|
34206
34732
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
34207
34733
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -34249,7 +34775,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
34249
34775
|
_react.useEffect.call(void 0, () => {
|
|
34250
34776
|
const handleKeyDown = (e) => {
|
|
34251
34777
|
if (e.key === "Escape" && isOpen) {
|
|
34252
|
-
_optionalChain([config, 'access',
|
|
34778
|
+
_optionalChain([config, 'access', _708 => _708.onClose, 'optionalCall', _709 => _709()]);
|
|
34253
34779
|
}
|
|
34254
34780
|
};
|
|
34255
34781
|
if (isOpen) {
|
|
@@ -34266,7 +34792,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
34266
34792
|
if (item.onClick) {
|
|
34267
34793
|
item.onClick();
|
|
34268
34794
|
}
|
|
34269
|
-
_optionalChain([config, 'access',
|
|
34795
|
+
_optionalChain([config, 'access', _710 => _710.onClose, 'optionalCall', _711 => _711()]);
|
|
34270
34796
|
};
|
|
34271
34797
|
if (item.href) {
|
|
34272
34798
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -34436,7 +34962,7 @@ function SlidingSidebar({ config }) {
|
|
|
34436
34962
|
variant: "transparent",
|
|
34437
34963
|
size: "default",
|
|
34438
34964
|
onClick: () => {
|
|
34439
|
-
_optionalChain([item, 'access',
|
|
34965
|
+
_optionalChain([item, 'access', _712 => _712.onClick, 'optionalCall', _713 => _713()]);
|
|
34440
34966
|
config.onClose();
|
|
34441
34967
|
},
|
|
34442
34968
|
leftIcon: item.icon,
|
|
@@ -34459,7 +34985,7 @@ function SlidingSidebar({ config }) {
|
|
|
34459
34985
|
variant: "transparent",
|
|
34460
34986
|
size: "default",
|
|
34461
34987
|
onClick: () => {
|
|
34462
|
-
_optionalChain([item, 'access',
|
|
34988
|
+
_optionalChain([item, 'access', _714 => _714.onClick, 'optionalCall', _715 => _715()]);
|
|
34463
34989
|
config.onClose();
|
|
34464
34990
|
},
|
|
34465
34991
|
leftIcon: item.icon,
|
|
@@ -34586,7 +35112,7 @@ function StickySectionNav({
|
|
|
34586
35112
|
] });
|
|
34587
35113
|
}
|
|
34588
35114
|
function useSectionNavigation(sections, options) {
|
|
34589
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
35115
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _716 => _716[0], 'optionalAccess', _717 => _717.id]) || "");
|
|
34590
35116
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
34591
35117
|
const { offset: offset2 = 100 } = options || {};
|
|
34592
35118
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -34610,7 +35136,7 @@ function useSectionNavigation(sections, options) {
|
|
|
34610
35136
|
const handleScroll = () => {
|
|
34611
35137
|
if (isScrollingFromClick.current) return;
|
|
34612
35138
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
34613
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
35139
|
+
let currentSection = _optionalChain([sections, 'access', _718 => _718[0], 'optionalAccess', _719 => _719.id]) || "";
|
|
34614
35140
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
34615
35141
|
const element = document.getElementById(sections[i].id);
|
|
34616
35142
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -34801,7 +35327,7 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
34801
35327
|
} else {
|
|
34802
35328
|
setDesktopMinimized((prev) => !prev);
|
|
34803
35329
|
}
|
|
34804
|
-
_optionalChain([config, 'access',
|
|
35330
|
+
_optionalChain([config, 'access', _720 => _720.onToggleMinimized, 'optionalCall', _721 => _721()]);
|
|
34805
35331
|
}, [isTablet, setDesktopMinimized, config]);
|
|
34806
35332
|
const closeOverlay = _react.useCallback.call(void 0, () => {
|
|
34807
35333
|
setTabletMinimized(true);
|
|
@@ -34815,11 +35341,11 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
34815
35341
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
34816
35342
|
}, [isOverlayOpen, closeOverlay]);
|
|
34817
35343
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
34818
|
-
_optionalChain([event, 'optionalAccess',
|
|
35344
|
+
_optionalChain([event, 'optionalAccess', _722 => _722.stopPropagation, 'call', _723 => _723()]);
|
|
34819
35345
|
if (item.onClick) {
|
|
34820
35346
|
item.onClick();
|
|
34821
35347
|
} else if (item.path) {
|
|
34822
|
-
_optionalChain([config, 'access',
|
|
35348
|
+
_optionalChain([config, 'access', _724 => _724.onNavigate, 'optionalCall', _725 => _725(item.path)]);
|
|
34823
35349
|
}
|
|
34824
35350
|
if (isTablet) setTabletMinimized(true);
|
|
34825
35351
|
}, [config, isTablet]);
|
|
@@ -34944,11 +35470,11 @@ function HeaderGlobalSearch({
|
|
|
34944
35470
|
};
|
|
34945
35471
|
const handleSubmit = (e) => {
|
|
34946
35472
|
e.preventDefault();
|
|
34947
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
35473
|
+
_optionalChain([onSubmit, 'optionalCall', _726 => _726(currentValue)]);
|
|
34948
35474
|
};
|
|
34949
35475
|
const handleKeyDown = (e) => {
|
|
34950
35476
|
if (e.key === "Enter") {
|
|
34951
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
35477
|
+
_optionalChain([onSubmit, 'optionalCall', _727 => _727(currentValue)]);
|
|
34952
35478
|
}
|
|
34953
35479
|
};
|
|
34954
35480
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -35042,8 +35568,8 @@ function HeaderOrganizationFilter({
|
|
|
35042
35568
|
className
|
|
35043
35569
|
}) {
|
|
35044
35570
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
35045
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
35046
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
35571
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _728 => _728.name]) || "All Organizations";
|
|
35572
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _729 => _729.deviceCount]), () => ( totalDeviceCount));
|
|
35047
35573
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenu, { children: [
|
|
35048
35574
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
35049
35575
|
"button",
|
|
@@ -35068,11 +35594,11 @@ function HeaderOrganizationFilter({
|
|
|
35068
35594
|
}
|
|
35069
35595
|
) }),
|
|
35070
35596
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
35071
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
35597
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _730 => _730("")]), children: "All Organizations" }),
|
|
35072
35598
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35073
35599
|
_chunkNYIZVI4Icjs.DropdownMenuItem,
|
|
35074
35600
|
{
|
|
35075
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
35601
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _731 => _731(org.id)]),
|
|
35076
35602
|
children: org.name
|
|
35077
35603
|
},
|
|
35078
35604
|
org.id
|
|
@@ -35262,13 +35788,13 @@ function NotificationsHeaderButton({
|
|
|
35262
35788
|
dimmedClass
|
|
35263
35789
|
}) {
|
|
35264
35790
|
const ctx = useOptionalNotifications();
|
|
35265
|
-
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
35266
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
35267
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
35791
|
+
const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _732 => _732.unreadCount]), () => ( fallbackUnreadCount))) > 0;
|
|
35792
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _733 => _733.isOpen]), () => ( false));
|
|
35793
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _734 => _734.toggle]);
|
|
35268
35794
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35269
35795
|
HeaderButton,
|
|
35270
35796
|
{
|
|
35271
|
-
icon: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative w-4 h-4 md:w-6 md:h-6", children: [
|
|
35797
|
+
icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { className: "w-4 h-4 md:w-6 md:h-6" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative w-4 h-4 md:w-6 md:h-6", children: [
|
|
35272
35798
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.BellIcon, { className: "w-full h-full" }),
|
|
35273
35799
|
hasUnread && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35274
35800
|
"span",
|
|
@@ -35277,7 +35803,7 @@ function NotificationsHeaderButton({
|
|
|
35277
35803
|
}
|
|
35278
35804
|
)
|
|
35279
35805
|
] }),
|
|
35280
|
-
"aria-label": "Notifications",
|
|
35806
|
+
"aria-label": isActive ? "Close notifications" : "Notifications",
|
|
35281
35807
|
onClick,
|
|
35282
35808
|
isActive,
|
|
35283
35809
|
disabled: disabled || !onClick,
|
|
@@ -35328,7 +35854,7 @@ var MobileBurgerMenu = React119.default.memo(function MobileBurgerMenu2({
|
|
|
35328
35854
|
if (item.onClick) {
|
|
35329
35855
|
item.onClick();
|
|
35330
35856
|
} else if (item.path) {
|
|
35331
|
-
_optionalChain([config, 'access',
|
|
35857
|
+
_optionalChain([config, 'access', _735 => _735.onNavigate, 'optionalCall', _736 => _736(item.path)]);
|
|
35332
35858
|
}
|
|
35333
35859
|
onClose();
|
|
35334
35860
|
}, [config, onClose]);
|
|
@@ -35489,14 +36015,6 @@ var MobileBurgerMenu = React119.default.memo(function MobileBurgerMenu2({
|
|
|
35489
36015
|
|
|
35490
36016
|
// src/components/navigation/app-layout.tsx
|
|
35491
36017
|
|
|
35492
|
-
var AppLayoutDrawerContainerContext = _react.createContext.call(void 0, null);
|
|
35493
|
-
function useAppLayoutDrawerContainer() {
|
|
35494
|
-
return _react.useContext.call(void 0, AppLayoutDrawerContainerContext);
|
|
35495
|
-
}
|
|
35496
|
-
var AppLayoutDrawerCoordinationContext = _react.createContext.call(void 0, null);
|
|
35497
|
-
function useAppLayoutDrawerCoordination() {
|
|
35498
|
-
return _react.useContext.call(void 0, AppLayoutDrawerCoordinationContext);
|
|
35499
|
-
}
|
|
35500
36018
|
function AppLayout({
|
|
35501
36019
|
children,
|
|
35502
36020
|
sidebarConfig,
|
|
@@ -35525,7 +36043,12 @@ function AppLayout({
|
|
|
35525
36043
|
setMobileMenuOpen(false);
|
|
35526
36044
|
}, []);
|
|
35527
36045
|
const drawerCoordination = _react.useMemo.call(void 0, () => ({
|
|
35528
|
-
notifyDrawerDidOpen: () =>
|
|
36046
|
+
notifyDrawerDidOpen: (self) => {
|
|
36047
|
+
setMobileMenuOpen(false);
|
|
36048
|
+
for (const handle of drawerHandlesRef.current) {
|
|
36049
|
+
if (handle !== self) handle.close();
|
|
36050
|
+
}
|
|
36051
|
+
},
|
|
35529
36052
|
registerDrawer: (handle) => {
|
|
35530
36053
|
drawerHandlesRef.current.add(handle);
|
|
35531
36054
|
return () => drawerHandlesRef.current.delete(handle);
|
|
@@ -35572,478 +36095,6 @@ function AppLayout({
|
|
|
35572
36095
|
] }) }) });
|
|
35573
36096
|
}
|
|
35574
36097
|
|
|
35575
|
-
// src/components/navigation/app-layout-drawer.tsx
|
|
35576
|
-
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
35577
|
-
|
|
35578
|
-
|
|
35579
|
-
|
|
35580
|
-
|
|
35581
|
-
var DrawerOpenContext = React112.createContext(false);
|
|
35582
|
-
var AppLayoutDrawerRoot = ({
|
|
35583
|
-
open: openProp,
|
|
35584
|
-
defaultOpen,
|
|
35585
|
-
onOpenChange,
|
|
35586
|
-
modal = false,
|
|
35587
|
-
children,
|
|
35588
|
-
...rest
|
|
35589
|
-
}) => {
|
|
35590
|
-
const [internalOpen, setInternalOpen] = React112.useState(_nullishCoalesce(defaultOpen, () => ( false)));
|
|
35591
|
-
const isControlled = openProp !== void 0;
|
|
35592
|
-
const open = isControlled ? openProp : internalOpen;
|
|
35593
|
-
const handleOpenChange = React112.useCallback(
|
|
35594
|
-
(next) => {
|
|
35595
|
-
if (!isControlled) setInternalOpen(next);
|
|
35596
|
-
_optionalChain([onOpenChange, 'optionalCall', _720 => _720(next)]);
|
|
35597
|
-
},
|
|
35598
|
-
[isControlled, onOpenChange]
|
|
35599
|
-
);
|
|
35600
|
-
const coordination = useAppLayoutDrawerCoordination();
|
|
35601
|
-
const openRef = React112.useRef(open);
|
|
35602
|
-
openRef.current = open;
|
|
35603
|
-
const handleOpenChangeRef = React112.useRef(handleOpenChange);
|
|
35604
|
-
handleOpenChangeRef.current = handleOpenChange;
|
|
35605
|
-
React112.useEffect(() => {
|
|
35606
|
-
if (open) _optionalChain([coordination, 'optionalAccess', _721 => _721.notifyDrawerDidOpen, 'call', _722 => _722()]);
|
|
35607
|
-
}, [open, coordination]);
|
|
35608
|
-
React112.useEffect(() => {
|
|
35609
|
-
return _optionalChain([coordination, 'optionalAccess', _723 => _723.registerDrawer, 'call', _724 => _724({
|
|
35610
|
-
close: () => {
|
|
35611
|
-
if (openRef.current) handleOpenChangeRef.current(false);
|
|
35612
|
-
}
|
|
35613
|
-
})]);
|
|
35614
|
-
}, [coordination]);
|
|
35615
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35616
|
-
DialogPrimitive3.Root,
|
|
35617
|
-
{
|
|
35618
|
-
...rest,
|
|
35619
|
-
open,
|
|
35620
|
-
onOpenChange: handleOpenChange,
|
|
35621
|
-
modal,
|
|
35622
|
-
children
|
|
35623
|
-
}
|
|
35624
|
-
) });
|
|
35625
|
-
};
|
|
35626
|
-
AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
|
|
35627
|
-
var AppLayoutDrawerTrigger = DialogPrimitive3.Trigger;
|
|
35628
|
-
var AppLayoutDrawerClose = DialogPrimitive3.Close;
|
|
35629
|
-
var appLayoutDrawerVariants = _classvarianceauthority.cva.call(void 0,
|
|
35630
|
-
"absolute z-[103] flex outline-none focus:outline-none focus-visible:outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-300",
|
|
35631
|
-
{
|
|
35632
|
-
variants: {
|
|
35633
|
-
side: {
|
|
35634
|
-
right: "inset-y-0 right-0 items-center data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
|
|
35635
|
-
left: "inset-y-0 left-0 items-center data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
|
|
35636
|
-
top: "inset-x-0 top-0 justify-center data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
35637
|
-
bottom: "inset-x-0 bottom-0 justify-center data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom"
|
|
35638
|
-
},
|
|
35639
|
-
flush: {
|
|
35640
|
-
false: "",
|
|
35641
|
-
true: ""
|
|
35642
|
-
}
|
|
35643
|
-
},
|
|
35644
|
-
compoundVariants: [
|
|
35645
|
-
{ side: "right", flush: false, class: "pr-[var(--spacing-system-m)] py-[var(--spacing-system-m)]" },
|
|
35646
|
-
{ side: "left", flush: false, class: "pl-[var(--spacing-system-m)] py-[var(--spacing-system-m)]" },
|
|
35647
|
-
{ side: "top", flush: false, class: "pt-[var(--spacing-system-m)] px-[var(--spacing-system-m)]" },
|
|
35648
|
-
{ side: "bottom", flush: false, class: "pb-[var(--spacing-system-m)] px-[var(--spacing-system-m)]" },
|
|
35649
|
-
{ side: "right", flush: true, class: "md:pr-[var(--spacing-system-m)] md:py-[var(--spacing-system-m)]" },
|
|
35650
|
-
{ side: "left", flush: true, class: "md:pl-[var(--spacing-system-m)] md:py-[var(--spacing-system-m)]" },
|
|
35651
|
-
{ side: "top", flush: true, class: "md:pt-[var(--spacing-system-m)] md:px-[var(--spacing-system-m)]" },
|
|
35652
|
-
{ side: "bottom", flush: true, class: "md:pb-[var(--spacing-system-m)] md:px-[var(--spacing-system-m)]" }
|
|
35653
|
-
],
|
|
35654
|
-
defaultVariants: {
|
|
35655
|
-
side: "right",
|
|
35656
|
-
flush: false
|
|
35657
|
-
}
|
|
35658
|
-
}
|
|
35659
|
-
);
|
|
35660
|
-
var appLayoutDrawerPanelVariants = _classvarianceauthority.cva.call(void 0,
|
|
35661
|
-
"relative flex flex-col overflow-hidden bg-ods-card outline-none focus:outline-none focus-visible:outline-none",
|
|
35662
|
-
{
|
|
35663
|
-
variants: {
|
|
35664
|
-
side: {
|
|
35665
|
-
right: "h-full",
|
|
35666
|
-
left: "h-full",
|
|
35667
|
-
top: "w-full",
|
|
35668
|
-
bottom: "w-full"
|
|
35669
|
-
},
|
|
35670
|
-
flush: {
|
|
35671
|
-
false: "gap-4 rounded-md border border-ods-border p-4",
|
|
35672
|
-
true: ""
|
|
35673
|
-
}
|
|
35674
|
-
},
|
|
35675
|
-
compoundVariants: [
|
|
35676
|
-
{ side: "right", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
35677
|
-
{ side: "left", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
35678
|
-
{ side: "top", flush: true, class: "md:rounded-md md:border md:border-ods-border" },
|
|
35679
|
-
{ side: "bottom", flush: true, class: "md:rounded-md md:border md:border-ods-border" }
|
|
35680
|
-
],
|
|
35681
|
-
defaultVariants: {
|
|
35682
|
-
side: "right",
|
|
35683
|
-
flush: false
|
|
35684
|
-
}
|
|
35685
|
-
}
|
|
35686
|
-
);
|
|
35687
|
-
var HORIZONTAL_SIDES2 = /* @__PURE__ */ new Set(["left", "right"]);
|
|
35688
|
-
var PERSIST_CLOSED_HOLD = "data-[state=closed]:fill-mode-forwards";
|
|
35689
|
-
function clamp3(value, min, max) {
|
|
35690
|
-
if (max < min) return min;
|
|
35691
|
-
return Math.min(max, Math.max(min, value));
|
|
35692
|
-
}
|
|
35693
|
-
function useContainedResizableSize({
|
|
35694
|
-
enabled,
|
|
35695
|
-
isHorizontal,
|
|
35696
|
-
minSize,
|
|
35697
|
-
maxSize,
|
|
35698
|
-
defaultSize,
|
|
35699
|
-
storageKey,
|
|
35700
|
-
container
|
|
35701
|
-
}) {
|
|
35702
|
-
const [available, setAvailable] = React112.useState(0);
|
|
35703
|
-
React112.useEffect(() => {
|
|
35704
|
-
if (!enabled || !container) return;
|
|
35705
|
-
const update = () => {
|
|
35706
|
-
setAvailable(isHorizontal ? container.clientWidth : container.clientHeight);
|
|
35707
|
-
};
|
|
35708
|
-
update();
|
|
35709
|
-
const ro = new ResizeObserver(update);
|
|
35710
|
-
ro.observe(container);
|
|
35711
|
-
return () => ro.disconnect();
|
|
35712
|
-
}, [enabled, container, isHorizontal]);
|
|
35713
|
-
const clampToContainer = React112.useCallback(
|
|
35714
|
-
(value) => {
|
|
35715
|
-
const effectiveMax = available > 0 ? Math.min(maxSize, available - 40) : maxSize;
|
|
35716
|
-
return clamp3(value, minSize, Math.max(minSize, effectiveMax));
|
|
35717
|
-
},
|
|
35718
|
-
[available, minSize, maxSize]
|
|
35719
|
-
);
|
|
35720
|
-
const readInitial = React112.useCallback(() => {
|
|
35721
|
-
if (!enabled) return defaultSize;
|
|
35722
|
-
if (typeof window === "undefined") return defaultSize;
|
|
35723
|
-
if (!storageKey) return defaultSize;
|
|
35724
|
-
try {
|
|
35725
|
-
const raw = window.localStorage.getItem(storageKey);
|
|
35726
|
-
if (!raw) return defaultSize;
|
|
35727
|
-
const parsed = parseFloat(raw);
|
|
35728
|
-
if (!Number.isFinite(parsed)) return defaultSize;
|
|
35729
|
-
return parsed;
|
|
35730
|
-
} catch (e39) {
|
|
35731
|
-
return defaultSize;
|
|
35732
|
-
}
|
|
35733
|
-
}, [enabled, storageKey, defaultSize]);
|
|
35734
|
-
const [size2, setSizeRaw] = React112.useState(readInitial);
|
|
35735
|
-
const setSize = React112.useCallback(
|
|
35736
|
-
(next) => setSizeRaw(clampToContainer(next)),
|
|
35737
|
-
[clampToContainer]
|
|
35738
|
-
);
|
|
35739
|
-
React112.useEffect(() => {
|
|
35740
|
-
if (!enabled || !storageKey || typeof window === "undefined") return;
|
|
35741
|
-
try {
|
|
35742
|
-
window.localStorage.setItem(storageKey, String(Math.round(size2)));
|
|
35743
|
-
} catch (e40) {
|
|
35744
|
-
}
|
|
35745
|
-
}, [enabled, size2, storageKey]);
|
|
35746
|
-
React112.useEffect(() => {
|
|
35747
|
-
if (!enabled) return;
|
|
35748
|
-
setSizeRaw((prev) => clampToContainer(prev));
|
|
35749
|
-
}, [enabled, clampToContainer]);
|
|
35750
|
-
return { size: size2, setSize };
|
|
35751
|
-
}
|
|
35752
|
-
function AppLayoutDrawerResizeHandle({
|
|
35753
|
-
side,
|
|
35754
|
-
size: size2,
|
|
35755
|
-
minSize,
|
|
35756
|
-
maxSize,
|
|
35757
|
-
onSize,
|
|
35758
|
-
ariaLabel
|
|
35759
|
-
}) {
|
|
35760
|
-
const isHorizontal = HORIZONTAL_SIDES2.has(side);
|
|
35761
|
-
const startRef = React112.useRef(null);
|
|
35762
|
-
const direction = side === "right" || side === "bottom" ? -1 : 1;
|
|
35763
|
-
const handlePointerDown = (e) => {
|
|
35764
|
-
if (e.button !== 0 && e.pointerType === "mouse") return;
|
|
35765
|
-
e.preventDefault();
|
|
35766
|
-
startRef.current = { x: e.clientX, y: e.clientY, size: size2 };
|
|
35767
|
-
e.currentTarget.setPointerCapture(e.pointerId);
|
|
35768
|
-
document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
|
|
35769
|
-
document.body.style.userSelect = "none";
|
|
35770
|
-
};
|
|
35771
|
-
const handlePointerMove = (e) => {
|
|
35772
|
-
const start = startRef.current;
|
|
35773
|
-
if (!start) return;
|
|
35774
|
-
const delta = isHorizontal ? e.clientX - start.x : e.clientY - start.y;
|
|
35775
|
-
onSize(start.size + delta * direction);
|
|
35776
|
-
};
|
|
35777
|
-
const endDrag = (e) => {
|
|
35778
|
-
if (!startRef.current) return;
|
|
35779
|
-
startRef.current = null;
|
|
35780
|
-
try {
|
|
35781
|
-
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
35782
|
-
} catch (e41) {
|
|
35783
|
-
}
|
|
35784
|
-
document.body.style.cursor = "";
|
|
35785
|
-
document.body.style.userSelect = "";
|
|
35786
|
-
};
|
|
35787
|
-
const handleKeyDown = (e) => {
|
|
35788
|
-
const step = e.shiftKey ? 40 : 16;
|
|
35789
|
-
if (isHorizontal) {
|
|
35790
|
-
if (e.key === "ArrowLeft") {
|
|
35791
|
-
e.preventDefault();
|
|
35792
|
-
onSize(size2 + step * (side === "right" ? 1 : -1));
|
|
35793
|
-
} else if (e.key === "ArrowRight") {
|
|
35794
|
-
e.preventDefault();
|
|
35795
|
-
onSize(size2 + step * (side === "right" ? -1 : 1));
|
|
35796
|
-
}
|
|
35797
|
-
} else {
|
|
35798
|
-
if (e.key === "ArrowUp") {
|
|
35799
|
-
e.preventDefault();
|
|
35800
|
-
onSize(size2 + step * (side === "bottom" ? 1 : -1));
|
|
35801
|
-
} else if (e.key === "ArrowDown") {
|
|
35802
|
-
e.preventDefault();
|
|
35803
|
-
onSize(size2 + step * (side === "bottom" ? -1 : 1));
|
|
35804
|
-
}
|
|
35805
|
-
}
|
|
35806
|
-
if (e.key === "Home") {
|
|
35807
|
-
e.preventDefault();
|
|
35808
|
-
onSize(minSize);
|
|
35809
|
-
} else if (e.key === "End") {
|
|
35810
|
-
e.preventDefault();
|
|
35811
|
-
onSize(maxSize);
|
|
35812
|
-
}
|
|
35813
|
-
};
|
|
35814
|
-
const trackPosition = side === "right" ? "right-full top-4 bottom-4 w-6 items-center justify-end pr-1" : side === "left" ? "left-full top-4 bottom-4 w-6 items-center justify-start pl-1" : side === "bottom" ? "bottom-full left-4 right-4 h-6 justify-center items-end pb-1" : "top-full left-4 right-4 h-6 justify-center items-start pt-1";
|
|
35815
|
-
const cursorClass = isHorizontal ? "cursor-col-resize" : "cursor-row-resize";
|
|
35816
|
-
const gripClass = isHorizontal ? "h-10 w-1" : "w-10 h-1";
|
|
35817
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35818
|
-
"div",
|
|
35819
|
-
{
|
|
35820
|
-
role: "separator",
|
|
35821
|
-
tabIndex: 0,
|
|
35822
|
-
"aria-orientation": isHorizontal ? "vertical" : "horizontal",
|
|
35823
|
-
"aria-valuenow": Math.round(size2),
|
|
35824
|
-
"aria-valuemin": minSize,
|
|
35825
|
-
"aria-valuemax": maxSize,
|
|
35826
|
-
"aria-label": _nullishCoalesce(ariaLabel, () => ( (isHorizontal ? "Resize panel width" : "Resize panel height"))),
|
|
35827
|
-
onPointerDown: handlePointerDown,
|
|
35828
|
-
onPointerMove: handlePointerMove,
|
|
35829
|
-
onPointerUp: endDrag,
|
|
35830
|
-
onPointerCancel: endDrag,
|
|
35831
|
-
onKeyDown: handleKeyDown,
|
|
35832
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35833
|
-
"group absolute z-20 flex select-none touch-none",
|
|
35834
|
-
"outline-none ring-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0",
|
|
35835
|
-
trackPosition,
|
|
35836
|
-
cursorClass
|
|
35837
|
-
),
|
|
35838
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35839
|
-
"div",
|
|
35840
|
-
{
|
|
35841
|
-
"aria-hidden": true,
|
|
35842
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35843
|
-
"rounded-full bg-ods-border",
|
|
35844
|
-
gripClass
|
|
35845
|
-
)
|
|
35846
|
-
}
|
|
35847
|
-
)
|
|
35848
|
-
}
|
|
35849
|
-
);
|
|
35850
|
-
}
|
|
35851
|
-
var AppLayoutDrawerContent = React112.forwardRef(
|
|
35852
|
-
({
|
|
35853
|
-
side = "right",
|
|
35854
|
-
flush = false,
|
|
35855
|
-
resizable = false,
|
|
35856
|
-
minSize = 320,
|
|
35857
|
-
// No upper cap by default — the AppLayout container width is the natural
|
|
35858
|
-
// limit. Consumers can still pass an explicit `maxSize` to clamp tighter.
|
|
35859
|
-
maxSize = Number.POSITIVE_INFINITY,
|
|
35860
|
-
defaultSize,
|
|
35861
|
-
storageKey,
|
|
35862
|
-
mobileBreakpoint = 768,
|
|
35863
|
-
overlayClassName,
|
|
35864
|
-
resizeAriaLabel,
|
|
35865
|
-
className,
|
|
35866
|
-
style,
|
|
35867
|
-
panelStyle,
|
|
35868
|
-
panelClassName,
|
|
35869
|
-
container,
|
|
35870
|
-
dismissOnInteractOutside = true,
|
|
35871
|
-
onInteractOutside,
|
|
35872
|
-
debugLayoutShift = false,
|
|
35873
|
-
keepMounted = false,
|
|
35874
|
-
children,
|
|
35875
|
-
...props
|
|
35876
|
-
}, ref) => {
|
|
35877
|
-
const contextContainer = useAppLayoutDrawerContainer();
|
|
35878
|
-
const portalContainer = container !== void 0 ? container : contextContainer;
|
|
35879
|
-
const open = React112.useContext(DrawerOpenContext);
|
|
35880
|
-
const [hasOpened, setHasOpened] = React112.useState(Boolean(open));
|
|
35881
|
-
React112.useEffect(() => {
|
|
35882
|
-
if (open) setHasOpened(true);
|
|
35883
|
-
}, [open]);
|
|
35884
|
-
const persist = keepMounted && hasOpened;
|
|
35885
|
-
React112.useEffect(() => {
|
|
35886
|
-
if (!debugLayoutShift) return;
|
|
35887
|
-
if (!open) return;
|
|
35888
|
-
if (typeof window === "undefined") return;
|
|
35889
|
-
if (!portalContainer) return;
|
|
35890
|
-
const collect = () => {
|
|
35891
|
-
const list = [];
|
|
35892
|
-
let el = portalContainer;
|
|
35893
|
-
while (el) {
|
|
35894
|
-
list.push(el);
|
|
35895
|
-
el = el.parentElement;
|
|
35896
|
-
}
|
|
35897
|
-
if (!list.includes(document.documentElement)) {
|
|
35898
|
-
list.push(document.documentElement);
|
|
35899
|
-
}
|
|
35900
|
-
return list;
|
|
35901
|
-
};
|
|
35902
|
-
const snapshot = (label) => {
|
|
35903
|
-
const data = collect().map((el, i) => {
|
|
35904
|
-
const cs = window.getComputedStyle(el);
|
|
35905
|
-
const overflows = el.scrollWidth > el.clientWidth;
|
|
35906
|
-
const cls = String(_nullishCoalesce(el.className, () => ( ""))).replace(/\s+/g, " ").slice(0, 60);
|
|
35907
|
-
return {
|
|
35908
|
-
depth: i,
|
|
35909
|
-
tag: el.tagName.toLowerCase() + (el.id ? "#" + el.id : ""),
|
|
35910
|
-
class: cls,
|
|
35911
|
-
"overflow-x": cs.overflowX,
|
|
35912
|
-
scrollLeft: el.scrollLeft,
|
|
35913
|
-
scrollWidth: el.scrollWidth,
|
|
35914
|
-
clientWidth: el.clientWidth,
|
|
35915
|
-
hOverflow: overflows ? "\u26A0\uFE0F" : ""
|
|
35916
|
-
};
|
|
35917
|
-
});
|
|
35918
|
-
console.groupCollapsed(`[AppLayoutDrawer] ${label}`);
|
|
35919
|
-
console.table(data);
|
|
35920
|
-
console.groupEnd();
|
|
35921
|
-
};
|
|
35922
|
-
snapshot("open: t0 (mount)");
|
|
35923
|
-
const raf = requestAnimationFrame(() => snapshot("open: t\u224816ms (RAF 1)"));
|
|
35924
|
-
const t150 = window.setTimeout(() => snapshot("open: t\u2248150ms (mid-anim)"), 150);
|
|
35925
|
-
const t350 = window.setTimeout(() => snapshot("open: t\u2248350ms (post-anim)"), 350);
|
|
35926
|
-
return () => {
|
|
35927
|
-
cancelAnimationFrame(raf);
|
|
35928
|
-
clearTimeout(t150);
|
|
35929
|
-
clearTimeout(t350);
|
|
35930
|
-
snapshot("close");
|
|
35931
|
-
};
|
|
35932
|
-
}, [open, portalContainer, debugLayoutShift]);
|
|
35933
|
-
const resolvedSide = _nullishCoalesce(side, () => ( "right"));
|
|
35934
|
-
const isHorizontal = HORIZONTAL_SIDES2.has(resolvedSide);
|
|
35935
|
-
const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
|
|
35936
|
-
const [isMobile, setIsMobile] = React112.useState(false);
|
|
35937
|
-
React112.useEffect(() => {
|
|
35938
|
-
if (typeof window === "undefined") return;
|
|
35939
|
-
const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
35940
|
-
const update = () => setIsMobile(mq.matches);
|
|
35941
|
-
update();
|
|
35942
|
-
mq.addEventListener("change", update);
|
|
35943
|
-
return () => mq.removeEventListener("change", update);
|
|
35944
|
-
}, [mobileBreakpoint]);
|
|
35945
|
-
const { size: size2, setSize } = useContainedResizableSize({
|
|
35946
|
-
enabled: resizable,
|
|
35947
|
-
isHorizontal,
|
|
35948
|
-
minSize,
|
|
35949
|
-
maxSize,
|
|
35950
|
-
defaultSize: initialSize,
|
|
35951
|
-
storageKey,
|
|
35952
|
-
container: portalContainer
|
|
35953
|
-
});
|
|
35954
|
-
const applyInlineSize = resizable && !isMobile;
|
|
35955
|
-
const sizeStyle = applyInlineSize ? isHorizontal ? { width: size2 } : { height: size2 } : {};
|
|
35956
|
-
if (keepMounted && !hasOpened) return null;
|
|
35957
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive3.Portal, { container: portalContainer, forceMount: persist || void 0, children: [
|
|
35958
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35959
|
-
"div",
|
|
35960
|
-
{
|
|
35961
|
-
"aria-hidden": true,
|
|
35962
|
-
"data-state": open ? "open" : "closed",
|
|
35963
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35964
|
-
"absolute inset-0 z-[102] outline-none data-[state=open]:pointer-events-auto data-[state=closed]:pointer-events-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
35965
|
-
OVERLAY_BACKDROP_CLASS,
|
|
35966
|
-
// Persist mode only: hold the fade-out's final (transparent) frame
|
|
35967
|
-
// so the backdrop doesn't snap back to opacity 1 and dim the whole
|
|
35968
|
-
// content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
|
|
35969
|
-
persist && PERSIST_CLOSED_HOLD,
|
|
35970
|
-
overlayClassName
|
|
35971
|
-
)
|
|
35972
|
-
}
|
|
35973
|
-
),
|
|
35974
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
35975
|
-
DialogPrimitive3.Content,
|
|
35976
|
-
{
|
|
35977
|
-
ref,
|
|
35978
|
-
forceMount: persist || void 0,
|
|
35979
|
-
...persist && !open ? { inert: true, "aria-hidden": true } : {},
|
|
35980
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
35981
|
-
appLayoutDrawerVariants({ side, flush }),
|
|
35982
|
-
// Mobile: span the whole container and drop the outer gap so the
|
|
35983
|
-
// panel renders edge-to-edge full-screen. (`p-0` overrides the
|
|
35984
|
-
// variant's wrapper padding via tailwind-merge.)
|
|
35985
|
-
isMobile && "inset-0 p-0",
|
|
35986
|
-
"data-[state=closed]:pointer-events-none",
|
|
35987
|
-
// Persist mode only: hold the slide-out's final (off-screen) frame
|
|
35988
|
-
// so the panel doesn't snap back into view (see PERSIST_CLOSED_HOLD).
|
|
35989
|
-
persist && PERSIST_CLOSED_HOLD
|
|
35990
|
-
),
|
|
35991
|
-
style,
|
|
35992
|
-
onInteractOutside: (event) => {
|
|
35993
|
-
_optionalChain([onInteractOutside, 'optionalCall', _725 => _725(event)]);
|
|
35994
|
-
if (event.defaultPrevented) return;
|
|
35995
|
-
const target = event.target;
|
|
35996
|
-
const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _726 => _726.contains, 'call', _727 => _727(target)]);
|
|
35997
|
-
if (!isInsideContainer) {
|
|
35998
|
-
event.preventDefault();
|
|
35999
|
-
return;
|
|
36000
|
-
}
|
|
36001
|
-
if (!dismissOnInteractOutside) event.preventDefault();
|
|
36002
|
-
},
|
|
36003
|
-
...props,
|
|
36004
|
-
children: [
|
|
36005
|
-
applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36006
|
-
AppLayoutDrawerResizeHandle,
|
|
36007
|
-
{
|
|
36008
|
-
side: resolvedSide,
|
|
36009
|
-
size: size2,
|
|
36010
|
-
minSize,
|
|
36011
|
-
maxSize,
|
|
36012
|
-
onSize: setSize,
|
|
36013
|
-
ariaLabel: resizeAriaLabel
|
|
36014
|
-
}
|
|
36015
|
-
) : null,
|
|
36016
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
36017
|
-
"div",
|
|
36018
|
-
{
|
|
36019
|
-
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
36020
|
-
appLayoutDrawerPanelVariants({ side, flush }),
|
|
36021
|
-
// Mobile: fill the container (the side already pins one axis) and
|
|
36022
|
-
// drop the card chrome so the panel is edge-to-edge full-screen.
|
|
36023
|
-
// Inner padding/gap is preserved so content isn't glued to the
|
|
36024
|
-
// edges. tailwind-merge lets these override the variant classes.
|
|
36025
|
-
isMobile && (isHorizontal ? "w-full" : "h-full"),
|
|
36026
|
-
isMobile && "rounded-none border-0",
|
|
36027
|
-
className,
|
|
36028
|
-
panelClassName
|
|
36029
|
-
),
|
|
36030
|
-
style: { ...sizeStyle, ...panelStyle },
|
|
36031
|
-
children
|
|
36032
|
-
}
|
|
36033
|
-
)
|
|
36034
|
-
]
|
|
36035
|
-
}
|
|
36036
|
-
)
|
|
36037
|
-
] });
|
|
36038
|
-
}
|
|
36039
|
-
);
|
|
36040
|
-
AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
|
|
36041
|
-
var AppLayoutDrawerHeader = DrawerHeader;
|
|
36042
|
-
var AppLayoutDrawerTitle = DrawerTitle;
|
|
36043
|
-
var AppLayoutDrawerDescription = DrawerDescription;
|
|
36044
|
-
var AppLayoutDrawerBody = DrawerBody;
|
|
36045
|
-
var AppLayoutDrawerFooter = DrawerFooter;
|
|
36046
|
-
|
|
36047
36098
|
// src/components/navigation/multi-level-navigation.tsx
|
|
36048
36099
|
_chunkFIG2RKZFcjs.init_cn.call(void 0, );
|
|
36049
36100
|
|
|
@@ -36406,7 +36457,7 @@ var ShellTypeBadge = ({
|
|
|
36406
36457
|
className,
|
|
36407
36458
|
iconClassName
|
|
36408
36459
|
}) => {
|
|
36409
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
36460
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _737 => _737.toUpperCase, 'call', _738 => _738()]);
|
|
36410
36461
|
const label = getShellLabel(normalizedType);
|
|
36411
36462
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
36412
36463
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -36793,12 +36844,12 @@ function OnboardingWalkthrough({
|
|
|
36793
36844
|
}
|
|
36794
36845
|
}, [state.completedSteps, markComplete]);
|
|
36795
36846
|
const handleStepSkip = (step) => {
|
|
36796
|
-
_optionalChain([step, 'access',
|
|
36847
|
+
_optionalChain([step, 'access', _739 => _739.onSkip, 'optionalCall', _740 => _740()]);
|
|
36797
36848
|
markSkipped(step.id);
|
|
36798
36849
|
};
|
|
36799
36850
|
const handleDismiss = () => {
|
|
36800
36851
|
dismissOnboarding();
|
|
36801
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
36852
|
+
_optionalChain([onDismiss, 'optionalCall', _741 => _741()]);
|
|
36802
36853
|
};
|
|
36803
36854
|
if (state.dismissed) {
|
|
36804
36855
|
return null;
|
|
@@ -36928,7 +36979,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
36928
36979
|
onKeyDown: (e) => {
|
|
36929
36980
|
if (e.key === "Enter" || e.key === " ") {
|
|
36930
36981
|
e.preventDefault();
|
|
36931
|
-
_optionalChain([onClick, 'optionalCall',
|
|
36982
|
+
_optionalChain([onClick, 'optionalCall', _742 => _742()]);
|
|
36932
36983
|
}
|
|
36933
36984
|
},
|
|
36934
36985
|
children: [
|
|
@@ -37029,7 +37080,7 @@ var LogsList = React116.forwardRef(({
|
|
|
37029
37080
|
log,
|
|
37030
37081
|
isLast: index === logs.length - 1,
|
|
37031
37082
|
showConnector,
|
|
37032
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
37083
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _743 => _743(log)])
|
|
37033
37084
|
},
|
|
37034
37085
|
log.id
|
|
37035
37086
|
))
|
|
@@ -37130,7 +37181,7 @@ var Slider = React118.forwardRef(
|
|
|
37130
37181
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
37131
37182
|
const handleChange = (e) => {
|
|
37132
37183
|
const newValue = [Number(e.target.value)];
|
|
37133
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
37184
|
+
_optionalChain([onValueChange, 'optionalCall', _744 => _744(newValue)]);
|
|
37134
37185
|
};
|
|
37135
37186
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37136
37187
|
"input",
|
|
@@ -37564,7 +37615,7 @@ function CursorPaginationSimple({
|
|
|
37564
37615
|
{
|
|
37565
37616
|
variant: "transparent",
|
|
37566
37617
|
size: "icon",
|
|
37567
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
37618
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _745 => _745("")]),
|
|
37568
37619
|
disabled: !hasPreviousPage || loading,
|
|
37569
37620
|
className: "h-8 w-8",
|
|
37570
37621
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -37576,7 +37627,7 @@ function CursorPaginationSimple({
|
|
|
37576
37627
|
{
|
|
37577
37628
|
variant: "transparent",
|
|
37578
37629
|
size: "icon",
|
|
37579
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
37630
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _746 => _746("")]),
|
|
37580
37631
|
disabled: !hasNextPage || loading,
|
|
37581
37632
|
className: "h-8 w-8",
|
|
37582
37633
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -37596,8 +37647,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
|
|
|
37596
37647
|
icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
|
|
37597
37648
|
title: _nullishCoalesce(message2, () => ( "No results found")),
|
|
37598
37649
|
description: message2 == null ? "Try adjusting your search or filters" : void 0,
|
|
37599
|
-
buttonLabel: _optionalChain([action, 'optionalAccess',
|
|
37600
|
-
onButtonClick: _optionalChain([action, 'optionalAccess',
|
|
37650
|
+
buttonLabel: _optionalChain([action, 'optionalAccess', _747 => _747.label]),
|
|
37651
|
+
onButtonClick: _optionalChain([action, 'optionalAccess', _748 => _748.onClick]),
|
|
37601
37652
|
className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
|
|
37602
37653
|
}
|
|
37603
37654
|
);
|
|
@@ -37618,7 +37669,7 @@ function TableColumnFilterDropdown({
|
|
|
37618
37669
|
placement = "bottom-start",
|
|
37619
37670
|
dropdownClassName = "min-w-[240px]"
|
|
37620
37671
|
}) {
|
|
37621
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
37672
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _749 => _749[columnKey], 'optionalAccess', _750 => _750.length]) || 0;
|
|
37622
37673
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
37623
37674
|
FiltersDropdown,
|
|
37624
37675
|
{
|
|
@@ -37661,7 +37712,7 @@ function TableColumnFilterDropdown({
|
|
|
37661
37712
|
delete newFilters[columnKey];
|
|
37662
37713
|
onFilterChange(newFilters);
|
|
37663
37714
|
},
|
|
37664
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
37715
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _751 => _751[columnKey]]) || [] },
|
|
37665
37716
|
placement,
|
|
37666
37717
|
dropdownClassName
|
|
37667
37718
|
}
|
|
@@ -37871,7 +37922,7 @@ function TableCardSkeleton({
|
|
|
37871
37922
|
className,
|
|
37872
37923
|
rowClassName
|
|
37873
37924
|
}) {
|
|
37874
|
-
const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess',
|
|
37925
|
+
const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _752 => _752.key]);
|
|
37875
37926
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
37876
37927
|
"div",
|
|
37877
37928
|
{
|
|
@@ -37964,7 +38015,7 @@ function TableRow({
|
|
|
37964
38015
|
const keys = column.key.split(".");
|
|
37965
38016
|
let value = item;
|
|
37966
38017
|
for (const key of keys) {
|
|
37967
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
38018
|
+
value = _optionalChain([value, 'optionalAccess', _753 => _753[key]]);
|
|
37968
38019
|
}
|
|
37969
38020
|
if (value === null || value === void 0) {
|
|
37970
38021
|
return "-";
|
|
@@ -38053,7 +38104,7 @@ function useTableMotion(enabled) {
|
|
|
38053
38104
|
// src/components/ui/table/table.tsx
|
|
38054
38105
|
|
|
38055
38106
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
38056
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
38107
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _754 => _754.length])) || Boolean(renderRowActions);
|
|
38057
38108
|
const result = [...columns];
|
|
38058
38109
|
if (hasActions) {
|
|
38059
38110
|
const actionsColumn = {
|
|
@@ -38149,7 +38200,7 @@ function Table({
|
|
|
38149
38200
|
return rowKey(item);
|
|
38150
38201
|
}
|
|
38151
38202
|
const key = item[rowKey];
|
|
38152
|
-
return _optionalChain([key, 'optionalAccess',
|
|
38203
|
+
return _optionalChain([key, 'optionalAccess', _755 => _755.toString, 'call', _756 => _756()]) || index.toString();
|
|
38153
38204
|
};
|
|
38154
38205
|
const getRowClassName = (item, index) => {
|
|
38155
38206
|
if (typeof rowClassName === "function") {
|
|
@@ -38183,23 +38234,23 @@ function Table({
|
|
|
38183
38234
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
38184
38235
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
38185
38236
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
38186
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
38187
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
38237
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _757 => _757.onLoadMore]));
|
|
38238
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _758 => _758.onLoadMore]);
|
|
38188
38239
|
_react.useEffect.call(void 0, () => {
|
|
38189
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
38240
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _759 => _759.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
38190
38241
|
const sentinel = sentinelRef.current;
|
|
38191
38242
|
if (!sentinel) return;
|
|
38192
38243
|
const observer = new IntersectionObserver(
|
|
38193
38244
|
(entries) => {
|
|
38194
|
-
if (_optionalChain([entries, 'access',
|
|
38195
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
38245
|
+
if (_optionalChain([entries, 'access', _760 => _760[0], 'optionalAccess', _761 => _761.isIntersecting])) {
|
|
38246
|
+
_optionalChain([onLoadMoreRef, 'access', _762 => _762.current, 'optionalCall', _763 => _763()]);
|
|
38196
38247
|
}
|
|
38197
38248
|
},
|
|
38198
38249
|
{ rootMargin: "200px" }
|
|
38199
38250
|
);
|
|
38200
38251
|
observer.observe(sentinel);
|
|
38201
38252
|
return () => observer.disconnect();
|
|
38202
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
38253
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _764 => _764.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _765 => _765.isFetchingNextPage])]);
|
|
38203
38254
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
38204
38255
|
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: [
|
|
38205
38256
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -38269,14 +38320,14 @@ function Table({
|
|
|
38269
38320
|
selected: isRowSelected(item),
|
|
38270
38321
|
onSelect: handleSelectRow,
|
|
38271
38322
|
animateRowReorder,
|
|
38272
|
-
motionDiv: _optionalChain([tableMotion, 'optionalAccess',
|
|
38323
|
+
motionDiv: _optionalChain([tableMotion, 'optionalAccess', _766 => _766.motionDiv])
|
|
38273
38324
|
},
|
|
38274
38325
|
getRowKey(item, index)
|
|
38275
38326
|
));
|
|
38276
|
-
const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess',
|
|
38327
|
+
const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _767 => _767.LayoutGroup]);
|
|
38277
38328
|
return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
|
|
38278
38329
|
})(),
|
|
38279
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
38330
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _768 => _768.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38280
38331
|
TableCardSkeleton,
|
|
38281
38332
|
{
|
|
38282
38333
|
columns,
|
|
@@ -38285,7 +38336,7 @@ function Table({
|
|
|
38285
38336
|
hasChevron: Boolean(rowHref)
|
|
38286
38337
|
}
|
|
38287
38338
|
),
|
|
38288
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
38339
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _769 => _769.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
38289
38340
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
38290
38341
|
"div",
|
|
38291
38342
|
{
|
|
@@ -38643,7 +38694,7 @@ function QueryReportTable({
|
|
|
38643
38694
|
);
|
|
38644
38695
|
const handleExport = () => {
|
|
38645
38696
|
exportToCSV(data, columns, exportFilename);
|
|
38646
|
-
_optionalChain([onExport, 'optionalCall',
|
|
38697
|
+
_optionalChain([onExport, 'optionalCall', _770 => _770()]);
|
|
38647
38698
|
};
|
|
38648
38699
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
38649
38700
|
const {
|
|
@@ -38816,7 +38867,7 @@ function DataTableColumnFilter({
|
|
|
38816
38867
|
align = "left"
|
|
38817
38868
|
}) {
|
|
38818
38869
|
const currentValue = column.getFilterValue();
|
|
38819
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
38870
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _771 => _771.length]), () => ( 0));
|
|
38820
38871
|
const sections = _react.useMemo.call(void 0,
|
|
38821
38872
|
() => [
|
|
38822
38873
|
{
|
|
@@ -38896,7 +38947,7 @@ function DataTableHeader({
|
|
|
38896
38947
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
38897
38948
|
if (header.isPlaceholder) return false;
|
|
38898
38949
|
if (isLgUp) return true;
|
|
38899
|
-
return Boolean(_optionalChain([header, 'access',
|
|
38950
|
+
return Boolean(_optionalChain([header, 'access', _772 => _772.column, 'access', _773 => _773.columnDef, 'access', _774 => _774.meta, 'optionalAccess', _775 => _775.filter]));
|
|
38900
38951
|
});
|
|
38901
38952
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38902
38953
|
"div",
|
|
@@ -38926,20 +38977,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
38926
38977
|
if (header.isPlaceholder) return null;
|
|
38927
38978
|
const column = header.column;
|
|
38928
38979
|
const meta = column.columnDef.meta;
|
|
38929
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
38930
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
38931
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
38932
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
38980
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _776 => _776.filter]));
|
|
38981
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _777 => _777.align]), () => ( "left"));
|
|
38982
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _778 => _778.sortable]) === true;
|
|
38983
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _779 => _779.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
38933
38984
|
if (!isLgUp && !hasFilter) return null;
|
|
38934
38985
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38935
38986
|
"div",
|
|
38936
38987
|
{
|
|
38937
38988
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
38938
38989
|
"flex items-stretch",
|
|
38939
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
38940
|
-
_optionalChain([meta, 'optionalAccess',
|
|
38990
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _780 => _780.width]) || "flex-1 min-w-0"),
|
|
38991
|
+
_optionalChain([meta, 'optionalAccess', _781 => _781.headerClassName]),
|
|
38941
38992
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
38942
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
38993
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _782 => _782.hideAt]))
|
|
38943
38994
|
),
|
|
38944
38995
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
38945
38996
|
DataTableColumnFilter,
|
|
@@ -38958,7 +39009,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
38958
39009
|
isLgUp && alignJustify(align),
|
|
38959
39010
|
canSort && "group cursor-pointer"
|
|
38960
39011
|
),
|
|
38961
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
39012
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _783 => _783(column.id)]) : void 0,
|
|
38962
39013
|
children: [
|
|
38963
39014
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
38964
39015
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -39023,7 +39074,7 @@ function DataTableSkeleton({
|
|
|
39023
39074
|
}) {
|
|
39024
39075
|
const table = useDataTableContext();
|
|
39025
39076
|
const columns = table.getVisibleFlatColumns();
|
|
39026
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
39077
|
+
const firstColumnId = _optionalChain([columns, 'access', _784 => _784[0], 'optionalAccess', _785 => _785.id]);
|
|
39027
39078
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39028
39079
|
"div",
|
|
39029
39080
|
{
|
|
@@ -39047,7 +39098,7 @@ function DataTableSkeleton({
|
|
|
39047
39098
|
{
|
|
39048
39099
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
39049
39100
|
"flex flex-col justify-center shrink-0",
|
|
39050
|
-
_optionalChain([meta, 'optionalAccess',
|
|
39101
|
+
_optionalChain([meta, 'optionalAccess', _786 => _786.width]) || "flex-1"
|
|
39051
39102
|
),
|
|
39052
39103
|
children: [
|
|
39053
39104
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -39097,7 +39148,7 @@ function DataTableRowImpl({
|
|
|
39097
39148
|
const handleClick = _react.useCallback.call(void 0,
|
|
39098
39149
|
(e) => {
|
|
39099
39150
|
const target = e.target;
|
|
39100
|
-
if (!_optionalChain([containerRef, 'access',
|
|
39151
|
+
if (!_optionalChain([containerRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.contains, 'call', _789 => _789(target)])) {
|
|
39101
39152
|
if (isLinkMode) e.preventDefault();
|
|
39102
39153
|
return;
|
|
39103
39154
|
}
|
|
@@ -39105,7 +39156,7 @@ function DataTableRowImpl({
|
|
|
39105
39156
|
if (isLinkMode) e.preventDefault();
|
|
39106
39157
|
return;
|
|
39107
39158
|
}
|
|
39108
|
-
_optionalChain([onClick, 'optionalCall',
|
|
39159
|
+
_optionalChain([onClick, 'optionalCall', _790 => _790(row.original)]);
|
|
39109
39160
|
},
|
|
39110
39161
|
[onClick, row.original, isLinkMode]
|
|
39111
39162
|
);
|
|
@@ -39130,10 +39181,10 @@ function DataTableRowImpl({
|
|
|
39130
39181
|
{
|
|
39131
39182
|
className: _chunkFIG2RKZFcjs.cn.call(void 0,
|
|
39132
39183
|
"flex flex-col overflow-hidden",
|
|
39133
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
39134
|
-
_optionalChain([meta, 'optionalAccess',
|
|
39135
|
-
_optionalChain([meta, 'optionalAccess',
|
|
39136
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
39184
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _791 => _791.align])),
|
|
39185
|
+
_optionalChain([meta, 'optionalAccess', _792 => _792.width]) || "flex-1 min-w-0",
|
|
39186
|
+
_optionalChain([meta, 'optionalAccess', _793 => _793.cellClassName]),
|
|
39187
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _794 => _794.hideAt]))
|
|
39137
39188
|
),
|
|
39138
39189
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
39139
39190
|
},
|
|
@@ -39213,7 +39264,7 @@ function DataTableBody({
|
|
|
39213
39264
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
|
|
39214
39265
|
rows.map((row, index) => {
|
|
39215
39266
|
const item = row.original;
|
|
39216
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
39267
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _795 => _795(item)]), () => ( void 0));
|
|
39217
39268
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
39218
39269
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
39219
39270
|
DataTableRow,
|
|
@@ -39224,7 +39275,7 @@ function DataTableBody({
|
|
|
39224
39275
|
compact,
|
|
39225
39276
|
autoHeight,
|
|
39226
39277
|
className: cls,
|
|
39227
|
-
subRow: _optionalChain([renderSubRow, 'optionalCall',
|
|
39278
|
+
subRow: _optionalChain([renderSubRow, 'optionalCall', _796 => _796(item)])
|
|
39228
39279
|
},
|
|
39229
39280
|
row.id
|
|
39230
39281
|
);
|
|
@@ -39279,7 +39330,7 @@ function DataTableInfiniteFooter({
|
|
|
39279
39330
|
if (!sentinel) return;
|
|
39280
39331
|
const observer = new IntersectionObserver(
|
|
39281
39332
|
(entries) => {
|
|
39282
|
-
if (_optionalChain([entries, 'access',
|
|
39333
|
+
if (_optionalChain([entries, 'access', _797 => _797[0], 'optionalAccess', _798 => _798.isIntersecting])) onLoadMoreRef.current();
|
|
39283
39334
|
},
|
|
39284
39335
|
{ rootMargin }
|
|
39285
39336
|
);
|
|
@@ -39327,7 +39378,7 @@ function DataTableRowCount({
|
|
|
39327
39378
|
const table = useDataTableContext();
|
|
39328
39379
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
39329
39380
|
if (hideWhenEmpty && count === 0) return null;
|
|
39330
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
39381
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _799 => _799(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
39331
39382
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39332
39383
|
"span",
|
|
39333
39384
|
{
|
|
@@ -39486,7 +39537,7 @@ function SearchInput({
|
|
|
39486
39537
|
if (!showHiddenTags) return;
|
|
39487
39538
|
const handleClick = (e) => {
|
|
39488
39539
|
const target = e.target;
|
|
39489
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
39540
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _800 => _800.current, 'optionalAccess', _801 => _801.contains, 'call', _802 => _802(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _803 => _803.current, 'optionalAccess', _804 => _804.contains, 'call', _805 => _805(target)])) {
|
|
39490
39541
|
setShowHiddenTags(false);
|
|
39491
39542
|
}
|
|
39492
39543
|
};
|
|
@@ -39534,10 +39585,10 @@ function SearchInput({
|
|
|
39534
39585
|
} else {
|
|
39535
39586
|
setInternalValue("");
|
|
39536
39587
|
}
|
|
39537
|
-
_optionalChain([inputRef, 'access',
|
|
39588
|
+
_optionalChain([inputRef, 'access', _806 => _806.current, 'optionalAccess', _807 => _807.focus, 'call', _808 => _808()]);
|
|
39538
39589
|
};
|
|
39539
39590
|
const handleResultClick = (result, e) => {
|
|
39540
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
39591
|
+
_optionalChain([onResultSelect, 'optionalCall', _809 => _809(
|
|
39541
39592
|
result,
|
|
39542
39593
|
e ? {
|
|
39543
39594
|
metaKey: e.metaKey,
|
|
@@ -39569,7 +39620,7 @@ function SearchInput({
|
|
|
39569
39620
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
39570
39621
|
handleResultClick(flatResults[highlightedIndex]);
|
|
39571
39622
|
} else {
|
|
39572
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
39623
|
+
_optionalChain([onSubmit, 'optionalCall', _810 => _810(currentValue)]);
|
|
39573
39624
|
}
|
|
39574
39625
|
break;
|
|
39575
39626
|
case "Escape":
|
|
@@ -39647,7 +39698,7 @@ function SearchInput({
|
|
|
39647
39698
|
dropdownVisible && "!border-ods-accent"
|
|
39648
39699
|
),
|
|
39649
39700
|
onClick: () => {
|
|
39650
|
-
_optionalChain([inputRef, 'access',
|
|
39701
|
+
_optionalChain([inputRef, 'access', _811 => _811.current, 'optionalAccess', _812 => _812.focus, 'call', _813 => _813()]);
|
|
39651
39702
|
setIsOpen(true);
|
|
39652
39703
|
},
|
|
39653
39704
|
children: [
|
|
@@ -39731,10 +39782,10 @@ function SearchInput({
|
|
|
39731
39782
|
align: "start",
|
|
39732
39783
|
onOpenAutoFocus: (e) => {
|
|
39733
39784
|
e.preventDefault();
|
|
39734
|
-
_optionalChain([inputRef, 'access',
|
|
39785
|
+
_optionalChain([inputRef, 'access', _814 => _814.current, 'optionalAccess', _815 => _815.focus, 'call', _816 => _816()]);
|
|
39735
39786
|
},
|
|
39736
39787
|
onInteractOutside: (e) => {
|
|
39737
|
-
if (_optionalChain([containerRef, 'access',
|
|
39788
|
+
if (_optionalChain([containerRef, 'access', _817 => _817.current, 'optionalAccess', _818 => _818.contains, 'call', _819 => _819(e.target)])) {
|
|
39738
39789
|
e.preventDefault();
|
|
39739
39790
|
}
|
|
39740
39791
|
},
|
|
@@ -39751,10 +39802,10 @@ function SearchInput({
|
|
|
39751
39802
|
ref: hiddenTagsPopupRef,
|
|
39752
39803
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
39753
39804
|
style: {
|
|
39754
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
39805
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _820 => _820.current, 'optionalAccess', _821 => _821.getBoundingClientRect, 'call', _822 => _822(), 'access', _823 => _823.left]), () => ( 0))) : 0
|
|
39755
39806
|
},
|
|
39756
39807
|
onRemove: (value2) => {
|
|
39757
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
39808
|
+
_optionalChain([onFilterRemove, 'optionalCall', _824 => _824(value2)]);
|
|
39758
39809
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
39759
39810
|
}
|
|
39760
39811
|
}
|
|
@@ -39805,7 +39856,7 @@ function FilterListItem({
|
|
|
39805
39856
|
}) {
|
|
39806
39857
|
const handleToggle = () => {
|
|
39807
39858
|
if (disabled) return;
|
|
39808
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
39859
|
+
_optionalChain([onToggle, 'optionalCall', _825 => _825(!selected)]);
|
|
39809
39860
|
};
|
|
39810
39861
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
39811
39862
|
"div",
|
|
@@ -39852,7 +39903,7 @@ function FilterListItem({
|
|
|
39852
39903
|
CheckboxPrimitive4.Root,
|
|
39853
39904
|
{
|
|
39854
39905
|
checked: selected,
|
|
39855
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
39906
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _826 => _826(c === true)]),
|
|
39856
39907
|
onClick: (e) => e.stopPropagation(),
|
|
39857
39908
|
disabled,
|
|
39858
39909
|
"aria-label": title,
|
|
@@ -39951,7 +40002,7 @@ function TagSearchInput({
|
|
|
39951
40002
|
if (!showHiddenTags) return;
|
|
39952
40003
|
const handleClick = (e) => {
|
|
39953
40004
|
const target = e.target;
|
|
39954
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
40005
|
+
if (!_optionalChain([hiddenTagsRef, 'access', _827 => _827.current, 'optionalAccess', _828 => _828.contains, 'call', _829 => _829(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _830 => _830.current, 'optionalAccess', _831 => _831.contains, 'call', _832 => _832(target)])) {
|
|
39955
40006
|
setShowHiddenTags(false);
|
|
39956
40007
|
}
|
|
39957
40008
|
};
|
|
@@ -39967,13 +40018,13 @@ function TagSearchInput({
|
|
|
39967
40018
|
e.preventDefault();
|
|
39968
40019
|
onSubmit(searchValue);
|
|
39969
40020
|
}
|
|
39970
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
40021
|
+
_optionalChain([onKeyDown, 'optionalCall', _833 => _833(e)]);
|
|
39971
40022
|
};
|
|
39972
40023
|
const handleClearAll = (e) => {
|
|
39973
40024
|
e.stopPropagation();
|
|
39974
40025
|
e.preventDefault();
|
|
39975
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
39976
|
-
_optionalChain([inputRef, 'access',
|
|
40026
|
+
_optionalChain([onClearAll, 'optionalCall', _834 => _834()]);
|
|
40027
|
+
_optionalChain([inputRef, 'access', _835 => _835.current, 'optionalAccess', _836 => _836.focus, 'call', _837 => _837()]);
|
|
39977
40028
|
};
|
|
39978
40029
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
39979
40030
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -39990,7 +40041,7 @@ function TagSearchInput({
|
|
|
39990
40041
|
className
|
|
39991
40042
|
),
|
|
39992
40043
|
onClick: () => {
|
|
39993
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
40044
|
+
if (!disabled) _optionalChain([inputRef, 'access', _838 => _838.current, 'optionalAccess', _839 => _839.focus, 'call', _840 => _840()]);
|
|
39994
40045
|
},
|
|
39995
40046
|
children: [
|
|
39996
40047
|
/* @__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" }) }),
|
|
@@ -40062,7 +40113,7 @@ function TagSearchInput({
|
|
|
40062
40113
|
items: hiddenTags,
|
|
40063
40114
|
disabled,
|
|
40064
40115
|
style: {
|
|
40065
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
40116
|
+
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _841 => _841.current, 'optionalAccess', _842 => _842.getBoundingClientRect, 'call', _843 => _843(), 'access', _844 => _844.left]), () => ( 0))) : 0
|
|
40066
40117
|
},
|
|
40067
40118
|
onRemove: (value) => {
|
|
40068
40119
|
onTagRemove(value);
|
|
@@ -40163,7 +40214,7 @@ function MarkdownEditor({
|
|
|
40163
40214
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
40164
40215
|
_react.useEffect.call(void 0, () => {
|
|
40165
40216
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
40166
|
-
if (_optionalChain([mod, 'access',
|
|
40217
|
+
if (_optionalChain([mod, 'access', _845 => _845.commands, 'optionalAccess', _846 => _846.getExtraCommands])) {
|
|
40167
40218
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
40168
40219
|
}
|
|
40169
40220
|
});
|
|
@@ -40197,7 +40248,7 @@ function MarkdownEditor({
|
|
|
40197
40248
|
const isImage = file.type.startsWith("image/");
|
|
40198
40249
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
40199
40250
|
insertTextAtCursor(markdown);
|
|
40200
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
40251
|
+
_optionalChain([onFileUploaded, 'optionalCall', _847 => _847(url, file.name)]);
|
|
40201
40252
|
} catch (error) {
|
|
40202
40253
|
console.error("File upload failed:", error);
|
|
40203
40254
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -40210,7 +40261,7 @@ function MarkdownEditor({
|
|
|
40210
40261
|
);
|
|
40211
40262
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
40212
40263
|
(e) => {
|
|
40213
|
-
const file = _optionalChain([e, 'access',
|
|
40264
|
+
const file = _optionalChain([e, 'access', _848 => _848.target, 'access', _849 => _849.files, 'optionalAccess', _850 => _850[0]]);
|
|
40214
40265
|
if (file) {
|
|
40215
40266
|
handleFileUpload(file);
|
|
40216
40267
|
e.target.value = "";
|
|
@@ -40221,7 +40272,7 @@ function MarkdownEditor({
|
|
|
40221
40272
|
const handlePaste = _react.useCallback.call(void 0,
|
|
40222
40273
|
(e) => {
|
|
40223
40274
|
if (!onUploadFile) return;
|
|
40224
|
-
const items = _optionalChain([e, 'access',
|
|
40275
|
+
const items = _optionalChain([e, 'access', _851 => _851.clipboardData, 'optionalAccess', _852 => _852.items]);
|
|
40225
40276
|
if (!items) return;
|
|
40226
40277
|
for (const item of items) {
|
|
40227
40278
|
if (item.type.startsWith("image/")) {
|
|
@@ -40246,7 +40297,7 @@ function MarkdownEditor({
|
|
|
40246
40297
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
40247
40298
|
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" }),
|
|
40248
40299
|
execute: () => {
|
|
40249
|
-
_optionalChain([fileInputRef, 'access',
|
|
40300
|
+
_optionalChain([fileInputRef, 'access', _853 => _853.current, 'optionalAccess', _854 => _854.click, 'call', _855 => _855()]);
|
|
40250
40301
|
}
|
|
40251
40302
|
} : null;
|
|
40252
40303
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -40258,7 +40309,7 @@ function MarkdownEditor({
|
|
|
40258
40309
|
const EDGE_ZONE = 60;
|
|
40259
40310
|
const MAX_SCROLL_SPEED = 15;
|
|
40260
40311
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
40261
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
40312
|
+
let node = _optionalChain([el, 'optionalAccess', _856 => _856.parentElement]);
|
|
40262
40313
|
while (node && node !== document.documentElement) {
|
|
40263
40314
|
const { overflowY } = window.getComputedStyle(node);
|
|
40264
40315
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -40401,7 +40452,7 @@ function matchesAccept(file, accept) {
|
|
|
40401
40452
|
});
|
|
40402
40453
|
}
|
|
40403
40454
|
function dragHasFiles(e) {
|
|
40404
|
-
const types = _optionalChain([e, 'access',
|
|
40455
|
+
const types = _optionalChain([e, 'access', _857 => _857.dataTransfer, 'optionalAccess', _858 => _858.types]);
|
|
40405
40456
|
if (!types) return false;
|
|
40406
40457
|
for (let i = 0; i < types.length; i++) {
|
|
40407
40458
|
if (types[i] === "Files") return true;
|
|
@@ -40497,7 +40548,7 @@ function FileUpload({
|
|
|
40497
40548
|
e.stopPropagation();
|
|
40498
40549
|
setDragActive(false);
|
|
40499
40550
|
if (disabled) return;
|
|
40500
|
-
if (_optionalChain([e, 'access',
|
|
40551
|
+
if (_optionalChain([e, 'access', _859 => _859.dataTransfer, 'access', _860 => _860.files, 'optionalAccess', _861 => _861.length])) {
|
|
40501
40552
|
handleFiles(e.dataTransfer.files);
|
|
40502
40553
|
}
|
|
40503
40554
|
};
|
|
@@ -40525,7 +40576,7 @@ function FileUpload({
|
|
|
40525
40576
|
e.preventDefault();
|
|
40526
40577
|
dragCounter = 0;
|
|
40527
40578
|
setDragActive(false);
|
|
40528
|
-
if (_optionalChain([e, 'access',
|
|
40579
|
+
if (_optionalChain([e, 'access', _862 => _862.dataTransfer, 'optionalAccess', _863 => _863.files, 'optionalAccess', _864 => _864.length])) {
|
|
40529
40580
|
handleFilesRef.current(e.dataTransfer.files);
|
|
40530
40581
|
}
|
|
40531
40582
|
};
|
|
@@ -40547,7 +40598,7 @@ function FileUpload({
|
|
|
40547
40598
|
};
|
|
40548
40599
|
}, [acceptWindowDrops, disabled]);
|
|
40549
40600
|
const handleFileSelect = (e) => {
|
|
40550
|
-
if (_optionalChain([e, 'access',
|
|
40601
|
+
if (_optionalChain([e, 'access', _865 => _865.target, 'access', _866 => _866.files, 'optionalAccess', _867 => _867.length])) {
|
|
40551
40602
|
handleFiles(e.target.files);
|
|
40552
40603
|
}
|
|
40553
40604
|
};
|
|
@@ -40564,7 +40615,7 @@ function FileUpload({
|
|
|
40564
40615
|
};
|
|
40565
40616
|
const openDialog = async () => {
|
|
40566
40617
|
if (disabled) return;
|
|
40567
|
-
_optionalChain([fileInputRef, 'access',
|
|
40618
|
+
_optionalChain([fileInputRef, 'access', _868 => _868.current, 'optionalAccess', _869 => _869.click, 'call', _870 => _870()]);
|
|
40568
40619
|
};
|
|
40569
40620
|
const displayError = error || validationError || void 0;
|
|
40570
40621
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -40626,7 +40677,7 @@ function FileUpload({
|
|
|
40626
40677
|
"button",
|
|
40627
40678
|
{
|
|
40628
40679
|
type: "button",
|
|
40629
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
40680
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _871 => _871(entry.id)]),
|
|
40630
40681
|
className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
|
|
40631
40682
|
"aria-label": `Remove ${entry.fileName}`,
|
|
40632
40683
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
|
|
@@ -40757,7 +40808,7 @@ function ImageUploader({
|
|
|
40757
40808
|
onChange(file);
|
|
40758
40809
|
};
|
|
40759
40810
|
const handleFileSelect = (e) => {
|
|
40760
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
40811
|
+
validateAndEmit(_optionalChain([e, 'access', _872 => _872.target, 'access', _873 => _873.files, 'optionalAccess', _874 => _874[0]]));
|
|
40761
40812
|
if (inputRef.current) inputRef.current.value = "";
|
|
40762
40813
|
};
|
|
40763
40814
|
const handleDrag = (e) => {
|
|
@@ -40772,11 +40823,11 @@ function ImageUploader({
|
|
|
40772
40823
|
e.stopPropagation();
|
|
40773
40824
|
setDragActive(false);
|
|
40774
40825
|
if (!interactive) return;
|
|
40775
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
40826
|
+
validateAndEmit(_optionalChain([e, 'access', _875 => _875.dataTransfer, 'access', _876 => _876.files, 'optionalAccess', _877 => _877[0]]));
|
|
40776
40827
|
};
|
|
40777
40828
|
const openDialog = () => {
|
|
40778
40829
|
if (!interactive) return;
|
|
40779
|
-
_optionalChain([inputRef, 'access',
|
|
40830
|
+
_optionalChain([inputRef, 'access', _878 => _878.current, 'optionalAccess', _879 => _879.click, 'call', _880 => _880()]);
|
|
40780
40831
|
};
|
|
40781
40832
|
const handleRootKeyDown = (e) => {
|
|
40782
40833
|
if (hasImage || !interactive) return;
|
|
@@ -40967,8 +41018,8 @@ function ColorPresetSelect({
|
|
|
40967
41018
|
}) {
|
|
40968
41019
|
const selectedPreset = presets.find((p) => p.key === presetKey);
|
|
40969
41020
|
const isCustom = !selectedPreset;
|
|
40970
|
-
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
40971
|
-
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess',
|
|
41021
|
+
const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _881 => _881.label]), () => ( "Custom"));
|
|
41022
|
+
const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _882 => _882.color]), () => ( value));
|
|
40972
41023
|
const groups = [
|
|
40973
41024
|
{
|
|
40974
41025
|
items: [
|
|
@@ -41258,7 +41309,7 @@ function TicketStatusConfigRow({
|
|
|
41258
41309
|
_chunkNYIZVI4Icjs.Input,
|
|
41259
41310
|
{
|
|
41260
41311
|
value: name,
|
|
41261
|
-
onChange: (e) => _optionalChain([onNameChange, 'optionalCall',
|
|
41312
|
+
onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _883 => _883(e.target.value)]),
|
|
41262
41313
|
disabled: isSystem,
|
|
41263
41314
|
readOnly: isSystem,
|
|
41264
41315
|
"aria-label": "Status name",
|
|
@@ -41631,14 +41682,14 @@ function TicketInfoSection({
|
|
|
41631
41682
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41632
41683
|
SquareAvatar,
|
|
41633
41684
|
{
|
|
41634
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
41635
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
41636
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
41685
|
+
src: _optionalChain([organization, 'optionalAccess', _884 => _884.imageSrc]),
|
|
41686
|
+
alt: _optionalChain([organization, 'optionalAccess', _885 => _885.name]),
|
|
41687
|
+
fallback: _optionalChain([organization, 'optionalAccess', _886 => _886.name]) || "Org",
|
|
41637
41688
|
size: "md",
|
|
41638
41689
|
className: "shrink-0"
|
|
41639
41690
|
}
|
|
41640
41691
|
),
|
|
41641
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
41692
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _887 => _887.name]) || "Unassigned", label: "Organization" })
|
|
41642
41693
|
] }),
|
|
41643
41694
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41644
41695
|
AssigneeDropdown,
|
|
@@ -41659,10 +41710,10 @@ function TicketInfoSection({
|
|
|
41659
41710
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41660
41711
|
InfoCell2,
|
|
41661
41712
|
{
|
|
41662
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
41713
|
+
value: _optionalChain([device, 'optionalAccess', _888 => _888.name]) || "Unassigned",
|
|
41663
41714
|
label: "Device",
|
|
41664
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
41665
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
41715
|
+
icon: _optionalChain([device, 'optionalAccess', _889 => _889.icon]),
|
|
41716
|
+
onClick: _optionalChain([device, 'optionalAccess', _890 => _890.onClick])
|
|
41666
41717
|
}
|
|
41667
41718
|
),
|
|
41668
41719
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -41992,7 +42043,7 @@ function RoadmapCard({
|
|
|
41992
42043
|
const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
|
|
41993
42044
|
const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
|
|
41994
42045
|
const hasFigma = !!item.figmaUrl;
|
|
41995
|
-
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access',
|
|
42046
|
+
const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _891 => _891.screenshots, 'optionalAccess', _892 => _892.length]), () => ( 0))) > 0;
|
|
41996
42047
|
const typeLabel = getTaskTypeLabel(item.customItemId);
|
|
41997
42048
|
const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
|
|
41998
42049
|
const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -42011,7 +42062,7 @@ function RoadmapCard({
|
|
|
42011
42062
|
unoptimized: true,
|
|
42012
42063
|
className: "h-8 w-8 object-contain"
|
|
42013
42064
|
}
|
|
42014
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
42065
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _893 => _893.title, 'optionalAccess', _894 => _894.substring, 'call', _895 => _895(0, 2)]) || "??" })
|
|
42015
42066
|
}
|
|
42016
42067
|
),
|
|
42017
42068
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -42086,7 +42137,7 @@ function RoadmapCard({
|
|
|
42086
42137
|
unoptimized: true,
|
|
42087
42138
|
className: "object-contain p-1"
|
|
42088
42139
|
}
|
|
42089
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access',
|
|
42140
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _896 => _896.title, 'optionalAccess', _897 => _897.substring, 'call', _898 => _898(0, 2)]) || "??" }) }),
|
|
42090
42141
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
|
|
42091
42142
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
|
|
42092
42143
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
|
|
@@ -42596,7 +42647,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
|
|
|
42596
42647
|
] }) : null,
|
|
42597
42648
|
item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
|
|
42598
42649
|
] }),
|
|
42599
|
-
_optionalChain([anchorProps, 'optionalAccess',
|
|
42650
|
+
_optionalChain([anchorProps, 'optionalAccess', _899 => _899.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
|
|
42600
42651
|
] });
|
|
42601
42652
|
if (!anchorProps) {
|
|
42602
42653
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
|
|
@@ -42666,7 +42717,7 @@ function getDefaultOptions() {
|
|
|
42666
42717
|
// node_modules/date-fns/startOfWeek.mjs
|
|
42667
42718
|
function startOfWeek(date, options) {
|
|
42668
42719
|
const defaultOptions2 = getDefaultOptions();
|
|
42669
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
42720
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _900 => _900.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _901 => _901.locale, 'optionalAccess', _902 => _902.options, 'optionalAccess', _903 => _903.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _904 => _904.locale, 'optionalAccess', _905 => _905.options, 'optionalAccess', _906 => _906.weekStartsOn]))), () => ( 0));
|
|
42670
42721
|
const _date = toDate(date);
|
|
42671
42722
|
const day = _date.getDay();
|
|
42672
42723
|
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
@@ -42841,7 +42892,7 @@ var formatDistance = (token, count, options) => {
|
|
|
42841
42892
|
} else {
|
|
42842
42893
|
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
42843
42894
|
}
|
|
42844
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
42895
|
+
if (_optionalChain([options, 'optionalAccess', _907 => _907.addSuffix])) {
|
|
42845
42896
|
if (options.comparison && options.comparison > 0) {
|
|
42846
42897
|
return "in " + result;
|
|
42847
42898
|
} else {
|
|
@@ -42908,15 +42959,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
|
|
|
42908
42959
|
// node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
|
|
42909
42960
|
function buildLocalizeFn(args) {
|
|
42910
42961
|
return (value, options) => {
|
|
42911
|
-
const context = _optionalChain([options, 'optionalAccess',
|
|
42962
|
+
const context = _optionalChain([options, 'optionalAccess', _908 => _908.context]) ? String(options.context) : "standalone";
|
|
42912
42963
|
let valuesArray;
|
|
42913
42964
|
if (context === "formatting" && args.formattingValues) {
|
|
42914
42965
|
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
42915
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
42966
|
+
const width = _optionalChain([options, 'optionalAccess', _909 => _909.width]) ? String(options.width) : defaultWidth;
|
|
42916
42967
|
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
42917
42968
|
} else {
|
|
42918
42969
|
const defaultWidth = args.defaultWidth;
|
|
42919
|
-
const width = _optionalChain([options, 'optionalAccess',
|
|
42970
|
+
const width = _optionalChain([options, 'optionalAccess', _910 => _910.width]) ? String(options.width) : args.defaultWidth;
|
|
42920
42971
|
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
42921
42972
|
}
|
|
42922
42973
|
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
@@ -43296,7 +43347,7 @@ function getWeekYear(date, options) {
|
|
|
43296
43347
|
const _date = toDate(date);
|
|
43297
43348
|
const year = _date.getFullYear();
|
|
43298
43349
|
const defaultOptions2 = getDefaultOptions();
|
|
43299
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
43350
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _911 => _911.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _912 => _912.locale, 'optionalAccess', _913 => _913.options, 'optionalAccess', _914 => _914.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _915 => _915.locale, 'optionalAccess', _916 => _916.options, 'optionalAccess', _917 => _917.firstWeekContainsDate]))), () => ( 1));
|
|
43300
43351
|
const firstWeekOfNextYear = constructFrom(date, 0);
|
|
43301
43352
|
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
43302
43353
|
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
@@ -43317,7 +43368,7 @@ function getWeekYear(date, options) {
|
|
|
43317
43368
|
// node_modules/date-fns/startOfWeekYear.mjs
|
|
43318
43369
|
function startOfWeekYear(date, options) {
|
|
43319
43370
|
const defaultOptions2 = getDefaultOptions();
|
|
43320
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
43371
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _918 => _918.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _919 => _919.locale, 'optionalAccess', _920 => _920.options, 'optionalAccess', _921 => _921.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _922 => _922.locale, 'optionalAccess', _923 => _923.options, 'optionalAccess', _924 => _924.firstWeekContainsDate]))), () => ( 1));
|
|
43321
43372
|
const year = getWeekYear(date, options);
|
|
43322
43373
|
const firstWeek = constructFrom(date, 0);
|
|
43323
43374
|
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
@@ -44132,9 +44183,9 @@ var doubleQuoteRegExp = /''/g;
|
|
|
44132
44183
|
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
44133
44184
|
function format(date, formatStr, options) {
|
|
44134
44185
|
const defaultOptions2 = getDefaultOptions();
|
|
44135
|
-
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
44136
|
-
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
44137
|
-
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
44186
|
+
const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _925 => _925.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
|
|
44187
|
+
const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _926 => _926.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _927 => _927.locale, 'optionalAccess', _928 => _928.options, 'optionalAccess', _929 => _929.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _930 => _930.locale, 'optionalAccess', _931 => _931.options, 'optionalAccess', _932 => _932.firstWeekContainsDate]))), () => ( 1));
|
|
44188
|
+
const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _933 => _933.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _934 => _934.locale, 'optionalAccess', _935 => _935.options, 'optionalAccess', _936 => _936.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _937 => _937.locale, 'optionalAccess', _938 => _938.options, 'optionalAccess', _939 => _939.weekStartsOn]))), () => ( 0));
|
|
44138
44189
|
const originalDate = toDate(date);
|
|
44139
44190
|
if (!isValid(originalDate)) {
|
|
44140
44191
|
throw new RangeError("Invalid time value");
|
|
@@ -44175,7 +44226,7 @@ function format(date, formatStr, options) {
|
|
|
44175
44226
|
return parts.map((part) => {
|
|
44176
44227
|
if (!part.isToken) return part.value;
|
|
44177
44228
|
const token = part.value;
|
|
44178
|
-
if (!_optionalChain([options, 'optionalAccess',
|
|
44229
|
+
if (!_optionalChain([options, 'optionalAccess', _940 => _940.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _941 => _941.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
|
|
44179
44230
|
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
44180
44231
|
}
|
|
44181
44232
|
const formatter = formatters[token[0]];
|
|
@@ -44356,7 +44407,7 @@ function ProgramCard({
|
|
|
44356
44407
|
const dur = formatDurationFromRange(w.start_at, w.end_at);
|
|
44357
44408
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
44358
44409
|
}
|
|
44359
|
-
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access',
|
|
44410
|
+
const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _942 => _942.labels, 'optionalAccess', _943 => _943.singular])].filter(
|
|
44360
44411
|
(s) => typeof s === "string" && s.length > 0
|
|
44361
44412
|
);
|
|
44362
44413
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
|
|
@@ -44513,7 +44564,7 @@ function ProgramCard({
|
|
|
44513
44564
|
|
|
44514
44565
|
|
|
44515
44566
|
function CampaignCardAdmin({ campaign, className, anchorProps }) {
|
|
44516
|
-
const goalsCount = _optionalChain([campaign, 'access',
|
|
44567
|
+
const goalsCount = _optionalChain([campaign, 'access', _944 => _944.goals, 'optionalAccess', _945 => _945.length]) || 0;
|
|
44517
44568
|
const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
44518
44569
|
/* @__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" }) }),
|
|
44519
44570
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
|
|
@@ -44675,7 +44726,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
|
|
|
44675
44726
|
if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
|
|
44676
44727
|
const safePath = sanitizePath(row.path);
|
|
44677
44728
|
if (safePath) {
|
|
44678
|
-
const docTarget = row.documentType ? _optionalChain([ctx, 'access',
|
|
44729
|
+
const docTarget = row.documentType ? _optionalChain([ctx, 'access', _946 => _946.docPlatformTargets, 'optionalAccess', _947 => _947[row.documentType]]) : void 0;
|
|
44679
44730
|
if (docTarget) {
|
|
44680
44731
|
const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
|
|
44681
44732
|
const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
|
|
@@ -44890,8 +44941,8 @@ function cardMenuGroups(href, discuss, openDetails) {
|
|
|
44890
44941
|
if (href) {
|
|
44891
44942
|
items.push({
|
|
44892
44943
|
id: "open-details",
|
|
44893
|
-
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
44894
|
-
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess',
|
|
44944
|
+
label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _948 => _948.label]), () => ( "Open Details")),
|
|
44945
|
+
icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _949 => _949.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
|
|
44895
44946
|
// Main row → open the entity (same tab, soft Link nav).
|
|
44896
44947
|
href,
|
|
44897
44948
|
// Trailing 40px ↗ side-button → open in a new tab.
|
|
@@ -44921,8 +44972,8 @@ function HubspotTicketChatCard({
|
|
|
44921
44972
|
isNewTab,
|
|
44922
44973
|
discuss
|
|
44923
44974
|
}) {
|
|
44924
|
-
const status = typeof _optionalChain([chatRef, 'access',
|
|
44925
|
-
const statusLabel = typeof _optionalChain([chatRef, 'access',
|
|
44975
|
+
const status = typeof _optionalChain([chatRef, 'access', _950 => _950.metadata, 'optionalAccess', _951 => _951.status]) === "string" ? chatRef.metadata.status : void 0;
|
|
44976
|
+
const statusLabel = typeof _optionalChain([chatRef, 'access', _952 => _952.metadata, 'optionalAccess', _953 => _953.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
|
|
44926
44977
|
const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
|
|
44927
44978
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
44928
44979
|
MingoInfoCard,
|
|
@@ -44945,7 +44996,7 @@ function FaqChatCard({
|
|
|
44945
44996
|
isNewTab,
|
|
44946
44997
|
discuss
|
|
44947
44998
|
}) {
|
|
44948
|
-
const section = typeof _optionalChain([chatRef, 'access',
|
|
44999
|
+
const section = typeof _optionalChain([chatRef, 'access', _954 => _954.metadata, 'optionalAccess', _955 => _955.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
|
|
44949
45000
|
const statusLabel = section && section.length > 0 ? section : "FAQ";
|
|
44950
45001
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
44951
45002
|
MingoInfoCard,
|
|
@@ -44965,7 +45016,7 @@ function SlackChatCard({
|
|
|
44965
45016
|
isNewTab,
|
|
44966
45017
|
discuss
|
|
44967
45018
|
}) {
|
|
44968
|
-
const channelName = typeof _optionalChain([chatRef, 'access',
|
|
45019
|
+
const channelName = typeof _optionalChain([chatRef, 'access', _956 => _956.metadata, 'optionalAccess', _957 => _957.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
|
|
44969
45020
|
const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
|
|
44970
45021
|
const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
|
|
44971
45022
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -45005,7 +45056,7 @@ function GenericFinancialChatCard({
|
|
|
45005
45056
|
isNewTab,
|
|
45006
45057
|
discuss
|
|
45007
45058
|
}) {
|
|
45008
|
-
const subtitle = typeof _optionalChain([chatRef, 'access',
|
|
45059
|
+
const subtitle = typeof _optionalChain([chatRef, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
|
|
45009
45060
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45010
45061
|
MingoInfoCard,
|
|
45011
45062
|
{
|
|
@@ -45074,12 +45125,12 @@ function ProductReleaseChatCard({
|
|
|
45074
45125
|
discuss
|
|
45075
45126
|
}) {
|
|
45076
45127
|
const releaseProps = buildProps(item);
|
|
45077
|
-
const status = _optionalChain([item, 'optionalAccess',
|
|
45128
|
+
const status = _optionalChain([item, 'optionalAccess', _960 => _960.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
|
|
45078
45129
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45079
45130
|
EntityMingoCard,
|
|
45080
45131
|
{
|
|
45081
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45082
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
45132
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _961 => _961.title]), () => ( "")),
|
|
45133
|
+
description: _optionalChain([item, 'optionalAccess', _962 => _962.summary]) || releaseProps.formattedDate || void 0,
|
|
45083
45134
|
cover: releaseProps.coverImage || void 0,
|
|
45084
45135
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
|
|
45085
45136
|
status,
|
|
@@ -45096,17 +45147,17 @@ function CampaignChatCard({
|
|
|
45096
45147
|
isNewTab,
|
|
45097
45148
|
discuss
|
|
45098
45149
|
}) {
|
|
45099
|
-
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
45150
|
+
const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _963 => _963.goals])) ? item.goals.length : 0;
|
|
45100
45151
|
const meta = [
|
|
45101
|
-
_optionalChain([item, 'optionalAccess',
|
|
45152
|
+
_optionalChain([item, 'optionalAccess', _964 => _964.start_date]) ? formatDateShort(item.start_date) : null,
|
|
45102
45153
|
goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
|
|
45103
45154
|
"Marketing campaign"
|
|
45104
45155
|
].filter(Boolean).join(" \xB7 ");
|
|
45105
45156
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45106
45157
|
EntityMingoCard,
|
|
45107
45158
|
{
|
|
45108
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45109
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
45159
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _965 => _965.name]), () => ( "")),
|
|
45160
|
+
description: meta || _optionalChain([item, 'optionalAccess', _966 => _966.description]) || void 0,
|
|
45110
45161
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
|
|
45111
45162
|
chatRef,
|
|
45112
45163
|
isNewTab,
|
|
@@ -45159,14 +45210,14 @@ function BlogChatCard({
|
|
|
45159
45210
|
hasEmbeddedVideo,
|
|
45160
45211
|
discuss
|
|
45161
45212
|
}) {
|
|
45162
|
-
const category = Array.isArray(_optionalChain([item, 'optionalAccess',
|
|
45213
|
+
const category = Array.isArray(_optionalChain([item, 'optionalAccess', _967 => _967.categories])) ? _optionalChain([item, 'access', _968 => _968.categories, 'access', _969 => _969.find, 'call', _970 => _970((c) => c && c.name), 'optionalAccess', _971 => _971.name]) : void 0;
|
|
45163
45214
|
const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
|
|
45164
45215
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45165
45216
|
EntityMingoCard,
|
|
45166
45217
|
{
|
|
45167
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45168
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45169
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
45218
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _972 => _972.title]), () => ( "")),
|
|
45219
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _973 => _973.summary]), () => ( void 0)),
|
|
45220
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _974 => _974.featured_image]), ogPlaceholder),
|
|
45170
45221
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
|
|
45171
45222
|
status,
|
|
45172
45223
|
chatRef,
|
|
@@ -45183,13 +45234,13 @@ function CaseStudyChatCard({
|
|
|
45183
45234
|
ogPlaceholder,
|
|
45184
45235
|
discuss
|
|
45185
45236
|
}) {
|
|
45186
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
45237
|
+
const meta = [_optionalChain([item, 'optionalAccess', _975 => _975.msp, 'optionalAccess', _976 => _976.name]), _optionalChain([item, 'optionalAccess', _977 => _977.user, 'optionalAccess', _978 => _978.full_name])].filter(Boolean).join(" \xB7 ");
|
|
45187
45238
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45188
45239
|
EntityMingoCard,
|
|
45189
45240
|
{
|
|
45190
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45191
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
45192
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
45241
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _979 => _979.title]), () => ( "")),
|
|
45242
|
+
description: _optionalChain([item, 'optionalAccess', _980 => _980.summary]) || meta || void 0,
|
|
45243
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _981 => _981.featured_image]), ogPlaceholder),
|
|
45193
45244
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
|
|
45194
45245
|
status: { label: "Case study", variant: "grey" },
|
|
45195
45246
|
chatRef,
|
|
@@ -45206,13 +45257,13 @@ function CustomerInterviewChatCard({
|
|
|
45206
45257
|
ogPlaceholder,
|
|
45207
45258
|
discuss
|
|
45208
45259
|
}) {
|
|
45209
|
-
const meta = [_optionalChain([item, 'optionalAccess',
|
|
45260
|
+
const meta = [_optionalChain([item, 'optionalAccess', _982 => _982.user, 'optionalAccess', _983 => _983.full_name]), _optionalChain([item, 'optionalAccess', _984 => _984.msp, 'optionalAccess', _985 => _985.name])].filter(Boolean).join(" \xB7 ");
|
|
45210
45261
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45211
45262
|
EntityMingoCard,
|
|
45212
45263
|
{
|
|
45213
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45214
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
45215
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
45264
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _986 => _986.title]), () => ( "")),
|
|
45265
|
+
description: _optionalChain([item, 'optionalAccess', _987 => _987.video_summary]) || meta || void 0,
|
|
45266
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _988 => _988.featured_image]), ogPlaceholder),
|
|
45216
45267
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
|
|
45217
45268
|
status: { label: "Interview", variant: "grey" },
|
|
45218
45269
|
chatRef,
|
|
@@ -45229,13 +45280,13 @@ function InvestorUpdateChatCard({
|
|
|
45229
45280
|
ogPlaceholder,
|
|
45230
45281
|
discuss
|
|
45231
45282
|
}) {
|
|
45232
|
-
const title = _optionalChain([item, 'optionalAccess',
|
|
45283
|
+
const title = _optionalChain([item, 'optionalAccess', _989 => _989.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _990 => _990.update_number]), () => ( "?"))}`;
|
|
45233
45284
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45234
45285
|
EntityMingoCard,
|
|
45235
45286
|
{
|
|
45236
45287
|
title,
|
|
45237
|
-
description: _optionalChain([item, 'optionalAccess',
|
|
45238
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
45288
|
+
description: _optionalChain([item, 'optionalAccess', _991 => _991.strategic_update]) || _optionalChain([item, 'optionalAccess', _992 => _992.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _993 => _993.period_start]), _optionalChain([item, 'optionalAccess', _994 => _994.period_end])) || void 0,
|
|
45289
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _995 => _995.featured_image]), ogPlaceholder),
|
|
45239
45290
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
|
|
45240
45291
|
status: { label: "Investor update", variant: "grey" },
|
|
45241
45292
|
chatRef,
|
|
@@ -45252,12 +45303,12 @@ function OnboardingGuideChatCard({
|
|
|
45252
45303
|
ogPlaceholder,
|
|
45253
45304
|
discuss
|
|
45254
45305
|
}) {
|
|
45255
|
-
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess',
|
|
45306
|
+
const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _996 => _996.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _997 => _997.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _998 => _998.og_image_url]), ogPlaceholder)));
|
|
45256
45307
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45257
45308
|
EntityMingoCard,
|
|
45258
45309
|
{
|
|
45259
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45260
|
-
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45310
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _999 => _999.title]), () => ( "")),
|
|
45311
|
+
description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1000 => _1000.summary]), () => ( _optionalChain([item, 'optionalAccess', _1001 => _1001.description]))), () => ( void 0)),
|
|
45261
45312
|
cover,
|
|
45262
45313
|
fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
|
|
45263
45314
|
status: { label: "Guide", variant: "grey" },
|
|
@@ -45278,25 +45329,25 @@ function ProgramChatCard({
|
|
|
45278
45329
|
discuss
|
|
45279
45330
|
}) {
|
|
45280
45331
|
const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 });
|
|
45281
|
-
const isScheduled = _optionalChain([item, 'optionalAccess',
|
|
45332
|
+
const isScheduled = _optionalChain([item, 'optionalAccess', _1002 => _1002.status]) === "scheduled";
|
|
45282
45333
|
let typeMeta;
|
|
45283
|
-
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess',
|
|
45334
|
+
if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1003 => _1003.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
|
|
45284
45335
|
typeMeta = formatDurationCompact(item.duration_seconds);
|
|
45285
|
-
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess',
|
|
45336
|
+
} else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1004 => _1004.location_name]) === "string" && item.location_name.trim().length > 0) {
|
|
45286
45337
|
typeMeta = item.location_name;
|
|
45287
|
-
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess',
|
|
45338
|
+
} else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1005 => _1005.start_at])) {
|
|
45288
45339
|
const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
|
|
45289
45340
|
const dur = formatDurationFromRange(item.start_at, item.end_at);
|
|
45290
45341
|
typeMeta = dur ? `${time} \xB7 ${dur}` : time;
|
|
45291
45342
|
}
|
|
45292
|
-
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45343
|
+
const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1006 => _1006.date]), () => ( null)), { fallback: "", timezone: "local" });
|
|
45293
45344
|
const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
|
|
45294
45345
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45295
45346
|
EntityMingoCard,
|
|
45296
45347
|
{
|
|
45297
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45298
|
-
description: meta || _optionalChain([item, 'optionalAccess',
|
|
45299
|
-
cover: entityCover(_optionalChain([item, 'optionalAccess',
|
|
45348
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1007 => _1007.title]), () => ( "")),
|
|
45349
|
+
description: meta || _optionalChain([item, 'optionalAccess', _1008 => _1008.description]) || void 0,
|
|
45350
|
+
cover: entityCover(_optionalChain([item, 'optionalAccess', _1009 => _1009.cover_url]), ogPlaceholder),
|
|
45300
45351
|
fallbackIcon: icon,
|
|
45301
45352
|
status: { label, variant: "grey" },
|
|
45302
45353
|
chatRef,
|
|
@@ -45313,10 +45364,10 @@ function RoadmapChatCard({
|
|
|
45313
45364
|
cardType,
|
|
45314
45365
|
discuss
|
|
45315
45366
|
}) {
|
|
45316
|
-
const logoUrl = typeof _optionalChain([item, 'optionalAccess',
|
|
45317
|
-
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess',
|
|
45367
|
+
const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1010 => _1010.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
|
|
45368
|
+
const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1011 => _1011.customItemId]) != null;
|
|
45318
45369
|
const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MapIcon, { size: 24 });
|
|
45319
|
-
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess',
|
|
45370
|
+
const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1012 => _1012.customItemId]), className: "size-6" }) : logoUrl ? (
|
|
45320
45371
|
// Contained (not full-bleed) so the integration logo keeps its aspect
|
|
45321
45372
|
// ratio inside the bordered icon box — matches RoadmapCard.
|
|
45322
45373
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
|
|
@@ -45324,10 +45375,10 @@ function RoadmapChatCard({
|
|
|
45324
45375
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45325
45376
|
EntityMingoCard,
|
|
45326
45377
|
{
|
|
45327
|
-
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45328
|
-
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess',
|
|
45378
|
+
title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1013 => _1013.title]), () => ( "")),
|
|
45379
|
+
description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1014 => _1014.description]), () => ( void 0)),
|
|
45329
45380
|
fallbackIcon: icon,
|
|
45330
|
-
status: statusPill(_optionalChain([item, 'optionalAccess',
|
|
45381
|
+
status: statusPill(_optionalChain([item, 'optionalAccess', _1015 => _1015.status])),
|
|
45331
45382
|
chatRef,
|
|
45332
45383
|
isNewTab,
|
|
45333
45384
|
discuss,
|
|
@@ -45413,7 +45464,7 @@ function programRegistryEntries() {
|
|
|
45413
45464
|
discuss: opts.discuss,
|
|
45414
45465
|
configKey: cfg.configKey,
|
|
45415
45466
|
label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
|
|
45416
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45467
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1016 => _1016.extras, 'optionalAccess', _1017 => _1017.buildOgPlaceholderUrl, 'optionalCall', _1018 => _1018(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1019 => _1019.title]), () => ( "")))]), () => ( null))
|
|
45417
45468
|
}
|
|
45418
45469
|
)
|
|
45419
45470
|
};
|
|
@@ -45565,8 +45616,8 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45565
45616
|
chatRef,
|
|
45566
45617
|
isNewTab: opts.isNewTab,
|
|
45567
45618
|
discuss: opts.discuss,
|
|
45568
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45569
|
-
hasEmbeddedVideo: _optionalChain([chatRef, 'access',
|
|
45619
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1020 => _1020.extras, 'optionalAccess', _1021 => _1021.buildOgPlaceholderUrl, 'optionalCall', _1022 => _1022(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1023 => _1023.title]), () => ( "")))]), () => ( null)),
|
|
45620
|
+
hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1024 => _1024.metadata, 'optionalAccess', _1025 => _1025.hasEmbeddedVideo]) === true
|
|
45570
45621
|
}
|
|
45571
45622
|
)
|
|
45572
45623
|
},
|
|
@@ -45583,7 +45634,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45583
45634
|
chatRef,
|
|
45584
45635
|
isNewTab: opts.isNewTab,
|
|
45585
45636
|
discuss: opts.discuss,
|
|
45586
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45637
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1026 => _1026.extras, 'optionalAccess', _1027 => _1027.buildOgPlaceholderUrl, 'optionalCall', _1028 => _1028(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1029 => _1029.title]), () => ( "")))]), () => ( null))
|
|
45587
45638
|
}
|
|
45588
45639
|
)
|
|
45589
45640
|
},
|
|
@@ -45600,7 +45651,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45600
45651
|
chatRef,
|
|
45601
45652
|
isNewTab: opts.isNewTab,
|
|
45602
45653
|
discuss: opts.discuss,
|
|
45603
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45654
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1030 => _1030.extras, 'optionalAccess', _1031 => _1031.buildOgPlaceholderUrl, 'optionalCall', _1032 => _1032(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1033 => _1033.title]), () => ( "")))]), () => ( null))
|
|
45604
45655
|
}
|
|
45605
45656
|
)
|
|
45606
45657
|
},
|
|
@@ -45611,7 +45662,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45611
45662
|
bareInline: true,
|
|
45612
45663
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
|
|
45613
45664
|
render: (item, chatRef, opts) => {
|
|
45614
|
-
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45665
|
+
const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1034 => _1034.extras, 'optionalAccess', _1035 => _1035.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
|
|
45615
45666
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45616
45667
|
ProductReleaseChatCard,
|
|
45617
45668
|
{
|
|
@@ -45638,7 +45689,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45638
45689
|
chatRef,
|
|
45639
45690
|
isNewTab: opts.isNewTab,
|
|
45640
45691
|
discuss: opts.discuss,
|
|
45641
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45692
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1036 => _1036.extras, 'optionalAccess', _1037 => _1037.buildOgPlaceholderUrl, 'optionalCall', _1038 => _1038(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1039 => _1039.title]), () => ( "")))]), () => ( null))
|
|
45642
45693
|
}
|
|
45643
45694
|
)
|
|
45644
45695
|
},
|
|
@@ -45657,7 +45708,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45657
45708
|
chatRef,
|
|
45658
45709
|
isNewTab: opts.isNewTab,
|
|
45659
45710
|
discuss: opts.discuss,
|
|
45660
|
-
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess',
|
|
45711
|
+
ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1040 => _1040.extras, 'optionalAccess', _1041 => _1041.buildOgPlaceholderUrl, 'optionalCall', _1042 => _1042(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1043 => _1043.title]), () => ( "")))]), () => ( null))
|
|
45661
45712
|
}
|
|
45662
45713
|
)
|
|
45663
45714
|
},
|
|
@@ -45669,7 +45720,7 @@ var CHAT_CARD_REGISTRY = {
|
|
|
45669
45720
|
skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
|
|
45670
45721
|
// No public viewer — synthesize the hub-internal admin URL post-fetch
|
|
45671
45722
|
// so the wrapper + isNewTab computation see the actual destination.
|
|
45672
|
-
fallbackHref: (item) => _optionalChain([item, 'optionalAccess',
|
|
45723
|
+
fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1044 => _1044.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
|
|
45673
45724
|
render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45674
45725
|
CampaignChatCard,
|
|
45675
45726
|
{
|
|
@@ -45695,12 +45746,12 @@ function ChatCardNavWrap({
|
|
|
45695
45746
|
const onClickCapture = (e) => {
|
|
45696
45747
|
if (!href) return;
|
|
45697
45748
|
const targetEl = e.target;
|
|
45698
|
-
if (_optionalChain([targetEl, 'optionalAccess',
|
|
45699
|
-
if (!_optionalChain([targetEl, 'optionalAccess',
|
|
45749
|
+
if (_optionalChain([targetEl, 'optionalAccess', _1045 => _1045.closest, 'optionalCall', _1046 => _1046("button")])) return;
|
|
45750
|
+
if (!_optionalChain([targetEl, 'optionalAccess', _1047 => _1047.closest, 'optionalCall', _1048 => _1048("a")])) return;
|
|
45700
45751
|
const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
|
|
45701
45752
|
if (!handled) return;
|
|
45702
45753
|
e.stopPropagation();
|
|
45703
|
-
if (!isNewTab && _optionalChain([panel, 'optionalAccess',
|
|
45754
|
+
if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1049 => _1049.closeChat])) panel.closeChat();
|
|
45704
45755
|
};
|
|
45705
45756
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
|
|
45706
45757
|
}
|
|
@@ -45722,7 +45773,7 @@ function ChatCardLoader({
|
|
|
45722
45773
|
title: chatRef.title,
|
|
45723
45774
|
externalUrl: chatRef.url,
|
|
45724
45775
|
targetPlatform: chatRef.targetPlatform,
|
|
45725
|
-
path: typeof _optionalChain([chatRef, 'access',
|
|
45776
|
+
path: typeof _optionalChain([chatRef, 'access', _1050 => _1050.metadata, 'optionalAccess', _1051 => _1051.path]) === "string" ? chatRef.metadata.path : null
|
|
45726
45777
|
},
|
|
45727
45778
|
sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
|
|
45728
45779
|
);
|
|
@@ -45736,7 +45787,7 @@ function ChatCardLoader({
|
|
|
45736
45787
|
const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
|
|
45737
45788
|
const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
|
|
45738
45789
|
const { item, isLoading } = useChatCardItem(
|
|
45739
|
-
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess',
|
|
45790
|
+
_nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1052 => _1052.contentRefType]), () => ( "")),
|
|
45740
45791
|
fetchEntry ? resolvedChatRef.id : ""
|
|
45741
45792
|
);
|
|
45742
45793
|
if (!entry) return null;
|
|
@@ -45767,7 +45818,7 @@ function ChatCardLoader({
|
|
|
45767
45818
|
isNewTab,
|
|
45768
45819
|
discuss
|
|
45769
45820
|
};
|
|
45770
|
-
const path = typeof _optionalChain([finalChatRef, 'access',
|
|
45821
|
+
const path = typeof _optionalChain([finalChatRef, 'access', _1053 => _1053.metadata, 'optionalAccess', _1054 => _1054.path]) === "string" ? finalChatRef.metadata.path : null;
|
|
45771
45822
|
const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45772
45823
|
ChatCardNavWrap,
|
|
45773
45824
|
{
|
|
@@ -46153,7 +46204,7 @@ function useJetStreamDialogSubscription({
|
|
|
46153
46204
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
46154
46205
|
conn: sharedConn,
|
|
46155
46206
|
wsUrl,
|
|
46156
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
46207
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1055 => _1055.current, 'optionalCall', _1056 => _1056()]),
|
|
46157
46208
|
backoff: reconnectionBackoffRef.current,
|
|
46158
46209
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
46159
46210
|
// JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
|
|
@@ -46168,7 +46219,7 @@ function useJetStreamDialogSubscription({
|
|
|
46168
46219
|
setReconnectionCount((c) => c + 1);
|
|
46169
46220
|
}
|
|
46170
46221
|
hadConnectionBeforeRef.current = true;
|
|
46171
|
-
_optionalChain([onConnectRef, 'access',
|
|
46222
|
+
_optionalChain([onConnectRef, 'access', _1057 => _1057.current, 'optionalCall', _1058 => _1058()]);
|
|
46172
46223
|
}
|
|
46173
46224
|
if (status === "error") {
|
|
46174
46225
|
console.warn("[JetStream] NATS protocol error:", evt.data);
|
|
@@ -46178,7 +46229,7 @@ function useJetStreamDialogSubscription({
|
|
|
46178
46229
|
setIsConnected(false);
|
|
46179
46230
|
setIsSubscribed(false);
|
|
46180
46231
|
tearDownSubscription();
|
|
46181
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
46232
|
+
_optionalChain([onDisconnectRef, 'access', _1059 => _1059.current, 'optionalCall', _1060 => _1060()]);
|
|
46182
46233
|
}
|
|
46183
46234
|
}
|
|
46184
46235
|
});
|
|
@@ -46257,7 +46308,7 @@ function useJetStreamDialogSubscription({
|
|
|
46257
46308
|
}
|
|
46258
46309
|
subscriptionRef.current = handle;
|
|
46259
46310
|
setIsSubscribed(true);
|
|
46260
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
46311
|
+
_optionalChain([onSubscribedRef, 'access', _1061 => _1061.current, 'optionalCall', _1062 => _1062()]);
|
|
46261
46312
|
} catch (e49) {
|
|
46262
46313
|
if (!cancelled) {
|
|
46263
46314
|
setIsSubscribed(false);
|
|
@@ -46370,20 +46421,20 @@ function useNatsDialogSubscription({
|
|
|
46370
46421
|
const tearDownSubscriptions = () => {
|
|
46371
46422
|
subscriptionRefs.current.forEach((sub) => {
|
|
46372
46423
|
try {
|
|
46373
|
-
_optionalChain([sub, 'optionalAccess',
|
|
46424
|
+
_optionalChain([sub, 'optionalAccess', _1063 => _1063.unsubscribe, 'call', _1064 => _1064()]);
|
|
46374
46425
|
} catch (e51) {
|
|
46375
46426
|
}
|
|
46376
46427
|
});
|
|
46377
46428
|
subscriptionRefs.current.clear();
|
|
46378
46429
|
lastSubscribedDialogIdRef.current = null;
|
|
46379
|
-
_optionalChain([abortControllerRef, 'access',
|
|
46430
|
+
_optionalChain([abortControllerRef, 'access', _1065 => _1065.current, 'optionalAccess', _1066 => _1066.abort, 'call', _1067 => _1067()]);
|
|
46380
46431
|
abortControllerRef.current = null;
|
|
46381
46432
|
};
|
|
46382
46433
|
const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
|
|
46383
46434
|
const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
|
|
46384
46435
|
conn: sharedConn,
|
|
46385
46436
|
wsUrl,
|
|
46386
|
-
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access',
|
|
46437
|
+
onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1068 => _1068.current, 'optionalCall', _1069 => _1069()]),
|
|
46387
46438
|
backoff: reconnectionBackoffRef.current,
|
|
46388
46439
|
getFreshUrl: () => getNatsWsUrlRef.current(),
|
|
46389
46440
|
shouldRetryOn: isDisconnectStatus,
|
|
@@ -46394,7 +46445,7 @@ function useNatsDialogSubscription({
|
|
|
46394
46445
|
setReconnectionCount((c) => c + 1);
|
|
46395
46446
|
}
|
|
46396
46447
|
hadConnectionBeforeRef.current = true;
|
|
46397
|
-
_optionalChain([onConnectRef, 'access',
|
|
46448
|
+
_optionalChain([onConnectRef, 'access', _1070 => _1070.current, 'optionalCall', _1071 => _1071()]);
|
|
46398
46449
|
}
|
|
46399
46450
|
if (status === "error") {
|
|
46400
46451
|
console.warn("[NATS] protocol error:", evt.data);
|
|
@@ -46404,7 +46455,7 @@ function useNatsDialogSubscription({
|
|
|
46404
46455
|
setIsConnected(false);
|
|
46405
46456
|
setIsSubscribed(false);
|
|
46406
46457
|
tearDownSubscriptions();
|
|
46407
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
46458
|
+
_optionalChain([onDisconnectRef, 'access', _1072 => _1072.current, 'optionalCall', _1073 => _1073()]);
|
|
46408
46459
|
}
|
|
46409
46460
|
}
|
|
46410
46461
|
});
|
|
@@ -46435,13 +46486,13 @@ function useNatsDialogSubscription({
|
|
|
46435
46486
|
setIsSubscribed(false);
|
|
46436
46487
|
subscriptionRefs.current.forEach((sub) => {
|
|
46437
46488
|
try {
|
|
46438
|
-
_optionalChain([sub, 'optionalAccess',
|
|
46489
|
+
_optionalChain([sub, 'optionalAccess', _1074 => _1074.unsubscribe, 'call', _1075 => _1075()]);
|
|
46439
46490
|
} catch (e52) {
|
|
46440
46491
|
}
|
|
46441
46492
|
});
|
|
46442
46493
|
subscriptionRefs.current.clear();
|
|
46443
46494
|
lastSubscribedDialogIdRef.current = null;
|
|
46444
|
-
_optionalChain([abortControllerRef, 'access',
|
|
46495
|
+
_optionalChain([abortControllerRef, 'access', _1076 => _1076.current, 'optionalAccess', _1077 => _1077.abort, 'call', _1078 => _1078()]);
|
|
46445
46496
|
abortControllerRef.current = null;
|
|
46446
46497
|
}
|
|
46447
46498
|
return;
|
|
@@ -46453,12 +46504,12 @@ function useNatsDialogSubscription({
|
|
|
46453
46504
|
if (subscriptionRefs.current.size > 0) {
|
|
46454
46505
|
subscriptionRefs.current.forEach((sub) => {
|
|
46455
46506
|
try {
|
|
46456
|
-
_optionalChain([sub, 'optionalAccess',
|
|
46507
|
+
_optionalChain([sub, 'optionalAccess', _1079 => _1079.unsubscribe, 'call', _1080 => _1080()]);
|
|
46457
46508
|
} catch (e53) {
|
|
46458
46509
|
}
|
|
46459
46510
|
});
|
|
46460
46511
|
subscriptionRefs.current.clear();
|
|
46461
|
-
_optionalChain([abortControllerRef, 'access',
|
|
46512
|
+
_optionalChain([abortControllerRef, 'access', _1081 => _1081.current, 'optionalAccess', _1082 => _1082.abort, 'call', _1083 => _1083()]);
|
|
46462
46513
|
}
|
|
46463
46514
|
abortControllerRef.current = new AbortController();
|
|
46464
46515
|
const abort = abortControllerRef.current;
|
|
@@ -46490,7 +46541,7 @@ function useNatsDialogSubscription({
|
|
|
46490
46541
|
});
|
|
46491
46542
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
46492
46543
|
setIsSubscribed(true);
|
|
46493
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
46544
|
+
_optionalChain([onSubscribedRef, 'access', _1084 => _1084.current, 'optionalCall', _1085 => _1085()]);
|
|
46494
46545
|
};
|
|
46495
46546
|
if (isConnectedRef.current) {
|
|
46496
46547
|
createSubscriptions();
|
|
@@ -46500,7 +46551,7 @@ function useNatsDialogSubscription({
|
|
|
46500
46551
|
abort.abort();
|
|
46501
46552
|
subscriptionRefs.current.forEach((sub) => {
|
|
46502
46553
|
try {
|
|
46503
|
-
_optionalChain([sub, 'optionalAccess',
|
|
46554
|
+
_optionalChain([sub, 'optionalAccess', _1086 => _1086.unsubscribe, 'call', _1087 => _1087()]);
|
|
46504
46555
|
} catch (e55) {
|
|
46505
46556
|
}
|
|
46506
46557
|
});
|
|
@@ -46541,7 +46592,7 @@ function useNatsDialogSubscription({
|
|
|
46541
46592
|
});
|
|
46542
46593
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
46543
46594
|
setIsSubscribed(true);
|
|
46544
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
46595
|
+
_optionalChain([onSubscribedRef, 'access', _1088 => _1088.current, 'optionalCall', _1089 => _1089()]);
|
|
46545
46596
|
} else if (subscriptionRefs.current.size > 0) {
|
|
46546
46597
|
setIsSubscribed(true);
|
|
46547
46598
|
}
|
|
@@ -46549,10 +46600,10 @@ function useNatsDialogSubscription({
|
|
|
46549
46600
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
46550
46601
|
}
|
|
46551
46602
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
46552
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
46603
|
+
const path = _optionalChain([options, 'optionalAccess', _1090 => _1090.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
46553
46604
|
const u = new URL(path, apiBaseUrl);
|
|
46554
46605
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
46555
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
46606
|
+
if (_optionalChain([options, 'optionalAccess', _1091 => _1091.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1092 => _1092.token])) {
|
|
46556
46607
|
u.searchParams.set("authorization", options.token);
|
|
46557
46608
|
}
|
|
46558
46609
|
return u.toString();
|
|
@@ -46688,7 +46739,7 @@ function parseChunkToAction(chunk) {
|
|
|
46688
46739
|
// is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
|
|
46689
46740
|
// historical path in `process-historical-messages.ts`) — keeps both
|
|
46690
46741
|
// message sources producing an identical shape.
|
|
46691
|
-
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess',
|
|
46742
|
+
contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1093 => _1093.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1094 => _1094.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
|
|
46692
46743
|
};
|
|
46693
46744
|
case MESSAGE_TYPE.TOKEN_USAGE:
|
|
46694
46745
|
return {
|
|
@@ -46880,8 +46931,8 @@ var MessageSegmentAccumulator = class {
|
|
|
46880
46931
|
type: "tool_execution",
|
|
46881
46932
|
data: {
|
|
46882
46933
|
...toolData,
|
|
46883
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
46884
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
46934
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1095 => _1095.data, 'access', _1096 => _1096.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1097 => _1097.toolTitle]))),
|
|
46935
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1098 => _1098.parameters])
|
|
46885
46936
|
}
|
|
46886
46937
|
};
|
|
46887
46938
|
if (existingIndex !== -1) {
|
|
@@ -46905,8 +46956,8 @@ var MessageSegmentAccumulator = class {
|
|
|
46905
46956
|
if (seg.type !== "approval_batch") return seg;
|
|
46906
46957
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
46907
46958
|
if (!hasCall) return seg;
|
|
46908
|
-
const prev = _optionalChain([seg, 'access',
|
|
46909
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
46959
|
+
const prev = _optionalChain([seg, 'access', _1099 => _1099.data, 'access', _1100 => _1100.executions, 'optionalAccess', _1101 => _1101[execId]]);
|
|
46960
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1102 => _1102.result]), success: _optionalChain([prev, 'optionalAccess', _1103 => _1103.success]) };
|
|
46910
46961
|
matched = true;
|
|
46911
46962
|
return {
|
|
46912
46963
|
...seg,
|
|
@@ -47028,10 +47079,10 @@ var MessageSegmentAccumulator = class {
|
|
|
47028
47079
|
const segment = {
|
|
47029
47080
|
type: "approval_request",
|
|
47030
47081
|
data: {
|
|
47031
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
47032
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
47082
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _1104 => _1104.command]) || "",
|
|
47083
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _1105 => _1105.explanation]),
|
|
47033
47084
|
requestId,
|
|
47034
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
47085
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1106 => _1106.approvalType]) || approvalType
|
|
47035
47086
|
},
|
|
47036
47087
|
status,
|
|
47037
47088
|
onApprove: this.callbacks.onApprove,
|
|
@@ -47223,7 +47274,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47223
47274
|
if (initialState.escalatedApprovals) {
|
|
47224
47275
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
47225
47276
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
47226
|
-
_optionalChain([callbacks, 'access',
|
|
47277
|
+
_optionalChain([callbacks, 'access', _1107 => _1107.onEscalatedApproval, 'optionalCall', _1108 => _1108(requestId, data)]);
|
|
47227
47278
|
});
|
|
47228
47279
|
}
|
|
47229
47280
|
hasEverStreamedRef.current = true;
|
|
@@ -47244,12 +47295,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47244
47295
|
if (!action) return;
|
|
47245
47296
|
const accumulator = accumulatorRef.current;
|
|
47246
47297
|
const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
|
|
47247
|
-
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access',
|
|
47298
|
+
const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1109 => _1109.onSegmentsUpdate, 'optionalCall', _1110 => _1110(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
|
|
47248
47299
|
if (action.action === "direct_message") sawDirectMessageRef.current = true;
|
|
47249
47300
|
if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
|
|
47250
47301
|
if (isInStreamRef.current) {
|
|
47251
47302
|
isInStreamRef.current = false;
|
|
47252
|
-
_optionalChain([callbacks, 'access',
|
|
47303
|
+
_optionalChain([callbacks, 'access', _1111 => _1111.onStreamEnd, 'optionalCall', _1112 => _1112()]);
|
|
47253
47304
|
accumulator.resetSegments();
|
|
47254
47305
|
}
|
|
47255
47306
|
return;
|
|
@@ -47258,16 +47309,16 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47258
47309
|
case "message_start":
|
|
47259
47310
|
isInStreamRef.current = true;
|
|
47260
47311
|
hasEverStreamedRef.current = true;
|
|
47261
|
-
_optionalChain([callbacks, 'access',
|
|
47312
|
+
_optionalChain([callbacks, 'access', _1113 => _1113.onStreamStart, 'optionalCall', _1114 => _1114()]);
|
|
47262
47313
|
accumulator.resetSegments();
|
|
47263
47314
|
break;
|
|
47264
47315
|
case "message_end":
|
|
47265
47316
|
isInStreamRef.current = false;
|
|
47266
|
-
_optionalChain([callbacks, 'access',
|
|
47317
|
+
_optionalChain([callbacks, 'access', _1115 => _1115.onStreamEnd, 'optionalCall', _1116 => _1116()]);
|
|
47267
47318
|
accumulator.resetSegments();
|
|
47268
47319
|
break;
|
|
47269
47320
|
case "metadata":
|
|
47270
|
-
_optionalChain([callbacks, 'access',
|
|
47321
|
+
_optionalChain([callbacks, 'access', _1117 => _1117.onMetadata, 'optionalCall', _1118 => _1118(action)]);
|
|
47271
47322
|
break;
|
|
47272
47323
|
case "text": {
|
|
47273
47324
|
const segments = accumulator.appendText(action.text);
|
|
@@ -47310,7 +47361,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47310
47361
|
emitSegments(segments);
|
|
47311
47362
|
} else {
|
|
47312
47363
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
47313
|
-
_optionalChain([callbacks, 'access',
|
|
47364
|
+
_optionalChain([callbacks, 'access', _1119 => _1119.onEscalatedApproval, 'optionalCall', _1120 => _1120(requestId, { command, explanation, approvalType })]);
|
|
47314
47365
|
}
|
|
47315
47366
|
break;
|
|
47316
47367
|
}
|
|
@@ -47322,13 +47373,13 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47322
47373
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
47323
47374
|
pendingEscalatedRef.current.set(requestId, {
|
|
47324
47375
|
command: summary,
|
|
47325
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
47376
|
+
explanation: _optionalChain([required, 'optionalAccess', _1121 => _1121.toolExplanation]),
|
|
47326
47377
|
approvalType,
|
|
47327
47378
|
toolCalls
|
|
47328
47379
|
});
|
|
47329
|
-
_optionalChain([callbacks, 'access',
|
|
47380
|
+
_optionalChain([callbacks, 'access', _1122 => _1122.onEscalatedApproval, 'optionalCall', _1123 => _1123(requestId, {
|
|
47330
47381
|
command: summary,
|
|
47331
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
47382
|
+
explanation: _optionalChain([required, 'optionalAccess', _1124 => _1124.toolExplanation]),
|
|
47332
47383
|
approvalType
|
|
47333
47384
|
})]);
|
|
47334
47385
|
break;
|
|
@@ -47358,7 +47409,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47358
47409
|
const status = approved ? "approved" : "rejected";
|
|
47359
47410
|
if (escalatedData) {
|
|
47360
47411
|
pendingEscalatedRef.current.delete(requestId);
|
|
47361
|
-
_optionalChain([callbacks, 'access',
|
|
47412
|
+
_optionalChain([callbacks, 'access', _1125 => _1125.onEscalatedApprovalResult, 'optionalCall', _1126 => _1126(requestId, approved, {
|
|
47362
47413
|
command: escalatedData.command,
|
|
47363
47414
|
explanation: escalatedData.explanation,
|
|
47364
47415
|
approvalType: escalatedData.approvalType
|
|
@@ -47404,29 +47455,29 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47404
47455
|
emitSegments(accumulator.getSegments());
|
|
47405
47456
|
}
|
|
47406
47457
|
}
|
|
47407
|
-
_optionalChain([callbacks, 'access',
|
|
47458
|
+
_optionalChain([callbacks, 'access', _1127 => _1127.onApprovalResolved, 'optionalCall', _1128 => _1128(requestId, status, approvalType, resolvedByName)]);
|
|
47408
47459
|
break;
|
|
47409
47460
|
}
|
|
47410
47461
|
case "error": {
|
|
47411
47462
|
let message2;
|
|
47412
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
47463
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _1129 => _1129.details])) {
|
|
47413
47464
|
try {
|
|
47414
|
-
message2 = _optionalChain([JSON, 'access',
|
|
47465
|
+
message2 = _optionalChain([JSON, 'access', _1130 => _1130.parse, 'call', _1131 => _1131(action.details), 'optionalAccess', _1132 => _1132.error, 'optionalAccess', _1133 => _1133.message]);
|
|
47415
47466
|
} catch (e57) {
|
|
47416
47467
|
message2 = action.details;
|
|
47417
47468
|
}
|
|
47418
47469
|
}
|
|
47419
47470
|
const segments = accumulator.addError(action.error, message2);
|
|
47420
47471
|
emitSegments(segments);
|
|
47421
|
-
_optionalChain([callbacks, 'access',
|
|
47472
|
+
_optionalChain([callbacks, 'access', _1134 => _1134.onError, 'optionalCall', _1135 => _1135(action.error, message2)]);
|
|
47422
47473
|
break;
|
|
47423
47474
|
}
|
|
47424
47475
|
case "system": {
|
|
47425
|
-
_optionalChain([callbacks, 'access',
|
|
47476
|
+
_optionalChain([callbacks, 'access', _1136 => _1136.onSystemMessage, 'optionalCall', _1137 => _1137(action.text, { streamSeq })]);
|
|
47426
47477
|
break;
|
|
47427
47478
|
}
|
|
47428
47479
|
case "direct_message": {
|
|
47429
|
-
_optionalChain([callbacks, 'access',
|
|
47480
|
+
_optionalChain([callbacks, 'access', _1138 => _1138.onDirectMessage, 'optionalCall', _1139 => _1139(action.text, {
|
|
47430
47481
|
ownerType: action.ownerType,
|
|
47431
47482
|
displayName: action.displayName,
|
|
47432
47483
|
userId: action.userId,
|
|
@@ -47435,7 +47486,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47435
47486
|
break;
|
|
47436
47487
|
}
|
|
47437
47488
|
case "message_request":
|
|
47438
|
-
_optionalChain([callbacks, 'access',
|
|
47489
|
+
_optionalChain([callbacks, 'access', _1140 => _1140.onUserMessage, 'optionalCall', _1141 => _1141(action.text, {
|
|
47439
47490
|
ownerType: action.ownerType,
|
|
47440
47491
|
displayName: action.displayName,
|
|
47441
47492
|
userId: action.userId,
|
|
@@ -47444,7 +47495,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47444
47495
|
})]);
|
|
47445
47496
|
break;
|
|
47446
47497
|
case "token_usage":
|
|
47447
|
-
_optionalChain([callbacks, 'access',
|
|
47498
|
+
_optionalChain([callbacks, 'access', _1142 => _1142.onTokenUsage, 'optionalCall', _1143 => _1143(action.data)]);
|
|
47448
47499
|
break;
|
|
47449
47500
|
case "context_compaction_start": {
|
|
47450
47501
|
const standalone = !isInStreamRef.current;
|
|
@@ -47459,7 +47510,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
47459
47510
|
break;
|
|
47460
47511
|
}
|
|
47461
47512
|
case "dialog_closed":
|
|
47462
|
-
_optionalChain([callbacks, 'access',
|
|
47513
|
+
_optionalChain([callbacks, 'access', _1144 => _1144.onDialogClosed, 'optionalCall', _1145 => _1145()]);
|
|
47463
47514
|
break;
|
|
47464
47515
|
default:
|
|
47465
47516
|
break;
|
|
@@ -47506,7 +47557,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
|
|
|
47506
47557
|
const data = await res.json();
|
|
47507
47558
|
return _nullishCoalesce(data.commands, () => ( []));
|
|
47508
47559
|
} catch (err) {
|
|
47509
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
47560
|
+
if (_optionalChain([err, 'optionalAccess', _1146 => _1146.name]) === "AbortError") throw err;
|
|
47510
47561
|
console.warn("[chat] slash-commands fetch failed, showing none:", err);
|
|
47511
47562
|
return [];
|
|
47512
47563
|
}
|
|
@@ -47527,7 +47578,7 @@ function useSlashCommands(prefix, commandsUrl) {
|
|
|
47527
47578
|
const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
|
|
47528
47579
|
if (!cancelled) setCommands(next);
|
|
47529
47580
|
} catch (err) {
|
|
47530
|
-
if (!cancelled && _optionalChain([err, 'optionalAccess',
|
|
47581
|
+
if (!cancelled && _optionalChain([err, 'optionalAccess', _1147 => _1147.name]) !== "AbortError") {
|
|
47531
47582
|
console.warn("[use-slash-commands] fetch failed:", err);
|
|
47532
47583
|
}
|
|
47533
47584
|
} finally {
|
|
@@ -47546,7 +47597,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
|
|
|
47546
47597
|
const query = _reactquery.useQuery.call(void 0, {
|
|
47547
47598
|
queryKey: ["chat-slash-commands", commandsUrl],
|
|
47548
47599
|
queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
|
|
47549
|
-
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
47600
|
+
enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1148 => _1148.enabled]), () => ( true)),
|
|
47550
47601
|
staleTime: Infinity,
|
|
47551
47602
|
gcTime: Infinity,
|
|
47552
47603
|
// The commands registry is non-critical chrome — a failure degrades to an
|
|
@@ -47585,21 +47636,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
|
|
|
47585
47636
|
}
|
|
47586
47637
|
const data = await res.json();
|
|
47587
47638
|
return {
|
|
47588
|
-
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47589
|
-
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47590
|
-
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47591
|
-
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47592
|
-
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47593
|
-
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess',
|
|
47639
|
+
name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1149 => _1149.name]), () => ( null)),
|
|
47640
|
+
icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1150 => _1150.icon]), () => ( null)),
|
|
47641
|
+
greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1151 => _1151.greeting]), () => ( null)),
|
|
47642
|
+
enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1152 => _1152.enabledRagTableIds]), () => ( [])),
|
|
47643
|
+
quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1153 => _1153.quickActions]), () => ( [])),
|
|
47644
|
+
suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1154 => _1154.suggestedQueries]), () => ( []))
|
|
47594
47645
|
};
|
|
47595
47646
|
} catch (err) {
|
|
47596
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
47647
|
+
if (_optionalChain([err, 'optionalAccess', _1155 => _1155.name]) === "AbortError") throw err;
|
|
47597
47648
|
console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
|
|
47598
47649
|
return EMPTY_STATE_FALLBACK;
|
|
47599
47650
|
}
|
|
47600
47651
|
}
|
|
47601
47652
|
function useEmptyStateConfig(emptyStateUrl, options) {
|
|
47602
|
-
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
47653
|
+
const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1156 => _1156.enabled]), () => ( true))) && !!emptyStateUrl;
|
|
47603
47654
|
const query = _reactquery.useQuery.call(void 0, {
|
|
47604
47655
|
queryKey: ["chat-empty-state", emptyStateUrl],
|
|
47605
47656
|
queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
|
|
@@ -47628,7 +47679,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
|
|
|
47628
47679
|
var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
|
|
47629
47680
|
function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
47630
47681
|
return new Promise((resolve, reject) => {
|
|
47631
|
-
if (_optionalChain([signal, 'optionalAccess',
|
|
47682
|
+
if (_optionalChain([signal, 'optionalAccess', _1157 => _1157.aborted])) {
|
|
47632
47683
|
reject(new Error("Upload cancelled"));
|
|
47633
47684
|
return;
|
|
47634
47685
|
}
|
|
@@ -47642,7 +47693,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
47642
47693
|
xhr.removeEventListener("error", handleError);
|
|
47643
47694
|
xhr.removeEventListener("abort", handleAbort);
|
|
47644
47695
|
xhr.removeEventListener("timeout", handleTimeout);
|
|
47645
|
-
_optionalChain([signal, 'optionalAccess',
|
|
47696
|
+
_optionalChain([signal, 'optionalAccess', _1158 => _1158.removeEventListener, 'call', _1159 => _1159("abort", handleSignalAbort)]);
|
|
47646
47697
|
if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
|
|
47647
47698
|
};
|
|
47648
47699
|
const handleProgress = (event) => {
|
|
@@ -47678,7 +47729,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
|
|
|
47678
47729
|
const handleSignalAbort = () => {
|
|
47679
47730
|
xhr.abort();
|
|
47680
47731
|
};
|
|
47681
|
-
_optionalChain([signal, 'optionalAccess',
|
|
47732
|
+
_optionalChain([signal, 'optionalAccess', _1160 => _1160.addEventListener, 'call', _1161 => _1161("abort", handleSignalAbort, { once: true })]);
|
|
47682
47733
|
xhr.upload.addEventListener("progress", handleProgress);
|
|
47683
47734
|
xhr.addEventListener("load", handleLoad);
|
|
47684
47735
|
xhr.addEventListener("error", handleError);
|
|
@@ -47722,12 +47773,12 @@ function useChatAttachments() {
|
|
|
47722
47773
|
try {
|
|
47723
47774
|
sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
|
|
47724
47775
|
} catch (err) {
|
|
47725
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
47776
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1162 => _1162.signal, 'access', _1163 => _1163.aborted])) return;
|
|
47726
47777
|
throw new Error(
|
|
47727
47778
|
`Could not read file content: ${err instanceof Error ? err.message : String(err)}`
|
|
47728
47779
|
);
|
|
47729
47780
|
}
|
|
47730
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
47781
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1164 => _1164.signal, 'access', _1165 => _1165.aborted])) return;
|
|
47731
47782
|
if (!sniffed) {
|
|
47732
47783
|
throw new Error("Unrecognized file format");
|
|
47733
47784
|
}
|
|
@@ -47741,7 +47792,7 @@ function useChatAttachments() {
|
|
|
47741
47792
|
const urlResp = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
|
|
47742
47793
|
method: "POST",
|
|
47743
47794
|
headers: { "Content-Type": "application/json" },
|
|
47744
|
-
signal: _optionalChain([ctrl, 'optionalAccess',
|
|
47795
|
+
signal: _optionalChain([ctrl, 'optionalAccess', _1166 => _1166.signal]),
|
|
47745
47796
|
body: JSON.stringify({
|
|
47746
47797
|
fileName: att.file.name,
|
|
47747
47798
|
// Pass the SNIFFED MIME (not `file.type`, which can be a
|
|
@@ -47767,9 +47818,9 @@ function useChatAttachments() {
|
|
|
47767
47818
|
(pct) => {
|
|
47768
47819
|
updateOne(att.id, { progress: pct });
|
|
47769
47820
|
},
|
|
47770
|
-
_optionalChain([ctrl, 'optionalAccess',
|
|
47821
|
+
_optionalChain([ctrl, 'optionalAccess', _1167 => _1167.signal])
|
|
47771
47822
|
);
|
|
47772
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
47823
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1168 => _1168.signal, 'access', _1169 => _1169.aborted])) return;
|
|
47773
47824
|
updateOne(att.id, {
|
|
47774
47825
|
status: "ready",
|
|
47775
47826
|
progress: 100,
|
|
@@ -47777,7 +47828,7 @@ function useChatAttachments() {
|
|
|
47777
47828
|
viewToken: mintData.viewToken
|
|
47778
47829
|
});
|
|
47779
47830
|
} catch (err) {
|
|
47780
|
-
if (_optionalChain([ctrl, 'optionalAccess',
|
|
47831
|
+
if (_optionalChain([ctrl, 'optionalAccess', _1170 => _1170.signal, 'access', _1171 => _1171.aborted])) return;
|
|
47781
47832
|
const message2 = err instanceof Error ? err.message : String(err);
|
|
47782
47833
|
updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
|
|
47783
47834
|
} finally {
|
|
@@ -47928,7 +47979,7 @@ var ANON_DEFAULTS = {
|
|
|
47928
47979
|
function useResolveChatIdentity(enabled) {
|
|
47929
47980
|
const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
|
|
47930
47981
|
const url = runtime.endpoints.identityUrl;
|
|
47931
|
-
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess',
|
|
47982
|
+
const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1172 => _1172.email]), () => ( null));
|
|
47932
47983
|
const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
|
|
47933
47984
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
|
|
47934
47985
|
_react.useEffect.call(void 0, () => {
|
|
@@ -48019,7 +48070,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
|
|
|
48019
48070
|
yield chunk;
|
|
48020
48071
|
}
|
|
48021
48072
|
} catch (err) {
|
|
48022
|
-
if (_optionalChain([err, 'optionalAccess',
|
|
48073
|
+
if (_optionalChain([err, 'optionalAccess', _1173 => _1173.name]) === "AbortError" || ctrl.signal.aborted) {
|
|
48023
48074
|
return;
|
|
48024
48075
|
}
|
|
48025
48076
|
const errorMessage = err instanceof Error ? err.message : "An error occurred";
|
|
@@ -48070,7 +48121,7 @@ function useChat({
|
|
|
48070
48121
|
const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
|
|
48071
48122
|
onMessagesChangeRef.current = onMessagesChange;
|
|
48072
48123
|
_react.useEffect.call(void 0, () => {
|
|
48073
|
-
_optionalChain([onMessagesChangeRef, 'access',
|
|
48124
|
+
_optionalChain([onMessagesChangeRef, 'access', _1174 => _1174.current, 'optionalCall', _1175 => _1175(messages)]);
|
|
48074
48125
|
}, [messages]);
|
|
48075
48126
|
const {
|
|
48076
48127
|
streamMessage,
|
|
@@ -48107,7 +48158,7 @@ function useChat({
|
|
|
48107
48158
|
name: "You",
|
|
48108
48159
|
content: text,
|
|
48109
48160
|
timestamp: /* @__PURE__ */ new Date(),
|
|
48110
|
-
..._optionalChain([options, 'optionalAccess',
|
|
48161
|
+
..._optionalChain([options, 'optionalAccess', _1176 => _1176.hidden]) ? { hidden: true } : {}
|
|
48111
48162
|
};
|
|
48112
48163
|
addMessage(userMessage);
|
|
48113
48164
|
setIsTyping(true);
|
|
@@ -48169,7 +48220,7 @@ function useChat({
|
|
|
48169
48220
|
currentTextSegment = "";
|
|
48170
48221
|
}
|
|
48171
48222
|
const seg = segment;
|
|
48172
|
-
const proposalId = _optionalChain([seg, 'access',
|
|
48223
|
+
const proposalId = _optionalChain([seg, 'access', _1177 => _1177.data, 'optionalAccess', _1178 => _1178.requestId]);
|
|
48173
48224
|
const updateApprovalMessage = (transform) => {
|
|
48174
48225
|
setMessages((prev) => {
|
|
48175
48226
|
for (let i = prev.length - 1; i >= 0; i--) {
|
|
@@ -48178,7 +48229,7 @@ function useChat({
|
|
|
48178
48229
|
if (!Array.isArray(m.content)) continue;
|
|
48179
48230
|
const segments = m.content;
|
|
48180
48231
|
const hasMatch = segments.some(
|
|
48181
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
48232
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1179 => _1179.data, 'optionalAccess', _1180 => _1180.requestId]) === proposalId
|
|
48182
48233
|
);
|
|
48183
48234
|
if (!hasMatch) continue;
|
|
48184
48235
|
const next = [...prev];
|
|
@@ -48220,11 +48271,11 @@ function useChat({
|
|
|
48220
48271
|
if (!Array.isArray(m.content)) continue;
|
|
48221
48272
|
const segments = m.content;
|
|
48222
48273
|
const hasMatch = segments.some(
|
|
48223
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
48274
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1181 => _1181.data, 'optionalAccess', _1182 => _1182.requestId]) === decision.proposalId
|
|
48224
48275
|
);
|
|
48225
48276
|
if (!hasMatch) continue;
|
|
48226
48277
|
const flipped = segments.map(
|
|
48227
|
-
(s) => s.type === "approval_request" && _optionalChain([s, 'access',
|
|
48278
|
+
(s) => s.type === "approval_request" && _optionalChain([s, 'access', _1183 => _1183.data, 'optionalAccess', _1184 => _1184.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
|
|
48228
48279
|
);
|
|
48229
48280
|
const next = [...prev];
|
|
48230
48281
|
next[i] = { ...m, content: flipped };
|
|
@@ -48386,8 +48437,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
48386
48437
|
})),
|
|
48387
48438
|
{ role: "user", content: message2 }
|
|
48388
48439
|
];
|
|
48389
|
-
const targetPath = _optionalChain([extra, 'optionalAccess',
|
|
48390
|
-
const requestBody = _optionalChain([extra, 'optionalAccess',
|
|
48440
|
+
const targetPath = _optionalChain([extra, 'optionalAccess', _1185 => _1185.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
|
|
48441
|
+
const requestBody = _optionalChain([extra, 'optionalAccess', _1186 => _1186.approvalAction]) ? {
|
|
48391
48442
|
proposal_id: extra.approvalAction.proposalId,
|
|
48392
48443
|
action: extra.approvalAction.action,
|
|
48393
48444
|
messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
|
|
@@ -48396,8 +48447,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
48396
48447
|
}))
|
|
48397
48448
|
} : {
|
|
48398
48449
|
messages: apiMessages,
|
|
48399
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
48400
|
-
..._optionalChain([extra, 'optionalAccess',
|
|
48450
|
+
..._optionalChain([extra, 'optionalAccess', _1187 => _1187.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
|
|
48451
|
+
..._optionalChain([extra, 'optionalAccess', _1188 => _1188.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
|
|
48401
48452
|
};
|
|
48402
48453
|
const response = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, targetPath, {
|
|
48403
48454
|
method: "POST",
|
|
@@ -48407,7 +48458,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
48407
48458
|
if (!response.ok) {
|
|
48408
48459
|
throw new Error(`Chat request failed: ${response.status}`);
|
|
48409
48460
|
}
|
|
48410
|
-
const reader = _optionalChain([response, 'access',
|
|
48461
|
+
const reader = _optionalChain([response, 'access', _1189 => _1189.body, 'optionalAccess', _1190 => _1190.getReader, 'call', _1191 => _1191()]);
|
|
48411
48462
|
if (!reader) throw new Error("No response body");
|
|
48412
48463
|
const decoder = new TextDecoder();
|
|
48413
48464
|
let buffer = "";
|
|
@@ -48490,7 +48541,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
48490
48541
|
const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
|
|
48491
48542
|
const result = _nullishCoalesce(meta.result, () => ( null));
|
|
48492
48543
|
const card = _nullishCoalesce(meta.card, () => ( null));
|
|
48493
|
-
if (_optionalChain([card, 'optionalAccess',
|
|
48544
|
+
if (_optionalChain([card, 'optionalAccess', _1192 => _1192.ref, 'optionalAccess', _1193 => _1193.id]) && _optionalChain([card, 'optionalAccess', _1194 => _1194.type])) {
|
|
48494
48545
|
const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
|
|
48495
48546
|
const key = buildChatRefKey(card.type, card.ref.id);
|
|
48496
48547
|
refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
|
|
@@ -48503,8 +48554,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
|
|
|
48503
48554
|
willAutoContinue: meta.willAutoContinue === true,
|
|
48504
48555
|
...toolName ? { toolName } : {},
|
|
48505
48556
|
...result ? { result } : {},
|
|
48506
|
-
..._optionalChain([card, 'optionalAccess',
|
|
48507
|
-
..._optionalChain([card, 'optionalAccess',
|
|
48557
|
+
..._optionalChain([card, 'optionalAccess', _1195 => _1195.marker]) ? { marker: card.marker } : {},
|
|
48558
|
+
..._optionalChain([card, 'optionalAccess', _1196 => _1196.ref]) ? { cardRef: card.ref } : {},
|
|
48508
48559
|
...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
|
|
48509
48560
|
proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
|
|
48510
48561
|
};
|
|
@@ -48623,7 +48674,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
|
|
|
48623
48674
|
var chatStorageKey = (source) => {
|
|
48624
48675
|
const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
|
|
48625
48676
|
const auth = _chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, );
|
|
48626
|
-
if (_optionalChain([auth, 'optionalAccess',
|
|
48677
|
+
if (_optionalChain([auth, 'optionalAccess', _1197 => _1197.email])) {
|
|
48627
48678
|
return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
|
|
48628
48679
|
}
|
|
48629
48680
|
return base;
|
|
@@ -48678,7 +48729,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
48678
48729
|
const { active = true } = runtimeOptions;
|
|
48679
48730
|
const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
|
|
48680
48731
|
const source = runtime.source || DEFAULT_CHAT_SOURCE;
|
|
48681
|
-
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
48732
|
+
const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1198 => _1198.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
|
|
48682
48733
|
const persistedRef = _react.useRef.call(void 0, null);
|
|
48683
48734
|
if (persistedRef.current === null) {
|
|
48684
48735
|
pruneStaleChatStorage(source);
|
|
@@ -48783,7 +48834,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
48783
48834
|
const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
|
|
48784
48835
|
sources = sourcesMapRef.current.get(lookupIdx);
|
|
48785
48836
|
chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
|
|
48786
|
-
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access',
|
|
48837
|
+
scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1199 => _1199.current, 'access', _1200 => _1200.get, 'call', _1201 => _1201(lookupIdx), 'optionalAccess', _1202 => _1202.scrollAnchor]), () => ( void 0));
|
|
48787
48838
|
}
|
|
48788
48839
|
return {
|
|
48789
48840
|
id: m.id,
|
|
@@ -48831,7 +48882,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
48831
48882
|
);
|
|
48832
48883
|
return;
|
|
48833
48884
|
}
|
|
48834
|
-
const refSlug = typeof _optionalChain([reference, 'access',
|
|
48885
|
+
const refSlug = typeof _optionalChain([reference, 'access', _1203 => _1203.metadata, 'optionalAccess', _1204 => _1204.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
|
|
48835
48886
|
const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
|
|
48836
48887
|
const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
48837
48888
|
const text = `/${cmdId} display "${escaped}"`;
|
|
@@ -48903,18 +48954,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
|
|
|
48903
48954
|
clearMessages,
|
|
48904
48955
|
streamingPhase,
|
|
48905
48956
|
/** Provider key for the lib's `<ModelDisplay>` icon. */
|
|
48906
|
-
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48907
|
-
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48908
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48957
|
+
currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1205 => _1205.provider]), () => ( null)),
|
|
48958
|
+
currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1206 => _1206.modelLabel]), () => ( null)),
|
|
48959
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1207 => _1207.contextWindowMaxTokens]), () => ( null)),
|
|
48909
48960
|
/** Input tokens (known after server's message_start frame; null until). */
|
|
48910
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48961
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1208 => _1208.inputTokens]), () => ( null)),
|
|
48911
48962
|
/** Output tokens (known only after server's trailing usage frame). */
|
|
48912
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48963
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1209 => _1209.outputTokens]), () => ( null)),
|
|
48913
48964
|
/** Cache hit % (read / total-input × 100). null during streaming. */
|
|
48914
|
-
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48965
|
+
currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1210 => _1210.cacheHitRatePct]), () => ( null)),
|
|
48915
48966
|
/** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
|
|
48916
48967
|
* token counts). null until the trailing usage frame lands. */
|
|
48917
|
-
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess',
|
|
48968
|
+
currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1211 => _1211.breakdown]), () => ( null)),
|
|
48918
48969
|
// ─── Dialog management — stubs for v1 ────────────────────────────────
|
|
48919
48970
|
// Guide mode currently keeps its history in `localStorage` opaquely
|
|
48920
48971
|
// under the hood (`runtime.source` namespaced key). Surfacing that
|
|
@@ -48972,15 +49023,15 @@ var noopRejectRequest = async (_id, _reason) => {
|
|
|
48972
49023
|
|
|
48973
49024
|
// src/components/chat/utils/process-historical-messages.ts
|
|
48974
49025
|
function getOwnerDisplayName(owner) {
|
|
48975
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
49026
|
+
if (_optionalChain([owner, 'optionalAccess', _1212 => _1212.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
48976
49027
|
const { firstName, lastName } = owner.user;
|
|
48977
49028
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
48978
49029
|
if (name) return name;
|
|
48979
49030
|
}
|
|
48980
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
49031
|
+
return _optionalChain([owner, 'optionalAccess', _1213 => _1213.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
48981
49032
|
}
|
|
48982
49033
|
function getOwnerAvatar(owner) {
|
|
48983
|
-
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess',
|
|
49034
|
+
return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1214 => _1214.user, 'optionalAccess', _1215 => _1215.image, 'optionalAccess', _1216 => _1216.imageUrl]), () => ( void 0));
|
|
48984
49035
|
}
|
|
48985
49036
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
48986
49037
|
messageDataArray.forEach((data) => {
|
|
@@ -49043,14 +49094,14 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
49043
49094
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
49044
49095
|
return;
|
|
49045
49096
|
}
|
|
49046
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
49097
|
+
const isUserMessage = _optionalChain([msg, 'access', _1217 => _1217.owner, 'optionalAccess', _1218 => _1218.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1219 => _1219.owner, 'optionalAccess', _1220 => _1220.type]) === OWNER_TYPE.ADMIN;
|
|
49047
49098
|
if (isUserMessage) {
|
|
49048
49099
|
flushAssistantMessage();
|
|
49049
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
49100
|
+
const userAuthorType = _optionalChain([msg, 'access', _1221 => _1221.owner, 'optionalAccess', _1222 => _1222.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
49050
49101
|
messageDataArray.forEach((data) => {
|
|
49051
49102
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
49052
49103
|
const rawContext = data.contextItems;
|
|
49053
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
49104
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1223 => _1223.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1224 => _1224.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
49054
49105
|
processedMessages.push({
|
|
49055
49106
|
id: msg.id,
|
|
49056
49107
|
role: "user",
|
|
@@ -49074,7 +49125,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
49074
49125
|
});
|
|
49075
49126
|
const nextMsg = messages[index + 1];
|
|
49076
49127
|
const isLastMessage = index === messages.length - 1;
|
|
49077
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
49128
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1225 => _1225.owner, 'optionalAccess', _1226 => _1226.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1227 => _1227.owner, 'optionalAccess', _1228 => _1228.type]) === OWNER_TYPE.ADMIN);
|
|
49078
49129
|
if (isLastMessage || nextIsFromUser) {
|
|
49079
49130
|
flushAssistantMessage();
|
|
49080
49131
|
}
|
|
@@ -49184,7 +49235,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
49184
49235
|
}
|
|
49185
49236
|
}
|
|
49186
49237
|
} else {
|
|
49187
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
49238
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1229 => _1229.set, 'call', _1230 => _1230(data.approvalRequestId, {
|
|
49188
49239
|
command: data.command || "",
|
|
49189
49240
|
explanation: data.explanation,
|
|
49190
49241
|
approvalType,
|
|
@@ -49198,8 +49249,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
49198
49249
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
49199
49250
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
49200
49251
|
const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
|
|
49201
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
49202
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
49252
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1231 => _1231.get, 'call', _1232 => _1232(data.approvalRequestId)]);
|
|
49253
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _1233 => _1233.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
49203
49254
|
if (batchApprovalsEnabled) {
|
|
49204
49255
|
accumulator.addApprovalBatch(
|
|
49205
49256
|
data.approvalRequestId,
|
|
@@ -49221,7 +49272,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
49221
49272
|
);
|
|
49222
49273
|
}
|
|
49223
49274
|
}
|
|
49224
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
49275
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1234 => _1234.delete, 'call', _1235 => _1235(data.approvalRequestId)]);
|
|
49225
49276
|
break;
|
|
49226
49277
|
}
|
|
49227
49278
|
if (escalatedData) {
|
|
@@ -49230,7 +49281,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
49230
49281
|
explanation: escalatedData.explanation,
|
|
49231
49282
|
approvalType: escalatedData.approvalType
|
|
49232
49283
|
});
|
|
49233
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
49284
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _1236 => _1236.delete, 'call', _1237 => _1237(data.approvalRequestId)]);
|
|
49234
49285
|
}
|
|
49235
49286
|
const before = accumulator.getSegments();
|
|
49236
49287
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
|
|
@@ -49246,9 +49297,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
49246
49297
|
case MESSAGE_TYPE.ERROR:
|
|
49247
49298
|
if ("error" in data) {
|
|
49248
49299
|
let message2;
|
|
49249
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
49300
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _1238 => _1238.details])) {
|
|
49250
49301
|
try {
|
|
49251
|
-
message2 = _optionalChain([JSON, 'access',
|
|
49302
|
+
message2 = _optionalChain([JSON, 'access', _1239 => _1239.parse, 'call', _1240 => _1240(data.details), 'optionalAccess', _1241 => _1241.error, 'optionalAccess', _1242 => _1242.message]);
|
|
49252
49303
|
} catch (e64) {
|
|
49253
49304
|
message2 = data.details;
|
|
49254
49305
|
}
|
|
@@ -49331,14 +49382,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
49331
49382
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
49332
49383
|
return;
|
|
49333
49384
|
}
|
|
49334
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
49385
|
+
const isUserMessage = _optionalChain([msg, 'access', _1243 => _1243.owner, 'optionalAccess', _1244 => _1244.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1245 => _1245.owner, 'optionalAccess', _1246 => _1246.type]) === OWNER_TYPE.ADMIN;
|
|
49335
49386
|
if (isUserMessage) {
|
|
49336
49387
|
flushAssistantMessage();
|
|
49337
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
49388
|
+
const userAuthorType = _optionalChain([msg, 'access', _1247 => _1247.owner, 'optionalAccess', _1248 => _1248.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
49338
49389
|
messageDataArray.forEach((data) => {
|
|
49339
49390
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
49340
49391
|
const rawContext = data.contextItems;
|
|
49341
|
-
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess',
|
|
49392
|
+
const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1249 => _1249.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1250 => _1250.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
|
|
49342
49393
|
processedMessages.push({
|
|
49343
49394
|
id: msg.id,
|
|
49344
49395
|
role: "user",
|
|
@@ -49362,7 +49413,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
49362
49413
|
});
|
|
49363
49414
|
const nextMsg = messages[index + 1];
|
|
49364
49415
|
const isLastMessage = index === messages.length - 1;
|
|
49365
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
49416
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1251 => _1251.owner, 'optionalAccess', _1252 => _1252.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1253 => _1253.owner, 'optionalAccess', _1254 => _1254.type]) === OWNER_TYPE.ADMIN);
|
|
49366
49417
|
if (isLastMessage || nextIsFromUser) {
|
|
49367
49418
|
flushAssistantMessage();
|
|
49368
49419
|
}
|
|
@@ -49698,7 +49749,7 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
49698
49749
|
}, [active, fetchDialogs, loadDialogsPage]);
|
|
49699
49750
|
const sendMessage = _react.useCallback.call(void 0,
|
|
49700
49751
|
async (text, sendOptions) => {
|
|
49701
|
-
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess',
|
|
49752
|
+
const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1255 => _1255.hidden]), () => ( false));
|
|
49702
49753
|
setMessages((prev) => [
|
|
49703
49754
|
...prev,
|
|
49704
49755
|
{
|
|
@@ -49862,11 +49913,11 @@ function useNatsChatAdapter(config, options = {}) {
|
|
|
49862
49913
|
// Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
|
|
49863
49914
|
// contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
|
|
49864
49915
|
// matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
|
|
49865
|
-
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
49866
|
-
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess',
|
|
49867
|
-
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
49868
|
-
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
49869
|
-
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess',
|
|
49916
|
+
currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1256 => _1256.provider]), () => ( modelProvider)), () => ( null)),
|
|
49917
|
+
currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1257 => _1257.modelLabel]), () => ( modelLabel)), () => ( null)),
|
|
49918
|
+
currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1258 => _1258.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1259 => _1259.contextWindowMaxTokens]))), () => ( null)),
|
|
49919
|
+
currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1260 => _1260.inputTokensSize]), () => ( null)),
|
|
49920
|
+
currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1261 => _1261.outputTokensSize]), () => ( null)),
|
|
49870
49921
|
currentCacheHitRatePct: null,
|
|
49871
49922
|
currentUsageBreakdown: null,
|
|
49872
49923
|
// Dialog management
|
|
@@ -50114,7 +50165,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
50114
50165
|
break;
|
|
50115
50166
|
case "approval_batch": {
|
|
50116
50167
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
50117
|
-
(c) => _optionalChain([segment, 'access',
|
|
50168
|
+
(c) => _optionalChain([segment, 'access', _1262 => _1262.data, 'access', _1263 => _1263.executions, 'optionalAccess', _1264 => _1264[c.toolExecutionRequestId], 'optionalAccess', _1265 => _1265.status]) === "done"
|
|
50118
50169
|
);
|
|
50119
50170
|
if (segment.status !== "rejected" && !allDone) {
|
|
50120
50171
|
hasIncompleteState = true;
|
|
@@ -50182,20 +50233,20 @@ function mergeHistoryWithRealtime(input) {
|
|
|
50182
50233
|
const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
|
|
50183
50234
|
const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
|
|
50184
50235
|
const trailing = processedHistory[processedHistory.length - 1];
|
|
50185
|
-
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess',
|
|
50186
|
-
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access',
|
|
50236
|
+
const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1266 => _1266.role]) === "assistant" ? trailing : null;
|
|
50237
|
+
const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1267 => _1267.content, 'access', _1268 => _1268.find, 'call', _1269 => _1269((s) => s.type === "approval_batch"), 'optionalAccess', _1270 => _1270.data, 'optionalAccess', _1271 => _1271.approvalRequestId]), () => ( null)) : null;
|
|
50187
50238
|
let processedToUse = processedHistory;
|
|
50188
50239
|
const pinnedSyntheticIds = /* @__PURE__ */ new Set();
|
|
50189
50240
|
const droppedSyntheticIds = /* @__PURE__ */ new Set();
|
|
50190
50241
|
if (historyBatchId) {
|
|
50191
50242
|
const batchTwins = existingMessages.filter(
|
|
50192
50243
|
(m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
|
|
50193
|
-
(s) => s.type === "approval_batch" && _optionalChain([s, 'access',
|
|
50244
|
+
(s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1272 => _1272.data, 'optionalAccess', _1273 => _1273.approvalRequestId]) === historyBatchId
|
|
50194
50245
|
)
|
|
50195
50246
|
);
|
|
50196
50247
|
const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
|
|
50197
50248
|
if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
|
|
50198
|
-
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess',
|
|
50249
|
+
const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1274 => _1274.content])) ? historyTrailingAssistant.content.length : 0;
|
|
50199
50250
|
const realtimeSize = existingWithSameBatch.content.length;
|
|
50200
50251
|
if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
|
|
50201
50252
|
processedToUse = processedHistory.slice(0, -1);
|
|
@@ -50211,16 +50262,16 @@ function mergeHistoryWithRealtime(input) {
|
|
|
50211
50262
|
if (pinnedSyntheticIds.has(m.id)) return true;
|
|
50212
50263
|
if (droppedSyntheticIds.has(m.id)) return false;
|
|
50213
50264
|
if (processedIds.has(m.id)) return false;
|
|
50214
|
-
if (_optionalChain([rawHistoryIds, 'optionalAccess',
|
|
50265
|
+
if (_optionalChain([rawHistoryIds, 'optionalAccess', _1275 => _1275.has, 'call', _1276 => _1276(m.id)])) return false;
|
|
50215
50266
|
if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
|
|
50216
|
-
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access',
|
|
50267
|
+
const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1277 => _1277.timestamp, 'optionalAccess', _1278 => _1278.getTime, 'call', _1279 => _1279()]), () => ( 0))) <= historyFetchedAt;
|
|
50217
50268
|
return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
|
|
50218
50269
|
}
|
|
50219
50270
|
if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
|
|
50220
50271
|
if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
|
|
50221
50272
|
return false;
|
|
50222
50273
|
}
|
|
50223
|
-
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access',
|
|
50274
|
+
const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1280 => _1280.timestamp, 'optionalAccess', _1281 => _1281.getTime, 'call', _1282 => _1282()]), () => ( 0))) <= historyFetchedAt;
|
|
50224
50275
|
if (covered) return false;
|
|
50225
50276
|
}
|
|
50226
50277
|
return true;
|
|
@@ -50440,7 +50491,7 @@ function useChatDialogManager({
|
|
|
50440
50491
|
const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
|
|
50441
50492
|
if (restoreTarget) {
|
|
50442
50493
|
try {
|
|
50443
|
-
await _optionalChain([unarchiveDialog, 'optionalCall',
|
|
50494
|
+
await _optionalChain([unarchiveDialog, 'optionalCall', _1283 => _1283(restoreTarget.id)]);
|
|
50444
50495
|
} catch (err) {
|
|
50445
50496
|
console.error("[useChatDialogManager] unarchive failed:", err);
|
|
50446
50497
|
return;
|
|
@@ -50857,7 +50908,7 @@ function EmbeddableChatInner({
|
|
|
50857
50908
|
}),
|
|
50858
50909
|
[commandsUrl]
|
|
50859
50910
|
);
|
|
50860
|
-
const userName = _optionalChain([identityUser, 'optionalAccess',
|
|
50911
|
+
const userName = _optionalChain([identityUser, 'optionalAccess', _1284 => _1284.firstName, 'optionalAccess', _1285 => _1285.trim, 'call', _1286 => _1286()]) || _optionalChain([identityUser, 'optionalAccess', _1287 => _1287.name, 'optionalAccess', _1288 => _1288.split, 'call', _1289 => _1289(" "), 'access', _1290 => _1290[0], 'optionalAccess', _1291 => _1291.trim, 'call', _1292 => _1292()]) || void 0;
|
|
50861
50912
|
const effectiveModes = _react.useMemo.call(void 0, () => {
|
|
50862
50913
|
if (modes) return modes;
|
|
50863
50914
|
const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
|
|
@@ -50866,19 +50917,19 @@ function EmbeddableChatInner({
|
|
|
50866
50917
|
const mingoCaps = _react.useMemo.call(void 0, () => {
|
|
50867
50918
|
if (mingoState) {
|
|
50868
50919
|
return {
|
|
50869
|
-
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50870
|
-
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50871
|
-
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50872
|
-
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50873
|
-
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50874
|
-
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess',
|
|
50920
|
+
canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1293 => _1293.canRename]), () => ( false)),
|
|
50921
|
+
canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1294 => _1294.canArchive]), () => ( false)),
|
|
50922
|
+
fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1295 => _1295.fetchArchivedDialogs]),
|
|
50923
|
+
unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1296 => _1296.unarchiveDialog]),
|
|
50924
|
+
searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1297 => _1297.searchQuery]),
|
|
50925
|
+
onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1298 => _1298.onSearchChange])
|
|
50875
50926
|
};
|
|
50876
50927
|
}
|
|
50877
50928
|
return {
|
|
50878
|
-
canRename: !!_optionalChain([effectiveModes, 'access',
|
|
50879
|
-
canArchive: !!_optionalChain([effectiveModes, 'access',
|
|
50880
|
-
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access',
|
|
50881
|
-
unarchiveDialog: _optionalChain([effectiveModes, 'access',
|
|
50929
|
+
canRename: !!_optionalChain([effectiveModes, 'access', _1299 => _1299.mingo, 'optionalAccess', _1300 => _1300.renameDialog]),
|
|
50930
|
+
canArchive: !!_optionalChain([effectiveModes, 'access', _1301 => _1301.mingo, 'optionalAccess', _1302 => _1302.archiveDialog]),
|
|
50931
|
+
fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1303 => _1303.mingo, 'optionalAccess', _1304 => _1304.fetchArchivedDialogs]),
|
|
50932
|
+
unarchiveDialog: _optionalChain([effectiveModes, 'access', _1305 => _1305.mingo, 'optionalAccess', _1306 => _1306.unarchiveDialog]),
|
|
50882
50933
|
searchQuery: void 0,
|
|
50883
50934
|
onSearchChange: void 0
|
|
50884
50935
|
};
|
|
@@ -50892,7 +50943,7 @@ function EmbeddableChatInner({
|
|
|
50892
50943
|
if (controlledActiveMode === void 0) {
|
|
50893
50944
|
setUncontrolledActiveMode(next);
|
|
50894
50945
|
}
|
|
50895
|
-
_optionalChain([onActiveModeChange, 'optionalCall',
|
|
50946
|
+
_optionalChain([onActiveModeChange, 'optionalCall', _1307 => _1307(next)]);
|
|
50896
50947
|
},
|
|
50897
50948
|
[controlledActiveMode, onActiveModeChange]
|
|
50898
50949
|
);
|
|
@@ -50914,7 +50965,7 @@ function EmbeddableChatInner({
|
|
|
50914
50965
|
const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
|
|
50915
50966
|
const effectiveAssistantName = emptyStateConfig.name;
|
|
50916
50967
|
const effectiveAssistantIcon = emptyStateConfig.icon;
|
|
50917
|
-
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess',
|
|
50968
|
+
const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1308 => _1308.title]) === "string" ? guideWelcome.title : null)));
|
|
50918
50969
|
const {
|
|
50919
50970
|
messages: rawMessages,
|
|
50920
50971
|
isLoading: chatLoading,
|
|
@@ -50954,7 +51005,7 @@ function EmbeddableChatInner({
|
|
|
50954
51005
|
if (activeMode !== "guide" || guidePromptSentRef.current) return;
|
|
50955
51006
|
guidePromptSentRef.current = true;
|
|
50956
51007
|
void sendMessage(guidePendingPrompt);
|
|
50957
|
-
_optionalChain([onGuidePromptConsumed, 'optionalCall',
|
|
51008
|
+
_optionalChain([onGuidePromptConsumed, 'optionalCall', _1309 => _1309()]);
|
|
50958
51009
|
}, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
|
|
50959
51010
|
const {
|
|
50960
51011
|
attachments: stagedAttachments,
|
|
@@ -50965,7 +51016,7 @@ function EmbeddableChatInner({
|
|
|
50965
51016
|
clear: clearAttachments
|
|
50966
51017
|
} = useChatAttachments();
|
|
50967
51018
|
const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
|
|
50968
|
-
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
51019
|
+
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1310 => _1310.maxItems]), () => ( 10));
|
|
50969
51020
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
50970
51021
|
const [contextItems, setContextItems] = _react.useState.call(void 0, []);
|
|
50971
51022
|
const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
|
|
@@ -50982,10 +51033,10 @@ function EmbeddableChatInner({
|
|
|
50982
51033
|
}, [activeDialogId, activeMode]);
|
|
50983
51034
|
const mentionMarkerByType = _react.useMemo.call(void 0, () => {
|
|
50984
51035
|
const m = /* @__PURE__ */ new Map();
|
|
50985
|
-
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess',
|
|
51036
|
+
for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1311 => _1311.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
|
|
50986
51037
|
return m;
|
|
50987
|
-
}, [_optionalChain([contextPicker, 'optionalAccess',
|
|
50988
|
-
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess',
|
|
51038
|
+
}, [_optionalChain([contextPicker, 'optionalAccess', _1312 => _1312.entityTypes])]);
|
|
51039
|
+
const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1313 => _1313.entityTypes]);
|
|
50989
51040
|
const resolveContextIcon = _react.useMemo.call(void 0, () => {
|
|
50990
51041
|
const byType = /* @__PURE__ */ new Map();
|
|
50991
51042
|
for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
|
|
@@ -50997,7 +51048,7 @@ function EmbeddableChatInner({
|
|
|
50997
51048
|
if (mentionActiveRef.current) {
|
|
50998
51049
|
if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
|
|
50999
51050
|
if (contextItems.length >= contextMaxItems) return;
|
|
51000
|
-
_optionalChain([chatInputRef, 'access',
|
|
51051
|
+
_optionalChain([chatInputRef, 'access', _1314 => _1314.current, 'optionalAccess', _1315 => _1315.commitMention, 'call', _1316 => _1316(mentionTokenOf(key, mentionMarkerByType), {
|
|
51001
51052
|
label: item.label,
|
|
51002
51053
|
icon: resolveContextIcon(item)
|
|
51003
51054
|
})]);
|
|
@@ -51019,9 +51070,9 @@ function EmbeddableChatInner({
|
|
|
51019
51070
|
setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
|
|
51020
51071
|
if (mentionKeysRef.current.has(key)) {
|
|
51021
51072
|
mentionKeysRef.current.delete(key);
|
|
51022
|
-
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access',
|
|
51073
|
+
const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1317 => _1317.current, 'optionalAccess', _1318 => _1318.getValue, 'call', _1319 => _1319()]), () => ( ""));
|
|
51023
51074
|
const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
|
|
51024
|
-
_optionalChain([chatInputRef, 'access',
|
|
51075
|
+
_optionalChain([chatInputRef, 'access', _1320 => _1320.current, 'optionalAccess', _1321 => _1321.setValue, 'call', _1322 => _1322(next)]);
|
|
51025
51076
|
}
|
|
51026
51077
|
}, [mentionMarkerByType]);
|
|
51027
51078
|
const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
|
|
@@ -51038,7 +51089,7 @@ function EmbeddableChatInner({
|
|
|
51038
51089
|
}, []);
|
|
51039
51090
|
const closeContextPicker = _react.useCallback.call(void 0, () => {
|
|
51040
51091
|
if (mentionActiveRef.current) {
|
|
51041
|
-
_optionalChain([chatInputRef, 'access',
|
|
51092
|
+
_optionalChain([chatInputRef, 'access', _1323 => _1323.current, 'optionalAccess', _1324 => _1324.removeMentionTrigger, 'call', _1325 => _1325()]);
|
|
51042
51093
|
}
|
|
51043
51094
|
setContextPickerOpen(false);
|
|
51044
51095
|
setMentionQuery(null);
|
|
@@ -51072,8 +51123,8 @@ function EmbeddableChatInner({
|
|
|
51072
51123
|
[]
|
|
51073
51124
|
);
|
|
51074
51125
|
const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
|
|
51075
|
-
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess',
|
|
51076
|
-
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess',
|
|
51126
|
+
const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1326 => _1326.firstName]), _optionalChain([identityUser, 'optionalAccess', _1327 => _1327.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1328 => _1328.name, 'optionalAccess', _1329 => _1329.trim, 'call', _1330 => _1330()]) || void 0 : void 0;
|
|
51127
|
+
const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1331 => _1331.avatarUrl, 'optionalAccess', _1332 => _1332.trim, 'call', _1333 => _1333()]) || void 0 : void 0;
|
|
51077
51128
|
const messages = _react.useMemo.call(void 0, () => {
|
|
51078
51129
|
const cache = timestampCacheRef.current;
|
|
51079
51130
|
const seenIds = /* @__PURE__ */ new Set();
|
|
@@ -51242,9 +51293,9 @@ function EmbeddableChatInner({
|
|
|
51242
51293
|
const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
|
|
51243
51294
|
const lastSources = _react.useMemo.call(void 0, () => {
|
|
51244
51295
|
if (chatLoading) return void 0;
|
|
51245
|
-
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
51296
|
+
const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1334 => _1334.sources]);
|
|
51246
51297
|
if (!sources || sources.length === 0) return void 0;
|
|
51247
|
-
const content = _optionalChain([lastAssistantMsg, 'optionalAccess',
|
|
51298
|
+
const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1335 => _1335.content]) || "";
|
|
51248
51299
|
const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
|
|
51249
51300
|
(m) => parseInt(m[1], 10)
|
|
51250
51301
|
);
|
|
@@ -51291,7 +51342,7 @@ function EmbeddableChatInner({
|
|
|
51291
51342
|
ChatPanelHeader,
|
|
51292
51343
|
{
|
|
51293
51344
|
showBack: hasConversation || guideCanReturnToMingo,
|
|
51294
|
-
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess',
|
|
51345
|
+
title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1336 => _1336.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
|
|
51295
51346
|
backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
|
|
51296
51347
|
isArchivedView: isViewingArchived,
|
|
51297
51348
|
onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
|
|
@@ -51412,9 +51463,9 @@ function EmbeddableChatInner({
|
|
|
51412
51463
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
51413
51464
|
subtitleLoading: emptyStateLoading,
|
|
51414
51465
|
...guideWelcome,
|
|
51415
|
-
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
51416
|
-
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess',
|
|
51417
|
-
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess',
|
|
51466
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1337 => _1337.title]))),
|
|
51467
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1338 => _1338.icon]))),
|
|
51468
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1339 => _1339.quickActions]), () => ( guideSuggestedActions)),
|
|
51418
51469
|
onQuickAction: (action) => {
|
|
51419
51470
|
setQuickActionPreview(null);
|
|
51420
51471
|
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
@@ -52530,5 +52581,5 @@ function EmbeddableChatInner({
|
|
|
52530
52581
|
|
|
52531
52582
|
|
|
52532
52583
|
|
|
52533
|
-
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; 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.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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; 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.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.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.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.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.fetchPriorityProp = fetchPriorityProp; 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.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; 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.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; 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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.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.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; 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.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.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.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.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.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.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; 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.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; 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.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.BackToLoginLink = BackToLoginLink; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.AcceptInvitationForm = AcceptInvitationForm; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.PasswordInput = PasswordInput; 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.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.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;
|
|
52534
|
-
//# sourceMappingURL=chunk-
|
|
52584
|
+
exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; 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.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.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; 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.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.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.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.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.fetchPriorityProp = fetchPriorityProp; 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.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; 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.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; 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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.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.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; 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.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.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.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.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.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.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.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.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; 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.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; 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.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.BackToLoginLink = BackToLoginLink; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.AcceptInvitationForm = AcceptInvitationForm; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.PasswordInput = PasswordInput; 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.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.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.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.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;
|
|
52585
|
+
//# sourceMappingURL=chunk-VFK5CZNU.cjs.map
|