@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.
Files changed (99) hide show
  1. package/dist/{chunk-VXJBE5NX.cjs → chunk-2LHLX7GH.cjs} +59 -59
  2. package/dist/{chunk-VXJBE5NX.cjs.map → chunk-2LHLX7GH.cjs.map} +1 -1
  3. package/dist/{chunk-WIMXB5EU.js → chunk-3ML4WLFP.js} +4 -4
  4. package/dist/{chunk-7MKU2EB4.cjs → chunk-5SBJ77M7.cjs} +26 -26
  5. package/dist/{chunk-7MKU2EB4.cjs.map → chunk-5SBJ77M7.cjs.map} +1 -1
  6. package/dist/{chunk-BJPQJNSC.js → chunk-7W3B6ZGK.js} +4 -4
  7. package/dist/{chunk-2JCSORCJ.cjs → chunk-BIWPZS54.cjs} +26 -26
  8. package/dist/{chunk-2JCSORCJ.cjs.map → chunk-BIWPZS54.cjs.map} +1 -1
  9. package/dist/{chunk-ZFZAHLI4.cjs → chunk-C5BJFGOU.cjs} +7 -7
  10. package/dist/{chunk-ZFZAHLI4.cjs.map → chunk-C5BJFGOU.cjs.map} +1 -1
  11. package/dist/{chunk-3JQUNKWY.cjs → chunk-CLXHPRN2.cjs} +15 -15
  12. package/dist/{chunk-3JQUNKWY.cjs.map → chunk-CLXHPRN2.cjs.map} +1 -1
  13. package/dist/{chunk-KA4WXCN3.js → chunk-DRWFCYDM.js} +4 -4
  14. package/dist/{chunk-CQXHHVMR.js → chunk-DV5O2VU7.js} +2 -2
  15. package/dist/{chunk-TQZLC3BQ.cjs → chunk-DVDB5FJ7.cjs} +5 -5
  16. package/dist/{chunk-TQZLC3BQ.cjs.map → chunk-DVDB5FJ7.cjs.map} +1 -1
  17. package/dist/{chunk-EHTE3CTT.cjs → chunk-EI45U7WT.cjs} +37 -37
  18. package/dist/{chunk-EHTE3CTT.cjs.map → chunk-EI45U7WT.cjs.map} +1 -1
  19. package/dist/{chunk-LFLFQ422.js → chunk-HATQB5CS.js} +2 -2
  20. package/dist/{chunk-Q4YGG3CL.cjs → chunk-KC5MY4HW.cjs} +31 -31
  21. package/dist/{chunk-Q4YGG3CL.cjs.map → chunk-KC5MY4HW.cjs.map} +1 -1
  22. package/dist/{chunk-4OLIDOLO.js → chunk-LC3W676Z.js} +2 -2
  23. package/dist/{chunk-M6ODI2F5.js → chunk-N6LX6CYY.js} +2 -2
  24. package/dist/{chunk-JSFHTIKA.js → chunk-OKUDGO3Q.js} +2 -2
  25. package/dist/{chunk-OBKCQ7LA.cjs → chunk-RBFGCUWO.cjs} +62 -62
  26. package/dist/{chunk-OBKCQ7LA.cjs.map → chunk-RBFGCUWO.cjs.map} +1 -1
  27. package/dist/{chunk-XGOX5UQ2.js → chunk-SI6DI5HC.js} +4 -4
  28. package/dist/{chunk-MIEODAAV.cjs → chunk-TIJP7OPH.cjs} +9 -9
  29. package/dist/{chunk-MIEODAAV.cjs.map → chunk-TIJP7OPH.cjs.map} +1 -1
  30. package/dist/{chunk-GNB5ERZP.cjs → chunk-VFK5CZNU.cjs} +1025 -974
  31. package/dist/chunk-VFK5CZNU.cjs.map +1 -0
  32. package/dist/{chunk-IDWKP5H5.js → chunk-VIKH44M7.js} +1492 -1441
  33. package/dist/chunk-VIKH44M7.js.map +1 -0
  34. package/dist/{chunk-NULFIYK2.js → chunk-WL4YNYJN.js} +2 -2
  35. package/dist/{chunk-44Q3IXZM.js → chunk-Y6SVPXGD.js} +2 -2
  36. package/dist/{chunk-MPOP47ME.cjs → chunk-ZLMIJ3EN.cjs} +12 -12
  37. package/dist/{chunk-MPOP47ME.cjs.map → chunk-ZLMIJ3EN.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/auth/accept-invitation-form.d.ts +2 -2
  51. package/dist/components/features/auth/accept-invitation-form.d.ts.map +1 -1
  52. package/dist/components/features/index.cjs +2 -2
  53. package/dist/components/features/index.js +1 -1
  54. package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
  55. package/dist/components/features/time-tracker/time-tracker-header-button.d.ts +5 -2
  56. package/dist/components/features/time-tracker/time-tracker-header-button.d.ts.map +1 -1
  57. package/dist/components/help-center-pages/index.cjs +20 -20
  58. package/dist/components/help-center-pages/index.js +11 -11
  59. package/dist/components/index.cjs +120 -120
  60. package/dist/components/index.js +9 -9
  61. package/dist/components/navigation/app-header.d.ts.map +1 -1
  62. package/dist/components/navigation/app-layout-context.d.ts +34 -0
  63. package/dist/components/navigation/app-layout-context.d.ts.map +1 -0
  64. package/dist/components/navigation/app-layout-drawer.d.ts.map +1 -1
  65. package/dist/components/navigation/app-layout.d.ts +2 -21
  66. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  67. package/dist/components/navigation/index.cjs +2 -2
  68. package/dist/components/navigation/index.js +1 -1
  69. package/dist/components/onboarding-guides/index.cjs +5 -5
  70. package/dist/components/onboarding-guides/index.js +4 -4
  71. package/dist/components/related-content/index.cjs +3 -3
  72. package/dist/components/related-content/index.js +2 -2
  73. package/dist/components/tickets/index.cjs +5 -5
  74. package/dist/components/tickets/index.js +4 -4
  75. package/dist/components/ui/index.cjs +2 -2
  76. package/dist/components/ui/index.js +1 -1
  77. package/dist/index.cjs +2 -2
  78. package/dist/index.js +1 -1
  79. package/package.json +1 -1
  80. package/src/components/features/auth/accept-invitation-form.tsx +4 -4
  81. package/src/components/features/notifications/notification-drawer.tsx +72 -43
  82. package/src/components/features/time-tracker/time-tracker-header-button.tsx +46 -6
  83. package/src/components/navigation/app-header.tsx +13 -9
  84. package/src/components/navigation/app-layout-context.ts +46 -0
  85. package/src/components/navigation/app-layout-drawer.tsx +21 -11
  86. package/src/components/navigation/app-layout.tsx +17 -39
  87. package/dist/chunk-GNB5ERZP.cjs.map +0 -1
  88. package/dist/chunk-IDWKP5H5.js.map +0 -1
  89. /package/dist/{chunk-WIMXB5EU.js.map → chunk-3ML4WLFP.js.map} +0 -0
  90. /package/dist/{chunk-BJPQJNSC.js.map → chunk-7W3B6ZGK.js.map} +0 -0
  91. /package/dist/{chunk-KA4WXCN3.js.map → chunk-DRWFCYDM.js.map} +0 -0
  92. /package/dist/{chunk-CQXHHVMR.js.map → chunk-DV5O2VU7.js.map} +0 -0
  93. /package/dist/{chunk-LFLFQ422.js.map → chunk-HATQB5CS.js.map} +0 -0
  94. /package/dist/{chunk-4OLIDOLO.js.map → chunk-LC3W676Z.js.map} +0 -0
  95. /package/dist/{chunk-M6ODI2F5.js.map → chunk-N6LX6CYY.js.map} +0 -0
  96. /package/dist/{chunk-JSFHTIKA.js.map → chunk-OKUDGO3Q.js.map} +0 -0
  97. /package/dist/{chunk-XGOX5UQ2.js.map → chunk-SI6DI5HC.js.map} +0 -0
  98. /package/dist/{chunk-NULFIYK2.js.map → chunk-WL4YNYJN.js.map} +0 -0
  99. /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 React103 = _interopRequireWildcard(_react); var React102 = _interopRequireWildcard(_react); var React100 = _interopRequireWildcard(_react); var React99 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react); var React104 = _interopRequireWildcard(_react); var React112 = _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);
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, readOnly: 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', _582 => _582(id)]);
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', _583 => _583(id)]) },
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
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
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', _584 => _584[0], 'optionalAccess', _585 => _585.isIntersecting])) _optionalChain([loadMoreRef, 'access', _586 => _586.current, 'optionalCall', _587 => _587()]);
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', _588 => _588(n, { onComplete, onSettle, liveDurationMs })]);
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', _589 => _589(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
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', _590 => _590.meta, 'optionalAccess', _591 => _591.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
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', _592 => _592.approvalRequestId]);
32387
- const toolCalls = _optionalChain([meta, 'optionalAccess', _593 => _593.toolCalls]);
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', _594 => _594.dialogId]), () => ( null)),
32392
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _595 => _595.ticketId]), () => ( null)),
32393
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _596 => _596.approvalType]), () => ( null)),
32394
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _597 => _597.resolution]), () => ( null)),
32395
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _598 => _598.resolvedByName]), () => ( null)),
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', _599 => _599.resolution]));
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 (e38) {
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 = React98.createContext(null);
33025
+ var TimeTrackerContext = React99.createContext(null);
32523
33026
  function TimeTrackerProvider({ children, defaultOpen = false, ...data }) {
32524
- const [isOpen, setIsOpen] = React98.useState(defaultOpen);
32525
- const open = React98.useCallback(() => setIsOpen(true), []);
32526
- const close = React98.useCallback(() => setIsOpen(false), []);
32527
- const toggle = React98.useCallback(() => setIsOpen((v) => !v), []);
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 = React98.useContext(TimeTrackerContext);
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 React98.useContext(TimeTrackerContext);
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', _600 => _600(value)]);
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', _601 => _601(value)]);
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', _602 => _602(entry)]),
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', _603 => _603.status]), () => ( "ready")),
32902
- runningSince: _optionalChain([ctx, 'optionalAccess', _604 => _604.runningSince]),
32903
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _605 => _605.accumulatedMs])
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 { isOpen, open, close, status } = ctx;
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] = React99.useState(false);
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 = React100.useMemo(
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', _606 => _606.deviceHostnames, 'optionalAccess', _607 => _607.length]) || ticket.organizationName);
33725
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _623 => _623.deviceHostnames, 'optionalAccess', _624 => _624.length]) || ticket.organizationName);
33200
33726
  const deviceText = [
33201
- _optionalChain([ticket, 'access', _608 => _608.deviceHostnames, 'optionalAccess', _609 => _609.join, 'call', _610 => _610(", ")]),
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', _611 => _611.assignees, 'optionalAccess', _612 => _612.length]) || renderAssignSlot);
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', _613 => _613.assignees, 'optionalAccess', _614 => _614.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
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', _615 => _615.tags, 'optionalAccess', _616 => _616.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
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 = React101.forwardRef(
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 = React102.useMemo(() => column.tickets.map((t) => t.id), [column.tickets]);
33424
- const droppableData = React102.useMemo(
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 = React102.useRef(null);
33434
- const sentinelRef = React102.useRef(null);
33435
- const loadMoreRef = React102.useRef(onLoadMore);
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 = React102.useRef(column.id);
33963
+ const columnIdRef = React103.useRef(column.id);
33438
33964
  columnIdRef.current = column.id;
33439
- React102.useEffect(() => {
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', _617 => _617.current, 'optionalCall', _618 => _618(columnIdRef.current)]);
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 = React102.useCallback(
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', _619 => _619(t.id)]),
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 = React102.useMemo(
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] = React103.useState(columns);
33563
- const isDraggingRef = React103.useRef(false);
33564
- React103.useEffect(() => {
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 = React103.useRef(null);
33568
- const [activeTicket, setActiveTicket] = React103.useState(null);
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 = React103.useCallback((args) => {
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', _620 => _620.data, 'optionalAccess', _621 => _621.droppableContainer, 'optionalAccess', _622 => _622.data, 'optionalAccess', _623 => _623.current, 'optionalAccess', _624 => _624.type]) === "ticket"
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', _625 => _625.data, 'optionalAccess', _626 => _626.droppableContainer, 'optionalAccess', _627 => _627.data, 'optionalAccess', _628 => _628.current, 'optionalAccess', _629 => _629.type]) === "column"
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', _630 => _630.data, 'optionalAccess', _631 => _631.droppableContainer, 'optionalAccess', _632 => _632.data, 'optionalAccess', _633 => _633.current, 'optionalAccess', _634 => _634.columnId]);
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', _635 => _635.type]) === "ticket" && d.columnId === columnId;
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', _636 => _636(items, activeId), 'optionalAccess', _637 => _637.columnId]);
33613
- const toColumnId = _optionalChain([overData, 'optionalAccess', _638 => _638.columnId]);
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', _639 => _639.fromColumnId]) === toColumnId;
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', _640 => _640.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33619
- if (_optionalChain([targetCol, 'optionalAccess', _641 => _641.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
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', _642 => _642.type]) === "column") {
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', _643 => _643.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _644 => _644.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
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', _645 => _645.find, 'call', _646 => _646((c) => c.id === toColumnId), 'optionalAccess', _647 => _647.tickets]), () => ( []));
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', _648 => _648.type]) === "ticket") {
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', _649 => _649[finalIndex - 1], 'optionalAccess', _650 => _650.id]), () => ( null)),
33695
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _651 => _651[finalIndex + 1], 'optionalAccess', _652 => _652.id]), () => ( null))
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', _653 => _653.system]));
33725
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _654 => _654.system]));
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, React103.Fragment, { children: [
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', _655 => _655.find, 'call', _656 => _656((c) => c.id === activeTicket.columnId), 'optionalAccess', _657 => _657.color]),
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', _658 => _658.find, 'call', _659 => _659((c) => c.id === columnId), 'optionalAccess', _660 => _660.tickets, 'access', _661 => _661.findIndex, 'call', _662 => _662((t) => t.id === ticketId)]), () => ( -1));
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 = React104.useMemo(() => items.map((i) => i.id), [items]);
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', _663 => _663.children, 'optionalAccess', _664 => _664.length]), () => ( 0))) - 1 && "mb-1",
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', _665 => _665.actions, 'optionalAccess', _666 => _666.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
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', _667 => _667.actions, 'optionalAccess', _668 => _668.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
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', _669 => _669.mobile, 'optionalAccess', _670 => _670.onToggle, 'optionalCall', _671 => _671()]);
34685
+ _optionalChain([config, 'access', _686 => _686.mobile, 'optionalAccess', _687 => _687.onToggle, 'optionalCall', _688 => _688()]);
34160
34686
  },
34161
- "aria-label": _optionalChain([config, 'access', _672 => _672.mobile, 'optionalAccess', _673 => _673.isOpen]) ? "Close menu" : "Open menu",
34162
- leftIcon: _optionalChain([config, 'access', _674 => _674.mobile, 'optionalAccess', _675 => _675.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
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', _676 => _676.navigation]) && config.navigation.items.length > 0;
34180
- const showActions = _optionalChain([config, 'optionalAccess', _677 => _677.actions, 'optionalAccess', _678 => _678.right]) && config.actions.right.length > 0;
34181
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _679 => _679.mobile, 'optionalAccess', _680 => _680.enabled]);
34182
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _681 => _681.className, 'optionalAccess', _682 => _682.includes, 'call', _683 => _683("admin")]);
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', _684 => _684.className])
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', _685 => _685.actions, 'optionalAccess', _686 => _686.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" }) }),
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', _687 => _687.navigation, 'optionalAccess', _688 => _688.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
34204
- _optionalChain([config, 'optionalAccess', _689 => _689.navigation, 'optionalAccess', _690 => _690.position]) === "right" && "ml-auto mr-4"
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', _691 => _691.onClose, 'optionalCall', _692 => _692()]);
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', _693 => _693.onClose, 'optionalCall', _694 => _694()]);
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', _695 => _695.onClick, 'optionalCall', _696 => _696()]);
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', _697 => _697.onClick, 'optionalCall', _698 => _698()]);
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', _699 => _699[0], 'optionalAccess', _700 => _700.id]) || "");
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', _701 => _701[0], 'optionalAccess', _702 => _702.id]) || "";
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', _703 => _703.onToggleMinimized, 'optionalCall', _704 => _704()]);
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', _705 => _705.stopPropagation, 'call', _706 => _706()]);
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', _707 => _707.onNavigate, 'optionalCall', _708 => _708(item.path)]);
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', _709 => _709(currentValue)]);
35473
+ _optionalChain([onSubmit, 'optionalCall', _726 => _726(currentValue)]);
34948
35474
  };
34949
35475
  const handleKeyDown = (e) => {
34950
35476
  if (e.key === "Enter") {
34951
- _optionalChain([onSubmit, 'optionalCall', _710 => _710(currentValue)]);
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', _711 => _711.name]) || "All Organizations";
35046
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _712 => _712.deviceCount]), () => ( totalDeviceCount));
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', _713 => _713("")]), children: "All Organizations" }),
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', _714 => _714(org.id)]),
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', _715 => _715.unreadCount]), () => ( fallbackUnreadCount))) > 0;
35266
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _716 => _716.isOpen]), () => ( false));
35267
- const onClick = _optionalChain([ctx, 'optionalAccess', _717 => _717.toggle]);
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', _718 => _718.onNavigate, 'optionalCall', _719 => _719(item.path)]);
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: () => setMobileMenuOpen(false),
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', _728 => _728.toUpperCase, 'call', _729 => _729()]);
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', _730 => _730.onSkip, 'optionalCall', _731 => _731()]);
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', _732 => _732()]);
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', _733 => _733()]);
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', _734 => _734(log)])
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', _735 => _735(newValue)]);
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', _736 => _736("")]),
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', _737 => _737("")]),
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', _738 => _738.label]),
37600
- onButtonClick: _optionalChain([action, 'optionalAccess', _739 => _739.onClick]),
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', _740 => _740[columnKey], 'optionalAccess', _741 => _741.length]) || 0;
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', _742 => _742[columnKey]]) || [] },
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', _743 => _743.key]);
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', _744 => _744[key]]);
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', _745 => _745.length])) || Boolean(renderRowActions);
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', _746 => _746.toString, 'call', _747 => _747()]) || index.toString();
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', _748 => _748.onLoadMore]));
38187
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _749 => _749.onLoadMore]);
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', _750 => _750.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
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', _751 => _751[0], 'optionalAccess', _752 => _752.isIntersecting])) {
38195
- _optionalChain([onLoadMoreRef, 'access', _753 => _753.current, 'optionalCall', _754 => _754()]);
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', _755 => _755.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _756 => _756.isFetchingNextPage])]);
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', _757 => _757.motionDiv])
38323
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _766 => _766.motionDiv])
38273
38324
  },
38274
38325
  getRowKey(item, index)
38275
38326
  ));
38276
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _758 => _758.LayoutGroup]);
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', _759 => _759.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
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', _760 => _760.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
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', _761 => _761()]);
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', _762 => _762.length]), () => ( 0));
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', _763 => _763.column, 'access', _764 => _764.columnDef, 'access', _765 => _765.meta, 'optionalAccess', _766 => _766.filter]));
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', _767 => _767.filter]));
38930
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _768 => _768.align]), () => ( "left"));
38931
- const canSort = _optionalChain([meta, 'optionalAccess', _769 => _769.sortable]) === true;
38932
- const sortDir = _optionalChain([sort, 'optionalAccess', _770 => _770.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
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', _771 => _771.width]) || "flex-1 min-w-0"),
38940
- _optionalChain([meta, 'optionalAccess', _772 => _772.headerClassName]),
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', _773 => _773.hideAt]))
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', _774 => _774(column.id)]) : void 0,
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', _775 => _775[0], 'optionalAccess', _776 => _776.id]);
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', _777 => _777.width]) || "flex-1"
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', _778 => _778.current, 'optionalAccess', _779 => _779.contains, 'call', _780 => _780(target)])) {
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', _781 => _781(row.original)]);
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', _782 => _782.align])),
39134
- _optionalChain([meta, 'optionalAccess', _783 => _783.width]) || "flex-1 min-w-0",
39135
- _optionalChain([meta, 'optionalAccess', _784 => _784.cellClassName]),
39136
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _785 => _785.hideAt]))
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', _786 => _786(item)]), () => ( void 0));
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', _787 => _787(item)])
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', _788 => _788[0], 'optionalAccess', _789 => _789.isIntersecting])) onLoadMoreRef.current();
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', _790 => _790(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
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', _791 => _791.current, 'optionalAccess', _792 => _792.contains, 'call', _793 => _793(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _794 => _794.current, 'optionalAccess', _795 => _795.contains, 'call', _796 => _796(target)])) {
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', _797 => _797.current, 'optionalAccess', _798 => _798.focus, 'call', _799 => _799()]);
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', _800 => _800(
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', _801 => _801(currentValue)]);
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', _802 => _802.current, 'optionalAccess', _803 => _803.focus, 'call', _804 => _804()]);
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', _805 => _805.current, 'optionalAccess', _806 => _806.focus, 'call', _807 => _807()]);
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', _808 => _808.current, 'optionalAccess', _809 => _809.contains, 'call', _810 => _810(e.target)])) {
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', _811 => _811.current, 'optionalAccess', _812 => _812.getBoundingClientRect, 'call', _813 => _813(), 'access', _814 => _814.left]), () => ( 0))) : 0
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', _815 => _815(value2)]);
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', _816 => _816(!selected)]);
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', _817 => _817(c === true)]),
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', _818 => _818.current, 'optionalAccess', _819 => _819.contains, 'call', _820 => _820(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _821 => _821.current, 'optionalAccess', _822 => _822.contains, 'call', _823 => _823(target)])) {
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', _824 => _824(e)]);
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', _825 => _825()]);
39976
- _optionalChain([inputRef, 'access', _826 => _826.current, 'optionalAccess', _827 => _827.focus, 'call', _828 => _828()]);
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', _829 => _829.current, 'optionalAccess', _830 => _830.focus, 'call', _831 => _831()]);
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', _832 => _832.current, 'optionalAccess', _833 => _833.getBoundingClientRect, 'call', _834 => _834(), 'access', _835 => _835.left]), () => ( 0))) : 0
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', _836 => _836.commands, 'optionalAccess', _837 => _837.getExtraCommands])) {
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})` : `[${file.name}](${url})`;
40199
40250
  insertTextAtCursor(markdown);
40200
- _optionalChain([onFileUploaded, 'optionalCall', _838 => _838(url, file.name)]);
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', _839 => _839.target, 'access', _840 => _840.files, 'optionalAccess', _841 => _841[0]]);
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', _842 => _842.clipboardData, 'optionalAccess', _843 => _843.items]);
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', _844 => _844.current, 'optionalAccess', _845 => _845.click, 'call', _846 => _846()]);
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', _847 => _847.parentElement]);
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', _848 => _848.dataTransfer, 'optionalAccess', _849 => _849.types]);
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', _850 => _850.dataTransfer, 'access', _851 => _851.files, 'optionalAccess', _852 => _852.length])) {
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', _853 => _853.dataTransfer, 'optionalAccess', _854 => _854.files, 'optionalAccess', _855 => _855.length])) {
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', _856 => _856.target, 'access', _857 => _857.files, 'optionalAccess', _858 => _858.length])) {
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', _859 => _859.current, 'optionalAccess', _860 => _860.click, 'call', _861 => _861()]);
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', _862 => _862(entry.id)]),
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', _863 => _863.target, 'access', _864 => _864.files, 'optionalAccess', _865 => _865[0]]));
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', _866 => _866.dataTransfer, 'access', _867 => _867.files, 'optionalAccess', _868 => _868[0]]));
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', _869 => _869.current, 'optionalAccess', _870 => _870.click, 'call', _871 => _871()]);
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', _872 => _872.label]), () => ( "Custom"));
40971
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _873 => _873.color]), () => ( value));
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', _874 => _874(e.target.value)]),
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', _875 => _875.imageSrc]),
41635
- alt: _optionalChain([organization, 'optionalAccess', _876 => _876.name]),
41636
- fallback: _optionalChain([organization, 'optionalAccess', _877 => _877.name]) || "Org",
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', _878 => _878.name]) || "Unassigned", label: "Organization" })
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', _879 => _879.name]) || "Unassigned",
41713
+ value: _optionalChain([device, 'optionalAccess', _888 => _888.name]) || "Unassigned",
41663
41714
  label: "Device",
41664
- icon: _optionalChain([device, 'optionalAccess', _880 => _880.icon]),
41665
- onClick: _optionalChain([device, 'optionalAccess', _881 => _881.onClick])
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', _882 => _882.screenshots, 'optionalAccess', _883 => _883.length]), () => ( 0))) > 0;
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', _884 => _884.title, 'optionalAccess', _885 => _885.substring, 'call', _886 => _886(0, 2)]) || "??" })
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', _887 => _887.title, 'optionalAccess', _888 => _888.substring, 'call', _889 => _889(0, 2)]) || "??" }) }),
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', _890 => _890.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
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', _891 => _891.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _892 => _892.locale, 'optionalAccess', _893 => _893.options, 'optionalAccess', _894 => _894.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _895 => _895.locale, 'optionalAccess', _896 => _896.options, 'optionalAccess', _897 => _897.weekStartsOn]))), () => ( 0));
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', _898 => _898.addSuffix])) {
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', _899 => _899.context]) ? String(options.context) : "standalone";
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', _900 => _900.width]) ? String(options.width) : defaultWidth;
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', _901 => _901.width]) ? String(options.width) : args.defaultWidth;
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', _902 => _902.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _903 => _903.locale, 'optionalAccess', _904 => _904.options, 'optionalAccess', _905 => _905.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _906 => _906.locale, 'optionalAccess', _907 => _907.options, 'optionalAccess', _908 => _908.firstWeekContainsDate]))), () => ( 1));
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', _909 => _909.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _910 => _910.locale, 'optionalAccess', _911 => _911.options, 'optionalAccess', _912 => _912.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _913 => _913.locale, 'optionalAccess', _914 => _914.options, 'optionalAccess', _915 => _915.firstWeekContainsDate]))), () => ( 1));
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', _916 => _916.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
44136
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _917 => _917.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _918 => _918.locale, 'optionalAccess', _919 => _919.options, 'optionalAccess', _920 => _920.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _921 => _921.locale, 'optionalAccess', _922 => _922.options, 'optionalAccess', _923 => _923.firstWeekContainsDate]))), () => ( 1));
44137
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _924 => _924.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _925 => _925.locale, 'optionalAccess', _926 => _926.options, 'optionalAccess', _927 => _927.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _928 => _928.locale, 'optionalAccess', _929 => _929.options, 'optionalAccess', _930 => _930.weekStartsOn]))), () => ( 0));
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', _931 => _931.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _932 => _932.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
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', _933 => _933.labels, 'optionalAccess', _934 => _934.singular])].filter(
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', _935 => _935.goals, 'optionalAccess', _936 => _936.length]) || 0;
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', _937 => _937.docPlatformTargets, 'optionalAccess', _938 => _938[row.documentType]]) : void 0;
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', _939 => _939.label]), () => ( "Open Details")),
44894
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _940 => _940.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
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', _941 => _941.metadata, 'optionalAccess', _942 => _942.status]) === "string" ? chatRef.metadata.status : void 0;
44925
- const statusLabel = typeof _optionalChain([chatRef, 'access', _943 => _943.metadata, 'optionalAccess', _944 => _944.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
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', _945 => _945.metadata, 'optionalAccess', _946 => _946.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
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', _947 => _947.metadata, 'optionalAccess', _948 => _948.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
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', _949 => _949.metadata, 'optionalAccess', _950 => _950.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
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', _951 => _951.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
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', _952 => _952.title]), () => ( "")),
45082
- description: _optionalChain([item, 'optionalAccess', _953 => _953.summary]) || releaseProps.formattedDate || void 0,
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', _954 => _954.goals])) ? item.goals.length : 0;
45150
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _963 => _963.goals])) ? item.goals.length : 0;
45100
45151
  const meta = [
45101
- _optionalChain([item, 'optionalAccess', _955 => _955.start_date]) ? formatDateShort(item.start_date) : null,
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', _956 => _956.name]), () => ( "")),
45109
- description: meta || _optionalChain([item, 'optionalAccess', _957 => _957.description]) || void 0,
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', _958 => _958.categories])) ? _optionalChain([item, 'access', _959 => _959.categories, 'access', _960 => _960.find, 'call', _961 => _961((c) => c && c.name), 'optionalAccess', _962 => _962.name]) : void 0;
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', _963 => _963.title]), () => ( "")),
45168
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _964 => _964.summary]), () => ( void 0)),
45169
- cover: entityCover(_optionalChain([item, 'optionalAccess', _965 => _965.featured_image]), ogPlaceholder),
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', _966 => _966.msp, 'optionalAccess', _967 => _967.name]), _optionalChain([item, 'optionalAccess', _968 => _968.user, 'optionalAccess', _969 => _969.full_name])].filter(Boolean).join(" \xB7 ");
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', _970 => _970.title]), () => ( "")),
45191
- description: _optionalChain([item, 'optionalAccess', _971 => _971.summary]) || meta || void 0,
45192
- cover: entityCover(_optionalChain([item, 'optionalAccess', _972 => _972.featured_image]), ogPlaceholder),
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', _973 => _973.user, 'optionalAccess', _974 => _974.full_name]), _optionalChain([item, 'optionalAccess', _975 => _975.msp, 'optionalAccess', _976 => _976.name])].filter(Boolean).join(" \xB7 ");
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', _977 => _977.title]), () => ( "")),
45214
- description: _optionalChain([item, 'optionalAccess', _978 => _978.video_summary]) || meta || void 0,
45215
- cover: entityCover(_optionalChain([item, 'optionalAccess', _979 => _979.featured_image]), ogPlaceholder),
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', _980 => _980.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _981 => _981.update_number]), () => ( "?"))}`;
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', _982 => _982.strategic_update]) || _optionalChain([item, 'optionalAccess', _983 => _983.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _984 => _984.period_start]), _optionalChain([item, 'optionalAccess', _985 => _985.period_end])) || void 0,
45238
- cover: entityCover(_optionalChain([item, 'optionalAccess', _986 => _986.featured_image]), ogPlaceholder),
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', _987 => _987.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _988 => _988.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _989 => _989.og_image_url]), ogPlaceholder)));
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', _990 => _990.title]), () => ( "")),
45260
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _991 => _991.summary]), () => ( _optionalChain([item, 'optionalAccess', _992 => _992.description]))), () => ( void 0)),
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', _993 => _993.status]) === "scheduled";
45332
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1002 => _1002.status]) === "scheduled";
45282
45333
  let typeMeta;
45283
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _994 => _994.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
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', _995 => _995.location_name]) === "string" && item.location_name.trim().length > 0) {
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', _996 => _996.start_at])) {
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', _997 => _997.date]), () => ( null)), { fallback: "", timezone: "local" });
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', _998 => _998.title]), () => ( "")),
45298
- description: meta || _optionalChain([item, 'optionalAccess', _999 => _999.description]) || void 0,
45299
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1000 => _1000.cover_url]), ogPlaceholder),
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', _1001 => _1001.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
45317
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1002 => _1002.customItemId]) != null;
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', _1003 => _1003.customItemId]), className: "size-6" }) : logoUrl ? (
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', _1004 => _1004.title]), () => ( "")),
45328
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1005 => _1005.description]), () => ( void 0)),
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', _1006 => _1006.status])),
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', _1007 => _1007.extras, 'optionalAccess', _1008 => _1008.buildOgPlaceholderUrl, 'optionalCall', _1009 => _1009(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1010 => _1010.title]), () => ( "")))]), () => ( null))
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', _1011 => _1011.extras, 'optionalAccess', _1012 => _1012.buildOgPlaceholderUrl, 'optionalCall', _1013 => _1013(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1014 => _1014.title]), () => ( "")))]), () => ( null)),
45569
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1015 => _1015.metadata, 'optionalAccess', _1016 => _1016.hasEmbeddedVideo]) === true
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', _1017 => _1017.extras, 'optionalAccess', _1018 => _1018.buildOgPlaceholderUrl, 'optionalCall', _1019 => _1019(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1020 => _1020.title]), () => ( "")))]), () => ( null))
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', _1021 => _1021.extras, 'optionalAccess', _1022 => _1022.buildOgPlaceholderUrl, 'optionalCall', _1023 => _1023(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1024 => _1024.title]), () => ( "")))]), () => ( null))
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', _1025 => _1025.extras, 'optionalAccess', _1026 => _1026.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
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', _1027 => _1027.extras, 'optionalAccess', _1028 => _1028.buildOgPlaceholderUrl, 'optionalCall', _1029 => _1029(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1030 => _1030.title]), () => ( "")))]), () => ( null))
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', _1031 => _1031.extras, 'optionalAccess', _1032 => _1032.buildOgPlaceholderUrl, 'optionalCall', _1033 => _1033(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1034 => _1034.title]), () => ( "")))]), () => ( null))
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', _1035 => _1035.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
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', _1036 => _1036.closest, 'optionalCall', _1037 => _1037("button")])) return;
45699
- if (!_optionalChain([targetEl, 'optionalAccess', _1038 => _1038.closest, 'optionalCall', _1039 => _1039("a")])) return;
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', _1040 => _1040.closeChat])) panel.closeChat();
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', _1041 => _1041.metadata, 'optionalAccess', _1042 => _1042.path]) === "string" ? chatRef.metadata.path : null
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', _1043 => _1043.contentRefType]), () => ( "")),
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', _1044 => _1044.metadata, 'optionalAccess', _1045 => _1045.path]) === "string" ? finalChatRef.metadata.path : null;
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', _1046 => _1046.current, 'optionalCall', _1047 => _1047()]),
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', _1048 => _1048.current, 'optionalCall', _1049 => _1049()]);
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', _1050 => _1050.current, 'optionalCall', _1051 => _1051()]);
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', _1052 => _1052.current, 'optionalCall', _1053 => _1053()]);
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', _1054 => _1054.unsubscribe, 'call', _1055 => _1055()]);
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', _1056 => _1056.current, 'optionalAccess', _1057 => _1057.abort, 'call', _1058 => _1058()]);
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', _1059 => _1059.current, 'optionalCall', _1060 => _1060()]),
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', _1061 => _1061.current, 'optionalCall', _1062 => _1062()]);
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', _1063 => _1063.current, 'optionalCall', _1064 => _1064()]);
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', _1065 => _1065.unsubscribe, 'call', _1066 => _1066()]);
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', _1067 => _1067.current, 'optionalAccess', _1068 => _1068.abort, 'call', _1069 => _1069()]);
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', _1070 => _1070.unsubscribe, 'call', _1071 => _1071()]);
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', _1072 => _1072.current, 'optionalAccess', _1073 => _1073.abort, 'call', _1074 => _1074()]);
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', _1075 => _1075.current, 'optionalCall', _1076 => _1076()]);
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', _1077 => _1077.unsubscribe, 'call', _1078 => _1078()]);
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', _1079 => _1079.current, 'optionalCall', _1080 => _1080()]);
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', _1081 => _1081.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
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', _1082 => _1082.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1083 => _1083.token])) {
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', _1084 => _1084.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1085 => _1085.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
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', _1086 => _1086.data, 'access', _1087 => _1087.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1088 => _1088.toolTitle]))),
46884
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1089 => _1089.parameters])
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', _1090 => _1090.data, 'access', _1091 => _1091.executions, 'optionalAccess', _1092 => _1092[execId]]);
46909
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1093 => _1093.result]), success: _optionalChain([prev, 'optionalAccess', _1094 => _1094.success]) };
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', _1095 => _1095.command]) || "",
47032
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1096 => _1096.explanation]),
47082
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1104 => _1104.command]) || "",
47083
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1105 => _1105.explanation]),
47033
47084
  requestId,
47034
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1097 => _1097.approvalType]) || approvalType
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', _1098 => _1098.onEscalatedApproval, 'optionalCall', _1099 => _1099(requestId, data)]);
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', _1100 => _1100.onSegmentsUpdate, 'optionalCall', _1101 => _1101(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
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', _1102 => _1102.onStreamEnd, 'optionalCall', _1103 => _1103()]);
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', _1104 => _1104.onStreamStart, 'optionalCall', _1105 => _1105()]);
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', _1106 => _1106.onStreamEnd, 'optionalCall', _1107 => _1107()]);
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', _1108 => _1108.onMetadata, 'optionalCall', _1109 => _1109(action)]);
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', _1110 => _1110.onEscalatedApproval, 'optionalCall', _1111 => _1111(requestId, { command, explanation, approvalType })]);
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', _1112 => _1112.toolExplanation]),
47376
+ explanation: _optionalChain([required, 'optionalAccess', _1121 => _1121.toolExplanation]),
47326
47377
  approvalType,
47327
47378
  toolCalls
47328
47379
  });
47329
- _optionalChain([callbacks, 'access', _1113 => _1113.onEscalatedApproval, 'optionalCall', _1114 => _1114(requestId, {
47380
+ _optionalChain([callbacks, 'access', _1122 => _1122.onEscalatedApproval, 'optionalCall', _1123 => _1123(requestId, {
47330
47381
  command: summary,
47331
- explanation: _optionalChain([required, 'optionalAccess', _1115 => _1115.toolExplanation]),
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', _1116 => _1116.onEscalatedApprovalResult, 'optionalCall', _1117 => _1117(requestId, approved, {
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', _1118 => _1118.onApprovalResolved, 'optionalCall', _1119 => _1119(requestId, status, approvalType, resolvedByName)]);
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', _1120 => _1120.details])) {
47463
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1129 => _1129.details])) {
47413
47464
  try {
47414
- message2 = _optionalChain([JSON, 'access', _1121 => _1121.parse, 'call', _1122 => _1122(action.details), 'optionalAccess', _1123 => _1123.error, 'optionalAccess', _1124 => _1124.message]);
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', _1125 => _1125.onError, 'optionalCall', _1126 => _1126(action.error, message2)]);
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', _1127 => _1127.onSystemMessage, 'optionalCall', _1128 => _1128(action.text, { streamSeq })]);
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', _1129 => _1129.onDirectMessage, 'optionalCall', _1130 => _1130(action.text, {
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', _1131 => _1131.onUserMessage, 'optionalCall', _1132 => _1132(action.text, {
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', _1133 => _1133.onTokenUsage, 'optionalCall', _1134 => _1134(action.data)]);
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', _1135 => _1135.onDialogClosed, 'optionalCall', _1136 => _1136()]);
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', _1137 => _1137.name]) === "AbortError") throw err;
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', _1138 => _1138.name]) !== "AbortError") {
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', _1139 => _1139.enabled]), () => ( true)),
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', _1140 => _1140.name]), () => ( null)),
47589
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1141 => _1141.icon]), () => ( null)),
47590
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1142 => _1142.greeting]), () => ( null)),
47591
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1143 => _1143.enabledRagTableIds]), () => ( [])),
47592
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1144 => _1144.quickActions]), () => ( [])),
47593
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1145 => _1145.suggestedQueries]), () => ( []))
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', _1146 => _1146.name]) === "AbortError") throw err;
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', _1147 => _1147.enabled]), () => ( true))) && !!emptyStateUrl;
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', _1148 => _1148.aborted])) {
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', _1149 => _1149.removeEventListener, 'call', _1150 => _1150("abort", handleSignalAbort)]);
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', _1151 => _1151.addEventListener, 'call', _1152 => _1152("abort", handleSignalAbort, { once: true })]);
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', _1153 => _1153.signal, 'access', _1154 => _1154.aborted])) return;
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', _1155 => _1155.signal, 'access', _1156 => _1156.aborted])) return;
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', _1157 => _1157.signal]),
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', _1158 => _1158.signal])
47821
+ _optionalChain([ctrl, 'optionalAccess', _1167 => _1167.signal])
47771
47822
  );
47772
- if (_optionalChain([ctrl, 'optionalAccess', _1159 => _1159.signal, 'access', _1160 => _1160.aborted])) return;
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', _1161 => _1161.signal, 'access', _1162 => _1162.aborted])) return;
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', _1163 => _1163.email]), () => ( null));
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', _1164 => _1164.name]) === "AbortError" || ctrl.signal.aborted) {
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', _1165 => _1165.current, 'optionalCall', _1166 => _1166(messages)]);
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', _1167 => _1167.hidden]) ? { hidden: true } : {}
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', _1168 => _1168.data, 'optionalAccess', _1169 => _1169.requestId]);
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', _1170 => _1170.data, 'optionalAccess', _1171 => _1171.requestId]) === proposalId
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', _1172 => _1172.data, 'optionalAccess', _1173 => _1173.requestId]) === decision.proposalId
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', _1174 => _1174.data, 'optionalAccess', _1175 => _1175.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
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', _1176 => _1176.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
48390
- const requestBody = _optionalChain([extra, 'optionalAccess', _1177 => _1177.approvalAction]) ? {
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', _1178 => _1178.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
48400
- ..._optionalChain([extra, 'optionalAccess', _1179 => _1179.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
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', _1180 => _1180.body, 'optionalAccess', _1181 => _1181.getReader, 'call', _1182 => _1182()]);
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', _1183 => _1183.ref, 'optionalAccess', _1184 => _1184.id]) && _optionalChain([card, 'optionalAccess', _1185 => _1185.type])) {
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', _1186 => _1186.marker]) ? { marker: card.marker } : {},
48507
- ..._optionalChain([card, 'optionalAccess', _1187 => _1187.ref]) ? { cardRef: card.ref } : {},
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', _1188 => _1188.email])) {
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', _1189 => _1189.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
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', _1190 => _1190.current, 'access', _1191 => _1191.get, 'call', _1192 => _1192(lookupIdx), 'optionalAccess', _1193 => _1193.scrollAnchor]), () => ( void 0));
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', _1194 => _1194.metadata, 'optionalAccess', _1195 => _1195.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
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', _1196 => _1196.provider]), () => ( null)),
48907
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1197 => _1197.modelLabel]), () => ( null)),
48908
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1198 => _1198.contextWindowMaxTokens]), () => ( null)),
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', _1199 => _1199.inputTokens]), () => ( null)),
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', _1200 => _1200.outputTokens]), () => ( null)),
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', _1201 => _1201.cacheHitRatePct]), () => ( null)),
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', _1202 => _1202.breakdown]), () => ( null)),
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', _1203 => _1203.type]) === OWNER_TYPE.ADMIN && owner.user) {
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', _1204 => _1204.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
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', _1205 => _1205.user, 'optionalAccess', _1206 => _1206.image, 'optionalAccess', _1207 => _1207.imageUrl]), () => ( void 0));
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', _1208 => _1208.owner, 'optionalAccess', _1209 => _1209.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1210 => _1210.owner, 'optionalAccess', _1211 => _1211.type]) === OWNER_TYPE.ADMIN;
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', _1212 => _1212.owner, 'optionalAccess', _1213 => _1213.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
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', _1214 => _1214.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1215 => _1215.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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', _1216 => _1216.owner, 'optionalAccess', _1217 => _1217.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1218 => _1218.owner, 'optionalAccess', _1219 => _1219.type]) === OWNER_TYPE.ADMIN);
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', _1220 => _1220.set, 'call', _1221 => _1221(data.approvalRequestId, {
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', _1222 => _1222.get, 'call', _1223 => _1223(data.approvalRequestId)]);
49202
- if (_optionalChain([escalatedData, 'optionalAccess', _1224 => _1224.toolCalls]) && escalatedData.toolCalls.length > 0) {
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', _1225 => _1225.delete, 'call', _1226 => _1226(data.approvalRequestId)]);
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', _1227 => _1227.delete, 'call', _1228 => _1228(data.approvalRequestId)]);
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', _1229 => _1229.details])) {
49300
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1238 => _1238.details])) {
49250
49301
  try {
49251
- message2 = _optionalChain([JSON, 'access', _1230 => _1230.parse, 'call', _1231 => _1231(data.details), 'optionalAccess', _1232 => _1232.error, 'optionalAccess', _1233 => _1233.message]);
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', _1234 => _1234.owner, 'optionalAccess', _1235 => _1235.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1236 => _1236.owner, 'optionalAccess', _1237 => _1237.type]) === OWNER_TYPE.ADMIN;
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', _1238 => _1238.owner, 'optionalAccess', _1239 => _1239.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
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', _1240 => _1240.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1241 => _1241.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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', _1242 => _1242.owner, 'optionalAccess', _1243 => _1243.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1244 => _1244.owner, 'optionalAccess', _1245 => _1245.type]) === OWNER_TYPE.ADMIN);
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', _1246 => _1246.hidden]), () => ( false));
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', _1247 => _1247.provider]), () => ( modelProvider)), () => ( null)),
49866
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1248 => _1248.modelLabel]), () => ( modelLabel)), () => ( null)),
49867
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1249 => _1249.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1250 => _1250.contextWindowMaxTokens]))), () => ( null)),
49868
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1251 => _1251.inputTokensSize]), () => ( null)),
49869
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1252 => _1252.outputTokensSize]), () => ( null)),
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', _1253 => _1253.data, 'access', _1254 => _1254.executions, 'optionalAccess', _1255 => _1255[c.toolExecutionRequestId], 'optionalAccess', _1256 => _1256.status]) === "done"
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', _1257 => _1257.role]) === "assistant" ? trailing : null;
50186
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1258 => _1258.content, 'access', _1259 => _1259.find, 'call', _1260 => _1260((s) => s.type === "approval_batch"), 'optionalAccess', _1261 => _1261.data, 'optionalAccess', _1262 => _1262.approvalRequestId]), () => ( null)) : null;
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', _1263 => _1263.data, 'optionalAccess', _1264 => _1264.approvalRequestId]) === historyBatchId
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', _1265 => _1265.content])) ? historyTrailingAssistant.content.length : 0;
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', _1266 => _1266.has, 'call', _1267 => _1267(m.id)])) return false;
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', _1268 => _1268.timestamp, 'optionalAccess', _1269 => _1269.getTime, 'call', _1270 => _1270()]), () => ( 0))) <= historyFetchedAt;
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', _1271 => _1271.timestamp, 'optionalAccess', _1272 => _1272.getTime, 'call', _1273 => _1273()]), () => ( 0))) <= historyFetchedAt;
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', _1274 => _1274(restoreTarget.id)]);
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', _1275 => _1275.firstName, 'optionalAccess', _1276 => _1276.trim, 'call', _1277 => _1277()]) || _optionalChain([identityUser, 'optionalAccess', _1278 => _1278.name, 'optionalAccess', _1279 => _1279.split, 'call', _1280 => _1280(" "), 'access', _1281 => _1281[0], 'optionalAccess', _1282 => _1282.trim, 'call', _1283 => _1283()]) || void 0;
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', _1284 => _1284.canRename]), () => ( false)),
50870
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1285 => _1285.canArchive]), () => ( false)),
50871
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1286 => _1286.fetchArchivedDialogs]),
50872
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1287 => _1287.unarchiveDialog]),
50873
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1288 => _1288.searchQuery]),
50874
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1289 => _1289.onSearchChange])
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', _1290 => _1290.mingo, 'optionalAccess', _1291 => _1291.renameDialog]),
50879
- canArchive: !!_optionalChain([effectiveModes, 'access', _1292 => _1292.mingo, 'optionalAccess', _1293 => _1293.archiveDialog]),
50880
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1294 => _1294.mingo, 'optionalAccess', _1295 => _1295.fetchArchivedDialogs]),
50881
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1296 => _1296.mingo, 'optionalAccess', _1297 => _1297.unarchiveDialog]),
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', _1298 => _1298(next)]);
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', _1299 => _1299.title]) === "string" ? guideWelcome.title : null)));
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', _1300 => _1300()]);
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', _1301 => _1301.maxItems]), () => ( 10));
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', _1302 => _1302.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
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', _1303 => _1303.entityTypes])]);
50988
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1304 => _1304.entityTypes]);
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', _1305 => _1305.current, 'optionalAccess', _1306 => _1306.commitMention, 'call', _1307 => _1307(mentionTokenOf(key, mentionMarkerByType), {
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', _1308 => _1308.current, 'optionalAccess', _1309 => _1309.getValue, 'call', _1310 => _1310()]), () => ( ""));
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', _1311 => _1311.current, 'optionalAccess', _1312 => _1312.setValue, 'call', _1313 => _1313(next)]);
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', _1314 => _1314.current, 'optionalAccess', _1315 => _1315.removeMentionTrigger, 'call', _1316 => _1316()]);
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', _1317 => _1317.firstName]), _optionalChain([identityUser, 'optionalAccess', _1318 => _1318.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1319 => _1319.name, 'optionalAccess', _1320 => _1320.trim, 'call', _1321 => _1321()]) || void 0 : void 0;
51076
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1322 => _1322.avatarUrl, 'optionalAccess', _1323 => _1323.trim, 'call', _1324 => _1324()]) || void 0 : void 0;
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', _1325 => _1325.sources]);
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', _1326 => _1326.content]) || "";
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', _1327 => _1327.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
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', _1328 => _1328.title]))),
51416
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1329 => _1329.icon]))),
51417
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1330 => _1330.quickActions]), () => ( guideSuggestedActions)),
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-GNB5ERZP.cjs.map
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