@flamingo-stack/openframe-frontend-core 0.0.552 → 0.0.553-1815.4815.1

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