@flamingo-stack/openframe-frontend-core 0.0.353 → 0.0.354

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 (89) hide show
  1. package/dist/{chunk-YL2YXSRI.cjs → chunk-2RX6DW5A.cjs} +62 -62
  2. package/dist/{chunk-YL2YXSRI.cjs.map → chunk-2RX6DW5A.cjs.map} +1 -1
  3. package/dist/{chunk-BAPR6IQV.js → chunk-3MUALDLX.js} +4 -4
  4. package/dist/{chunk-D4TPL6T4.cjs → chunk-3XNJWYLX.cjs} +15 -15
  5. package/dist/{chunk-D4TPL6T4.cjs.map → chunk-3XNJWYLX.cjs.map} +1 -1
  6. package/dist/{chunk-776NIQQ6.js → chunk-4XFFHXCQ.js} +4 -4
  7. package/dist/{chunk-YI5435S6.js → chunk-5CTJCJV3.js} +2 -2
  8. package/dist/{chunk-5AR4XSIK.cjs → chunk-5RYGC2HA.cjs} +26 -26
  9. package/dist/{chunk-5AR4XSIK.cjs.map → chunk-5RYGC2HA.cjs.map} +1 -1
  10. package/dist/{chunk-5Y6G2GKO.js → chunk-AN7YCTF4.js} +2 -2
  11. package/dist/{chunk-CDPGUKPU.js → chunk-BWT6O7K5.js} +2 -2
  12. package/dist/{chunk-ZAKU2MOI.js → chunk-DFZ74LGW.js} +2 -2
  13. package/dist/{chunk-HWFFUT6G.cjs → chunk-HD4S7ITV.cjs} +37 -37
  14. package/dist/{chunk-HWFFUT6G.cjs.map → chunk-HD4S7ITV.cjs.map} +1 -1
  15. package/dist/{chunk-XJQNOT4Z.js → chunk-HEXR3TGX.js} +2 -2
  16. package/dist/{chunk-XKRR5GIV.cjs → chunk-J5RQ4T5L.cjs} +56 -56
  17. package/dist/{chunk-XKRR5GIV.cjs.map → chunk-J5RQ4T5L.cjs.map} +1 -1
  18. package/dist/{chunk-P56AC6I5.cjs → chunk-LNJ4QIAN.cjs} +25 -25
  19. package/dist/{chunk-P56AC6I5.cjs.map → chunk-LNJ4QIAN.cjs.map} +1 -1
  20. package/dist/{chunk-YGCWTL7E.js → chunk-LPJKRZRD.js} +2 -2
  21. package/dist/{chunk-IVL6FGM6.cjs → chunk-MHWK6CDS.cjs} +12 -12
  22. package/dist/{chunk-IVL6FGM6.cjs.map → chunk-MHWK6CDS.cjs.map} +1 -1
  23. package/dist/{chunk-ZYB2QBNU.js → chunk-NJ4R2IJY.js} +4 -4
  24. package/dist/{chunk-TWVF3QU5.cjs → chunk-NJRZK3KL.cjs} +31 -31
  25. package/dist/{chunk-TWVF3QU5.cjs.map → chunk-NJRZK3KL.cjs.map} +1 -1
  26. package/dist/{chunk-W3CCNLBL.cjs → chunk-O6HI537F.cjs} +9 -9
  27. package/dist/{chunk-W3CCNLBL.cjs.map → chunk-O6HI537F.cjs.map} +1 -1
  28. package/dist/{chunk-3B663UT5.cjs → chunk-OQ75ZMB7.cjs} +460 -408
  29. package/dist/chunk-OQ75ZMB7.cjs.map +1 -0
  30. package/dist/{chunk-Z22AMCZL.cjs → chunk-RERV3ALE.cjs} +7 -7
  31. package/dist/{chunk-Z22AMCZL.cjs.map → chunk-RERV3ALE.cjs.map} +1 -1
  32. package/dist/{chunk-EQQZLZZH.js → chunk-SH5ZPAVK.js} +2 -2
  33. package/dist/{chunk-POLYFLWF.js → chunk-SJ3O2463.js} +4 -4
  34. package/dist/{chunk-OKGXLXDW.js → chunk-SJBFKX6U.js} +68 -16
  35. package/dist/{chunk-OKGXLXDW.js.map → chunk-SJBFKX6U.js.map} +1 -1
  36. package/dist/{chunk-HAFY32LW.cjs → chunk-XXVNJDZV.cjs} +5 -5
  37. package/dist/{chunk-HAFY32LW.cjs.map → chunk-XXVNJDZV.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/index.cjs +2 -2
  51. package/dist/components/features/index.js +1 -1
  52. package/dist/components/features/time-tracker/index.d.ts +1 -1
  53. package/dist/components/features/time-tracker/index.d.ts.map +1 -1
  54. package/dist/components/features/time-tracker/time-tracker-panel.d.ts +1 -1
  55. package/dist/components/features/time-tracker/time-tracker-panel.d.ts.map +1 -1
  56. package/dist/components/features/time-tracker/types.d.ts +19 -0
  57. package/dist/components/features/time-tracker/types.d.ts.map +1 -1
  58. package/dist/components/help-center-pages/index.cjs +20 -20
  59. package/dist/components/help-center-pages/index.js +11 -11
  60. package/dist/components/index.cjs +120 -120
  61. package/dist/components/index.js +9 -9
  62. package/dist/components/navigation/index.cjs +2 -2
  63. package/dist/components/navigation/index.js +1 -1
  64. package/dist/components/onboarding-guides/index.cjs +5 -5
  65. package/dist/components/onboarding-guides/index.js +4 -4
  66. package/dist/components/related-content/index.cjs +3 -3
  67. package/dist/components/related-content/index.js +2 -2
  68. package/dist/components/tickets/index.cjs +5 -5
  69. package/dist/components/tickets/index.js +4 -4
  70. package/dist/components/ui/index.cjs +2 -2
  71. package/dist/components/ui/index.js +1 -1
  72. package/dist/index.cjs +2 -2
  73. package/dist/index.js +1 -1
  74. package/package.json +1 -1
  75. package/src/components/features/time-tracker/index.ts +1 -0
  76. package/src/components/features/time-tracker/time-tracker-panel.tsx +75 -13
  77. package/src/components/features/time-tracker/types.ts +21 -0
  78. package/dist/chunk-3B663UT5.cjs.map +0 -1
  79. /package/dist/{chunk-BAPR6IQV.js.map → chunk-3MUALDLX.js.map} +0 -0
  80. /package/dist/{chunk-776NIQQ6.js.map → chunk-4XFFHXCQ.js.map} +0 -0
  81. /package/dist/{chunk-YI5435S6.js.map → chunk-5CTJCJV3.js.map} +0 -0
  82. /package/dist/{chunk-5Y6G2GKO.js.map → chunk-AN7YCTF4.js.map} +0 -0
  83. /package/dist/{chunk-CDPGUKPU.js.map → chunk-BWT6O7K5.js.map} +0 -0
  84. /package/dist/{chunk-ZAKU2MOI.js.map → chunk-DFZ74LGW.js.map} +0 -0
  85. /package/dist/{chunk-XJQNOT4Z.js.map → chunk-HEXR3TGX.js.map} +0 -0
  86. /package/dist/{chunk-YGCWTL7E.js.map → chunk-LPJKRZRD.js.map} +0 -0
  87. /package/dist/{chunk-ZYB2QBNU.js.map → chunk-NJ4R2IJY.js.map} +0 -0
  88. /package/dist/{chunk-EQQZLZZH.js.map → chunk-SH5ZPAVK.js.map} +0 -0
  89. /package/dist/{chunk-POLYFLWF.js.map → chunk-SJ3O2463.js.map} +0 -0
@@ -30633,6 +30633,16 @@ function useTrackerClock({ status, runningSince, accumulatedMs = 0 }) {
30633
30633
 
30634
30634
  // src/components/features/time-tracker/time-tracker-panel.tsx
30635
30635
 
30636
+ function renderCustomerOption(option, isSelected) {
30637
+ const { label, imageUrl } = option;
30638
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center justify-between gap-[var(--spacing-system-xs)]", children: [
30639
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xs)]", children: [
30640
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "square" }),
30641
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", title: label, children: label })
30642
+ ] }),
30643
+ isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CheckIcon, { className: "text-ods-accent", size: 20 })
30644
+ ] });
30645
+ }
30636
30646
  function TimeTrackerPanel({
30637
30647
  status,
30638
30648
  runningSince,
@@ -30642,6 +30652,12 @@ function TimeTrackerPanel({
30642
30652
  onSelectedTicketChange,
30643
30653
  onTicketSearch,
30644
30654
  ticketsLoading,
30655
+ customerOptions,
30656
+ selectedCustomerId,
30657
+ onSelectedCustomerChange,
30658
+ onCustomerSearch,
30659
+ customersLoading,
30660
+ customerLocked,
30645
30661
  notes,
30646
30662
  onNotesChange,
30647
30663
  lastEntries,
@@ -30695,6 +30711,23 @@ function TimeTrackerPanel({
30695
30711
  label: t.label,
30696
30712
  value: t.id
30697
30713
  }));
30714
+ const showCustomer = !!onSelectedCustomerChange;
30715
+ const customerAutocompleteOptions = (_nullishCoalesce(customerOptions, () => ( []))).map((c) => ({
30716
+ label: c.label,
30717
+ value: c.id,
30718
+ imageUrl: c.imageUrl
30719
+ }));
30720
+ const selectedCustomer = customerAutocompleteOptions.find((o) => o.value === selectedCustomerId);
30721
+ const customerStartAdornment = selectedCustomer ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30722
+ SquareAvatar,
30723
+ {
30724
+ src: selectedCustomer.imageUrl,
30725
+ alt: selectedCustomer.label,
30726
+ fallback: selectedCustomer.label,
30727
+ size: "sm",
30728
+ variant: "square"
30729
+ }
30730
+ ) : void 0;
30698
30731
  const visibleEntries = lastEntries.slice(0, 3);
30699
30732
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30700
30733
  "div",
@@ -30764,22 +30797,41 @@ function TimeTrackerPanel({
30764
30797
  }
30765
30798
  )
30766
30799
  ] }),
30767
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30768
- Autocomplete,
30769
- {
30770
- value: selectedTicketId,
30771
- onChange: onSelectedTicketChange,
30772
- options: ticketAutocompleteOptions,
30773
- placeholder: "Assign Ticket",
30774
- loading: ticketsLoading,
30775
- invalid: showFieldError,
30776
- error: showFieldError ? "Required if no notes added" : void 0,
30777
- disableClientFilter: !!onTicketSearch,
30778
- onInputChange: (value, reason) => {
30779
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _532 => _532(value)]);
30800
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "grid gap-[var(--spacing-system-m)]", showCustomer && "grid-cols-2"), children: [
30801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30802
+ Autocomplete,
30803
+ {
30804
+ value: selectedTicketId,
30805
+ onChange: onSelectedTicketChange,
30806
+ options: ticketAutocompleteOptions,
30807
+ placeholder: "Select Ticket",
30808
+ loading: ticketsLoading,
30809
+ invalid: showFieldError,
30810
+ error: showFieldError ? "Required if no notes added" : void 0,
30811
+ disableClientFilter: !!onTicketSearch,
30812
+ onInputChange: (value, reason) => {
30813
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _532 => _532(value)]);
30814
+ }
30780
30815
  }
30781
- }
30782
- )
30816
+ ),
30817
+ showCustomer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30818
+ Autocomplete,
30819
+ {
30820
+ value: _nullishCoalesce(selectedCustomerId, () => ( null)),
30821
+ onChange: onSelectedCustomerChange,
30822
+ options: customerAutocompleteOptions,
30823
+ placeholder: "Select Customer",
30824
+ loading: customersLoading,
30825
+ disabled: customerLocked,
30826
+ disableClientFilter: !!onCustomerSearch,
30827
+ onInputChange: (value, reason) => {
30828
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _533 => _533(value)]);
30829
+ },
30830
+ startAdornment: customerStartAdornment,
30831
+ renderOption: renderCustomerOption
30832
+ }
30833
+ )
30834
+ ] })
30783
30835
  ] }),
30784
30836
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30785
30837
  Textarea,
@@ -30866,7 +30918,7 @@ function LastEntryRow({ entry, onClick }) {
30866
30918
  {
30867
30919
  variant: "outline",
30868
30920
  size: "icon",
30869
- onClick: () => _optionalChain([onClick, 'optionalCall', _533 => _533(entry)]),
30921
+ onClick: () => _optionalChain([onClick, 'optionalCall', _534 => _534(entry)]),
30870
30922
  disabled: !onClick,
30871
30923
  "aria-label": `Open entry: ${entry.title}`,
30872
30924
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -30910,9 +30962,9 @@ function HeaderButton({
30910
30962
  function TimeTrackerHeaderButton({ className, disabled }) {
30911
30963
  const ctx = useOptionalTimeTracker();
30912
30964
  const elapsedLabel = useTrackerClock({
30913
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _534 => _534.status]), () => ( "ready")),
30914
- runningSince: _optionalChain([ctx, 'optionalAccess', _535 => _535.runningSince]),
30915
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _536 => _536.accumulatedMs])
30965
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _535 => _535.status]), () => ( "ready")),
30966
+ runningSince: _optionalChain([ctx, 'optionalAccess', _536 => _536.runningSince]),
30967
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _537 => _537.accumulatedMs])
30916
30968
  });
30917
30969
  if (!ctx) return null;
30918
30970
  const { isOpen, open, close, status } = ctx;
@@ -31195,15 +31247,15 @@ function TicketCard({
31195
31247
  transition: sortable.transition
31196
31248
  };
31197
31249
  if (showNewMessage) style.borderColor = columnColor;
31198
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _537 => _537.deviceHostnames, 'optionalAccess', _538 => _538.length]) || ticket.organizationName);
31250
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _538 => _538.deviceHostnames, 'optionalAccess', _539 => _539.length]) || ticket.organizationName);
31199
31251
  const deviceText = [
31200
- _optionalChain([ticket, 'access', _539 => _539.deviceHostnames, 'optionalAccess', _540 => _540.join, 'call', _541 => _541(", ")]),
31252
+ _optionalChain([ticket, 'access', _540 => _540.deviceHostnames, 'optionalAccess', _541 => _541.join, 'call', _542 => _542(", ")]),
31201
31253
  ticket.organizationName
31202
31254
  ].filter(Boolean).join(", ");
31203
31255
  const handleClick = (e) => {
31204
31256
  if (sortable.isDragging) e.preventDefault();
31205
31257
  };
31206
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _542 => _542.assignees, 'optionalAccess', _543 => _543.length]) || renderAssignSlot);
31258
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _543 => _543.assignees, 'optionalAccess', _544 => _544.length]) || renderAssignSlot);
31207
31259
  const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
31208
31260
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31209
31261
  _chunkCCG4DARMcjs.Flag02Icon,
@@ -31212,7 +31264,7 @@ function TicketCard({
31212
31264
  "aria-label": `Priority: ${ticket.priority}`
31213
31265
  }
31214
31266
  ),
31215
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _544 => _544.assignees, 'optionalAccess', _545 => _545.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
31267
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _545 => _545.assignees, 'optionalAccess', _546 => _546.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
31216
31268
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31217
31269
  SquareAvatar,
31218
31270
  {
@@ -31243,7 +31295,7 @@ function TicketCard({
31243
31295
  ] }),
31244
31296
  rightSection
31245
31297
  ] }),
31246
- _optionalChain([ticket, 'access', _546 => _546.tags, 'optionalAccess', _547 => _547.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
31298
+ _optionalChain([ticket, 'access', _547 => _547.tags, 'optionalAccess', _548 => _548.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
31247
31299
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
31248
31300
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto text-h6 truncate text-ods-text-secondary", children: timestampLabel }) }),
31249
31301
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -31443,7 +31495,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
31443
31495
  const observer = new IntersectionObserver(
31444
31496
  (entries) => {
31445
31497
  if (entries.some((e) => e.isIntersecting)) {
31446
- _optionalChain([loadMoreRef, 'access', _548 => _548.current, 'optionalCall', _549 => _549(columnIdRef.current)]);
31498
+ _optionalChain([loadMoreRef, 'access', _549 => _549.current, 'optionalCall', _550 => _550(columnIdRef.current)]);
31447
31499
  }
31448
31500
  },
31449
31501
  { root, rootMargin: loadMoreRootMargin }
@@ -31473,7 +31525,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
31473
31525
  ticket: t,
31474
31526
  columnId: column.id,
31475
31527
  columnColor: column.color,
31476
- href: _optionalChain([getTicketHref, 'optionalCall', _550 => _550(t.id)]),
31528
+ href: _optionalChain([getTicketHref, 'optionalCall', _551 => _551(t.id)]),
31477
31529
  renderAssignSlot,
31478
31530
  onApprove,
31479
31531
  onReject,
@@ -31573,17 +31625,17 @@ function Board({
31573
31625
  const pointer = _core.pointerWithin.call(void 0, args);
31574
31626
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
31575
31627
  const ticketHit = intersections.find(
31576
- (c) => _optionalChain([c, 'access', _551 => _551.data, 'optionalAccess', _552 => _552.droppableContainer, 'optionalAccess', _553 => _553.data, 'optionalAccess', _554 => _554.current, 'optionalAccess', _555 => _555.type]) === "ticket"
31628
+ (c) => _optionalChain([c, 'access', _552 => _552.data, 'optionalAccess', _553 => _553.droppableContainer, 'optionalAccess', _554 => _554.data, 'optionalAccess', _555 => _555.current, 'optionalAccess', _556 => _556.type]) === "ticket"
31577
31629
  );
31578
31630
  if (ticketHit) return [ticketHit];
31579
31631
  const columnHit = intersections.find(
31580
- (c) => _optionalChain([c, 'access', _556 => _556.data, 'optionalAccess', _557 => _557.droppableContainer, 'optionalAccess', _558 => _558.data, 'optionalAccess', _559 => _559.current, 'optionalAccess', _560 => _560.type]) === "column"
31632
+ (c) => _optionalChain([c, 'access', _557 => _557.data, 'optionalAccess', _558 => _558.droppableContainer, 'optionalAccess', _559 => _559.data, 'optionalAccess', _560 => _560.current, 'optionalAccess', _561 => _561.type]) === "column"
31581
31633
  );
31582
31634
  if (columnHit) {
31583
- const columnId = _optionalChain([columnHit, 'access', _561 => _561.data, 'optionalAccess', _562 => _562.droppableContainer, 'optionalAccess', _563 => _563.data, 'optionalAccess', _564 => _564.current, 'optionalAccess', _565 => _565.columnId]);
31635
+ const columnId = _optionalChain([columnHit, 'access', _562 => _562.data, 'optionalAccess', _563 => _563.droppableContainer, 'optionalAccess', _564 => _564.data, 'optionalAccess', _565 => _565.current, 'optionalAccess', _566 => _566.columnId]);
31584
31636
  const ticketsInColumn = args.droppableContainers.filter((c) => {
31585
31637
  const d = c.data.current;
31586
- return _optionalChain([d, 'optionalAccess', _566 => _566.type]) === "ticket" && d.columnId === columnId;
31638
+ return _optionalChain([d, 'optionalAccess', _567 => _567.type]) === "ticket" && d.columnId === columnId;
31587
31639
  });
31588
31640
  if (ticketsInColumn.length > 0) {
31589
31641
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -31608,20 +31660,20 @@ function Board({
31608
31660
  const overId = String(over.id);
31609
31661
  if (activeId === overId) return;
31610
31662
  const overData = over.data.current;
31611
- const fromColumnId = _optionalChain([locate, 'call', _567 => _567(items, activeId), 'optionalAccess', _568 => _568.columnId]);
31612
- const toColumnId = _optionalChain([overData, 'optionalAccess', _569 => _569.columnId]);
31663
+ const fromColumnId = _optionalChain([locate, 'call', _568 => _568(items, activeId), 'optionalAccess', _569 => _569.columnId]);
31664
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _570 => _570.columnId]);
31613
31665
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
31614
31666
  const origin = dragOriginRef.current;
31615
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _570 => _570.fromColumnId]) === toColumnId;
31667
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _571 => _571.fromColumnId]) === toColumnId;
31616
31668
  const targetCol = items.find((c) => c.id === toColumnId);
31617
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _571 => _571.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
31618
- if (_optionalChain([targetCol, 'optionalAccess', _572 => _572.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
31669
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _572 => _572.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
31670
+ if (_optionalChain([targetCol, 'optionalAccess', _573 => _573.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
31619
31671
  setItems((prev) => {
31620
31672
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
31621
31673
  const toCol = prev.find((c) => c.id === toColumnId);
31622
31674
  if (fromIndex < 0 || !toCol) return prev;
31623
31675
  let toIndex;
31624
- if (_optionalChain([overData, 'optionalAccess', _573 => _573.type]) === "column") {
31676
+ if (_optionalChain([overData, 'optionalAccess', _574 => _574.type]) === "column") {
31625
31677
  toIndex = toCol.tickets.length;
31626
31678
  } else {
31627
31679
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -31663,14 +31715,14 @@ function Board({
31663
31715
  const toColumnId = located.columnId;
31664
31716
  const isCrossColumn = origin.fromColumnId !== toColumnId;
31665
31717
  const targetCol = items.find((c) => c.id === toColumnId);
31666
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _574 => _574.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _575 => _575.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
31718
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _575 => _575.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _576 => _576.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
31667
31719
  setItems(columns);
31668
31720
  return;
31669
31721
  }
31670
31722
  let finalIndex = located.index;
31671
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _576 => _576.find, 'call', _577 => _577((c) => c.id === toColumnId), 'optionalAccess', _578 => _578.tickets]), () => ( []));
31723
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _577 => _577.find, 'call', _578 => _578((c) => c.id === toColumnId), 'optionalAccess', _579 => _579.tickets]), () => ( []));
31672
31724
  const overData = over.data.current;
31673
- if (_optionalChain([overData, 'optionalAccess', _579 => _579.type]) === "ticket") {
31725
+ if (_optionalChain([overData, 'optionalAccess', _580 => _580.type]) === "ticket") {
31674
31726
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
31675
31727
  if (overIndex >= 0 && overIndex !== located.index) {
31676
31728
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -31690,8 +31742,8 @@ function Board({
31690
31742
  ticketId: origin.ticketId,
31691
31743
  fromColumnId: origin.fromColumnId,
31692
31744
  toColumnId,
31693
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _580 => _580[finalIndex - 1], 'optionalAccess', _581 => _581.id]), () => ( null)),
31694
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _582 => _582[finalIndex + 1], 'optionalAccess', _583 => _583.id]), () => ( null))
31745
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _581 => _581[finalIndex - 1], 'optionalAccess', _582 => _582.id]), () => ( null)),
31746
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _583 => _583[finalIndex + 1], 'optionalAccess', _584 => _584.id]), () => ( null))
31695
31747
  });
31696
31748
  };
31697
31749
  const handleDragCancel = () => {
@@ -31720,8 +31772,8 @@ function Board({
31720
31772
  children: items.map((column, i) => {
31721
31773
  const prev = items[i - 1];
31722
31774
  const next = items[i + 1];
31723
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _584 => _584.system]));
31724
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _585 => _585.system]));
31775
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _585 => _585.system]));
31776
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _586 => _586.system]));
31725
31777
  const showGap = i > 0 && !joinLeft;
31726
31778
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React98.Fragment, { children: [
31727
31779
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -31774,7 +31826,7 @@ function Board({
31774
31826
  {
31775
31827
  ticket: activeTicket.ticket,
31776
31828
  columnId: activeTicket.columnId,
31777
- columnColor: _optionalChain([items, 'access', _586 => _586.find, 'call', _587 => _587((c) => c.id === activeTicket.columnId), 'optionalAccess', _588 => _588.color]),
31829
+ columnColor: _optionalChain([items, 'access', _587 => _587.find, 'call', _588 => _588((c) => c.id === activeTicket.columnId), 'optionalAccess', _589 => _589.color]),
31778
31830
  isOverlay: true
31779
31831
  }
31780
31832
  ) : null })
@@ -31790,7 +31842,7 @@ function locate(cols, ticketId) {
31790
31842
  return null;
31791
31843
  }
31792
31844
  function findIndexInColumn(cols, columnId, ticketId) {
31793
- return _nullishCoalesce(_optionalChain([cols, 'access', _589 => _589.find, 'call', _590 => _590((c) => c.id === columnId), 'optionalAccess', _591 => _591.tickets, 'access', _592 => _592.findIndex, 'call', _593 => _593((t) => t.id === ticketId)]), () => ( -1));
31845
+ return _nullishCoalesce(_optionalChain([cols, 'access', _590 => _590.find, 'call', _591 => _591((c) => c.id === columnId), 'optionalAccess', _592 => _592.tickets, 'access', _593 => _593.findIndex, 'call', _594 => _594((t) => t.id === ticketId)]), () => ( -1));
31794
31846
  }
31795
31847
 
31796
31848
  // src/components/features/board/types.ts
@@ -32038,7 +32090,7 @@ function Header2({ config, platform }) {
32038
32090
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
32039
32091
  "flex justify-start w-full",
32040
32092
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
32041
- index < (_nullishCoalesce(_optionalChain([item, 'access', _594 => _594.children, 'optionalAccess', _595 => _595.length]), () => ( 0))) - 1 && "mb-1",
32093
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _595 => _595.children, 'optionalAccess', _596 => _596.length]), () => ( 0))) - 1 && "mb-1",
32042
32094
  "text-ods-text-primary",
32043
32095
  // All dropdown items use primary text color
32044
32096
  child.isActive && "bg-ods-bg-hover"
@@ -32130,7 +32182,7 @@ function Header2({ config, platform }) {
32130
32182
  style: config.style,
32131
32183
  children: [
32132
32184
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
32133
- _optionalChain([config, 'access', _596 => _596.actions, 'optionalAccess', _597 => _597.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
32185
+ _optionalChain([config, 'access', _597 => _597.actions, 'optionalAccess', _598 => _598.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
32134
32186
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
32135
32187
  ] }),
32136
32188
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32147,7 +32199,7 @@ function Header2({ config, platform }) {
32147
32199
  }
32148
32200
  ),
32149
32201
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
32150
- _optionalChain([config, 'access', _598 => _598.actions, 'optionalAccess', _599 => _599.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
32202
+ _optionalChain([config, 'access', _599 => _599.actions, 'optionalAccess', _600 => _600.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
32151
32203
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32152
32204
  _chunkQJGRP2YEcjs.Button,
32153
32205
  {
@@ -32155,10 +32207,10 @@ function Header2({ config, platform }) {
32155
32207
  size: "icon",
32156
32208
  className: "flex md:hidden",
32157
32209
  onClick: () => {
32158
- _optionalChain([config, 'access', _600 => _600.mobile, 'optionalAccess', _601 => _601.onToggle, 'optionalCall', _602 => _602()]);
32210
+ _optionalChain([config, 'access', _601 => _601.mobile, 'optionalAccess', _602 => _602.onToggle, 'optionalCall', _603 => _603()]);
32159
32211
  },
32160
- "aria-label": _optionalChain([config, 'access', _603 => _603.mobile, 'optionalAccess', _604 => _604.isOpen]) ? "Close menu" : "Open menu",
32161
- leftIcon: _optionalChain([config, 'access', _605 => _605.mobile, 'optionalAccess', _606 => _606.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Menu01Icon, {})
32212
+ "aria-label": _optionalChain([config, 'access', _604 => _604.mobile, 'optionalAccess', _605 => _605.isOpen]) ? "Close menu" : "Open menu",
32213
+ leftIcon: _optionalChain([config, 'access', _606 => _606.mobile, 'optionalAccess', _607 => _607.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Menu01Icon, {})
32162
32214
  }
32163
32215
  )
32164
32216
  ] })
@@ -32175,10 +32227,10 @@ function Header2({ config, platform }) {
32175
32227
  // src/components/navigation/header-skeleton.tsx
32176
32228
 
32177
32229
  function HeaderSkeleton({ config }) {
32178
- const showNavigation = _optionalChain([config, 'optionalAccess', _607 => _607.navigation]) && config.navigation.items.length > 0;
32179
- const showActions = _optionalChain([config, 'optionalAccess', _608 => _608.actions, 'optionalAccess', _609 => _609.right]) && config.actions.right.length > 0;
32180
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _610 => _610.mobile, 'optionalAccess', _611 => _611.enabled]);
32181
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _612 => _612.className, 'optionalAccess', _613 => _613.includes, 'call', _614 => _614("admin")]);
32230
+ const showNavigation = _optionalChain([config, 'optionalAccess', _608 => _608.navigation]) && config.navigation.items.length > 0;
32231
+ const showActions = _optionalChain([config, 'optionalAccess', _609 => _609.actions, 'optionalAccess', _610 => _610.right]) && config.actions.right.length > 0;
32232
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _611 => _611.mobile, 'optionalAccess', _612 => _612.enabled]);
32233
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _613 => _613.className, 'optionalAccess', _614 => _614.includes, 'call', _615 => _615("admin")]);
32182
32234
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32183
32235
  "header",
32184
32236
  {
@@ -32187,11 +32239,11 @@ function HeaderSkeleton({ config }) {
32187
32239
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
32188
32240
  "px-6 py-3",
32189
32241
  "transition-opacity duration-300 ease-in-out",
32190
- _optionalChain([config, 'optionalAccess', _615 => _615.className])
32242
+ _optionalChain([config, 'optionalAccess', _616 => _616.className])
32191
32243
  ),
32192
32244
  children: [
32193
32245
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
32194
- isAdminHeader && _optionalChain([config, 'optionalAccess', _616 => _616.actions, 'optionalAccess', _617 => _617.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
32246
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _617 => _617.actions, 'optionalAccess', _618 => _618.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
32195
32247
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
32196
32248
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
32197
32249
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -32199,8 +32251,8 @@ function HeaderSkeleton({ config }) {
32199
32251
  ] }),
32200
32252
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
32201
32253
  "hidden md:flex items-center gap-2",
32202
- _optionalChain([config, 'optionalAccess', _618 => _618.navigation, 'optionalAccess', _619 => _619.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
32203
- _optionalChain([config, 'optionalAccess', _620 => _620.navigation, 'optionalAccess', _621 => _621.position]) === "right" && "ml-auto mr-4"
32254
+ _optionalChain([config, 'optionalAccess', _619 => _619.navigation, 'optionalAccess', _620 => _620.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
32255
+ _optionalChain([config, 'optionalAccess', _621 => _621.navigation, 'optionalAccess', _622 => _622.position]) === "right" && "ml-auto mr-4"
32204
32256
  ), children: [
32205
32257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
32206
32258
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -32248,7 +32300,7 @@ function MobileNavPanel({ isOpen, config }) {
32248
32300
  _react.useEffect.call(void 0, () => {
32249
32301
  const handleKeyDown = (e) => {
32250
32302
  if (e.key === "Escape" && isOpen) {
32251
- _optionalChain([config, 'access', _622 => _622.onClose, 'optionalCall', _623 => _623()]);
32303
+ _optionalChain([config, 'access', _623 => _623.onClose, 'optionalCall', _624 => _624()]);
32252
32304
  }
32253
32305
  };
32254
32306
  if (isOpen) {
@@ -32265,7 +32317,7 @@ function MobileNavPanel({ isOpen, config }) {
32265
32317
  if (item.onClick) {
32266
32318
  item.onClick();
32267
32319
  }
32268
- _optionalChain([config, 'access', _624 => _624.onClose, 'optionalCall', _625 => _625()]);
32320
+ _optionalChain([config, 'access', _625 => _625.onClose, 'optionalCall', _626 => _626()]);
32269
32321
  };
32270
32322
  if (item.href) {
32271
32323
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32435,7 +32487,7 @@ function SlidingSidebar({ config }) {
32435
32487
  variant: "transparent",
32436
32488
  size: "default",
32437
32489
  onClick: () => {
32438
- _optionalChain([item, 'access', _626 => _626.onClick, 'optionalCall', _627 => _627()]);
32490
+ _optionalChain([item, 'access', _627 => _627.onClick, 'optionalCall', _628 => _628()]);
32439
32491
  config.onClose();
32440
32492
  },
32441
32493
  leftIcon: item.icon,
@@ -32458,7 +32510,7 @@ function SlidingSidebar({ config }) {
32458
32510
  variant: "transparent",
32459
32511
  size: "default",
32460
32512
  onClick: () => {
32461
- _optionalChain([item, 'access', _628 => _628.onClick, 'optionalCall', _629 => _629()]);
32513
+ _optionalChain([item, 'access', _629 => _629.onClick, 'optionalCall', _630 => _630()]);
32462
32514
  config.onClose();
32463
32515
  },
32464
32516
  leftIcon: item.icon,
@@ -32585,7 +32637,7 @@ function StickySectionNav({
32585
32637
  ] });
32586
32638
  }
32587
32639
  function useSectionNavigation(sections, options) {
32588
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _630 => _630[0], 'optionalAccess', _631 => _631.id]) || "");
32640
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _631 => _631[0], 'optionalAccess', _632 => _632.id]) || "");
32589
32641
  const isScrollingFromClick = _react.useRef.call(void 0, false);
32590
32642
  const { offset: offset2 = 100 } = options || {};
32591
32643
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -32609,7 +32661,7 @@ function useSectionNavigation(sections, options) {
32609
32661
  const handleScroll = () => {
32610
32662
  if (isScrollingFromClick.current) return;
32611
32663
  const scrollPosition = window.scrollY + offset2 + 50;
32612
- let currentSection = _optionalChain([sections, 'access', _632 => _632[0], 'optionalAccess', _633 => _633.id]) || "";
32664
+ let currentSection = _optionalChain([sections, 'access', _633 => _633[0], 'optionalAccess', _634 => _634.id]) || "";
32613
32665
  for (let i = sections.length - 1; i >= 0; i--) {
32614
32666
  const element = document.getElementById(sections[i].id);
32615
32667
  if (element && scrollPosition >= element.offsetTop) {
@@ -32810,7 +32862,7 @@ function NavigationSidebar({ config, disabled = false }) {
32810
32862
  } else {
32811
32863
  setDesktopMinimized((prev) => !prev);
32812
32864
  }
32813
- _optionalChain([config, 'access', _634 => _634.onToggleMinimized, 'optionalCall', _635 => _635()]);
32865
+ _optionalChain([config, 'access', _635 => _635.onToggleMinimized, 'optionalCall', _636 => _636()]);
32814
32866
  }, [isTablet, setDesktopMinimized, config]);
32815
32867
  const closeOverlay = _react.useCallback.call(void 0, () => {
32816
32868
  setTabletMinimized(true);
@@ -32824,11 +32876,11 @@ function NavigationSidebar({ config, disabled = false }) {
32824
32876
  return () => document.removeEventListener("keydown", handleKeyDown);
32825
32877
  }, [isOverlayOpen, closeOverlay]);
32826
32878
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
32827
- _optionalChain([event, 'optionalAccess', _636 => _636.stopPropagation, 'call', _637 => _637()]);
32879
+ _optionalChain([event, 'optionalAccess', _637 => _637.stopPropagation, 'call', _638 => _638()]);
32828
32880
  if (item.onClick) {
32829
32881
  item.onClick();
32830
32882
  } else if (item.path) {
32831
- _optionalChain([config, 'access', _638 => _638.onNavigate, 'optionalCall', _639 => _639(item.path)]);
32883
+ _optionalChain([config, 'access', _639 => _639.onNavigate, 'optionalCall', _640 => _640(item.path)]);
32832
32884
  }
32833
32885
  if (isTablet) setTabletMinimized(true);
32834
32886
  }, [config, isTablet]);
@@ -32948,11 +33000,11 @@ function HeaderGlobalSearch({
32948
33000
  };
32949
33001
  const handleSubmit = (e) => {
32950
33002
  e.preventDefault();
32951
- _optionalChain([onSubmit, 'optionalCall', _640 => _640(currentValue)]);
33003
+ _optionalChain([onSubmit, 'optionalCall', _641 => _641(currentValue)]);
32952
33004
  };
32953
33005
  const handleKeyDown = (e) => {
32954
33006
  if (e.key === "Enter") {
32955
- _optionalChain([onSubmit, 'optionalCall', _641 => _641(currentValue)]);
33007
+ _optionalChain([onSubmit, 'optionalCall', _642 => _642(currentValue)]);
32956
33008
  }
32957
33009
  };
32958
33010
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -33046,8 +33098,8 @@ function HeaderOrganizationFilter({
33046
33098
  className
33047
33099
  }) {
33048
33100
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
33049
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _642 => _642.name]) || "All Organizations";
33050
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _643 => _643.deviceCount]), () => ( totalDeviceCount));
33101
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _643 => _643.name]) || "All Organizations";
33102
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _644 => _644.deviceCount]), () => ( totalDeviceCount));
33051
33103
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
33052
33104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33053
33105
  "button",
@@ -33072,11 +33124,11 @@ function HeaderOrganizationFilter({
33072
33124
  }
33073
33125
  ) }),
33074
33126
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
33075
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _644 => _644("")]), children: "All Organizations" }),
33127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _645 => _645("")]), children: "All Organizations" }),
33076
33128
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33077
33129
  _chunkQJGRP2YEcjs.DropdownMenuItem,
33078
33130
  {
33079
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _645 => _645(org.id)]),
33131
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _646 => _646(org.id)]),
33080
33132
  children: org.name
33081
33133
  },
33082
33134
  org.id
@@ -33266,9 +33318,9 @@ function NotificationsHeaderButton({
33266
33318
  dimmedClass
33267
33319
  }) {
33268
33320
  const ctx = useOptionalNotifications();
33269
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _646 => _646.unreadCount]), () => ( fallbackUnreadCount))) > 0;
33270
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _647 => _647.isOpen]), () => ( false));
33271
- const onClick = _optionalChain([ctx, 'optionalAccess', _648 => _648.toggle]);
33321
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _647 => _647.unreadCount]), () => ( fallbackUnreadCount))) > 0;
33322
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _648 => _648.isOpen]), () => ( false));
33323
+ const onClick = _optionalChain([ctx, 'optionalAccess', _649 => _649.toggle]);
33272
33324
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33273
33325
  HeaderButton,
33274
33326
  {
@@ -33332,7 +33384,7 @@ var MobileBurgerMenu = React114.default.memo(function MobileBurgerMenu2({
33332
33384
  if (item.onClick) {
33333
33385
  item.onClick();
33334
33386
  } else if (item.path) {
33335
- _optionalChain([config, 'access', _649 => _649.onNavigate, 'optionalCall', _650 => _650(item.path)]);
33387
+ _optionalChain([config, 'access', _650 => _650.onNavigate, 'optionalCall', _651 => _651(item.path)]);
33336
33388
  }
33337
33389
  onClose();
33338
33390
  }, [config, onClose]);
@@ -33575,7 +33627,7 @@ var AppLayoutDrawerRoot = ({
33575
33627
  const handleOpenChange = React107.useCallback(
33576
33628
  (next) => {
33577
33629
  if (!isControlled) setInternalOpen(next);
33578
- _optionalChain([onOpenChange, 'optionalCall', _651 => _651(next)]);
33630
+ _optionalChain([onOpenChange, 'optionalCall', _652 => _652(next)]);
33579
33631
  },
33580
33632
  [isControlled, onOpenChange]
33581
33633
  );
@@ -33956,10 +34008,10 @@ var AppLayoutDrawerContent = React107.forwardRef(
33956
34008
  ),
33957
34009
  style,
33958
34010
  onInteractOutside: (event) => {
33959
- _optionalChain([onInteractOutside, 'optionalCall', _652 => _652(event)]);
34011
+ _optionalChain([onInteractOutside, 'optionalCall', _653 => _653(event)]);
33960
34012
  if (event.defaultPrevented) return;
33961
34013
  const target = event.target;
33962
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _653 => _653.contains, 'call', _654 => _654(target)]);
34014
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _654 => _654.contains, 'call', _655 => _655(target)]);
33963
34015
  if (!isInsideContainer) {
33964
34016
  event.preventDefault();
33965
34017
  return;
@@ -34372,7 +34424,7 @@ var ShellTypeBadge = ({
34372
34424
  className,
34373
34425
  iconClassName
34374
34426
  }) => {
34375
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _655 => _655.toUpperCase, 'call', _656 => _656()]);
34427
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _656 => _656.toUpperCase, 'call', _657 => _657()]);
34376
34428
  const label = getShellLabel(normalizedType);
34377
34429
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
34378
34430
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -34759,12 +34811,12 @@ function OnboardingWalkthrough({
34759
34811
  }
34760
34812
  }, [state.completedSteps, markComplete]);
34761
34813
  const handleStepSkip = (step) => {
34762
- _optionalChain([step, 'access', _657 => _657.onSkip, 'optionalCall', _658 => _658()]);
34814
+ _optionalChain([step, 'access', _658 => _658.onSkip, 'optionalCall', _659 => _659()]);
34763
34815
  markSkipped(step.id);
34764
34816
  };
34765
34817
  const handleDismiss = () => {
34766
34818
  dismissOnboarding();
34767
- _optionalChain([onDismiss, 'optionalCall', _659 => _659()]);
34819
+ _optionalChain([onDismiss, 'optionalCall', _660 => _660()]);
34768
34820
  };
34769
34821
  if (state.dismissed) {
34770
34822
  return null;
@@ -34894,7 +34946,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
34894
34946
  onKeyDown: (e) => {
34895
34947
  if (e.key === "Enter" || e.key === " ") {
34896
34948
  e.preventDefault();
34897
- _optionalChain([onClick, 'optionalCall', _660 => _660()]);
34949
+ _optionalChain([onClick, 'optionalCall', _661 => _661()]);
34898
34950
  }
34899
34951
  },
34900
34952
  children: [
@@ -34995,7 +35047,7 @@ var LogsList = React111.forwardRef(({
34995
35047
  log,
34996
35048
  isLast: index === logs.length - 1,
34997
35049
  showConnector,
34998
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _661 => _661(log)])
35050
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _662 => _662(log)])
34999
35051
  },
35000
35052
  log.id
35001
35053
  ))
@@ -35096,7 +35148,7 @@ var Slider = React113.forwardRef(
35096
35148
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
35097
35149
  const handleChange = (e) => {
35098
35150
  const newValue = [Number(e.target.value)];
35099
- _optionalChain([onValueChange, 'optionalCall', _662 => _662(newValue)]);
35151
+ _optionalChain([onValueChange, 'optionalCall', _663 => _663(newValue)]);
35100
35152
  };
35101
35153
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35102
35154
  "input",
@@ -35527,7 +35579,7 @@ function CursorPaginationSimple({
35527
35579
  {
35528
35580
  variant: "transparent",
35529
35581
  size: "icon",
35530
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _663 => _663("")]),
35582
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _664 => _664("")]),
35531
35583
  disabled: !hasPreviousPage || loading,
35532
35584
  className: "h-8 w-8",
35533
35585
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -35539,7 +35591,7 @@ function CursorPaginationSimple({
35539
35591
  {
35540
35592
  variant: "transparent",
35541
35593
  size: "icon",
35542
- onClick: () => _optionalChain([onNext, 'optionalCall', _664 => _664("")]),
35594
+ onClick: () => _optionalChain([onNext, 'optionalCall', _665 => _665("")]),
35543
35595
  disabled: !hasNextPage || loading,
35544
35596
  className: "h-8 w-8",
35545
35597
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -35559,8 +35611,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
35559
35611
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
35560
35612
  title: _nullishCoalesce(message2, () => ( "No results found")),
35561
35613
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
35562
- buttonLabel: _optionalChain([action, 'optionalAccess', _665 => _665.label]),
35563
- onButtonClick: _optionalChain([action, 'optionalAccess', _666 => _666.onClick]),
35614
+ buttonLabel: _optionalChain([action, 'optionalAccess', _666 => _666.label]),
35615
+ onButtonClick: _optionalChain([action, 'optionalAccess', _667 => _667.onClick]),
35564
35616
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
35565
35617
  }
35566
35618
  );
@@ -35581,7 +35633,7 @@ function TableColumnFilterDropdown({
35581
35633
  placement = "bottom-start",
35582
35634
  dropdownClassName = "min-w-[240px]"
35583
35635
  }) {
35584
- const activeCount = _optionalChain([filters, 'optionalAccess', _667 => _667[columnKey], 'optionalAccess', _668 => _668.length]) || 0;
35636
+ const activeCount = _optionalChain([filters, 'optionalAccess', _668 => _668[columnKey], 'optionalAccess', _669 => _669.length]) || 0;
35585
35637
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35586
35638
  FiltersDropdown,
35587
35639
  {
@@ -35624,7 +35676,7 @@ function TableColumnFilterDropdown({
35624
35676
  delete newFilters[columnKey];
35625
35677
  onFilterChange(newFilters);
35626
35678
  },
35627
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _669 => _669[columnKey]]) || [] },
35679
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _670 => _670[columnKey]]) || [] },
35628
35680
  placement,
35629
35681
  dropdownClassName
35630
35682
  }
@@ -35834,7 +35886,7 @@ function TableCardSkeleton({
35834
35886
  className,
35835
35887
  rowClassName
35836
35888
  }) {
35837
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _670 => _670.key]);
35889
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _671 => _671.key]);
35838
35890
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35839
35891
  "div",
35840
35892
  {
@@ -35927,7 +35979,7 @@ function TableRow({
35927
35979
  const keys = column.key.split(".");
35928
35980
  let value = item;
35929
35981
  for (const key of keys) {
35930
- value = _optionalChain([value, 'optionalAccess', _671 => _671[key]]);
35982
+ value = _optionalChain([value, 'optionalAccess', _672 => _672[key]]);
35931
35983
  }
35932
35984
  if (value === null || value === void 0) {
35933
35985
  return "-";
@@ -36016,7 +36068,7 @@ function useTableMotion(enabled) {
36016
36068
  // src/components/ui/table/table.tsx
36017
36069
 
36018
36070
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
36019
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _672 => _672.length])) || Boolean(renderRowActions);
36071
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _673 => _673.length])) || Boolean(renderRowActions);
36020
36072
  const result = [...columns];
36021
36073
  if (hasActions) {
36022
36074
  const actionsColumn = {
@@ -36112,7 +36164,7 @@ function Table({
36112
36164
  return rowKey(item);
36113
36165
  }
36114
36166
  const key = item[rowKey];
36115
- return _optionalChain([key, 'optionalAccess', _673 => _673.toString, 'call', _674 => _674()]) || index.toString();
36167
+ return _optionalChain([key, 'optionalAccess', _674 => _674.toString, 'call', _675 => _675()]) || index.toString();
36116
36168
  };
36117
36169
  const getRowClassName = (item, index) => {
36118
36170
  if (typeof rowClassName === "function") {
@@ -36146,23 +36198,23 @@ function Table({
36146
36198
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
36147
36199
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
36148
36200
  const sentinelRef = _react.useRef.call(void 0, null);
36149
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _675 => _675.onLoadMore]));
36150
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _676 => _676.onLoadMore]);
36201
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _676 => _676.onLoadMore]));
36202
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.onLoadMore]);
36151
36203
  _react.useEffect.call(void 0, () => {
36152
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
36204
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _678 => _678.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
36153
36205
  const sentinel = sentinelRef.current;
36154
36206
  if (!sentinel) return;
36155
36207
  const observer = new IntersectionObserver(
36156
36208
  (entries) => {
36157
- if (_optionalChain([entries, 'access', _678 => _678[0], 'optionalAccess', _679 => _679.isIntersecting])) {
36158
- _optionalChain([onLoadMoreRef, 'access', _680 => _680.current, 'optionalCall', _681 => _681()]);
36209
+ if (_optionalChain([entries, 'access', _679 => _679[0], 'optionalAccess', _680 => _680.isIntersecting])) {
36210
+ _optionalChain([onLoadMoreRef, 'access', _681 => _681.current, 'optionalCall', _682 => _682()]);
36159
36211
  }
36160
36212
  },
36161
36213
  { rootMargin: "200px" }
36162
36214
  );
36163
36215
  observer.observe(sentinel);
36164
36216
  return () => observer.disconnect();
36165
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _682 => _682.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _683 => _683.isFetchingNextPage])]);
36217
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _683 => _683.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _684 => _684.isFetchingNextPage])]);
36166
36218
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
36167
36219
  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: [
36168
36220
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -36232,14 +36284,14 @@ function Table({
36232
36284
  selected: isRowSelected(item),
36233
36285
  onSelect: handleSelectRow,
36234
36286
  animateRowReorder,
36235
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _684 => _684.motionDiv])
36287
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _685 => _685.motionDiv])
36236
36288
  },
36237
36289
  getRowKey(item, index)
36238
36290
  ));
36239
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _685 => _685.LayoutGroup]);
36291
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _686 => _686.LayoutGroup]);
36240
36292
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
36241
36293
  })(),
36242
- _optionalChain([infiniteScroll, 'optionalAccess', _686 => _686.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36294
+ _optionalChain([infiniteScroll, 'optionalAccess', _687 => _687.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36243
36295
  TableCardSkeleton,
36244
36296
  {
36245
36297
  columns,
@@ -36248,7 +36300,7 @@ function Table({
36248
36300
  hasChevron: Boolean(rowHref)
36249
36301
  }
36250
36302
  ),
36251
- _optionalChain([infiniteScroll, 'optionalAccess', _687 => _687.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36303
+ _optionalChain([infiniteScroll, 'optionalAccess', _688 => _688.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36252
36304
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36253
36305
  "div",
36254
36306
  {
@@ -36606,7 +36658,7 @@ function QueryReportTable({
36606
36658
  );
36607
36659
  const handleExport = () => {
36608
36660
  exportToCSV(data, columns, exportFilename);
36609
- _optionalChain([onExport, 'optionalCall', _688 => _688()]);
36661
+ _optionalChain([onExport, 'optionalCall', _689 => _689()]);
36610
36662
  };
36611
36663
  const tableMinWidth = columns.length * (columnWidth + 16);
36612
36664
  const {
@@ -36779,7 +36831,7 @@ function DataTableColumnFilter({
36779
36831
  align = "left"
36780
36832
  }) {
36781
36833
  const currentValue = column.getFilterValue();
36782
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _689 => _689.length]), () => ( 0));
36834
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _690 => _690.length]), () => ( 0));
36783
36835
  const sections = _react.useMemo.call(void 0,
36784
36836
  () => [
36785
36837
  {
@@ -36859,7 +36911,7 @@ function DataTableHeader({
36859
36911
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
36860
36912
  if (header.isPlaceholder) return false;
36861
36913
  if (isLgUp) return true;
36862
- return Boolean(_optionalChain([header, 'access', _690 => _690.column, 'access', _691 => _691.columnDef, 'access', _692 => _692.meta, 'optionalAccess', _693 => _693.filter]));
36914
+ return Boolean(_optionalChain([header, 'access', _691 => _691.column, 'access', _692 => _692.columnDef, 'access', _693 => _693.meta, 'optionalAccess', _694 => _694.filter]));
36863
36915
  });
36864
36916
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36865
36917
  "div",
@@ -36889,20 +36941,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36889
36941
  if (header.isPlaceholder) return null;
36890
36942
  const column = header.column;
36891
36943
  const meta = column.columnDef.meta;
36892
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _694 => _694.filter]));
36893
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _695 => _695.align]), () => ( "left"));
36894
- const canSort = _optionalChain([meta, 'optionalAccess', _696 => _696.sortable]) === true;
36895
- const sortDir = _optionalChain([sort, 'optionalAccess', _697 => _697.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36944
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _695 => _695.filter]));
36945
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _696 => _696.align]), () => ( "left"));
36946
+ const canSort = _optionalChain([meta, 'optionalAccess', _697 => _697.sortable]) === true;
36947
+ const sortDir = _optionalChain([sort, 'optionalAccess', _698 => _698.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36896
36948
  if (!isLgUp && !hasFilter) return null;
36897
36949
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36898
36950
  "div",
36899
36951
  {
36900
36952
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36901
36953
  "flex items-stretch",
36902
- isLgUp && (_optionalChain([meta, 'optionalAccess', _698 => _698.width]) || "flex-1 min-w-0"),
36903
- _optionalChain([meta, 'optionalAccess', _699 => _699.headerClassName]),
36954
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _699 => _699.width]) || "flex-1 min-w-0"),
36955
+ _optionalChain([meta, 'optionalAccess', _700 => _700.headerClassName]),
36904
36956
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
36905
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _700 => _700.hideAt]))
36957
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _701 => _701.hideAt]))
36906
36958
  ),
36907
36959
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36908
36960
  DataTableColumnFilter,
@@ -36921,7 +36973,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36921
36973
  isLgUp && alignJustify(align),
36922
36974
  canSort && "group cursor-pointer"
36923
36975
  ),
36924
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _701 => _701(column.id)]) : void 0,
36976
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _702 => _702(column.id)]) : void 0,
36925
36977
  children: [
36926
36978
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
36927
36979
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -36986,7 +37038,7 @@ function DataTableSkeleton({
36986
37038
  }) {
36987
37039
  const table = useDataTableContext();
36988
37040
  const columns = table.getVisibleFlatColumns();
36989
- const firstColumnId = _optionalChain([columns, 'access', _702 => _702[0], 'optionalAccess', _703 => _703.id]);
37041
+ const firstColumnId = _optionalChain([columns, 'access', _703 => _703[0], 'optionalAccess', _704 => _704.id]);
36990
37042
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36991
37043
  "div",
36992
37044
  {
@@ -37010,7 +37062,7 @@ function DataTableSkeleton({
37010
37062
  {
37011
37063
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
37012
37064
  "flex flex-col justify-center shrink-0",
37013
- _optionalChain([meta, 'optionalAccess', _704 => _704.width]) || "flex-1"
37065
+ _optionalChain([meta, 'optionalAccess', _705 => _705.width]) || "flex-1"
37014
37066
  ),
37015
37067
  children: [
37016
37068
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -37059,7 +37111,7 @@ function DataTableRowImpl({
37059
37111
  const handleClick = _react.useCallback.call(void 0,
37060
37112
  (e) => {
37061
37113
  const target = e.target;
37062
- if (!_optionalChain([containerRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(target)])) {
37114
+ if (!_optionalChain([containerRef, 'access', _706 => _706.current, 'optionalAccess', _707 => _707.contains, 'call', _708 => _708(target)])) {
37063
37115
  if (isLinkMode) e.preventDefault();
37064
37116
  return;
37065
37117
  }
@@ -37067,7 +37119,7 @@ function DataTableRowImpl({
37067
37119
  if (isLinkMode) e.preventDefault();
37068
37120
  return;
37069
37121
  }
37070
- _optionalChain([onClick, 'optionalCall', _708 => _708(row.original)]);
37122
+ _optionalChain([onClick, 'optionalCall', _709 => _709(row.original)]);
37071
37123
  },
37072
37124
  [onClick, row.original, isLinkMode]
37073
37125
  );
@@ -37092,10 +37144,10 @@ function DataTableRowImpl({
37092
37144
  {
37093
37145
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
37094
37146
  "flex flex-col overflow-hidden",
37095
- alignJustify(_optionalChain([meta, 'optionalAccess', _709 => _709.align])),
37096
- _optionalChain([meta, 'optionalAccess', _710 => _710.width]) || "flex-1 min-w-0",
37097
- _optionalChain([meta, 'optionalAccess', _711 => _711.cellClassName]),
37098
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _712 => _712.hideAt]))
37147
+ alignJustify(_optionalChain([meta, 'optionalAccess', _710 => _710.align])),
37148
+ _optionalChain([meta, 'optionalAccess', _711 => _711.width]) || "flex-1 min-w-0",
37149
+ _optionalChain([meta, 'optionalAccess', _712 => _712.cellClassName]),
37150
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _713 => _713.hideAt]))
37099
37151
  ),
37100
37152
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
37101
37153
  },
@@ -37174,7 +37226,7 @@ function DataTableBody({
37174
37226
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
37175
37227
  rows.map((row, index) => {
37176
37228
  const item = row.original;
37177
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _713 => _713(item)]), () => ( void 0));
37229
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _714 => _714(item)]), () => ( void 0));
37178
37230
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
37179
37231
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37180
37232
  DataTableRow,
@@ -37184,7 +37236,7 @@ function DataTableBody({
37184
37236
  href,
37185
37237
  compact,
37186
37238
  className: cls,
37187
- subRow: _optionalChain([renderSubRow, 'optionalCall', _714 => _714(item)])
37239
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _715 => _715(item)])
37188
37240
  },
37189
37241
  row.id
37190
37242
  );
@@ -37239,7 +37291,7 @@ function DataTableInfiniteFooter({
37239
37291
  if (!sentinel) return;
37240
37292
  const observer = new IntersectionObserver(
37241
37293
  (entries) => {
37242
- if (_optionalChain([entries, 'access', _715 => _715[0], 'optionalAccess', _716 => _716.isIntersecting])) onLoadMoreRef.current();
37294
+ if (_optionalChain([entries, 'access', _716 => _716[0], 'optionalAccess', _717 => _717.isIntersecting])) onLoadMoreRef.current();
37243
37295
  },
37244
37296
  { rootMargin }
37245
37297
  );
@@ -37287,7 +37339,7 @@ function DataTableRowCount({
37287
37339
  const table = useDataTableContext();
37288
37340
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
37289
37341
  if (hideWhenEmpty && count === 0) return null;
37290
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _717 => _717(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37342
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _718 => _718(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37291
37343
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37292
37344
  "span",
37293
37345
  {
@@ -37446,7 +37498,7 @@ function SearchInput({
37446
37498
  if (!showHiddenTags) return;
37447
37499
  const handleClick = (e) => {
37448
37500
  const target = e.target;
37449
- if (!_optionalChain([hiddenTagsRef, 'access', _718 => _718.current, 'optionalAccess', _719 => _719.contains, 'call', _720 => _720(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _721 => _721.current, 'optionalAccess', _722 => _722.contains, 'call', _723 => _723(target)])) {
37501
+ if (!_optionalChain([hiddenTagsRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.contains, 'call', _721 => _721(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.contains, 'call', _724 => _724(target)])) {
37450
37502
  setShowHiddenTags(false);
37451
37503
  }
37452
37504
  };
@@ -37494,10 +37546,10 @@ function SearchInput({
37494
37546
  } else {
37495
37547
  setInternalValue("");
37496
37548
  }
37497
- _optionalChain([inputRef, 'access', _724 => _724.current, 'optionalAccess', _725 => _725.focus, 'call', _726 => _726()]);
37549
+ _optionalChain([inputRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.focus, 'call', _727 => _727()]);
37498
37550
  };
37499
37551
  const handleResultClick = (result, e) => {
37500
- _optionalChain([onResultSelect, 'optionalCall', _727 => _727(
37552
+ _optionalChain([onResultSelect, 'optionalCall', _728 => _728(
37501
37553
  result,
37502
37554
  e ? {
37503
37555
  metaKey: e.metaKey,
@@ -37529,7 +37581,7 @@ function SearchInput({
37529
37581
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
37530
37582
  handleResultClick(flatResults[highlightedIndex]);
37531
37583
  } else {
37532
- _optionalChain([onSubmit, 'optionalCall', _728 => _728(currentValue)]);
37584
+ _optionalChain([onSubmit, 'optionalCall', _729 => _729(currentValue)]);
37533
37585
  }
37534
37586
  break;
37535
37587
  case "Escape":
@@ -37607,7 +37659,7 @@ function SearchInput({
37607
37659
  dropdownVisible && "!border-ods-accent"
37608
37660
  ),
37609
37661
  onClick: () => {
37610
- _optionalChain([inputRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.focus, 'call', _731 => _731()]);
37662
+ _optionalChain([inputRef, 'access', _730 => _730.current, 'optionalAccess', _731 => _731.focus, 'call', _732 => _732()]);
37611
37663
  setIsOpen(true);
37612
37664
  },
37613
37665
  children: [
@@ -37691,10 +37743,10 @@ function SearchInput({
37691
37743
  align: "start",
37692
37744
  onOpenAutoFocus: (e) => {
37693
37745
  e.preventDefault();
37694
- _optionalChain([inputRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.focus, 'call', _734 => _734()]);
37746
+ _optionalChain([inputRef, 'access', _733 => _733.current, 'optionalAccess', _734 => _734.focus, 'call', _735 => _735()]);
37695
37747
  },
37696
37748
  onInteractOutside: (e) => {
37697
- if (_optionalChain([containerRef, 'access', _735 => _735.current, 'optionalAccess', _736 => _736.contains, 'call', _737 => _737(e.target)])) {
37749
+ if (_optionalChain([containerRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.contains, 'call', _738 => _738(e.target)])) {
37698
37750
  e.preventDefault();
37699
37751
  }
37700
37752
  },
@@ -37711,10 +37763,10 @@ function SearchInput({
37711
37763
  ref: hiddenTagsPopupRef,
37712
37764
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
37713
37765
  style: {
37714
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.getBoundingClientRect, 'call', _740 => _740(), 'access', _741 => _741.left]), () => ( 0))) : 0
37766
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.getBoundingClientRect, 'call', _741 => _741(), 'access', _742 => _742.left]), () => ( 0))) : 0
37715
37767
  },
37716
37768
  onRemove: (value2) => {
37717
- _optionalChain([onFilterRemove, 'optionalCall', _742 => _742(value2)]);
37769
+ _optionalChain([onFilterRemove, 'optionalCall', _743 => _743(value2)]);
37718
37770
  if (hiddenCount <= 1) setShowHiddenTags(false);
37719
37771
  }
37720
37772
  }
@@ -37765,7 +37817,7 @@ function FilterListItem({
37765
37817
  }) {
37766
37818
  const handleToggle = () => {
37767
37819
  if (disabled) return;
37768
- _optionalChain([onToggle, 'optionalCall', _743 => _743(!selected)]);
37820
+ _optionalChain([onToggle, 'optionalCall', _744 => _744(!selected)]);
37769
37821
  };
37770
37822
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37771
37823
  "div",
@@ -37812,7 +37864,7 @@ function FilterListItem({
37812
37864
  CheckboxPrimitive4.Root,
37813
37865
  {
37814
37866
  checked: selected,
37815
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _744 => _744(c === true)]),
37867
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _745 => _745(c === true)]),
37816
37868
  onClick: (e) => e.stopPropagation(),
37817
37869
  disabled,
37818
37870
  "aria-label": title,
@@ -37911,7 +37963,7 @@ function TagSearchInput({
37911
37963
  if (!showHiddenTags) return;
37912
37964
  const handleClick = (e) => {
37913
37965
  const target = e.target;
37914
- if (!_optionalChain([hiddenTagsRef, 'access', _745 => _745.current, 'optionalAccess', _746 => _746.contains, 'call', _747 => _747(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _748 => _748.current, 'optionalAccess', _749 => _749.contains, 'call', _750 => _750(target)])) {
37966
+ if (!_optionalChain([hiddenTagsRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.contains, 'call', _748 => _748(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _749 => _749.current, 'optionalAccess', _750 => _750.contains, 'call', _751 => _751(target)])) {
37915
37967
  setShowHiddenTags(false);
37916
37968
  }
37917
37969
  };
@@ -37927,13 +37979,13 @@ function TagSearchInput({
37927
37979
  e.preventDefault();
37928
37980
  onSubmit(searchValue);
37929
37981
  }
37930
- _optionalChain([onKeyDown, 'optionalCall', _751 => _751(e)]);
37982
+ _optionalChain([onKeyDown, 'optionalCall', _752 => _752(e)]);
37931
37983
  };
37932
37984
  const handleClearAll = (e) => {
37933
37985
  e.stopPropagation();
37934
37986
  e.preventDefault();
37935
- _optionalChain([onClearAll, 'optionalCall', _752 => _752()]);
37936
- _optionalChain([inputRef, 'access', _753 => _753.current, 'optionalAccess', _754 => _754.focus, 'call', _755 => _755()]);
37987
+ _optionalChain([onClearAll, 'optionalCall', _753 => _753()]);
37988
+ _optionalChain([inputRef, 'access', _754 => _754.current, 'optionalAccess', _755 => _755.focus, 'call', _756 => _756()]);
37937
37989
  };
37938
37990
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
37939
37991
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -37950,7 +38002,7 @@ function TagSearchInput({
37950
38002
  className
37951
38003
  ),
37952
38004
  onClick: () => {
37953
- if (!disabled) _optionalChain([inputRef, 'access', _756 => _756.current, 'optionalAccess', _757 => _757.focus, 'call', _758 => _758()]);
38005
+ if (!disabled) _optionalChain([inputRef, 'access', _757 => _757.current, 'optionalAccess', _758 => _758.focus, 'call', _759 => _759()]);
37954
38006
  },
37955
38007
  children: [
37956
38008
  /* @__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" }) }),
@@ -38022,7 +38074,7 @@ function TagSearchInput({
38022
38074
  items: hiddenTags,
38023
38075
  disabled,
38024
38076
  style: {
38025
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _759 => _759.current, 'optionalAccess', _760 => _760.getBoundingClientRect, 'call', _761 => _761(), 'access', _762 => _762.left]), () => ( 0))) : 0
38077
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _760 => _760.current, 'optionalAccess', _761 => _761.getBoundingClientRect, 'call', _762 => _762(), 'access', _763 => _763.left]), () => ( 0))) : 0
38026
38078
  },
38027
38079
  onRemove: (value) => {
38028
38080
  onTagRemove(value);
@@ -38123,7 +38175,7 @@ function MarkdownEditor({
38123
38175
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
38124
38176
  _react.useEffect.call(void 0, () => {
38125
38177
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
38126
- if (_optionalChain([mod, 'access', _763 => _763.commands, 'optionalAccess', _764 => _764.getExtraCommands])) {
38178
+ if (_optionalChain([mod, 'access', _764 => _764.commands, 'optionalAccess', _765 => _765.getExtraCommands])) {
38127
38179
  setDefaultExtraCommands(mod.commands.getExtraCommands());
38128
38180
  }
38129
38181
  });
@@ -38157,7 +38209,7 @@ function MarkdownEditor({
38157
38209
  const isImage = file.type.startsWith("image/");
38158
38210
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
38159
38211
  insertTextAtCursor(markdown);
38160
- _optionalChain([onFileUploaded, 'optionalCall', _765 => _765(url, file.name)]);
38212
+ _optionalChain([onFileUploaded, 'optionalCall', _766 => _766(url, file.name)]);
38161
38213
  } catch (error) {
38162
38214
  console.error("File upload failed:", error);
38163
38215
  setUploadProgress("Upload failed. Please try again.");
@@ -38170,7 +38222,7 @@ function MarkdownEditor({
38170
38222
  );
38171
38223
  const handleFileInputChange = _react.useCallback.call(void 0,
38172
38224
  (e) => {
38173
- const file = _optionalChain([e, 'access', _766 => _766.target, 'access', _767 => _767.files, 'optionalAccess', _768 => _768[0]]);
38225
+ const file = _optionalChain([e, 'access', _767 => _767.target, 'access', _768 => _768.files, 'optionalAccess', _769 => _769[0]]);
38174
38226
  if (file) {
38175
38227
  handleFileUpload(file);
38176
38228
  e.target.value = "";
@@ -38181,7 +38233,7 @@ function MarkdownEditor({
38181
38233
  const handlePaste = _react.useCallback.call(void 0,
38182
38234
  (e) => {
38183
38235
  if (!onUploadFile) return;
38184
- const items = _optionalChain([e, 'access', _769 => _769.clipboardData, 'optionalAccess', _770 => _770.items]);
38236
+ const items = _optionalChain([e, 'access', _770 => _770.clipboardData, 'optionalAccess', _771 => _771.items]);
38185
38237
  if (!items) return;
38186
38238
  for (const item of items) {
38187
38239
  if (item.type.startsWith("image/")) {
@@ -38206,7 +38258,7 @@ function MarkdownEditor({
38206
38258
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
38207
38259
  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" }),
38208
38260
  execute: () => {
38209
- _optionalChain([fileInputRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.click, 'call', _773 => _773()]);
38261
+ _optionalChain([fileInputRef, 'access', _772 => _772.current, 'optionalAccess', _773 => _773.click, 'call', _774 => _774()]);
38210
38262
  }
38211
38263
  } : null;
38212
38264
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -38218,7 +38270,7 @@ function MarkdownEditor({
38218
38270
  const EDGE_ZONE = 60;
38219
38271
  const MAX_SCROLL_SPEED = 15;
38220
38272
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
38221
- let node = _optionalChain([el, 'optionalAccess', _774 => _774.parentElement]);
38273
+ let node = _optionalChain([el, 'optionalAccess', _775 => _775.parentElement]);
38222
38274
  while (node && node !== document.documentElement) {
38223
38275
  const { overflowY } = window.getComputedStyle(node);
38224
38276
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -38361,7 +38413,7 @@ function matchesAccept(file, accept) {
38361
38413
  });
38362
38414
  }
38363
38415
  function dragHasFiles(e) {
38364
- const types = _optionalChain([e, 'access', _775 => _775.dataTransfer, 'optionalAccess', _776 => _776.types]);
38416
+ const types = _optionalChain([e, 'access', _776 => _776.dataTransfer, 'optionalAccess', _777 => _777.types]);
38365
38417
  if (!types) return false;
38366
38418
  for (let i = 0; i < types.length; i++) {
38367
38419
  if (types[i] === "Files") return true;
@@ -38457,7 +38509,7 @@ function FileUpload({
38457
38509
  e.stopPropagation();
38458
38510
  setDragActive(false);
38459
38511
  if (disabled) return;
38460
- if (_optionalChain([e, 'access', _777 => _777.dataTransfer, 'access', _778 => _778.files, 'optionalAccess', _779 => _779.length])) {
38512
+ if (_optionalChain([e, 'access', _778 => _778.dataTransfer, 'access', _779 => _779.files, 'optionalAccess', _780 => _780.length])) {
38461
38513
  handleFiles(e.dataTransfer.files);
38462
38514
  }
38463
38515
  };
@@ -38485,7 +38537,7 @@ function FileUpload({
38485
38537
  e.preventDefault();
38486
38538
  dragCounter = 0;
38487
38539
  setDragActive(false);
38488
- if (_optionalChain([e, 'access', _780 => _780.dataTransfer, 'optionalAccess', _781 => _781.files, 'optionalAccess', _782 => _782.length])) {
38540
+ if (_optionalChain([e, 'access', _781 => _781.dataTransfer, 'optionalAccess', _782 => _782.files, 'optionalAccess', _783 => _783.length])) {
38489
38541
  handleFilesRef.current(e.dataTransfer.files);
38490
38542
  }
38491
38543
  };
@@ -38507,7 +38559,7 @@ function FileUpload({
38507
38559
  };
38508
38560
  }, [acceptWindowDrops, disabled]);
38509
38561
  const handleFileSelect = (e) => {
38510
- if (_optionalChain([e, 'access', _783 => _783.target, 'access', _784 => _784.files, 'optionalAccess', _785 => _785.length])) {
38562
+ if (_optionalChain([e, 'access', _784 => _784.target, 'access', _785 => _785.files, 'optionalAccess', _786 => _786.length])) {
38511
38563
  handleFiles(e.target.files);
38512
38564
  }
38513
38565
  };
@@ -38524,7 +38576,7 @@ function FileUpload({
38524
38576
  };
38525
38577
  const openDialog = async () => {
38526
38578
  if (disabled) return;
38527
- _optionalChain([fileInputRef, 'access', _786 => _786.current, 'optionalAccess', _787 => _787.click, 'call', _788 => _788()]);
38579
+ _optionalChain([fileInputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.click, 'call', _789 => _789()]);
38528
38580
  };
38529
38581
  const displayError = error || validationError || void 0;
38530
38582
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -38586,7 +38638,7 @@ function FileUpload({
38586
38638
  "button",
38587
38639
  {
38588
38640
  type: "button",
38589
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _789 => _789(entry.id)]),
38641
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _790 => _790(entry.id)]),
38590
38642
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
38591
38643
  "aria-label": `Remove ${entry.fileName}`,
38592
38644
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrashIcon, { className: "size-6" })
@@ -38717,7 +38769,7 @@ function ImageUploader({
38717
38769
  onChange(file);
38718
38770
  };
38719
38771
  const handleFileSelect = (e) => {
38720
- validateAndEmit(_optionalChain([e, 'access', _790 => _790.target, 'access', _791 => _791.files, 'optionalAccess', _792 => _792[0]]));
38772
+ validateAndEmit(_optionalChain([e, 'access', _791 => _791.target, 'access', _792 => _792.files, 'optionalAccess', _793 => _793[0]]));
38721
38773
  if (inputRef.current) inputRef.current.value = "";
38722
38774
  };
38723
38775
  const handleDrag = (e) => {
@@ -38732,11 +38784,11 @@ function ImageUploader({
38732
38784
  e.stopPropagation();
38733
38785
  setDragActive(false);
38734
38786
  if (!interactive) return;
38735
- validateAndEmit(_optionalChain([e, 'access', _793 => _793.dataTransfer, 'access', _794 => _794.files, 'optionalAccess', _795 => _795[0]]));
38787
+ validateAndEmit(_optionalChain([e, 'access', _794 => _794.dataTransfer, 'access', _795 => _795.files, 'optionalAccess', _796 => _796[0]]));
38736
38788
  };
38737
38789
  const openDialog = () => {
38738
38790
  if (!interactive) return;
38739
- _optionalChain([inputRef, 'access', _796 => _796.current, 'optionalAccess', _797 => _797.click, 'call', _798 => _798()]);
38791
+ _optionalChain([inputRef, 'access', _797 => _797.current, 'optionalAccess', _798 => _798.click, 'call', _799 => _799()]);
38740
38792
  };
38741
38793
  const handleRootKeyDown = (e) => {
38742
38794
  if (hasImage || !interactive) return;
@@ -38927,8 +38979,8 @@ function ColorPresetSelect({
38927
38979
  }) {
38928
38980
  const selectedPreset = presets.find((p) => p.key === presetKey);
38929
38981
  const isCustom = !selectedPreset;
38930
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _799 => _799.label]), () => ( "Custom"));
38931
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _800 => _800.color]), () => ( value));
38982
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _800 => _800.label]), () => ( "Custom"));
38983
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _801 => _801.color]), () => ( value));
38932
38984
  const groups = [
38933
38985
  {
38934
38986
  items: [
@@ -39218,7 +39270,7 @@ function TicketStatusConfigRow({
39218
39270
  _chunkQJGRP2YEcjs.Input,
39219
39271
  {
39220
39272
  value: name,
39221
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _801 => _801(e.target.value)]),
39273
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _802 => _802(e.target.value)]),
39222
39274
  disabled: isSystem,
39223
39275
  readOnly: isSystem,
39224
39276
  "aria-label": "Status name",
@@ -39591,14 +39643,14 @@ function TicketInfoSection({
39591
39643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39592
39644
  SquareAvatar,
39593
39645
  {
39594
- src: _optionalChain([organization, 'optionalAccess', _802 => _802.imageSrc]),
39595
- alt: _optionalChain([organization, 'optionalAccess', _803 => _803.name]),
39596
- fallback: _optionalChain([organization, 'optionalAccess', _804 => _804.name]) || "Org",
39646
+ src: _optionalChain([organization, 'optionalAccess', _803 => _803.imageSrc]),
39647
+ alt: _optionalChain([organization, 'optionalAccess', _804 => _804.name]),
39648
+ fallback: _optionalChain([organization, 'optionalAccess', _805 => _805.name]) || "Org",
39597
39649
  size: "md",
39598
39650
  className: "shrink-0"
39599
39651
  }
39600
39652
  ),
39601
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _805 => _805.name]) || "Unassigned", label: "Organization" })
39653
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _806 => _806.name]) || "Unassigned", label: "Organization" })
39602
39654
  ] }),
39603
39655
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39604
39656
  AssigneeDropdown,
@@ -39619,10 +39671,10 @@ function TicketInfoSection({
39619
39671
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39620
39672
  InfoCell2,
39621
39673
  {
39622
- value: _optionalChain([device, 'optionalAccess', _806 => _806.name]) || "Unassigned",
39674
+ value: _optionalChain([device, 'optionalAccess', _807 => _807.name]) || "Unassigned",
39623
39675
  label: "Device",
39624
- icon: _optionalChain([device, 'optionalAccess', _807 => _807.icon]),
39625
- onClick: _optionalChain([device, 'optionalAccess', _808 => _808.onClick])
39676
+ icon: _optionalChain([device, 'optionalAccess', _808 => _808.icon]),
39677
+ onClick: _optionalChain([device, 'optionalAccess', _809 => _809.onClick])
39626
39678
  }
39627
39679
  ),
39628
39680
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39952,7 +40004,7 @@ function RoadmapCard({
39952
40004
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39953
40005
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39954
40006
  const hasFigma = !!item.figmaUrl;
39955
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _809 => _809.screenshots, 'optionalAccess', _810 => _810.length]), () => ( 0))) > 0;
40007
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _810 => _810.screenshots, 'optionalAccess', _811 => _811.length]), () => ( 0))) > 0;
39956
40008
  const typeLabel = getTaskTypeLabel(item.customItemId);
39957
40009
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39958
40010
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39971,7 +40023,7 @@ function RoadmapCard({
39971
40023
  unoptimized: true,
39972
40024
  className: "h-8 w-8 object-contain"
39973
40025
  }
39974
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _811 => _811.title, 'optionalAccess', _812 => _812.substring, 'call', _813 => _813(0, 2)]) || "??" })
40026
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _812 => _812.title, 'optionalAccess', _813 => _813.substring, 'call', _814 => _814(0, 2)]) || "??" })
39975
40027
  }
39976
40028
  ),
39977
40029
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -40046,7 +40098,7 @@ function RoadmapCard({
40046
40098
  unoptimized: true,
40047
40099
  className: "object-contain p-1"
40048
40100
  }
40049
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _814 => _814.title, 'optionalAccess', _815 => _815.substring, 'call', _816 => _816(0, 2)]) || "??" }) }),
40101
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _815 => _815.title, 'optionalAccess', _816 => _816.substring, 'call', _817 => _817(0, 2)]) || "??" }) }),
40050
40102
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
40051
40103
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
40052
40104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -40556,7 +40608,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
40556
40608
  ] }) : null,
40557
40609
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
40558
40610
  ] }),
40559
- _optionalChain([anchorProps, 'optionalAccess', _817 => _817.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
40611
+ _optionalChain([anchorProps, 'optionalAccess', _818 => _818.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
40560
40612
  ] });
40561
40613
  if (!anchorProps) {
40562
40614
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -40626,7 +40678,7 @@ function getDefaultOptions() {
40626
40678
  // node_modules/date-fns/startOfWeek.mjs
40627
40679
  function startOfWeek(date, options) {
40628
40680
  const defaultOptions2 = getDefaultOptions();
40629
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _818 => _818.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _819 => _819.locale, 'optionalAccess', _820 => _820.options, 'optionalAccess', _821 => _821.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _822 => _822.locale, 'optionalAccess', _823 => _823.options, 'optionalAccess', _824 => _824.weekStartsOn]))), () => ( 0));
40681
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _819 => _819.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _823 => _823.locale, 'optionalAccess', _824 => _824.options, 'optionalAccess', _825 => _825.weekStartsOn]))), () => ( 0));
40630
40682
  const _date = toDate(date);
40631
40683
  const day = _date.getDay();
40632
40684
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -40801,7 +40853,7 @@ var formatDistance = (token, count, options) => {
40801
40853
  } else {
40802
40854
  result = tokenValue.other.replace("{{count}}", count.toString());
40803
40855
  }
40804
- if (_optionalChain([options, 'optionalAccess', _825 => _825.addSuffix])) {
40856
+ if (_optionalChain([options, 'optionalAccess', _826 => _826.addSuffix])) {
40805
40857
  if (options.comparison && options.comparison > 0) {
40806
40858
  return "in " + result;
40807
40859
  } else {
@@ -40868,15 +40920,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40868
40920
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40869
40921
  function buildLocalizeFn(args) {
40870
40922
  return (value, options) => {
40871
- const context = _optionalChain([options, 'optionalAccess', _826 => _826.context]) ? String(options.context) : "standalone";
40923
+ const context = _optionalChain([options, 'optionalAccess', _827 => _827.context]) ? String(options.context) : "standalone";
40872
40924
  let valuesArray;
40873
40925
  if (context === "formatting" && args.formattingValues) {
40874
40926
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40875
- const width = _optionalChain([options, 'optionalAccess', _827 => _827.width]) ? String(options.width) : defaultWidth;
40927
+ const width = _optionalChain([options, 'optionalAccess', _828 => _828.width]) ? String(options.width) : defaultWidth;
40876
40928
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40877
40929
  } else {
40878
40930
  const defaultWidth = args.defaultWidth;
40879
- const width = _optionalChain([options, 'optionalAccess', _828 => _828.width]) ? String(options.width) : args.defaultWidth;
40931
+ const width = _optionalChain([options, 'optionalAccess', _829 => _829.width]) ? String(options.width) : args.defaultWidth;
40880
40932
  valuesArray = args.values[width] || args.values[defaultWidth];
40881
40933
  }
40882
40934
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -41256,7 +41308,7 @@ function getWeekYear(date, options) {
41256
41308
  const _date = toDate(date);
41257
41309
  const year = _date.getFullYear();
41258
41310
  const defaultOptions2 = getDefaultOptions();
41259
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _829 => _829.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _833 => _833.locale, 'optionalAccess', _834 => _834.options, 'optionalAccess', _835 => _835.firstWeekContainsDate]))), () => ( 1));
41311
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _831 => _831.locale, 'optionalAccess', _832 => _832.options, 'optionalAccess', _833 => _833.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _834 => _834.locale, 'optionalAccess', _835 => _835.options, 'optionalAccess', _836 => _836.firstWeekContainsDate]))), () => ( 1));
41260
41312
  const firstWeekOfNextYear = constructFrom(date, 0);
41261
41313
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
41262
41314
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -41277,7 +41329,7 @@ function getWeekYear(date, options) {
41277
41329
  // node_modules/date-fns/startOfWeekYear.mjs
41278
41330
  function startOfWeekYear(date, options) {
41279
41331
  const defaultOptions2 = getDefaultOptions();
41280
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _836 => _836.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _837 => _837.locale, 'optionalAccess', _838 => _838.options, 'optionalAccess', _839 => _839.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _840 => _840.locale, 'optionalAccess', _841 => _841.options, 'optionalAccess', _842 => _842.firstWeekContainsDate]))), () => ( 1));
41332
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _837 => _837.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _838 => _838.locale, 'optionalAccess', _839 => _839.options, 'optionalAccess', _840 => _840.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _841 => _841.locale, 'optionalAccess', _842 => _842.options, 'optionalAccess', _843 => _843.firstWeekContainsDate]))), () => ( 1));
41281
41333
  const year = getWeekYear(date, options);
41282
41334
  const firstWeek = constructFrom(date, 0);
41283
41335
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -42092,9 +42144,9 @@ var doubleQuoteRegExp = /''/g;
42092
42144
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
42093
42145
  function format(date, formatStr, options) {
42094
42146
  const defaultOptions2 = getDefaultOptions();
42095
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _843 => _843.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
42096
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _844 => _844.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _845 => _845.locale, 'optionalAccess', _846 => _846.options, 'optionalAccess', _847 => _847.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _848 => _848.locale, 'optionalAccess', _849 => _849.options, 'optionalAccess', _850 => _850.firstWeekContainsDate]))), () => ( 1));
42097
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _851 => _851.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _852 => _852.locale, 'optionalAccess', _853 => _853.options, 'optionalAccess', _854 => _854.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _855 => _855.locale, 'optionalAccess', _856 => _856.options, 'optionalAccess', _857 => _857.weekStartsOn]))), () => ( 0));
42147
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _844 => _844.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
42148
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _845 => _845.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _846 => _846.locale, 'optionalAccess', _847 => _847.options, 'optionalAccess', _848 => _848.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _849 => _849.locale, 'optionalAccess', _850 => _850.options, 'optionalAccess', _851 => _851.firstWeekContainsDate]))), () => ( 1));
42149
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _852 => _852.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _853 => _853.locale, 'optionalAccess', _854 => _854.options, 'optionalAccess', _855 => _855.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _856 => _856.locale, 'optionalAccess', _857 => _857.options, 'optionalAccess', _858 => _858.weekStartsOn]))), () => ( 0));
42098
42150
  const originalDate = toDate(date);
42099
42151
  if (!isValid(originalDate)) {
42100
42152
  throw new RangeError("Invalid time value");
@@ -42135,7 +42187,7 @@ function format(date, formatStr, options) {
42135
42187
  return parts.map((part) => {
42136
42188
  if (!part.isToken) return part.value;
42137
42189
  const token = part.value;
42138
- if (!_optionalChain([options, 'optionalAccess', _858 => _858.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _859 => _859.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
42190
+ if (!_optionalChain([options, 'optionalAccess', _859 => _859.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _860 => _860.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
42139
42191
  warnOrThrowProtectedError(token, formatStr, String(date));
42140
42192
  }
42141
42193
  const formatter = formatters[token[0]];
@@ -42316,7 +42368,7 @@ function ProgramCard({
42316
42368
  const dur = formatDurationFromRange(w.start_at, w.end_at);
42317
42369
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42318
42370
  }
42319
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _860 => _860.labels, 'optionalAccess', _861 => _861.singular])].filter(
42371
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _861 => _861.labels, 'optionalAccess', _862 => _862.singular])].filter(
42320
42372
  (s) => typeof s === "string" && s.length > 0
42321
42373
  );
42322
42374
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -42473,7 +42525,7 @@ function ProgramCard({
42473
42525
 
42474
42526
 
42475
42527
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
42476
- const goalsCount = _optionalChain([campaign, 'access', _862 => _862.goals, 'optionalAccess', _863 => _863.length]) || 0;
42528
+ const goalsCount = _optionalChain([campaign, 'access', _863 => _863.goals, 'optionalAccess', _864 => _864.length]) || 0;
42477
42529
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42478
42530
  /* @__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" }) }),
42479
42531
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42635,7 +42687,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
42635
42687
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
42636
42688
  const safePath = sanitizePath(row.path);
42637
42689
  if (safePath) {
42638
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _864 => _864.docPlatformTargets, 'optionalAccess', _865 => _865[row.documentType]]) : void 0;
42690
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _865 => _865.docPlatformTargets, 'optionalAccess', _866 => _866[row.documentType]]) : void 0;
42639
42691
  if (docTarget) {
42640
42692
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
42641
42693
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42850,8 +42902,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42850
42902
  if (href) {
42851
42903
  items.push({
42852
42904
  id: "open-details",
42853
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _866 => _866.label]), () => ( "Open Details")),
42854
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _867 => _867.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42905
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _867 => _867.label]), () => ( "Open Details")),
42906
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _868 => _868.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42855
42907
  // Main row → open the entity (same tab, soft Link nav).
42856
42908
  href,
42857
42909
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42881,8 +42933,8 @@ function HubspotTicketChatCard({
42881
42933
  isNewTab,
42882
42934
  discuss
42883
42935
  }) {
42884
- const status = typeof _optionalChain([chatRef, 'access', _868 => _868.metadata, 'optionalAccess', _869 => _869.status]) === "string" ? chatRef.metadata.status : void 0;
42885
- const statusLabel = typeof _optionalChain([chatRef, 'access', _870 => _870.metadata, 'optionalAccess', _871 => _871.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42936
+ const status = typeof _optionalChain([chatRef, 'access', _869 => _869.metadata, 'optionalAccess', _870 => _870.status]) === "string" ? chatRef.metadata.status : void 0;
42937
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _871 => _871.metadata, 'optionalAccess', _872 => _872.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42886
42938
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42887
42939
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42888
42940
  MingoInfoCard,
@@ -42905,7 +42957,7 @@ function FaqChatCard({
42905
42957
  isNewTab,
42906
42958
  discuss
42907
42959
  }) {
42908
- const section = typeof _optionalChain([chatRef, 'access', _872 => _872.metadata, 'optionalAccess', _873 => _873.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42960
+ const section = typeof _optionalChain([chatRef, 'access', _873 => _873.metadata, 'optionalAccess', _874 => _874.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42909
42961
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42910
42962
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42911
42963
  MingoInfoCard,
@@ -42925,7 +42977,7 @@ function SlackChatCard({
42925
42977
  isNewTab,
42926
42978
  discuss
42927
42979
  }) {
42928
- const channelName = typeof _optionalChain([chatRef, 'access', _874 => _874.metadata, 'optionalAccess', _875 => _875.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42980
+ const channelName = typeof _optionalChain([chatRef, 'access', _875 => _875.metadata, 'optionalAccess', _876 => _876.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42929
42981
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42930
42982
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42931
42983
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42965,7 +43017,7 @@ function GenericFinancialChatCard({
42965
43017
  isNewTab,
42966
43018
  discuss
42967
43019
  }) {
42968
- const subtitle = typeof _optionalChain([chatRef, 'access', _876 => _876.metadata, 'optionalAccess', _877 => _877.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
43020
+ const subtitle = typeof _optionalChain([chatRef, 'access', _877 => _877.metadata, 'optionalAccess', _878 => _878.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42969
43021
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42970
43022
  MingoInfoCard,
42971
43023
  {
@@ -43034,12 +43086,12 @@ function ProductReleaseChatCard({
43034
43086
  discuss
43035
43087
  }) {
43036
43088
  const releaseProps = buildProps(item);
43037
- const status = _optionalChain([item, 'optionalAccess', _878 => _878.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
43089
+ const status = _optionalChain([item, 'optionalAccess', _879 => _879.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
43038
43090
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43039
43091
  EntityMingoCard,
43040
43092
  {
43041
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _879 => _879.title]), () => ( "")),
43042
- description: _optionalChain([item, 'optionalAccess', _880 => _880.summary]) || releaseProps.formattedDate || void 0,
43093
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _880 => _880.title]), () => ( "")),
43094
+ description: _optionalChain([item, 'optionalAccess', _881 => _881.summary]) || releaseProps.formattedDate || void 0,
43043
43095
  cover: releaseProps.coverImage || void 0,
43044
43096
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Rocket02Icon, { size: 24 }),
43045
43097
  status,
@@ -43056,17 +43108,17 @@ function CampaignChatCard({
43056
43108
  isNewTab,
43057
43109
  discuss
43058
43110
  }) {
43059
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _881 => _881.goals])) ? item.goals.length : 0;
43111
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _882 => _882.goals])) ? item.goals.length : 0;
43060
43112
  const meta = [
43061
- _optionalChain([item, 'optionalAccess', _882 => _882.start_date]) ? formatDateShort(item.start_date) : null,
43113
+ _optionalChain([item, 'optionalAccess', _883 => _883.start_date]) ? formatDateShort(item.start_date) : null,
43062
43114
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
43063
43115
  "Marketing campaign"
43064
43116
  ].filter(Boolean).join(" \xB7 ");
43065
43117
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43066
43118
  EntityMingoCard,
43067
43119
  {
43068
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _883 => _883.name]), () => ( "")),
43069
- description: meta || _optionalChain([item, 'optionalAccess', _884 => _884.description]) || void 0,
43120
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.name]), () => ( "")),
43121
+ description: meta || _optionalChain([item, 'optionalAccess', _885 => _885.description]) || void 0,
43070
43122
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Megaphone01Icon, { size: 24 }),
43071
43123
  chatRef,
43072
43124
  isNewTab,
@@ -43119,14 +43171,14 @@ function BlogChatCard({
43119
43171
  hasEmbeddedVideo,
43120
43172
  discuss
43121
43173
  }) {
43122
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _885 => _885.categories])) ? _optionalChain([item, 'access', _886 => _886.categories, 'access', _887 => _887.find, 'call', _888 => _888((c) => c && c.name), 'optionalAccess', _889 => _889.name]) : void 0;
43174
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _886 => _886.categories])) ? _optionalChain([item, 'access', _887 => _887.categories, 'access', _888 => _888.find, 'call', _889 => _889((c) => c && c.name), 'optionalAccess', _890 => _890.name]) : void 0;
43123
43175
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
43124
43176
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43125
43177
  EntityMingoCard,
43126
43178
  {
43127
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _890 => _890.title]), () => ( "")),
43128
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.summary]), () => ( void 0)),
43129
- cover: entityCover(_optionalChain([item, 'optionalAccess', _892 => _892.featured_image]), ogPlaceholder),
43179
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
43180
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _892 => _892.summary]), () => ( void 0)),
43181
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _893 => _893.featured_image]), ogPlaceholder),
43130
43182
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.NewspaperIcon, { size: 24 }),
43131
43183
  status,
43132
43184
  chatRef,
@@ -43143,13 +43195,13 @@ function CaseStudyChatCard({
43143
43195
  ogPlaceholder,
43144
43196
  discuss
43145
43197
  }) {
43146
- const meta = [_optionalChain([item, 'optionalAccess', _893 => _893.msp, 'optionalAccess', _894 => _894.name]), _optionalChain([item, 'optionalAccess', _895 => _895.user, 'optionalAccess', _896 => _896.full_name])].filter(Boolean).join(" \xB7 ");
43198
+ const meta = [_optionalChain([item, 'optionalAccess', _894 => _894.msp, 'optionalAccess', _895 => _895.name]), _optionalChain([item, 'optionalAccess', _896 => _896.user, 'optionalAccess', _897 => _897.full_name])].filter(Boolean).join(" \xB7 ");
43147
43199
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43148
43200
  EntityMingoCard,
43149
43201
  {
43150
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _897 => _897.title]), () => ( "")),
43151
- description: _optionalChain([item, 'optionalAccess', _898 => _898.summary]) || meta || void 0,
43152
- cover: entityCover(_optionalChain([item, 'optionalAccess', _899 => _899.featured_image]), ogPlaceholder),
43202
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _898 => _898.title]), () => ( "")),
43203
+ description: _optionalChain([item, 'optionalAccess', _899 => _899.summary]) || meta || void 0,
43204
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.featured_image]), ogPlaceholder),
43153
43205
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrophyIcon, { size: 24 }),
43154
43206
  status: { label: "Case study", variant: "grey" },
43155
43207
  chatRef,
@@ -43166,13 +43218,13 @@ function CustomerInterviewChatCard({
43166
43218
  ogPlaceholder,
43167
43219
  discuss
43168
43220
  }) {
43169
- const meta = [_optionalChain([item, 'optionalAccess', _900 => _900.user, 'optionalAccess', _901 => _901.full_name]), _optionalChain([item, 'optionalAccess', _902 => _902.msp, 'optionalAccess', _903 => _903.name])].filter(Boolean).join(" \xB7 ");
43221
+ const meta = [_optionalChain([item, 'optionalAccess', _901 => _901.user, 'optionalAccess', _902 => _902.full_name]), _optionalChain([item, 'optionalAccess', _903 => _903.msp, 'optionalAccess', _904 => _904.name])].filter(Boolean).join(" \xB7 ");
43170
43222
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43171
43223
  EntityMingoCard,
43172
43224
  {
43173
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
43174
- description: _optionalChain([item, 'optionalAccess', _905 => _905.video_summary]) || meta || void 0,
43175
- cover: entityCover(_optionalChain([item, 'optionalAccess', _906 => _906.featured_image]), ogPlaceholder),
43225
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.title]), () => ( "")),
43226
+ description: _optionalChain([item, 'optionalAccess', _906 => _906.video_summary]) || meta || void 0,
43227
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _907 => _907.featured_image]), ogPlaceholder),
43176
43228
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 }),
43177
43229
  status: { label: "Interview", variant: "grey" },
43178
43230
  chatRef,
@@ -43189,13 +43241,13 @@ function InvestorUpdateChatCard({
43189
43241
  ogPlaceholder,
43190
43242
  discuss
43191
43243
  }) {
43192
- const title = _optionalChain([item, 'optionalAccess', _907 => _907.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _908 => _908.update_number]), () => ( "?"))}`;
43244
+ const title = _optionalChain([item, 'optionalAccess', _908 => _908.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _909 => _909.update_number]), () => ( "?"))}`;
43193
43245
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43194
43246
  EntityMingoCard,
43195
43247
  {
43196
43248
  title,
43197
- description: _optionalChain([item, 'optionalAccess', _909 => _909.strategic_update]) || _optionalChain([item, 'optionalAccess', _910 => _910.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _911 => _911.period_start]), _optionalChain([item, 'optionalAccess', _912 => _912.period_end])) || void 0,
43198
- cover: entityCover(_optionalChain([item, 'optionalAccess', _913 => _913.featured_image]), ogPlaceholder),
43249
+ description: _optionalChain([item, 'optionalAccess', _910 => _910.strategic_update]) || _optionalChain([item, 'optionalAccess', _911 => _911.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _912 => _912.period_start]), _optionalChain([item, 'optionalAccess', _913 => _913.period_end])) || void 0,
43250
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.featured_image]), ogPlaceholder),
43199
43251
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationLineIcon, { size: 24 }),
43200
43252
  status: { label: "Investor update", variant: "grey" },
43201
43253
  chatRef,
@@ -43212,12 +43264,12 @@ function OnboardingGuideChatCard({
43212
43264
  ogPlaceholder,
43213
43265
  discuss
43214
43266
  }) {
43215
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _915 => _915.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _916 => _916.og_image_url]), ogPlaceholder)));
43267
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _915 => _915.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _916 => _916.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _917 => _917.og_image_url]), ogPlaceholder)));
43216
43268
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43217
43269
  EntityMingoCard,
43218
43270
  {
43219
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.title]), () => ( "")),
43220
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.summary]), () => ( _optionalChain([item, 'optionalAccess', _919 => _919.description]))), () => ( void 0)),
43271
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
43272
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.summary]), () => ( _optionalChain([item, 'optionalAccess', _920 => _920.description]))), () => ( void 0)),
43221
43273
  cover,
43222
43274
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CompassIcon, { size: 24 }),
43223
43275
  status: { label: "Guide", variant: "grey" },
@@ -43238,25 +43290,25 @@ function ProgramChatCard({
43238
43290
  discuss
43239
43291
  }) {
43240
43292
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 });
43241
- const isScheduled = _optionalChain([item, 'optionalAccess', _920 => _920.status]) === "scheduled";
43293
+ const isScheduled = _optionalChain([item, 'optionalAccess', _921 => _921.status]) === "scheduled";
43242
43294
  let typeMeta;
43243
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _921 => _921.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
43295
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _922 => _922.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
43244
43296
  typeMeta = formatDurationCompact(item.duration_seconds);
43245
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _922 => _922.location_name]) === "string" && item.location_name.trim().length > 0) {
43297
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _923 => _923.location_name]) === "string" && item.location_name.trim().length > 0) {
43246
43298
  typeMeta = item.location_name;
43247
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _923 => _923.start_at])) {
43299
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _924 => _924.start_at])) {
43248
43300
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
43249
43301
  const dur = formatDurationFromRange(item.start_at, item.end_at);
43250
43302
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
43251
43303
  }
43252
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.date]), () => ( null)), { fallback: "", timezone: "local" });
43304
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.date]), () => ( null)), { fallback: "", timezone: "local" });
43253
43305
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
43254
43306
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43255
43307
  EntityMingoCard,
43256
43308
  {
43257
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.title]), () => ( "")),
43258
- description: meta || _optionalChain([item, 'optionalAccess', _926 => _926.description]) || void 0,
43259
- cover: entityCover(_optionalChain([item, 'optionalAccess', _927 => _927.cover_url]), ogPlaceholder),
43309
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.title]), () => ( "")),
43310
+ description: meta || _optionalChain([item, 'optionalAccess', _927 => _927.description]) || void 0,
43311
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _928 => _928.cover_url]), ogPlaceholder),
43260
43312
  fallbackIcon: icon,
43261
43313
  status: { label, variant: "grey" },
43262
43314
  chatRef,
@@ -43273,10 +43325,10 @@ function RoadmapChatCard({
43273
43325
  cardType,
43274
43326
  discuss
43275
43327
  }) {
43276
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _928 => _928.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43277
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _929 => _929.customItemId]) != null;
43328
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _929 => _929.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43329
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _930 => _930.customItemId]) != null;
43278
43330
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MapIcon, { size: 24 });
43279
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _930 => _930.customItemId]), className: "size-6" }) : logoUrl ? (
43331
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _931 => _931.customItemId]), className: "size-6" }) : logoUrl ? (
43280
43332
  // Contained (not full-bleed) so the integration logo keeps its aspect
43281
43333
  // ratio inside the bordered icon box — matches RoadmapCard.
43282
43334
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -43284,10 +43336,10 @@ function RoadmapChatCard({
43284
43336
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43285
43337
  EntityMingoCard,
43286
43338
  {
43287
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _931 => _931.title]), () => ( "")),
43288
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.description]), () => ( void 0)),
43339
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")),
43340
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _933 => _933.description]), () => ( void 0)),
43289
43341
  fallbackIcon: icon,
43290
- status: statusPill(_optionalChain([item, 'optionalAccess', _933 => _933.status])),
43342
+ status: statusPill(_optionalChain([item, 'optionalAccess', _934 => _934.status])),
43291
43343
  chatRef,
43292
43344
  isNewTab,
43293
43345
  discuss,
@@ -43373,7 +43425,7 @@ function programRegistryEntries() {
43373
43425
  discuss: opts.discuss,
43374
43426
  configKey: cfg.configKey,
43375
43427
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
43376
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _934 => _934.extras, 'optionalAccess', _935 => _935.buildOgPlaceholderUrl, 'optionalCall', _936 => _936(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _937 => _937.title]), () => ( "")))]), () => ( null))
43428
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _935 => _935.extras, 'optionalAccess', _936 => _936.buildOgPlaceholderUrl, 'optionalCall', _937 => _937(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")))]), () => ( null))
43377
43429
  }
43378
43430
  )
43379
43431
  };
@@ -43525,8 +43577,8 @@ var CHAT_CARD_REGISTRY = {
43525
43577
  chatRef,
43526
43578
  isNewTab: opts.isNewTab,
43527
43579
  discuss: opts.discuss,
43528
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _938 => _938.extras, 'optionalAccess', _939 => _939.buildOgPlaceholderUrl, 'optionalCall', _940 => _940(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _941 => _941.title]), () => ( "")))]), () => ( null)),
43529
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _942 => _942.metadata, 'optionalAccess', _943 => _943.hasEmbeddedVideo]) === true
43580
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildOgPlaceholderUrl, 'optionalCall', _941 => _941(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.title]), () => ( "")))]), () => ( null)),
43581
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _943 => _943.metadata, 'optionalAccess', _944 => _944.hasEmbeddedVideo]) === true
43530
43582
  }
43531
43583
  )
43532
43584
  },
@@ -43543,7 +43595,7 @@ var CHAT_CARD_REGISTRY = {
43543
43595
  chatRef,
43544
43596
  isNewTab: opts.isNewTab,
43545
43597
  discuss: opts.discuss,
43546
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _944 => _944.extras, 'optionalAccess', _945 => _945.buildOgPlaceholderUrl, 'optionalCall', _946 => _946(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _947 => _947.title]), () => ( "")))]), () => ( null))
43598
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildOgPlaceholderUrl, 'optionalCall', _947 => _947(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")))]), () => ( null))
43547
43599
  }
43548
43600
  )
43549
43601
  },
@@ -43560,7 +43612,7 @@ var CHAT_CARD_REGISTRY = {
43560
43612
  chatRef,
43561
43613
  isNewTab: opts.isNewTab,
43562
43614
  discuss: opts.discuss,
43563
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _948 => _948.extras, 'optionalAccess', _949 => _949.buildOgPlaceholderUrl, 'optionalCall', _950 => _950(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _951 => _951.title]), () => ( "")))]), () => ( null))
43615
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _949 => _949.extras, 'optionalAccess', _950 => _950.buildOgPlaceholderUrl, 'optionalCall', _951 => _951(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _952 => _952.title]), () => ( "")))]), () => ( null))
43564
43616
  }
43565
43617
  )
43566
43618
  },
@@ -43571,7 +43623,7 @@ var CHAT_CARD_REGISTRY = {
43571
43623
  bareInline: true,
43572
43624
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
43573
43625
  render: (item, chatRef, opts) => {
43574
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _952 => _952.extras, 'optionalAccess', _953 => _953.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43626
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _953 => _953.extras, 'optionalAccess', _954 => _954.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43575
43627
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43576
43628
  ProductReleaseChatCard,
43577
43629
  {
@@ -43598,7 +43650,7 @@ var CHAT_CARD_REGISTRY = {
43598
43650
  chatRef,
43599
43651
  isNewTab: opts.isNewTab,
43600
43652
  discuss: opts.discuss,
43601
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _954 => _954.extras, 'optionalAccess', _955 => _955.buildOgPlaceholderUrl, 'optionalCall', _956 => _956(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _957 => _957.title]), () => ( "")))]), () => ( null))
43653
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _955 => _955.extras, 'optionalAccess', _956 => _956.buildOgPlaceholderUrl, 'optionalCall', _957 => _957(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _958 => _958.title]), () => ( "")))]), () => ( null))
43602
43654
  }
43603
43655
  )
43604
43656
  },
@@ -43617,7 +43669,7 @@ var CHAT_CARD_REGISTRY = {
43617
43669
  chatRef,
43618
43670
  isNewTab: opts.isNewTab,
43619
43671
  discuss: opts.discuss,
43620
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _958 => _958.extras, 'optionalAccess', _959 => _959.buildOgPlaceholderUrl, 'optionalCall', _960 => _960(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _961 => _961.title]), () => ( "")))]), () => ( null))
43672
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _959 => _959.extras, 'optionalAccess', _960 => _960.buildOgPlaceholderUrl, 'optionalCall', _961 => _961(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _962 => _962.title]), () => ( "")))]), () => ( null))
43621
43673
  }
43622
43674
  )
43623
43675
  },
@@ -43629,7 +43681,7 @@ var CHAT_CARD_REGISTRY = {
43629
43681
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
43630
43682
  // No public viewer — synthesize the hub-internal admin URL post-fetch
43631
43683
  // so the wrapper + isNewTab computation see the actual destination.
43632
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _962 => _962.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43684
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _963 => _963.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43633
43685
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43634
43686
  CampaignChatCard,
43635
43687
  {
@@ -43655,12 +43707,12 @@ function ChatCardNavWrap({
43655
43707
  const onClickCapture = (e) => {
43656
43708
  if (!href) return;
43657
43709
  const targetEl = e.target;
43658
- if (_optionalChain([targetEl, 'optionalAccess', _963 => _963.closest, 'optionalCall', _964 => _964("button")])) return;
43659
- if (!_optionalChain([targetEl, 'optionalAccess', _965 => _965.closest, 'optionalCall', _966 => _966("a")])) return;
43710
+ if (_optionalChain([targetEl, 'optionalAccess', _964 => _964.closest, 'optionalCall', _965 => _965("button")])) return;
43711
+ if (!_optionalChain([targetEl, 'optionalAccess', _966 => _966.closest, 'optionalCall', _967 => _967("a")])) return;
43660
43712
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
43661
43713
  if (!handled) return;
43662
43714
  e.stopPropagation();
43663
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _967 => _967.closeChat])) panel.closeChat();
43715
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _968 => _968.closeChat])) panel.closeChat();
43664
43716
  };
43665
43717
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
43666
43718
  }
@@ -43682,7 +43734,7 @@ function ChatCardLoader({
43682
43734
  title: chatRef.title,
43683
43735
  externalUrl: chatRef.url,
43684
43736
  targetPlatform: chatRef.targetPlatform,
43685
- path: typeof _optionalChain([chatRef, 'access', _968 => _968.metadata, 'optionalAccess', _969 => _969.path]) === "string" ? chatRef.metadata.path : null
43737
+ path: typeof _optionalChain([chatRef, 'access', _969 => _969.metadata, 'optionalAccess', _970 => _970.path]) === "string" ? chatRef.metadata.path : null
43686
43738
  },
43687
43739
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
43688
43740
  );
@@ -43696,7 +43748,7 @@ function ChatCardLoader({
43696
43748
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
43697
43749
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
43698
43750
  const { item, isLoading } = useChatCardItem(
43699
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _970 => _970.contentRefType]), () => ( "")),
43751
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _971 => _971.contentRefType]), () => ( "")),
43700
43752
  fetchEntry ? resolvedChatRef.id : ""
43701
43753
  );
43702
43754
  if (!entry) return null;
@@ -43727,7 +43779,7 @@ function ChatCardLoader({
43727
43779
  isNewTab,
43728
43780
  discuss
43729
43781
  };
43730
- const path = typeof _optionalChain([finalChatRef, 'access', _971 => _971.metadata, 'optionalAccess', _972 => _972.path]) === "string" ? finalChatRef.metadata.path : null;
43782
+ const path = typeof _optionalChain([finalChatRef, 'access', _972 => _972.metadata, 'optionalAccess', _973 => _973.path]) === "string" ? finalChatRef.metadata.path : null;
43731
43783
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43732
43784
  ChatCardNavWrap,
43733
43785
  {
@@ -44113,7 +44165,7 @@ function useJetStreamDialogSubscription({
44113
44165
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44114
44166
  conn: sharedConn,
44115
44167
  wsUrl,
44116
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]),
44168
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _974 => _974.current, 'optionalCall', _975 => _975()]),
44117
44169
  backoff: reconnectionBackoffRef.current,
44118
44170
  getFreshUrl: () => getNatsWsUrlRef.current(),
44119
44171
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -44128,7 +44180,7 @@ function useJetStreamDialogSubscription({
44128
44180
  setReconnectionCount((c) => c + 1);
44129
44181
  }
44130
44182
  hadConnectionBeforeRef.current = true;
44131
- _optionalChain([onConnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
44183
+ _optionalChain([onConnectRef, 'access', _976 => _976.current, 'optionalCall', _977 => _977()]);
44132
44184
  }
44133
44185
  if (status === "error") {
44134
44186
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -44138,7 +44190,7 @@ function useJetStreamDialogSubscription({
44138
44190
  setIsConnected(false);
44139
44191
  setIsSubscribed(false);
44140
44192
  tearDownSubscription();
44141
- _optionalChain([onDisconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
44193
+ _optionalChain([onDisconnectRef, 'access', _978 => _978.current, 'optionalCall', _979 => _979()]);
44142
44194
  }
44143
44195
  }
44144
44196
  });
@@ -44217,7 +44269,7 @@ function useJetStreamDialogSubscription({
44217
44269
  }
44218
44270
  subscriptionRef.current = handle;
44219
44271
  setIsSubscribed(true);
44220
- _optionalChain([onSubscribedRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]);
44272
+ _optionalChain([onSubscribedRef, 'access', _980 => _980.current, 'optionalCall', _981 => _981()]);
44221
44273
  } catch (e44) {
44222
44274
  if (!cancelled) {
44223
44275
  setIsSubscribed(false);
@@ -44330,20 +44382,20 @@ function useNatsDialogSubscription({
44330
44382
  const tearDownSubscriptions = () => {
44331
44383
  subscriptionRefs.current.forEach((sub) => {
44332
44384
  try {
44333
- _optionalChain([sub, 'optionalAccess', _981 => _981.unsubscribe, 'call', _982 => _982()]);
44385
+ _optionalChain([sub, 'optionalAccess', _982 => _982.unsubscribe, 'call', _983 => _983()]);
44334
44386
  } catch (e46) {
44335
44387
  }
44336
44388
  });
44337
44389
  subscriptionRefs.current.clear();
44338
44390
  lastSubscribedDialogIdRef.current = null;
44339
- _optionalChain([abortControllerRef, 'access', _983 => _983.current, 'optionalAccess', _984 => _984.abort, 'call', _985 => _985()]);
44391
+ _optionalChain([abortControllerRef, 'access', _984 => _984.current, 'optionalAccess', _985 => _985.abort, 'call', _986 => _986()]);
44340
44392
  abortControllerRef.current = null;
44341
44393
  };
44342
44394
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
44343
44395
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44344
44396
  conn: sharedConn,
44345
44397
  wsUrl,
44346
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _986 => _986.current, 'optionalCall', _987 => _987()]),
44398
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _987 => _987.current, 'optionalCall', _988 => _988()]),
44347
44399
  backoff: reconnectionBackoffRef.current,
44348
44400
  getFreshUrl: () => getNatsWsUrlRef.current(),
44349
44401
  shouldRetryOn: isDisconnectStatus,
@@ -44354,7 +44406,7 @@ function useNatsDialogSubscription({
44354
44406
  setReconnectionCount((c) => c + 1);
44355
44407
  }
44356
44408
  hadConnectionBeforeRef.current = true;
44357
- _optionalChain([onConnectRef, 'access', _988 => _988.current, 'optionalCall', _989 => _989()]);
44409
+ _optionalChain([onConnectRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
44358
44410
  }
44359
44411
  if (status === "error") {
44360
44412
  console.warn("[NATS] protocol error:", evt.data);
@@ -44364,7 +44416,7 @@ function useNatsDialogSubscription({
44364
44416
  setIsConnected(false);
44365
44417
  setIsSubscribed(false);
44366
44418
  tearDownSubscriptions();
44367
- _optionalChain([onDisconnectRef, 'access', _990 => _990.current, 'optionalCall', _991 => _991()]);
44419
+ _optionalChain([onDisconnectRef, 'access', _991 => _991.current, 'optionalCall', _992 => _992()]);
44368
44420
  }
44369
44421
  }
44370
44422
  });
@@ -44395,13 +44447,13 @@ function useNatsDialogSubscription({
44395
44447
  setIsSubscribed(false);
44396
44448
  subscriptionRefs.current.forEach((sub) => {
44397
44449
  try {
44398
- _optionalChain([sub, 'optionalAccess', _992 => _992.unsubscribe, 'call', _993 => _993()]);
44450
+ _optionalChain([sub, 'optionalAccess', _993 => _993.unsubscribe, 'call', _994 => _994()]);
44399
44451
  } catch (e47) {
44400
44452
  }
44401
44453
  });
44402
44454
  subscriptionRefs.current.clear();
44403
44455
  lastSubscribedDialogIdRef.current = null;
44404
- _optionalChain([abortControllerRef, 'access', _994 => _994.current, 'optionalAccess', _995 => _995.abort, 'call', _996 => _996()]);
44456
+ _optionalChain([abortControllerRef, 'access', _995 => _995.current, 'optionalAccess', _996 => _996.abort, 'call', _997 => _997()]);
44405
44457
  abortControllerRef.current = null;
44406
44458
  }
44407
44459
  return;
@@ -44413,12 +44465,12 @@ function useNatsDialogSubscription({
44413
44465
  if (subscriptionRefs.current.size > 0) {
44414
44466
  subscriptionRefs.current.forEach((sub) => {
44415
44467
  try {
44416
- _optionalChain([sub, 'optionalAccess', _997 => _997.unsubscribe, 'call', _998 => _998()]);
44468
+ _optionalChain([sub, 'optionalAccess', _998 => _998.unsubscribe, 'call', _999 => _999()]);
44417
44469
  } catch (e48) {
44418
44470
  }
44419
44471
  });
44420
44472
  subscriptionRefs.current.clear();
44421
- _optionalChain([abortControllerRef, 'access', _999 => _999.current, 'optionalAccess', _1000 => _1000.abort, 'call', _1001 => _1001()]);
44473
+ _optionalChain([abortControllerRef, 'access', _1000 => _1000.current, 'optionalAccess', _1001 => _1001.abort, 'call', _1002 => _1002()]);
44422
44474
  }
44423
44475
  abortControllerRef.current = new AbortController();
44424
44476
  const abort = abortControllerRef.current;
@@ -44450,7 +44502,7 @@ function useNatsDialogSubscription({
44450
44502
  });
44451
44503
  lastSubscribedDialogIdRef.current = dialogId;
44452
44504
  setIsSubscribed(true);
44453
- _optionalChain([onSubscribedRef, 'access', _1002 => _1002.current, 'optionalCall', _1003 => _1003()]);
44505
+ _optionalChain([onSubscribedRef, 'access', _1003 => _1003.current, 'optionalCall', _1004 => _1004()]);
44454
44506
  };
44455
44507
  if (isConnectedRef.current) {
44456
44508
  createSubscriptions();
@@ -44460,7 +44512,7 @@ function useNatsDialogSubscription({
44460
44512
  abort.abort();
44461
44513
  subscriptionRefs.current.forEach((sub) => {
44462
44514
  try {
44463
- _optionalChain([sub, 'optionalAccess', _1004 => _1004.unsubscribe, 'call', _1005 => _1005()]);
44515
+ _optionalChain([sub, 'optionalAccess', _1005 => _1005.unsubscribe, 'call', _1006 => _1006()]);
44464
44516
  } catch (e50) {
44465
44517
  }
44466
44518
  });
@@ -44501,7 +44553,7 @@ function useNatsDialogSubscription({
44501
44553
  });
44502
44554
  lastSubscribedDialogIdRef.current = dialogId2;
44503
44555
  setIsSubscribed(true);
44504
- _optionalChain([onSubscribedRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007()]);
44556
+ _optionalChain([onSubscribedRef, 'access', _1007 => _1007.current, 'optionalCall', _1008 => _1008()]);
44505
44557
  } else if (subscriptionRefs.current.size > 0) {
44506
44558
  setIsSubscribed(true);
44507
44559
  }
@@ -44509,10 +44561,10 @@ function useNatsDialogSubscription({
44509
44561
  return { isConnected, isSubscribed, reconnectionCount };
44510
44562
  }
44511
44563
  function buildNatsWsUrl(apiBaseUrl, options) {
44512
- const path = _optionalChain([options, 'optionalAccess', _1008 => _1008.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44564
+ const path = _optionalChain([options, 'optionalAccess', _1009 => _1009.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44513
44565
  const u = new URL(path, apiBaseUrl);
44514
44566
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
44515
- if (_optionalChain([options, 'optionalAccess', _1009 => _1009.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1010 => _1010.token])) {
44567
+ if (_optionalChain([options, 'optionalAccess', _1010 => _1010.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1011 => _1011.token])) {
44516
44568
  u.searchParams.set("authorization", options.token);
44517
44569
  }
44518
44570
  return u.toString();
@@ -44648,7 +44700,7 @@ function parseChunkToAction(chunk) {
44648
44700
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
44649
44701
  // historical path in `process-historical-messages.ts`) — keeps both
44650
44702
  // message sources producing an identical shape.
44651
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1011 => _1011.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1012 => _1012.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44703
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1012 => _1012.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1013 => _1013.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44652
44704
  };
44653
44705
  case MESSAGE_TYPE.TOKEN_USAGE:
44654
44706
  return {
@@ -44840,8 +44892,8 @@ var MessageSegmentAccumulator = class {
44840
44892
  type: "tool_execution",
44841
44893
  data: {
44842
44894
  ...toolData,
44843
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1013 => _1013.data, 'access', _1014 => _1014.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1015 => _1015.toolTitle]))),
44844
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1016 => _1016.parameters])
44895
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1014 => _1014.data, 'access', _1015 => _1015.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1016 => _1016.toolTitle]))),
44896
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1017 => _1017.parameters])
44845
44897
  }
44846
44898
  };
44847
44899
  if (existingIndex !== -1) {
@@ -44865,8 +44917,8 @@ var MessageSegmentAccumulator = class {
44865
44917
  if (seg.type !== "approval_batch") return seg;
44866
44918
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44867
44919
  if (!hasCall) return seg;
44868
- const prev = _optionalChain([seg, 'access', _1017 => _1017.data, 'access', _1018 => _1018.executions, 'optionalAccess', _1019 => _1019[execId]]);
44869
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1020 => _1020.result]), success: _optionalChain([prev, 'optionalAccess', _1021 => _1021.success]) };
44920
+ const prev = _optionalChain([seg, 'access', _1018 => _1018.data, 'access', _1019 => _1019.executions, 'optionalAccess', _1020 => _1020[execId]]);
44921
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1021 => _1021.result]), success: _optionalChain([prev, 'optionalAccess', _1022 => _1022.success]) };
44870
44922
  matched = true;
44871
44923
  return {
44872
44924
  ...seg,
@@ -44988,10 +45040,10 @@ var MessageSegmentAccumulator = class {
44988
45040
  const segment = {
44989
45041
  type: "approval_request",
44990
45042
  data: {
44991
- command: _optionalChain([pendingApproval, 'optionalAccess', _1022 => _1022.command]) || "",
44992
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1023 => _1023.explanation]),
45043
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1023 => _1023.command]) || "",
45044
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1024 => _1024.explanation]),
44993
45045
  requestId,
44994
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1024 => _1024.approvalType]) || approvalType
45046
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1025 => _1025.approvalType]) || approvalType
44995
45047
  },
44996
45048
  status,
44997
45049
  onApprove: this.callbacks.onApprove,
@@ -45183,7 +45235,7 @@ function useRealtimeChunkProcessor(options) {
45183
45235
  if (initialState.escalatedApprovals) {
45184
45236
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
45185
45237
  initialState.escalatedApprovals.forEach((data, requestId) => {
45186
- _optionalChain([callbacks, 'access', _1025 => _1025.onEscalatedApproval, 'optionalCall', _1026 => _1026(requestId, data)]);
45238
+ _optionalChain([callbacks, 'access', _1026 => _1026.onEscalatedApproval, 'optionalCall', _1027 => _1027(requestId, data)]);
45187
45239
  });
45188
45240
  }
45189
45241
  hasEverStreamedRef.current = true;
@@ -45204,12 +45256,12 @@ function useRealtimeChunkProcessor(options) {
45204
45256
  if (!action) return;
45205
45257
  const accumulator = accumulatorRef.current;
45206
45258
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
45207
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1027 => _1027.onSegmentsUpdate, 'optionalCall', _1028 => _1028(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
45259
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1028 => _1028.onSegmentsUpdate, 'optionalCall', _1029 => _1029(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
45208
45260
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
45209
45261
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
45210
45262
  if (isInStreamRef.current) {
45211
45263
  isInStreamRef.current = false;
45212
- _optionalChain([callbacks, 'access', _1029 => _1029.onStreamEnd, 'optionalCall', _1030 => _1030()]);
45264
+ _optionalChain([callbacks, 'access', _1030 => _1030.onStreamEnd, 'optionalCall', _1031 => _1031()]);
45213
45265
  accumulator.resetSegments();
45214
45266
  }
45215
45267
  return;
@@ -45218,16 +45270,16 @@ function useRealtimeChunkProcessor(options) {
45218
45270
  case "message_start":
45219
45271
  isInStreamRef.current = true;
45220
45272
  hasEverStreamedRef.current = true;
45221
- _optionalChain([callbacks, 'access', _1031 => _1031.onStreamStart, 'optionalCall', _1032 => _1032()]);
45273
+ _optionalChain([callbacks, 'access', _1032 => _1032.onStreamStart, 'optionalCall', _1033 => _1033()]);
45222
45274
  accumulator.resetSegments();
45223
45275
  break;
45224
45276
  case "message_end":
45225
45277
  isInStreamRef.current = false;
45226
- _optionalChain([callbacks, 'access', _1033 => _1033.onStreamEnd, 'optionalCall', _1034 => _1034()]);
45278
+ _optionalChain([callbacks, 'access', _1034 => _1034.onStreamEnd, 'optionalCall', _1035 => _1035()]);
45227
45279
  accumulator.resetSegments();
45228
45280
  break;
45229
45281
  case "metadata":
45230
- _optionalChain([callbacks, 'access', _1035 => _1035.onMetadata, 'optionalCall', _1036 => _1036(action)]);
45282
+ _optionalChain([callbacks, 'access', _1036 => _1036.onMetadata, 'optionalCall', _1037 => _1037(action)]);
45231
45283
  break;
45232
45284
  case "text": {
45233
45285
  const segments = accumulator.appendText(action.text);
@@ -45270,7 +45322,7 @@ function useRealtimeChunkProcessor(options) {
45270
45322
  emitSegments(segments);
45271
45323
  } else {
45272
45324
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
45273
- _optionalChain([callbacks, 'access', _1037 => _1037.onEscalatedApproval, 'optionalCall', _1038 => _1038(requestId, { command, explanation, approvalType })]);
45325
+ _optionalChain([callbacks, 'access', _1038 => _1038.onEscalatedApproval, 'optionalCall', _1039 => _1039(requestId, { command, explanation, approvalType })]);
45274
45326
  }
45275
45327
  break;
45276
45328
  }
@@ -45282,13 +45334,13 @@ function useRealtimeChunkProcessor(options) {
45282
45334
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
45283
45335
  pendingEscalatedRef.current.set(requestId, {
45284
45336
  command: summary,
45285
- explanation: _optionalChain([required, 'optionalAccess', _1039 => _1039.toolExplanation]),
45337
+ explanation: _optionalChain([required, 'optionalAccess', _1040 => _1040.toolExplanation]),
45286
45338
  approvalType,
45287
45339
  toolCalls
45288
45340
  });
45289
- _optionalChain([callbacks, 'access', _1040 => _1040.onEscalatedApproval, 'optionalCall', _1041 => _1041(requestId, {
45341
+ _optionalChain([callbacks, 'access', _1041 => _1041.onEscalatedApproval, 'optionalCall', _1042 => _1042(requestId, {
45290
45342
  command: summary,
45291
- explanation: _optionalChain([required, 'optionalAccess', _1042 => _1042.toolExplanation]),
45343
+ explanation: _optionalChain([required, 'optionalAccess', _1043 => _1043.toolExplanation]),
45292
45344
  approvalType
45293
45345
  })]);
45294
45346
  break;
@@ -45318,7 +45370,7 @@ function useRealtimeChunkProcessor(options) {
45318
45370
  const status = approved ? "approved" : "rejected";
45319
45371
  if (escalatedData) {
45320
45372
  pendingEscalatedRef.current.delete(requestId);
45321
- _optionalChain([callbacks, 'access', _1043 => _1043.onEscalatedApprovalResult, 'optionalCall', _1044 => _1044(requestId, approved, {
45373
+ _optionalChain([callbacks, 'access', _1044 => _1044.onEscalatedApprovalResult, 'optionalCall', _1045 => _1045(requestId, approved, {
45322
45374
  command: escalatedData.command,
45323
45375
  explanation: escalatedData.explanation,
45324
45376
  approvalType: escalatedData.approvalType
@@ -45364,29 +45416,29 @@ function useRealtimeChunkProcessor(options) {
45364
45416
  emitSegments(accumulator.getSegments());
45365
45417
  }
45366
45418
  }
45367
- _optionalChain([callbacks, 'access', _1045 => _1045.onApprovalResolved, 'optionalCall', _1046 => _1046(requestId, status, approvalType, resolvedByName)]);
45419
+ _optionalChain([callbacks, 'access', _1046 => _1046.onApprovalResolved, 'optionalCall', _1047 => _1047(requestId, status, approvalType, resolvedByName)]);
45368
45420
  break;
45369
45421
  }
45370
45422
  case "error": {
45371
45423
  let message2;
45372
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1047 => _1047.details])) {
45424
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1048 => _1048.details])) {
45373
45425
  try {
45374
- message2 = _optionalChain([JSON, 'access', _1048 => _1048.parse, 'call', _1049 => _1049(action.details), 'optionalAccess', _1050 => _1050.error, 'optionalAccess', _1051 => _1051.message]);
45426
+ message2 = _optionalChain([JSON, 'access', _1049 => _1049.parse, 'call', _1050 => _1050(action.details), 'optionalAccess', _1051 => _1051.error, 'optionalAccess', _1052 => _1052.message]);
45375
45427
  } catch (e52) {
45376
45428
  message2 = action.details;
45377
45429
  }
45378
45430
  }
45379
45431
  const segments = accumulator.addError(action.error, message2);
45380
45432
  emitSegments(segments);
45381
- _optionalChain([callbacks, 'access', _1052 => _1052.onError, 'optionalCall', _1053 => _1053(action.error, message2)]);
45433
+ _optionalChain([callbacks, 'access', _1053 => _1053.onError, 'optionalCall', _1054 => _1054(action.error, message2)]);
45382
45434
  break;
45383
45435
  }
45384
45436
  case "system": {
45385
- _optionalChain([callbacks, 'access', _1054 => _1054.onSystemMessage, 'optionalCall', _1055 => _1055(action.text, { streamSeq })]);
45437
+ _optionalChain([callbacks, 'access', _1055 => _1055.onSystemMessage, 'optionalCall', _1056 => _1056(action.text, { streamSeq })]);
45386
45438
  break;
45387
45439
  }
45388
45440
  case "direct_message": {
45389
- _optionalChain([callbacks, 'access', _1056 => _1056.onDirectMessage, 'optionalCall', _1057 => _1057(action.text, {
45441
+ _optionalChain([callbacks, 'access', _1057 => _1057.onDirectMessage, 'optionalCall', _1058 => _1058(action.text, {
45390
45442
  ownerType: action.ownerType,
45391
45443
  displayName: action.displayName,
45392
45444
  userId: action.userId,
@@ -45395,7 +45447,7 @@ function useRealtimeChunkProcessor(options) {
45395
45447
  break;
45396
45448
  }
45397
45449
  case "message_request":
45398
- _optionalChain([callbacks, 'access', _1058 => _1058.onUserMessage, 'optionalCall', _1059 => _1059(action.text, {
45450
+ _optionalChain([callbacks, 'access', _1059 => _1059.onUserMessage, 'optionalCall', _1060 => _1060(action.text, {
45399
45451
  ownerType: action.ownerType,
45400
45452
  displayName: action.displayName,
45401
45453
  userId: action.userId,
@@ -45404,7 +45456,7 @@ function useRealtimeChunkProcessor(options) {
45404
45456
  })]);
45405
45457
  break;
45406
45458
  case "token_usage":
45407
- _optionalChain([callbacks, 'access', _1060 => _1060.onTokenUsage, 'optionalCall', _1061 => _1061(action.data)]);
45459
+ _optionalChain([callbacks, 'access', _1061 => _1061.onTokenUsage, 'optionalCall', _1062 => _1062(action.data)]);
45408
45460
  break;
45409
45461
  case "context_compaction_start": {
45410
45462
  const standalone = !isInStreamRef.current;
@@ -45419,7 +45471,7 @@ function useRealtimeChunkProcessor(options) {
45419
45471
  break;
45420
45472
  }
45421
45473
  case "dialog_closed":
45422
- _optionalChain([callbacks, 'access', _1062 => _1062.onDialogClosed, 'optionalCall', _1063 => _1063()]);
45474
+ _optionalChain([callbacks, 'access', _1063 => _1063.onDialogClosed, 'optionalCall', _1064 => _1064()]);
45423
45475
  break;
45424
45476
  default:
45425
45477
  break;
@@ -45466,7 +45518,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
45466
45518
  const data = await res.json();
45467
45519
  return _nullishCoalesce(data.commands, () => ( []));
45468
45520
  } catch (err) {
45469
- if (_optionalChain([err, 'optionalAccess', _1064 => _1064.name]) === "AbortError") throw err;
45521
+ if (_optionalChain([err, 'optionalAccess', _1065 => _1065.name]) === "AbortError") throw err;
45470
45522
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
45471
45523
  return [];
45472
45524
  }
@@ -45487,7 +45539,7 @@ function useSlashCommands(prefix, commandsUrl) {
45487
45539
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
45488
45540
  if (!cancelled) setCommands(next);
45489
45541
  } catch (err) {
45490
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1065 => _1065.name]) !== "AbortError") {
45542
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1066 => _1066.name]) !== "AbortError") {
45491
45543
  console.warn("[use-slash-commands] fetch failed:", err);
45492
45544
  }
45493
45545
  } finally {
@@ -45506,7 +45558,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
45506
45558
  const query = _reactquery.useQuery.call(void 0, {
45507
45559
  queryKey: ["chat-slash-commands", commandsUrl],
45508
45560
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
45509
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1066 => _1066.enabled]), () => ( true)),
45561
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1067 => _1067.enabled]), () => ( true)),
45510
45562
  staleTime: Infinity,
45511
45563
  gcTime: Infinity,
45512
45564
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -45545,21 +45597,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45545
45597
  }
45546
45598
  const data = await res.json();
45547
45599
  return {
45548
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1067 => _1067.name]), () => ( null)),
45549
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1068 => _1068.icon]), () => ( null)),
45550
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1069 => _1069.greeting]), () => ( null)),
45551
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1070 => _1070.enabledRagTableIds]), () => ( [])),
45552
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1071 => _1071.quickActions]), () => ( [])),
45553
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1072 => _1072.suggestedQueries]), () => ( []))
45600
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1068 => _1068.name]), () => ( null)),
45601
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1069 => _1069.icon]), () => ( null)),
45602
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1070 => _1070.greeting]), () => ( null)),
45603
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1071 => _1071.enabledRagTableIds]), () => ( [])),
45604
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1072 => _1072.quickActions]), () => ( [])),
45605
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1073 => _1073.suggestedQueries]), () => ( []))
45554
45606
  };
45555
45607
  } catch (err) {
45556
- if (_optionalChain([err, 'optionalAccess', _1073 => _1073.name]) === "AbortError") throw err;
45608
+ if (_optionalChain([err, 'optionalAccess', _1074 => _1074.name]) === "AbortError") throw err;
45557
45609
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45558
45610
  return EMPTY_STATE_FALLBACK;
45559
45611
  }
45560
45612
  }
45561
45613
  function useEmptyStateConfig(emptyStateUrl, options) {
45562
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1074 => _1074.enabled]), () => ( true))) && !!emptyStateUrl;
45614
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1075 => _1075.enabled]), () => ( true))) && !!emptyStateUrl;
45563
45615
  const query = _reactquery.useQuery.call(void 0, {
45564
45616
  queryKey: ["chat-empty-state", emptyStateUrl],
45565
45617
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45588,7 +45640,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45588
45640
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45589
45641
  function uploadWithProgress(url, file, token, onProgress, signal) {
45590
45642
  return new Promise((resolve, reject) => {
45591
- if (_optionalChain([signal, 'optionalAccess', _1075 => _1075.aborted])) {
45643
+ if (_optionalChain([signal, 'optionalAccess', _1076 => _1076.aborted])) {
45592
45644
  reject(new Error("Upload cancelled"));
45593
45645
  return;
45594
45646
  }
@@ -45602,7 +45654,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45602
45654
  xhr.removeEventListener("error", handleError);
45603
45655
  xhr.removeEventListener("abort", handleAbort);
45604
45656
  xhr.removeEventListener("timeout", handleTimeout);
45605
- _optionalChain([signal, 'optionalAccess', _1076 => _1076.removeEventListener, 'call', _1077 => _1077("abort", handleSignalAbort)]);
45657
+ _optionalChain([signal, 'optionalAccess', _1077 => _1077.removeEventListener, 'call', _1078 => _1078("abort", handleSignalAbort)]);
45606
45658
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45607
45659
  };
45608
45660
  const handleProgress = (event) => {
@@ -45638,7 +45690,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45638
45690
  const handleSignalAbort = () => {
45639
45691
  xhr.abort();
45640
45692
  };
45641
- _optionalChain([signal, 'optionalAccess', _1078 => _1078.addEventListener, 'call', _1079 => _1079("abort", handleSignalAbort, { once: true })]);
45693
+ _optionalChain([signal, 'optionalAccess', _1079 => _1079.addEventListener, 'call', _1080 => _1080("abort", handleSignalAbort, { once: true })]);
45642
45694
  xhr.upload.addEventListener("progress", handleProgress);
45643
45695
  xhr.addEventListener("load", handleLoad);
45644
45696
  xhr.addEventListener("error", handleError);
@@ -45682,12 +45734,12 @@ function useChatAttachments() {
45682
45734
  try {
45683
45735
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
45684
45736
  } catch (err) {
45685
- if (_optionalChain([ctrl, 'optionalAccess', _1080 => _1080.signal, 'access', _1081 => _1081.aborted])) return;
45737
+ if (_optionalChain([ctrl, 'optionalAccess', _1081 => _1081.signal, 'access', _1082 => _1082.aborted])) return;
45686
45738
  throw new Error(
45687
45739
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
45688
45740
  );
45689
45741
  }
45690
- if (_optionalChain([ctrl, 'optionalAccess', _1082 => _1082.signal, 'access', _1083 => _1083.aborted])) return;
45742
+ if (_optionalChain([ctrl, 'optionalAccess', _1083 => _1083.signal, 'access', _1084 => _1084.aborted])) return;
45691
45743
  if (!sniffed) {
45692
45744
  throw new Error("Unrecognized file format");
45693
45745
  }
@@ -45701,7 +45753,7 @@ function useChatAttachments() {
45701
45753
  const urlResp = await _chunkGPX5I7FTcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
45702
45754
  method: "POST",
45703
45755
  headers: { "Content-Type": "application/json" },
45704
- signal: _optionalChain([ctrl, 'optionalAccess', _1084 => _1084.signal]),
45756
+ signal: _optionalChain([ctrl, 'optionalAccess', _1085 => _1085.signal]),
45705
45757
  body: JSON.stringify({
45706
45758
  fileName: att.file.name,
45707
45759
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -45727,9 +45779,9 @@ function useChatAttachments() {
45727
45779
  (pct) => {
45728
45780
  updateOne(att.id, { progress: pct });
45729
45781
  },
45730
- _optionalChain([ctrl, 'optionalAccess', _1085 => _1085.signal])
45782
+ _optionalChain([ctrl, 'optionalAccess', _1086 => _1086.signal])
45731
45783
  );
45732
- if (_optionalChain([ctrl, 'optionalAccess', _1086 => _1086.signal, 'access', _1087 => _1087.aborted])) return;
45784
+ if (_optionalChain([ctrl, 'optionalAccess', _1087 => _1087.signal, 'access', _1088 => _1088.aborted])) return;
45733
45785
  updateOne(att.id, {
45734
45786
  status: "ready",
45735
45787
  progress: 100,
@@ -45737,7 +45789,7 @@ function useChatAttachments() {
45737
45789
  viewToken: mintData.viewToken
45738
45790
  });
45739
45791
  } catch (err) {
45740
- if (_optionalChain([ctrl, 'optionalAccess', _1088 => _1088.signal, 'access', _1089 => _1089.aborted])) return;
45792
+ if (_optionalChain([ctrl, 'optionalAccess', _1089 => _1089.signal, 'access', _1090 => _1090.aborted])) return;
45741
45793
  const message2 = err instanceof Error ? err.message : String(err);
45742
45794
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
45743
45795
  } finally {
@@ -45888,7 +45940,7 @@ var ANON_DEFAULTS = {
45888
45940
  function useResolveChatIdentity(enabled) {
45889
45941
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
45890
45942
  const url = runtime.endpoints.identityUrl;
45891
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkGPX5I7FTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1090 => _1090.email]), () => ( null));
45943
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkGPX5I7FTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1091 => _1091.email]), () => ( null));
45892
45944
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45893
45945
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45894
45946
  _react.useEffect.call(void 0, () => {
@@ -45979,7 +46031,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45979
46031
  yield chunk;
45980
46032
  }
45981
46033
  } catch (err) {
45982
- if (_optionalChain([err, 'optionalAccess', _1091 => _1091.name]) === "AbortError" || ctrl.signal.aborted) {
46034
+ if (_optionalChain([err, 'optionalAccess', _1092 => _1092.name]) === "AbortError" || ctrl.signal.aborted) {
45983
46035
  return;
45984
46036
  }
45985
46037
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -46030,7 +46082,7 @@ function useChat({
46030
46082
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
46031
46083
  onMessagesChangeRef.current = onMessagesChange;
46032
46084
  _react.useEffect.call(void 0, () => {
46033
- _optionalChain([onMessagesChangeRef, 'access', _1092 => _1092.current, 'optionalCall', _1093 => _1093(messages)]);
46085
+ _optionalChain([onMessagesChangeRef, 'access', _1093 => _1093.current, 'optionalCall', _1094 => _1094(messages)]);
46034
46086
  }, [messages]);
46035
46087
  const {
46036
46088
  streamMessage,
@@ -46067,7 +46119,7 @@ function useChat({
46067
46119
  name: "You",
46068
46120
  content: text,
46069
46121
  timestamp: /* @__PURE__ */ new Date(),
46070
- ..._optionalChain([options, 'optionalAccess', _1094 => _1094.hidden]) ? { hidden: true } : {}
46122
+ ..._optionalChain([options, 'optionalAccess', _1095 => _1095.hidden]) ? { hidden: true } : {}
46071
46123
  };
46072
46124
  addMessage(userMessage);
46073
46125
  setIsTyping(true);
@@ -46129,7 +46181,7 @@ function useChat({
46129
46181
  currentTextSegment = "";
46130
46182
  }
46131
46183
  const seg = segment;
46132
- const proposalId = _optionalChain([seg, 'access', _1095 => _1095.data, 'optionalAccess', _1096 => _1096.requestId]);
46184
+ const proposalId = _optionalChain([seg, 'access', _1096 => _1096.data, 'optionalAccess', _1097 => _1097.requestId]);
46133
46185
  const updateApprovalMessage = (transform) => {
46134
46186
  setMessages((prev) => {
46135
46187
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -46138,7 +46190,7 @@ function useChat({
46138
46190
  if (!Array.isArray(m.content)) continue;
46139
46191
  const segments = m.content;
46140
46192
  const hasMatch = segments.some(
46141
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1097 => _1097.data, 'optionalAccess', _1098 => _1098.requestId]) === proposalId
46193
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1098 => _1098.data, 'optionalAccess', _1099 => _1099.requestId]) === proposalId
46142
46194
  );
46143
46195
  if (!hasMatch) continue;
46144
46196
  const next = [...prev];
@@ -46180,11 +46232,11 @@ function useChat({
46180
46232
  if (!Array.isArray(m.content)) continue;
46181
46233
  const segments = m.content;
46182
46234
  const hasMatch = segments.some(
46183
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1099 => _1099.data, 'optionalAccess', _1100 => _1100.requestId]) === decision.proposalId
46235
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1100 => _1100.data, 'optionalAccess', _1101 => _1101.requestId]) === decision.proposalId
46184
46236
  );
46185
46237
  if (!hasMatch) continue;
46186
46238
  const flipped = segments.map(
46187
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1101 => _1101.data, 'optionalAccess', _1102 => _1102.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46239
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1102 => _1102.data, 'optionalAccess', _1103 => _1103.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
46188
46240
  );
46189
46241
  const next = [...prev];
46190
46242
  next[i] = { ...m, content: flipped };
@@ -46346,8 +46398,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46346
46398
  })),
46347
46399
  { role: "user", content: message2 }
46348
46400
  ];
46349
- const targetPath = _optionalChain([extra, 'optionalAccess', _1103 => _1103.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46350
- const requestBody = _optionalChain([extra, 'optionalAccess', _1104 => _1104.approvalAction]) ? {
46401
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1104 => _1104.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46402
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1105 => _1105.approvalAction]) ? {
46351
46403
  proposal_id: extra.approvalAction.proposalId,
46352
46404
  action: extra.approvalAction.action,
46353
46405
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46356,8 +46408,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46356
46408
  }))
46357
46409
  } : {
46358
46410
  messages: apiMessages,
46359
- ..._optionalChain([extra, 'optionalAccess', _1105 => _1105.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46360
- ..._optionalChain([extra, 'optionalAccess', _1106 => _1106.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46411
+ ..._optionalChain([extra, 'optionalAccess', _1106 => _1106.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46412
+ ..._optionalChain([extra, 'optionalAccess', _1107 => _1107.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46361
46413
  };
46362
46414
  const response = await _chunkGPX5I7FTcjs.embedAuthedFetch.call(void 0, targetPath, {
46363
46415
  method: "POST",
@@ -46367,7 +46419,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46367
46419
  if (!response.ok) {
46368
46420
  throw new Error(`Chat request failed: ${response.status}`);
46369
46421
  }
46370
- const reader = _optionalChain([response, 'access', _1107 => _1107.body, 'optionalAccess', _1108 => _1108.getReader, 'call', _1109 => _1109()]);
46422
+ const reader = _optionalChain([response, 'access', _1108 => _1108.body, 'optionalAccess', _1109 => _1109.getReader, 'call', _1110 => _1110()]);
46371
46423
  if (!reader) throw new Error("No response body");
46372
46424
  const decoder = new TextDecoder();
46373
46425
  let buffer = "";
@@ -46450,7 +46502,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46450
46502
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46451
46503
  const result = _nullishCoalesce(meta.result, () => ( null));
46452
46504
  const card = _nullishCoalesce(meta.card, () => ( null));
46453
- if (_optionalChain([card, 'optionalAccess', _1110 => _1110.ref, 'optionalAccess', _1111 => _1111.id]) && _optionalChain([card, 'optionalAccess', _1112 => _1112.type])) {
46505
+ if (_optionalChain([card, 'optionalAccess', _1111 => _1111.ref, 'optionalAccess', _1112 => _1112.id]) && _optionalChain([card, 'optionalAccess', _1113 => _1113.type])) {
46454
46506
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46455
46507
  const key = buildChatRefKey(card.type, card.ref.id);
46456
46508
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46463,8 +46515,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46463
46515
  willAutoContinue: meta.willAutoContinue === true,
46464
46516
  ...toolName ? { toolName } : {},
46465
46517
  ...result ? { result } : {},
46466
- ..._optionalChain([card, 'optionalAccess', _1113 => _1113.marker]) ? { marker: card.marker } : {},
46467
- ..._optionalChain([card, 'optionalAccess', _1114 => _1114.ref]) ? { cardRef: card.ref } : {},
46518
+ ..._optionalChain([card, 'optionalAccess', _1114 => _1114.marker]) ? { marker: card.marker } : {},
46519
+ ..._optionalChain([card, 'optionalAccess', _1115 => _1115.ref]) ? { cardRef: card.ref } : {},
46468
46520
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46469
46521
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46470
46522
  };
@@ -46583,7 +46635,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46583
46635
  var chatStorageKey = (source) => {
46584
46636
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46585
46637
  const auth = _chunkGPX5I7FTcjs.getEmbedProxyAuth.call(void 0, );
46586
- if (_optionalChain([auth, 'optionalAccess', _1115 => _1115.email])) {
46638
+ if (_optionalChain([auth, 'optionalAccess', _1116 => _1116.email])) {
46587
46639
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46588
46640
  }
46589
46641
  return base;
@@ -46638,7 +46690,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46638
46690
  const { active = true } = runtimeOptions;
46639
46691
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
46640
46692
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46641
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1116 => _1116.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46693
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1117 => _1117.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46642
46694
  const persistedRef = _react.useRef.call(void 0, null);
46643
46695
  if (persistedRef.current === null) {
46644
46696
  pruneStaleChatStorage(source);
@@ -46743,7 +46795,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46743
46795
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
46744
46796
  sources = sourcesMapRef.current.get(lookupIdx);
46745
46797
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
46746
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1117 => _1117.current, 'access', _1118 => _1118.get, 'call', _1119 => _1119(lookupIdx), 'optionalAccess', _1120 => _1120.scrollAnchor]), () => ( void 0));
46798
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1118 => _1118.current, 'access', _1119 => _1119.get, 'call', _1120 => _1120(lookupIdx), 'optionalAccess', _1121 => _1121.scrollAnchor]), () => ( void 0));
46747
46799
  }
46748
46800
  return {
46749
46801
  id: m.id,
@@ -46791,7 +46843,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46791
46843
  );
46792
46844
  return;
46793
46845
  }
46794
- const refSlug = typeof _optionalChain([reference, 'access', _1121 => _1121.metadata, 'optionalAccess', _1122 => _1122.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46846
+ const refSlug = typeof _optionalChain([reference, 'access', _1122 => _1122.metadata, 'optionalAccess', _1123 => _1123.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46795
46847
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
46796
46848
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
46797
46849
  const text = `/${cmdId} display "${escaped}"`;
@@ -46863,18 +46915,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46863
46915
  clearMessages,
46864
46916
  streamingPhase,
46865
46917
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46866
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1123 => _1123.provider]), () => ( null)),
46867
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1124 => _1124.modelLabel]), () => ( null)),
46868
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1125 => _1125.contextWindowMaxTokens]), () => ( null)),
46918
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1124 => _1124.provider]), () => ( null)),
46919
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1125 => _1125.modelLabel]), () => ( null)),
46920
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1126 => _1126.contextWindowMaxTokens]), () => ( null)),
46869
46921
  /** Input tokens (known after server's message_start frame; null until). */
46870
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1126 => _1126.inputTokens]), () => ( null)),
46922
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1127 => _1127.inputTokens]), () => ( null)),
46871
46923
  /** Output tokens (known only after server's trailing usage frame). */
46872
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1127 => _1127.outputTokens]), () => ( null)),
46924
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1128 => _1128.outputTokens]), () => ( null)),
46873
46925
  /** Cache hit % (read / total-input × 100). null during streaming. */
46874
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1128 => _1128.cacheHitRatePct]), () => ( null)),
46926
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1129 => _1129.cacheHitRatePct]), () => ( null)),
46875
46927
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46876
46928
  * token counts). null until the trailing usage frame lands. */
46877
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1129 => _1129.breakdown]), () => ( null)),
46929
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1130 => _1130.breakdown]), () => ( null)),
46878
46930
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46879
46931
  // Guide mode currently keeps its history in `localStorage` opaquely
46880
46932
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46932,15 +46984,15 @@ var noopRejectRequest = async (_id, _reason) => {
46932
46984
 
46933
46985
  // src/components/chat/utils/process-historical-messages.ts
46934
46986
  function getOwnerDisplayName(owner) {
46935
- if (_optionalChain([owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN && owner.user) {
46987
+ if (_optionalChain([owner, 'optionalAccess', _1131 => _1131.type]) === OWNER_TYPE.ADMIN && owner.user) {
46936
46988
  const { firstName, lastName } = owner.user;
46937
46989
  const name = [firstName, lastName].filter(Boolean).join(" ");
46938
46990
  if (name) return name;
46939
46991
  }
46940
- return _optionalChain([owner, 'optionalAccess', _1131 => _1131.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46992
+ return _optionalChain([owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46941
46993
  }
46942
46994
  function getOwnerAvatar(owner) {
46943
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1132 => _1132.user, 'optionalAccess', _1133 => _1133.image, 'optionalAccess', _1134 => _1134.imageUrl]), () => ( void 0));
46995
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1133 => _1133.user, 'optionalAccess', _1134 => _1134.image, 'optionalAccess', _1135 => _1135.imageUrl]), () => ( void 0));
46944
46996
  }
46945
46997
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46946
46998
  messageDataArray.forEach((data) => {
@@ -47003,14 +47055,14 @@ function processHistoricalMessages(messages, options = {}) {
47003
47055
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47004
47056
  return;
47005
47057
  }
47006
- const isUserMessage = _optionalChain([msg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1137 => _1137.owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.ADMIN;
47058
+ const isUserMessage = _optionalChain([msg, 'access', _1136 => _1136.owner, 'optionalAccess', _1137 => _1137.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1138 => _1138.owner, 'optionalAccess', _1139 => _1139.type]) === OWNER_TYPE.ADMIN;
47007
47059
  if (isUserMessage) {
47008
47060
  flushAssistantMessage();
47009
- const userAuthorType = _optionalChain([msg, 'access', _1139 => _1139.owner, 'optionalAccess', _1140 => _1140.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47061
+ const userAuthorType = _optionalChain([msg, 'access', _1140 => _1140.owner, 'optionalAccess', _1141 => _1141.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47010
47062
  messageDataArray.forEach((data) => {
47011
47063
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47012
47064
  const rawContext = data.contextItems;
47013
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1141 => _1141.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1142 => _1142.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47065
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1142 => _1142.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1143 => _1143.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47014
47066
  processedMessages.push({
47015
47067
  id: msg.id,
47016
47068
  role: "user",
@@ -47034,7 +47086,7 @@ function processHistoricalMessages(messages, options = {}) {
47034
47086
  });
47035
47087
  const nextMsg = messages[index + 1];
47036
47088
  const isLastMessage = index === messages.length - 1;
47037
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1143 => _1143.owner, 'optionalAccess', _1144 => _1144.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.ADMIN);
47089
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1144 => _1144.owner, 'optionalAccess', _1145 => _1145.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1146 => _1146.owner, 'optionalAccess', _1147 => _1147.type]) === OWNER_TYPE.ADMIN);
47038
47090
  if (isLastMessage || nextIsFromUser) {
47039
47091
  flushAssistantMessage();
47040
47092
  }
@@ -47144,7 +47196,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47144
47196
  }
47145
47197
  }
47146
47198
  } else {
47147
- _optionalChain([escalatedApprovals, 'optionalAccess', _1147 => _1147.set, 'call', _1148 => _1148(data.approvalRequestId, {
47199
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1148 => _1148.set, 'call', _1149 => _1149(data.approvalRequestId, {
47148
47200
  command: data.command || "",
47149
47201
  explanation: data.explanation,
47150
47202
  approvalType,
@@ -47158,8 +47210,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47158
47210
  const existingStatus = approvalStatuses[data.approvalRequestId];
47159
47211
  const status = existingStatus || (data.approved ? "approved" : "rejected");
47160
47212
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
47161
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1149 => _1149.get, 'call', _1150 => _1150(data.approvalRequestId)]);
47162
- if (_optionalChain([escalatedData, 'optionalAccess', _1151 => _1151.toolCalls]) && escalatedData.toolCalls.length > 0) {
47213
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1150 => _1150.get, 'call', _1151 => _1151(data.approvalRequestId)]);
47214
+ if (_optionalChain([escalatedData, 'optionalAccess', _1152 => _1152.toolCalls]) && escalatedData.toolCalls.length > 0) {
47163
47215
  if (batchApprovalsEnabled) {
47164
47216
  accumulator.addApprovalBatch(
47165
47217
  data.approvalRequestId,
@@ -47181,7 +47233,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47181
47233
  );
47182
47234
  }
47183
47235
  }
47184
- _optionalChain([escalatedApprovals, 'optionalAccess', _1152 => _1152.delete, 'call', _1153 => _1153(data.approvalRequestId)]);
47236
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1153 => _1153.delete, 'call', _1154 => _1154(data.approvalRequestId)]);
47185
47237
  break;
47186
47238
  }
47187
47239
  if (escalatedData) {
@@ -47190,7 +47242,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47190
47242
  explanation: escalatedData.explanation,
47191
47243
  approvalType: escalatedData.approvalType
47192
47244
  });
47193
- _optionalChain([escalatedApprovals, 'optionalAccess', _1154 => _1154.delete, 'call', _1155 => _1155(data.approvalRequestId)]);
47245
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1155 => _1155.delete, 'call', _1156 => _1156(data.approvalRequestId)]);
47194
47246
  }
47195
47247
  const before = accumulator.getSegments();
47196
47248
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -47206,9 +47258,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
47206
47258
  case MESSAGE_TYPE.ERROR:
47207
47259
  if ("error" in data) {
47208
47260
  let message2;
47209
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1156 => _1156.details])) {
47261
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1157 => _1157.details])) {
47210
47262
  try {
47211
- message2 = _optionalChain([JSON, 'access', _1157 => _1157.parse, 'call', _1158 => _1158(data.details), 'optionalAccess', _1159 => _1159.error, 'optionalAccess', _1160 => _1160.message]);
47263
+ message2 = _optionalChain([JSON, 'access', _1158 => _1158.parse, 'call', _1159 => _1159(data.details), 'optionalAccess', _1160 => _1160.error, 'optionalAccess', _1161 => _1161.message]);
47212
47264
  } catch (e59) {
47213
47265
  message2 = data.details;
47214
47266
  }
@@ -47291,14 +47343,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47291
47343
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47292
47344
  return;
47293
47345
  }
47294
- const isUserMessage = _optionalChain([msg, 'access', _1161 => _1161.owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1163 => _1163.owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN;
47346
+ const isUserMessage = _optionalChain([msg, 'access', _1162 => _1162.owner, 'optionalAccess', _1163 => _1163.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1164 => _1164.owner, 'optionalAccess', _1165 => _1165.type]) === OWNER_TYPE.ADMIN;
47295
47347
  if (isUserMessage) {
47296
47348
  flushAssistantMessage();
47297
- const userAuthorType = _optionalChain([msg, 'access', _1165 => _1165.owner, 'optionalAccess', _1166 => _1166.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47349
+ const userAuthorType = _optionalChain([msg, 'access', _1166 => _1166.owner, 'optionalAccess', _1167 => _1167.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47298
47350
  messageDataArray.forEach((data) => {
47299
47351
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47300
47352
  const rawContext = data.contextItems;
47301
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1167 => _1167.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1168 => _1168.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47353
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1168 => _1168.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1169 => _1169.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47302
47354
  processedMessages.push({
47303
47355
  id: msg.id,
47304
47356
  role: "user",
@@ -47322,7 +47374,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47322
47374
  });
47323
47375
  const nextMsg = messages[index + 1];
47324
47376
  const isLastMessage = index === messages.length - 1;
47325
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1169 => _1169.owner, 'optionalAccess', _1170 => _1170.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1171 => _1171.owner, 'optionalAccess', _1172 => _1172.type]) === OWNER_TYPE.ADMIN);
47377
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1170 => _1170.owner, 'optionalAccess', _1171 => _1171.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1172 => _1172.owner, 'optionalAccess', _1173 => _1173.type]) === OWNER_TYPE.ADMIN);
47326
47378
  if (isLastMessage || nextIsFromUser) {
47327
47379
  flushAssistantMessage();
47328
47380
  }
@@ -47658,7 +47710,7 @@ function useNatsChatAdapter(config, options = {}) {
47658
47710
  }, [active, fetchDialogs, loadDialogsPage]);
47659
47711
  const sendMessage = _react.useCallback.call(void 0,
47660
47712
  async (text, sendOptions) => {
47661
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1173 => _1173.hidden]), () => ( false));
47713
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1174 => _1174.hidden]), () => ( false));
47662
47714
  setMessages((prev) => [
47663
47715
  ...prev,
47664
47716
  {
@@ -47822,11 +47874,11 @@ function useNatsChatAdapter(config, options = {}) {
47822
47874
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47823
47875
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47824
47876
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
47825
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1174 => _1174.provider]), () => ( modelProvider)), () => ( null)),
47826
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1175 => _1175.modelLabel]), () => ( modelLabel)), () => ( null)),
47827
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1176 => _1176.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1177 => _1177.contextWindowMaxTokens]))), () => ( null)),
47828
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1178 => _1178.inputTokensSize]), () => ( null)),
47829
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1179 => _1179.outputTokensSize]), () => ( null)),
47877
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1175 => _1175.provider]), () => ( modelProvider)), () => ( null)),
47878
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1176 => _1176.modelLabel]), () => ( modelLabel)), () => ( null)),
47879
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1177 => _1177.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1178 => _1178.contextWindowMaxTokens]))), () => ( null)),
47880
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1179 => _1179.inputTokensSize]), () => ( null)),
47881
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1180 => _1180.outputTokensSize]), () => ( null)),
47830
47882
  currentCacheHitRatePct: null,
47831
47883
  currentUsageBreakdown: null,
47832
47884
  // Dialog management
@@ -48074,7 +48126,7 @@ function extractIncompleteMessageState(lastMessage) {
48074
48126
  break;
48075
48127
  case "approval_batch": {
48076
48128
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
48077
- (c) => _optionalChain([segment, 'access', _1180 => _1180.data, 'access', _1181 => _1181.executions, 'optionalAccess', _1182 => _1182[c.toolExecutionRequestId], 'optionalAccess', _1183 => _1183.status]) === "done"
48129
+ (c) => _optionalChain([segment, 'access', _1181 => _1181.data, 'access', _1182 => _1182.executions, 'optionalAccess', _1183 => _1183[c.toolExecutionRequestId], 'optionalAccess', _1184 => _1184.status]) === "done"
48078
48130
  );
48079
48131
  if (segment.status !== "rejected" && !allDone) {
48080
48132
  hasIncompleteState = true;
@@ -48142,20 +48194,20 @@ function mergeHistoryWithRealtime(input) {
48142
48194
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
48143
48195
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
48144
48196
  const trailing = processedHistory[processedHistory.length - 1];
48145
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1184 => _1184.role]) === "assistant" ? trailing : null;
48146
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1185 => _1185.content, 'access', _1186 => _1186.find, 'call', _1187 => _1187((s) => s.type === "approval_batch"), 'optionalAccess', _1188 => _1188.data, 'optionalAccess', _1189 => _1189.approvalRequestId]), () => ( null)) : null;
48197
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1185 => _1185.role]) === "assistant" ? trailing : null;
48198
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1186 => _1186.content, 'access', _1187 => _1187.find, 'call', _1188 => _1188((s) => s.type === "approval_batch"), 'optionalAccess', _1189 => _1189.data, 'optionalAccess', _1190 => _1190.approvalRequestId]), () => ( null)) : null;
48147
48199
  let processedToUse = processedHistory;
48148
48200
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
48149
48201
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
48150
48202
  if (historyBatchId) {
48151
48203
  const batchTwins = existingMessages.filter(
48152
48204
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
48153
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1190 => _1190.data, 'optionalAccess', _1191 => _1191.approvalRequestId]) === historyBatchId
48205
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1191 => _1191.data, 'optionalAccess', _1192 => _1192.approvalRequestId]) === historyBatchId
48154
48206
  )
48155
48207
  );
48156
48208
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
48157
48209
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
48158
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1192 => _1192.content])) ? historyTrailingAssistant.content.length : 0;
48210
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1193 => _1193.content])) ? historyTrailingAssistant.content.length : 0;
48159
48211
  const realtimeSize = existingWithSameBatch.content.length;
48160
48212
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
48161
48213
  processedToUse = processedHistory.slice(0, -1);
@@ -48171,16 +48223,16 @@ function mergeHistoryWithRealtime(input) {
48171
48223
  if (pinnedSyntheticIds.has(m.id)) return true;
48172
48224
  if (droppedSyntheticIds.has(m.id)) return false;
48173
48225
  if (processedIds.has(m.id)) return false;
48174
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1193 => _1193.has, 'call', _1194 => _1194(m.id)])) return false;
48226
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1194 => _1194.has, 'call', _1195 => _1195(m.id)])) return false;
48175
48227
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
48176
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1195 => _1195.timestamp, 'optionalAccess', _1196 => _1196.getTime, 'call', _1197 => _1197()]), () => ( 0))) <= historyFetchedAt;
48228
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1196 => _1196.timestamp, 'optionalAccess', _1197 => _1197.getTime, 'call', _1198 => _1198()]), () => ( 0))) <= historyFetchedAt;
48177
48229
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
48178
48230
  }
48179
48231
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
48180
48232
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
48181
48233
  return false;
48182
48234
  }
48183
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1198 => _1198.timestamp, 'optionalAccess', _1199 => _1199.getTime, 'call', _1200 => _1200()]), () => ( 0))) <= historyFetchedAt;
48235
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1199 => _1199.timestamp, 'optionalAccess', _1200 => _1200.getTime, 'call', _1201 => _1201()]), () => ( 0))) <= historyFetchedAt;
48184
48236
  if (covered) return false;
48185
48237
  }
48186
48238
  return true;
@@ -48400,7 +48452,7 @@ function useChatDialogManager({
48400
48452
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48401
48453
  if (restoreTarget) {
48402
48454
  try {
48403
- await _optionalChain([unarchiveDialog, 'optionalCall', _1201 => _1201(restoreTarget.id)]);
48455
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1202 => _1202(restoreTarget.id)]);
48404
48456
  } catch (err) {
48405
48457
  console.error("[useChatDialogManager] unarchive failed:", err);
48406
48458
  return;
@@ -48817,7 +48869,7 @@ function EmbeddableChatInner({
48817
48869
  }),
48818
48870
  [commandsUrl]
48819
48871
  );
48820
- const userName = _optionalChain([identityUser, 'optionalAccess', _1202 => _1202.firstName, 'optionalAccess', _1203 => _1203.trim, 'call', _1204 => _1204()]) || _optionalChain([identityUser, 'optionalAccess', _1205 => _1205.name, 'optionalAccess', _1206 => _1206.split, 'call', _1207 => _1207(" "), 'access', _1208 => _1208[0], 'optionalAccess', _1209 => _1209.trim, 'call', _1210 => _1210()]) || void 0;
48872
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1203 => _1203.firstName, 'optionalAccess', _1204 => _1204.trim, 'call', _1205 => _1205()]) || _optionalChain([identityUser, 'optionalAccess', _1206 => _1206.name, 'optionalAccess', _1207 => _1207.split, 'call', _1208 => _1208(" "), 'access', _1209 => _1209[0], 'optionalAccess', _1210 => _1210.trim, 'call', _1211 => _1211()]) || void 0;
48821
48873
  const effectiveModes = _react.useMemo.call(void 0, () => {
48822
48874
  if (modes) return modes;
48823
48875
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48826,19 +48878,19 @@ function EmbeddableChatInner({
48826
48878
  const mingoCaps = _react.useMemo.call(void 0, () => {
48827
48879
  if (mingoState) {
48828
48880
  return {
48829
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1211 => _1211.canRename]), () => ( false)),
48830
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1212 => _1212.canArchive]), () => ( false)),
48831
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1213 => _1213.fetchArchivedDialogs]),
48832
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1214 => _1214.unarchiveDialog]),
48833
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1215 => _1215.searchQuery]),
48834
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1216 => _1216.onSearchChange])
48881
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1212 => _1212.canRename]), () => ( false)),
48882
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1213 => _1213.canArchive]), () => ( false)),
48883
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1214 => _1214.fetchArchivedDialogs]),
48884
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1215 => _1215.unarchiveDialog]),
48885
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1216 => _1216.searchQuery]),
48886
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1217 => _1217.onSearchChange])
48835
48887
  };
48836
48888
  }
48837
48889
  return {
48838
- canRename: !!_optionalChain([effectiveModes, 'access', _1217 => _1217.mingo, 'optionalAccess', _1218 => _1218.renameDialog]),
48839
- canArchive: !!_optionalChain([effectiveModes, 'access', _1219 => _1219.mingo, 'optionalAccess', _1220 => _1220.archiveDialog]),
48840
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1221 => _1221.mingo, 'optionalAccess', _1222 => _1222.fetchArchivedDialogs]),
48841
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1223 => _1223.mingo, 'optionalAccess', _1224 => _1224.unarchiveDialog]),
48890
+ canRename: !!_optionalChain([effectiveModes, 'access', _1218 => _1218.mingo, 'optionalAccess', _1219 => _1219.renameDialog]),
48891
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1220 => _1220.mingo, 'optionalAccess', _1221 => _1221.archiveDialog]),
48892
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1222 => _1222.mingo, 'optionalAccess', _1223 => _1223.fetchArchivedDialogs]),
48893
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1224 => _1224.mingo, 'optionalAccess', _1225 => _1225.unarchiveDialog]),
48842
48894
  searchQuery: void 0,
48843
48895
  onSearchChange: void 0
48844
48896
  };
@@ -48852,7 +48904,7 @@ function EmbeddableChatInner({
48852
48904
  if (controlledActiveMode === void 0) {
48853
48905
  setUncontrolledActiveMode(next);
48854
48906
  }
48855
- _optionalChain([onActiveModeChange, 'optionalCall', _1225 => _1225(next)]);
48907
+ _optionalChain([onActiveModeChange, 'optionalCall', _1226 => _1226(next)]);
48856
48908
  },
48857
48909
  [controlledActiveMode, onActiveModeChange]
48858
48910
  );
@@ -48874,7 +48926,7 @@ function EmbeddableChatInner({
48874
48926
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
48875
48927
  const effectiveAssistantName = emptyStateConfig.name;
48876
48928
  const effectiveAssistantIcon = emptyStateConfig.icon;
48877
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1226 => _1226.title]) === "string" ? guideWelcome.title : null)));
48929
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1227 => _1227.title]) === "string" ? guideWelcome.title : null)));
48878
48930
  const {
48879
48931
  messages: rawMessages,
48880
48932
  isLoading: chatLoading,
@@ -48914,7 +48966,7 @@ function EmbeddableChatInner({
48914
48966
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
48915
48967
  guidePromptSentRef.current = true;
48916
48968
  void sendMessage(guidePendingPrompt);
48917
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1227 => _1227()]);
48969
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1228 => _1228()]);
48918
48970
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
48919
48971
  const {
48920
48972
  attachments: stagedAttachments,
@@ -48925,7 +48977,7 @@ function EmbeddableChatInner({
48925
48977
  clear: clearAttachments
48926
48978
  } = useChatAttachments();
48927
48979
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48928
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1228 => _1228.maxItems]), () => ( 10));
48980
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1229 => _1229.maxItems]), () => ( 10));
48929
48981
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48930
48982
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48931
48983
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48942,10 +48994,10 @@ function EmbeddableChatInner({
48942
48994
  }, [activeDialogId, activeMode]);
48943
48995
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48944
48996
  const m = /* @__PURE__ */ new Map();
48945
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1229 => _1229.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48997
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1230 => _1230.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48946
48998
  return m;
48947
- }, [_optionalChain([contextPicker, 'optionalAccess', _1230 => _1230.entityTypes])]);
48948
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1231 => _1231.entityTypes]);
48999
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1231 => _1231.entityTypes])]);
49000
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1232 => _1232.entityTypes]);
48949
49001
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48950
49002
  const byType = /* @__PURE__ */ new Map();
48951
49003
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48957,7 +49009,7 @@ function EmbeddableChatInner({
48957
49009
  if (mentionActiveRef.current) {
48958
49010
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48959
49011
  if (contextItems.length >= contextMaxItems) return;
48960
- _optionalChain([chatInputRef, 'access', _1232 => _1232.current, 'optionalAccess', _1233 => _1233.commitMention, 'call', _1234 => _1234(mentionTokenOf(key, mentionMarkerByType), {
49012
+ _optionalChain([chatInputRef, 'access', _1233 => _1233.current, 'optionalAccess', _1234 => _1234.commitMention, 'call', _1235 => _1235(mentionTokenOf(key, mentionMarkerByType), {
48961
49013
  label: item.label,
48962
49014
  icon: resolveContextIcon(item)
48963
49015
  })]);
@@ -48979,9 +49031,9 @@ function EmbeddableChatInner({
48979
49031
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48980
49032
  if (mentionKeysRef.current.has(key)) {
48981
49033
  mentionKeysRef.current.delete(key);
48982
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1235 => _1235.current, 'optionalAccess', _1236 => _1236.getValue, 'call', _1237 => _1237()]), () => ( ""));
49034
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1236 => _1236.current, 'optionalAccess', _1237 => _1237.getValue, 'call', _1238 => _1238()]), () => ( ""));
48983
49035
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48984
- _optionalChain([chatInputRef, 'access', _1238 => _1238.current, 'optionalAccess', _1239 => _1239.setValue, 'call', _1240 => _1240(next)]);
49036
+ _optionalChain([chatInputRef, 'access', _1239 => _1239.current, 'optionalAccess', _1240 => _1240.setValue, 'call', _1241 => _1241(next)]);
48985
49037
  }
48986
49038
  }, [mentionMarkerByType]);
48987
49039
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48998,7 +49050,7 @@ function EmbeddableChatInner({
48998
49050
  }, []);
48999
49051
  const closeContextPicker = _react.useCallback.call(void 0, () => {
49000
49052
  if (mentionActiveRef.current) {
49001
- _optionalChain([chatInputRef, 'access', _1241 => _1241.current, 'optionalAccess', _1242 => _1242.removeMentionTrigger, 'call', _1243 => _1243()]);
49053
+ _optionalChain([chatInputRef, 'access', _1242 => _1242.current, 'optionalAccess', _1243 => _1243.removeMentionTrigger, 'call', _1244 => _1244()]);
49002
49054
  }
49003
49055
  setContextPickerOpen(false);
49004
49056
  setMentionQuery(null);
@@ -49032,8 +49084,8 @@ function EmbeddableChatInner({
49032
49084
  []
49033
49085
  );
49034
49086
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
49035
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1244 => _1244.firstName]), _optionalChain([identityUser, 'optionalAccess', _1245 => _1245.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1246 => _1246.name, 'optionalAccess', _1247 => _1247.trim, 'call', _1248 => _1248()]) || void 0 : void 0;
49036
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1249 => _1249.avatarUrl, 'optionalAccess', _1250 => _1250.trim, 'call', _1251 => _1251()]) || void 0 : void 0;
49087
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1245 => _1245.firstName]), _optionalChain([identityUser, 'optionalAccess', _1246 => _1246.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1247 => _1247.name, 'optionalAccess', _1248 => _1248.trim, 'call', _1249 => _1249()]) || void 0 : void 0;
49088
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1250 => _1250.avatarUrl, 'optionalAccess', _1251 => _1251.trim, 'call', _1252 => _1252()]) || void 0 : void 0;
49037
49089
  const messages = _react.useMemo.call(void 0, () => {
49038
49090
  const cache = timestampCacheRef.current;
49039
49091
  const seenIds = /* @__PURE__ */ new Set();
@@ -49196,9 +49248,9 @@ function EmbeddableChatInner({
49196
49248
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
49197
49249
  const lastSources = _react.useMemo.call(void 0, () => {
49198
49250
  if (chatLoading) return void 0;
49199
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1252 => _1252.sources]);
49251
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1253 => _1253.sources]);
49200
49252
  if (!sources || sources.length === 0) return void 0;
49201
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1253 => _1253.content]) || "";
49253
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1254 => _1254.content]) || "";
49202
49254
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
49203
49255
  (m) => parseInt(m[1], 10)
49204
49256
  );
@@ -49245,7 +49297,7 @@ function EmbeddableChatInner({
49245
49297
  ChatPanelHeader,
49246
49298
  {
49247
49299
  showBack: hasConversation || guideCanReturnToMingo,
49248
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1254 => _1254.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
49300
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1255 => _1255.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
49249
49301
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
49250
49302
  isArchivedView: isViewingArchived,
49251
49303
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49364,9 +49416,9 @@ function EmbeddableChatInner({
49364
49416
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49365
49417
  subtitleLoading: emptyStateLoading,
49366
49418
  ...guideWelcome,
49367
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1255 => _1255.title]))),
49368
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1256 => _1256.icon]))),
49369
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1257 => _1257.quickActions]), () => ( guideSuggestedActions)),
49419
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1256 => _1256.title]))),
49420
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1257 => _1257.icon]))),
49421
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1258 => _1258.quickActions]), () => ( guideSuggestedActions)),
49370
49422
  onQuickAction: (action) => {
49371
49423
  setQuickActionPreview(null);
49372
49424
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -50449,4 +50501,4 @@ function EmbeddableChatInner({
50449
50501
 
50450
50502
 
50451
50503
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
50452
- //# sourceMappingURL=chunk-3B663UT5.cjs.map
50504
+ //# sourceMappingURL=chunk-OQ75ZMB7.cjs.map