@flamingo-stack/openframe-frontend-core 0.0.445-snapshot.20260717185124 → 0.0.445

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 (83) hide show
  1. package/dist/{chunk-YLMD4UFA.js → chunk-22NSWMI6.js} +2 -2
  2. package/dist/{chunk-MAB4TQCO.js → chunk-3BHV2QAH.js} +206 -187
  3. package/dist/{chunk-MAB4TQCO.js.map → chunk-3BHV2QAH.js.map} +1 -1
  4. package/dist/{chunk-GTHA2SYB.js → chunk-3DQ5BFPM.js} +4 -4
  5. package/dist/{chunk-N3Y6JYH5.cjs → chunk-3HYSD7NR.cjs} +15 -15
  6. package/dist/{chunk-N3Y6JYH5.cjs.map → chunk-3HYSD7NR.cjs.map} +1 -1
  7. package/dist/{chunk-L276GOMD.cjs → chunk-5DWPXK37.cjs} +31 -31
  8. package/dist/{chunk-L276GOMD.cjs.map → chunk-5DWPXK37.cjs.map} +1 -1
  9. package/dist/{chunk-6XZNIPXP.cjs → chunk-5FUQTSTT.cjs} +11 -11
  10. package/dist/{chunk-6XZNIPXP.cjs.map → chunk-5FUQTSTT.cjs.map} +1 -1
  11. package/dist/{chunk-I7IOEXRJ.js → chunk-7R256DKK.js} +2 -2
  12. package/dist/{chunk-DH3DUY6Q.cjs → chunk-DTLNCOSG.cjs} +26 -26
  13. package/dist/{chunk-DH3DUY6Q.cjs.map → chunk-DTLNCOSG.cjs.map} +1 -1
  14. package/dist/{chunk-SCKAD2MY.js → chunk-FIAXFNAA.js} +4 -4
  15. package/dist/{chunk-K6JIBV3X.js → chunk-H2DYCT6M.js} +2 -2
  16. package/dist/{chunk-5YQSRQHP.js → chunk-H352AZJN.js} +4 -4
  17. package/dist/{chunk-N4CCB33C.js → chunk-K4RASNQM.js} +2 -2
  18. package/dist/{chunk-NQLY27GH.cjs → chunk-KISQUH33.cjs} +62 -62
  19. package/dist/{chunk-NQLY27GH.cjs.map → chunk-KISQUH33.cjs.map} +1 -1
  20. package/dist/{chunk-3AFV2YIC.cjs → chunk-MPSA6YAM.cjs} +37 -37
  21. package/dist/{chunk-3AFV2YIC.cjs.map → chunk-MPSA6YAM.cjs.map} +1 -1
  22. package/dist/{chunk-MR7BMJHI.js → chunk-MQUS6BFR.js} +4 -4
  23. package/dist/{chunk-SA7AHDS6.cjs → chunk-N64VTHZ5.cjs} +7 -7
  24. package/dist/{chunk-SA7AHDS6.cjs.map → chunk-N64VTHZ5.cjs.map} +1 -1
  25. package/dist/{chunk-ZKYEMGMD.cjs → chunk-P3FN4NAE.cjs} +26 -26
  26. package/dist/{chunk-ZKYEMGMD.cjs.map → chunk-P3FN4NAE.cjs.map} +1 -1
  27. package/dist/{chunk-BAUWT7PV.cjs → chunk-QL2EI56X.cjs} +505 -486
  28. package/dist/chunk-QL2EI56X.cjs.map +1 -0
  29. package/dist/{chunk-7IC2QCOL.cjs → chunk-R6WGCJBB.cjs} +59 -59
  30. package/dist/{chunk-7IC2QCOL.cjs.map → chunk-R6WGCJBB.cjs.map} +1 -1
  31. package/dist/{chunk-5WX2V6CY.cjs → chunk-RXLMN6B5.cjs} +9 -9
  32. package/dist/{chunk-5WX2V6CY.cjs.map → chunk-RXLMN6B5.cjs.map} +1 -1
  33. package/dist/{chunk-SAV4U37G.js → chunk-TCEBFMLQ.js} +2 -2
  34. package/dist/{chunk-BNYI2FVM.js → chunk-XPZLIONZ.js} +2 -2
  35. package/dist/{chunk-MS5CEBBQ.cjs → chunk-YCLSV2H6.cjs} +5 -5
  36. package/dist/{chunk-MS5CEBBQ.cjs.map → chunk-YCLSV2H6.cjs.map} +1 -1
  37. package/dist/{chunk-XB6D7B3I.js → chunk-Z4N7XLFG.js} +2 -2
  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/policy-configuration-panel.d.ts.map +1 -1
  53. package/dist/components/help-center-pages/index.cjs +20 -20
  54. package/dist/components/help-center-pages/index.js +11 -11
  55. package/dist/components/index.cjs +129 -129
  56. package/dist/components/index.js +9 -9
  57. package/dist/components/navigation/index.cjs +2 -2
  58. package/dist/components/navigation/index.js +1 -1
  59. package/dist/components/onboarding-guides/index.cjs +5 -5
  60. package/dist/components/onboarding-guides/index.js +4 -4
  61. package/dist/components/related-content/index.cjs +3 -3
  62. package/dist/components/related-content/index.js +2 -2
  63. package/dist/components/tickets/index.cjs +5 -5
  64. package/dist/components/tickets/index.js +4 -4
  65. package/dist/components/ui/index.cjs +2 -2
  66. package/dist/components/ui/index.js +1 -1
  67. package/dist/index.cjs +2 -2
  68. package/dist/index.js +1 -1
  69. package/package.json +1 -1
  70. package/src/components/features/policy-configuration-panel.tsx +49 -34
  71. package/src/stories/PolicyConfigurationPanel.stories.tsx +6 -8
  72. package/dist/chunk-BAUWT7PV.cjs.map +0 -1
  73. /package/dist/{chunk-YLMD4UFA.js.map → chunk-22NSWMI6.js.map} +0 -0
  74. /package/dist/{chunk-GTHA2SYB.js.map → chunk-3DQ5BFPM.js.map} +0 -0
  75. /package/dist/{chunk-I7IOEXRJ.js.map → chunk-7R256DKK.js.map} +0 -0
  76. /package/dist/{chunk-SCKAD2MY.js.map → chunk-FIAXFNAA.js.map} +0 -0
  77. /package/dist/{chunk-K6JIBV3X.js.map → chunk-H2DYCT6M.js.map} +0 -0
  78. /package/dist/{chunk-5YQSRQHP.js.map → chunk-H352AZJN.js.map} +0 -0
  79. /package/dist/{chunk-N4CCB33C.js.map → chunk-K4RASNQM.js.map} +0 -0
  80. /package/dist/{chunk-MR7BMJHI.js.map → chunk-MQUS6BFR.js.map} +0 -0
  81. /package/dist/{chunk-SAV4U37G.js.map → chunk-TCEBFMLQ.js.map} +0 -0
  82. /package/dist/{chunk-BNYI2FVM.js.map → chunk-XPZLIONZ.js.map} +0 -0
  83. /package/dist/{chunk-XB6D7B3I.js.map → chunk-Z4N7XLFG.js.map} +0 -0
@@ -31943,18 +31943,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
31943
31943
 
31944
31944
  _chunkPYR4LVAFcjs.init_button2.call(void 0, );
31945
31945
 
31946
- var approvalLevelLabels = {
31947
- ALLOW: "Allow",
31948
- ASK_USER: "Ask User",
31949
- ASK_TECHNICIAN: "Ask Technician",
31950
- DENY: "Restrict"
31946
+ var approvalLevelOptions = [
31947
+ { value: "ALLOW", label: "Allow" },
31948
+ { value: "ASK_USER", label: "Ask User" },
31949
+ { value: "ASK_TECHNICIAN", label: "Ask Technician" },
31950
+ { value: "DENY", label: "Restrict" }
31951
+ ];
31952
+ var getApprovalLevelLabel = (level, editMode = false) => {
31953
+ if (!level) {
31954
+ return editMode ? "Set Global Permission" : "";
31955
+ }
31956
+ const option = approvalLevelOptions.find((opt) => opt.value === level);
31957
+ return _optionalChain([option, 'optionalAccess', _615 => _615.label]) || level;
31951
31958
  };
31952
- var approvalLevelOptions = Object.keys(approvalLevelLabels).map(
31953
- (value) => ({ value, label: approvalLevelLabels[value] })
31954
- );
31955
- var POLICY_LEVEL_WIDTH = "w-[180px]";
31956
- var CATEGORY_LEVEL_WIDTH = "w-[256px]";
31957
- var getApprovalLevelLabel = (level) => _nullishCoalesce(approvalLevelLabels[level], () => ( level));
31958
31959
  var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenu, { children: [
31959
31960
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31960
31961
  _chunkPYR4LVAFcjs.Button,
@@ -31966,7 +31967,7 @@ var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClass
31966
31967
  value ? "text-ods-text-primary" : "text-ods-text-secondary",
31967
31968
  triggerClassName
31968
31969
  ),
31969
- children: value ? getApprovalLevelLabel(value) : "Set Global Permission"
31970
+ children: getApprovalLevelLabel(value, true)
31970
31971
  }
31971
31972
  ) }),
31972
31973
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuContent, { align: "end", className: contentClassName, children: [
@@ -31997,7 +31998,7 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
31997
31998
  value: policy.approvalLevel,
31998
31999
  onChange: handleChange,
31999
32000
  triggerClassName: "w-full",
32000
- contentClassName: POLICY_LEVEL_WIDTH
32001
+ contentClassName: "w-[180px]"
32001
32002
  }
32002
32003
  ) }) : policy.approvalLevel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "md:hidden text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) : null
32003
32004
  ] }),
@@ -32006,12 +32007,23 @@ var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
32006
32007
  {
32007
32008
  value: policy.approvalLevel,
32008
32009
  onChange: handleChange,
32009
- triggerClassName: POLICY_LEVEL_WIDTH,
32010
- contentClassName: POLICY_LEVEL_WIDTH
32010
+ triggerClassName: "w-[180px]",
32011
+ contentClassName: "w-[180px]"
32011
32012
  }
32012
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)]", POLICY_LEVEL_WIDTH), children: policy.approvalLevel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) }) })
32013
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[180px]", children: policy.approvalLevel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary", children: getApprovalLevelLabel(policy.approvalLevel) }) }) })
32013
32014
  ] });
32014
32015
  };
32016
+ var useAnimatedHeight = (isExpanded) => {
32017
+ const [height, setHeight] = _react.useState.call(void 0, 0);
32018
+ const contentRef = _react.useRef.call(void 0, null);
32019
+ _react.useEffect.call(void 0, () => {
32020
+ if (contentRef.current) {
32021
+ const contentHeight = contentRef.current.scrollHeight;
32022
+ setHeight(isExpanded ? contentHeight : 0);
32023
+ }
32024
+ }, [isExpanded]);
32025
+ return { contentRef, height };
32026
+ };
32015
32027
  var CategorySection = ({
32016
32028
  category,
32017
32029
  editMode,
@@ -32021,7 +32033,7 @@ var CategorySection = ({
32021
32033
  onBulkLevelChange,
32022
32034
  onPolicyPermissionChange
32023
32035
  }) => {
32024
- const { innerRef, containerStyle } = useCollapsible({ expanded: isExpanded, durationMs: 300 });
32036
+ const { contentRef, height } = useAnimatedHeight(isExpanded);
32025
32037
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32026
32038
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32027
32039
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -32044,7 +32056,7 @@ var CategorySection = ({
32044
32056
  onChange: handleBulkChange,
32045
32057
  allowClear: true,
32046
32058
  triggerClassName: "w-full",
32047
- contentClassName: CATEGORY_LEVEL_WIDTH
32059
+ contentClassName: "w-[256px]"
32048
32060
  }
32049
32061
  ) })
32050
32062
  ] }),
@@ -32054,10 +32066,16 @@ var CategorySection = ({
32054
32066
  value: bulkLevel,
32055
32067
  onChange: handleBulkChange,
32056
32068
  allowClear: true,
32057
- triggerClassName: CATEGORY_LEVEL_WIDTH,
32058
- contentClassName: CATEGORY_LEVEL_WIDTH
32069
+ triggerClassName: "w-[256px]",
32070
+ contentClassName: "w-[256px]"
32059
32071
  }
32060
- ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] shrink-0", CATEGORY_LEVEL_WIDTH) }),
32072
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32073
+ "div",
32074
+ {
32075
+ className: "hidden md:block px-[var(--spacing-system-sf)] py-[var(--spacing-system-xsf)] w-[256px] shrink-0",
32076
+ onClick: (e) => e.stopPropagation()
32077
+ }
32078
+ ),
32061
32079
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32062
32080
  _chunkPYR4LVAFcjs.Button,
32063
32081
  {
@@ -32086,15 +32104,16 @@ var CategorySection = ({
32086
32104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32087
32105
  "div",
32088
32106
  {
32107
+ ref: contentRef,
32089
32108
  style: {
32090
- ...containerStyle,
32091
- transition: `${containerStyle.transition}, opacity 300ms ease-in-out, visibility 300ms`,
32092
- // visibility drops collapsed content from the tab order and a11y
32093
- // tree; its discrete transition delays hiding until the fade ends.
32094
- visibility: isExpanded ? "visible" : "hidden"
32109
+ height: height === "auto" ? "auto" : `${height}px`,
32110
+ transition: "height 300ms ease-in-out, opacity 300ms ease-in-out"
32095
32111
  },
32096
- className: isExpanded ? "opacity-100" : "opacity-0",
32097
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "px-[var(--spacing-system-mf)] pb-[var(--spacing-system-mf)] pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32112
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
32113
+ "overflow-hidden",
32114
+ isExpanded ? "opacity-100" : "opacity-0"
32115
+ ),
32116
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-mf)] pb-[var(--spacing-system-mf)] pt-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border border-ods-border rounded-md overflow-hidden", children: category.policies.map((policy) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32098
32117
  PolicyRow,
32099
32118
  {
32100
32119
  policy,
@@ -32180,12 +32199,12 @@ function PhoneInput({
32180
32199
  const runValidation = _react.useCallback.call(void 0, (phone) => {
32181
32200
  if (!phone || digitCount(phone) === 0) {
32182
32201
  setIsInvalid(false);
32183
- _optionalChain([onValidationChange, 'optionalCall', _615 => _615(false)]);
32202
+ _optionalChain([onValidationChange, 'optionalCall', _616 => _616(false)]);
32184
32203
  return;
32185
32204
  }
32186
32205
  const invalid = !validatePhoneNumber(phone, countryCode);
32187
32206
  setIsInvalid(invalid);
32188
- _optionalChain([onValidationChange, 'optionalCall', _616 => _616(invalid)]);
32207
+ _optionalChain([onValidationChange, 'optionalCall', _617 => _617(invalid)]);
32189
32208
  }, [countryCode, digitCount, onValidationChange]);
32190
32209
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
32191
32210
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -32234,7 +32253,7 @@ function PhoneInput({
32234
32253
  debouncedValidation(val);
32235
32254
  } else if (digitCount(val) === 0) {
32236
32255
  setIsInvalid(false);
32237
- _optionalChain([onValidationChange, 'optionalCall', _617 => _617(false)]);
32256
+ _optionalChain([onValidationChange, 'optionalCall', _618 => _618(false)]);
32238
32257
  }
32239
32258
  }
32240
32259
  },
@@ -32575,19 +32594,19 @@ function NotificationsProvider({
32575
32594
  }, []);
32576
32595
  const markRead = React98.useCallback((id) => {
32577
32596
  dispatch({ type: "markRead", id });
32578
- void _optionalChain([actionsRef, 'access', _618 => _618.current, 'optionalAccess', _619 => _619.onMarkRead, 'optionalCall', _620 => _620(id)]);
32597
+ void _optionalChain([actionsRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.onMarkRead, 'optionalCall', _621 => _621(id)]);
32579
32598
  }, []);
32580
32599
  const markAllRead = React98.useCallback(() => {
32581
32600
  dispatch({ type: "markAllRead" });
32582
- void _optionalChain([actionsRef, 'access', _621 => _621.current, 'optionalAccess', _622 => _622.onMarkAllRead, 'optionalCall', _623 => _623()]);
32601
+ void _optionalChain([actionsRef, 'access', _622 => _622.current, 'optionalAccess', _623 => _623.onMarkAllRead, 'optionalCall', _624 => _624()]);
32583
32602
  }, []);
32584
32603
  const markSettled = React98.useCallback((id) => {
32585
32604
  dispatch({ type: "markSettled", id });
32586
- void _optionalChain([actionsRef, 'access', _624 => _624.current, 'optionalAccess', _625 => _625.onMarkSettled, 'optionalCall', _626 => _626(id)]);
32605
+ void _optionalChain([actionsRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.onMarkSettled, 'optionalCall', _627 => _627(id)]);
32587
32606
  }, []);
32588
32607
  const remove = React98.useCallback((id) => {
32589
32608
  dispatch({ type: "remove", id });
32590
- void _optionalChain([actionsRef, 'access', _627 => _627.current, 'optionalAccess', _628 => _628.onRemove, 'optionalCall', _629 => _629(id)]);
32609
+ void _optionalChain([actionsRef, 'access', _628 => _628.current, 'optionalAccess', _629 => _629.onRemove, 'optionalCall', _630 => _630(id)]);
32591
32610
  }, []);
32592
32611
  const clear = React98.useCallback(() => dispatch({ type: "clear" }), []);
32593
32612
  const open = React98.useCallback(() => setIsOpen(true), []);
@@ -32596,14 +32615,14 @@ function NotificationsProvider({
32596
32615
  const setShowPopups = React98.useCallback(
32597
32616
  (value2) => {
32598
32617
  setShowPopupsState(value2);
32599
- _optionalChain([onShowPopupsChange, 'optionalCall', _630 => _630(value2)]);
32618
+ _optionalChain([onShowPopupsChange, 'optionalCall', _631 => _631(value2)]);
32600
32619
  },
32601
32620
  [onShowPopupsChange]
32602
32621
  );
32603
32622
  const setShowDesktopPopups = React98.useCallback(
32604
32623
  (value2) => {
32605
32624
  setShowDesktopPopupsState(value2);
32606
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _631 => _631(value2)]);
32625
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _632 => _632(value2)]);
32607
32626
  },
32608
32627
  [onShowDesktopPopupsChange]
32609
32628
  );
@@ -32715,7 +32734,7 @@ var AppLayoutDrawerRoot = ({
32715
32734
  const handleOpenChange = React99.useCallback(
32716
32735
  (next) => {
32717
32736
  if (!isControlled) setInternalOpen(next);
32718
- _optionalChain([onOpenChange, 'optionalCall', _632 => _632(next)]);
32737
+ _optionalChain([onOpenChange, 'optionalCall', _633 => _633(next)]);
32719
32738
  },
32720
32739
  [isControlled, onOpenChange]
32721
32740
  );
@@ -32733,11 +32752,11 @@ var AppLayoutDrawerRoot = ({
32733
32752
  };
32734
32753
  }
32735
32754
  React99.useEffect(() => {
32736
- if (open) _optionalChain([coordination, 'optionalAccess', _633 => _633.notifyDrawerDidOpen, 'call', _634 => _634(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
32755
+ if (open) _optionalChain([coordination, 'optionalAccess', _634 => _634.notifyDrawerDidOpen, 'call', _635 => _635(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
32737
32756
  }, [open, coordination]);
32738
32757
  React99.useEffect(() => {
32739
32758
  if (!selfHandleRef.current) return;
32740
- return _optionalChain([coordination, 'optionalAccess', _635 => _635.registerDrawer, 'call', _636 => _636(selfHandleRef.current)]);
32759
+ return _optionalChain([coordination, 'optionalAccess', _636 => _636.registerDrawer, 'call', _637 => _637(selfHandleRef.current)]);
32741
32760
  }, [coordination]);
32742
32761
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32743
32762
  DialogPrimitive3.Root,
@@ -33117,10 +33136,10 @@ var AppLayoutDrawerContent = React99.forwardRef(
33117
33136
  ),
33118
33137
  style,
33119
33138
  onInteractOutside: (event) => {
33120
- _optionalChain([onInteractOutside, 'optionalCall', _637 => _637(event)]);
33139
+ _optionalChain([onInteractOutside, 'optionalCall', _638 => _638(event)]);
33121
33140
  if (event.defaultPrevented) return;
33122
33141
  const target = event.target;
33123
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _638 => _638.contains, 'call', _639 => _639(target)]);
33142
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _639 => _639.contains, 'call', _640 => _640(target)]);
33124
33143
  if (!isInsideContainer) {
33125
33144
  event.preventDefault();
33126
33145
  return;
@@ -33228,7 +33247,7 @@ function NotificationTile({
33228
33247
  if (!counting) return;
33229
33248
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
33230
33249
  const timer = window.setTimeout(() => {
33231
- _optionalChain([onSettle, 'optionalCall', _640 => _640(id)]);
33250
+ _optionalChain([onSettle, 'optionalCall', _641 => _641(id)]);
33232
33251
  }, remaining);
33233
33252
  return () => window.clearTimeout(timer);
33234
33253
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -33284,7 +33303,7 @@ function NotificationTile({
33284
33303
  }
33285
33304
  ) : null,
33286
33305
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
33287
- { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _641 => _641(id)]) },
33306
+ { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _642 => _642(id)]) },
33288
33307
  { active: !isLive, label: "Mark notification complete", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { size: 16 }), onClick: () => onComplete(id) }
33289
33308
  ].map(({ active, label, icon: icon2, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33290
33309
  "button",
@@ -33460,7 +33479,7 @@ function DrawerScrollList({
33460
33479
  if (!sentinel || !root) return;
33461
33480
  const observer = new IntersectionObserver(
33462
33481
  (entries) => {
33463
- if (_optionalChain([entries, 'access', _642 => _642[0], 'optionalAccess', _643 => _643.isIntersecting])) _optionalChain([loadMoreRef, 'access', _644 => _644.current, 'optionalCall', _645 => _645()]);
33482
+ if (_optionalChain([entries, 'access', _643 => _643[0], 'optionalAccess', _644 => _644.isIntersecting])) _optionalChain([loadMoreRef, 'access', _645 => _645.current, 'optionalCall', _646 => _646()]);
33464
33483
  },
33465
33484
  { root, rootMargin: loadMoreRootMargin }
33466
33485
  );
@@ -33475,7 +33494,7 @@ function DrawerScrollList({
33475
33494
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
33476
33495
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
33477
33496
  unreadNotifications.map((n) => {
33478
- const custom = _optionalChain([renderTile, 'optionalCall', _646 => _646(n, { onComplete, onSettle, liveDurationMs })]);
33497
+ const custom = _optionalChain([renderTile, 'optionalCall', _647 => _647(n, { onComplete, onSettle, liveDurationMs })]);
33479
33498
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
33480
33499
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33481
33500
  NotificationTile,
@@ -33639,7 +33658,7 @@ function NotificationPopups({
33639
33658
  className
33640
33659
  ),
33641
33660
  children: live.map((n) => {
33642
- const custom = _optionalChain([renderTile, 'optionalCall', _647 => _647(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
33661
+ const custom = _optionalChain([renderTile, 'optionalCall', _648 => _648(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
33643
33662
  if (custom) {
33644
33663
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
33645
33664
  }
@@ -33752,7 +33771,7 @@ function programItemToStripProfile(item) {
33752
33771
  const fromAuthor = toStripProfile(item.author);
33753
33772
  if (fromAuthor) return fromAuthor;
33754
33773
  const host = Array.isArray(item.hosts) ? item.hosts[0] : null;
33755
- if (!_optionalChain([host, 'optionalAccess', _648 => _648.name])) return null;
33774
+ if (!_optionalChain([host, 'optionalAccess', _649 => _649.name])) return null;
33756
33775
  return toStripProfile({ full_name: host.name, avatar_url: _nullishCoalesce(host.avatar_url, () => ( null)) });
33757
33776
  }
33758
33777
  function transformEventToProgram(event) {
@@ -33830,21 +33849,21 @@ function transformWebinarToProgram(webinar) {
33830
33849
  // src/components/features/notifications/types.ts
33831
33850
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
33832
33851
  function isApprovalNotification(notification) {
33833
- return _optionalChain([notification, 'access', _649 => _649.meta, 'optionalAccess', _650 => _650.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
33852
+ return _optionalChain([notification, 'access', _650 => _650.meta, 'optionalAccess', _651 => _651.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
33834
33853
  }
33835
33854
  function getApprovalMeta(notification) {
33836
33855
  if (!isApprovalNotification(notification)) return null;
33837
33856
  const meta = notification.meta;
33838
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _651 => _651.approvalRequestId]);
33839
- const toolCalls = _optionalChain([meta, 'optionalAccess', _652 => _652.toolCalls]);
33857
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _652 => _652.approvalRequestId]);
33858
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _653 => _653.toolCalls]);
33840
33859
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
33841
33860
  return {
33842
33861
  approvalRequestId,
33843
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _653 => _653.dialogId]), () => ( null)),
33844
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _654 => _654.ticketId]), () => ( null)),
33845
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _655 => _655.approvalType]), () => ( null)),
33846
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _656 => _656.resolution]), () => ( null)),
33847
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _657 => _657.resolvedByName]), () => ( null)),
33862
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _654 => _654.dialogId]), () => ( null)),
33863
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _655 => _655.ticketId]), () => ( null)),
33864
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _656 => _656.approvalType]), () => ( null)),
33865
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _657 => _657.resolution]), () => ( null)),
33866
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _658 => _658.resolvedByName]), () => ( null)),
33848
33867
  toolCalls
33849
33868
  };
33850
33869
  }
@@ -33894,7 +33913,7 @@ function ApprovalRequestNotificationTile({
33894
33913
  const [processing, setProcessing] = _react.useState.call(void 0, false);
33895
33914
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
33896
33915
  const approval = getApprovalMeta(notification);
33897
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _658 => _658.resolution]));
33916
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _659 => _659.resolution]));
33898
33917
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
33899
33918
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
33900
33919
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -34198,7 +34217,7 @@ function TimeTrackerPanel({
34198
34217
  error: showFieldError ? "Required if no notes added" : void 0,
34199
34218
  disableClientFilter: !!onTicketSearch,
34200
34219
  onInputChange: (value, reason) => {
34201
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _659 => _659(value)]);
34220
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _660 => _660(value)]);
34202
34221
  }
34203
34222
  }
34204
34223
  ),
@@ -34213,7 +34232,7 @@ function TimeTrackerPanel({
34213
34232
  disabled: customerLocked,
34214
34233
  disableClientFilter: !!onCustomerSearch,
34215
34234
  onInputChange: (value, reason) => {
34216
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _660 => _660(value)]);
34235
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _661 => _661(value)]);
34217
34236
  },
34218
34237
  startAdornment: customerStartAdornment,
34219
34238
  renderOption: renderCustomerOption
@@ -34307,7 +34326,7 @@ function LastEntryRow({ entry, onClick }) {
34307
34326
  {
34308
34327
  variant: "outline",
34309
34328
  size: "icon",
34310
- onClick: () => _optionalChain([onClick, 'optionalCall', _661 => _661(entry)]),
34329
+ onClick: () => _optionalChain([onClick, 'optionalCall', _662 => _662(entry)]),
34311
34330
  disabled: !onClick,
34312
34331
  "aria-label": `Open entry: ${entry.title}`,
34313
34332
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -34352,31 +34371,31 @@ function HeaderButton({
34352
34371
  function TimeTrackerHeaderButton({ className, disabled }) {
34353
34372
  const ctx = useOptionalTimeTracker();
34354
34373
  const elapsedLabel = useTrackerClock({
34355
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _662 => _662.status]), () => ( "ready")),
34356
- runningSince: _optionalChain([ctx, 'optionalAccess', _663 => _663.runningSince]),
34357
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _664 => _664.accumulatedMs])
34374
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _663 => _663.status]), () => ( "ready")),
34375
+ runningSince: _optionalChain([ctx, 'optionalAccess', _664 => _664.runningSince]),
34376
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _665 => _665.accumulatedMs])
34358
34377
  });
34359
34378
  const layoutContainer = useAppLayoutDrawerContainer();
34360
34379
  const coordination = useAppLayoutDrawerCoordination();
34361
- const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _665 => _665.isOpen]), () => ( false));
34380
+ const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _666 => _666.isOpen]), () => ( false));
34362
34381
  const isOpenRef = _react.useRef.call(void 0, isOpen);
34363
34382
  isOpenRef.current = isOpen;
34364
- const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _666 => _666.close]));
34365
- closeRef.current = _optionalChain([ctx, 'optionalAccess', _667 => _667.close]);
34383
+ const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _667 => _667.close]));
34384
+ closeRef.current = _optionalChain([ctx, 'optionalAccess', _668 => _668.close]);
34366
34385
  const selfHandleRef = _react.useRef.call(void 0, null);
34367
34386
  if (!selfHandleRef.current) {
34368
34387
  selfHandleRef.current = {
34369
34388
  close: () => {
34370
- if (isOpenRef.current) _optionalChain([closeRef, 'access', _668 => _668.current, 'optionalCall', _669 => _669()]);
34389
+ if (isOpenRef.current) _optionalChain([closeRef, 'access', _669 => _669.current, 'optionalCall', _670 => _670()]);
34371
34390
  }
34372
34391
  };
34373
34392
  }
34374
34393
  _react.useEffect.call(void 0, () => {
34375
- if (isOpen) _optionalChain([coordination, 'optionalAccess', _670 => _670.notifyDrawerDidOpen, 'call', _671 => _671(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
34394
+ if (isOpen) _optionalChain([coordination, 'optionalAccess', _671 => _671.notifyDrawerDidOpen, 'call', _672 => _672(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
34376
34395
  }, [isOpen, coordination]);
34377
34396
  _react.useEffect.call(void 0, () => {
34378
34397
  if (!selfHandleRef.current) return;
34379
- return _optionalChain([coordination, 'optionalAccess', _672 => _672.registerDrawer, 'call', _673 => _673(selfHandleRef.current)]);
34398
+ return _optionalChain([coordination, 'optionalAccess', _673 => _673.registerDrawer, 'call', _674 => _674(selfHandleRef.current)]);
34380
34399
  }, [coordination]);
34381
34400
  if (!ctx) return null;
34382
34401
  const { open, close, status } = ctx;
@@ -34649,9 +34668,9 @@ var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] r
34649
34668
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
34650
34669
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
34651
34670
  const newMessageTextColor = columnColor ? getReadableTextColor(columnColor) : void 0;
34652
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _674 => _674.deviceHostnames, 'optionalAccess', _675 => _675.length]) || ticket.organizationName);
34653
- const deviceText = [_optionalChain([ticket, 'access', _676 => _676.deviceHostnames, 'optionalAccess', _677 => _677.join, 'call', _678 => _678(", ")]), ticket.organizationName].filter(Boolean).join(", ");
34654
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _679 => _679.assignees, 'optionalAccess', _680 => _680.length]) || renderAssignSlot);
34671
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _675 => _675.deviceHostnames, 'optionalAccess', _676 => _676.length]) || ticket.organizationName);
34672
+ const deviceText = [_optionalChain([ticket, 'access', _677 => _677.deviceHostnames, 'optionalAccess', _678 => _678.join, 'call', _679 => _679(", ")]), ticket.organizationName].filter(Boolean).join(", ");
34673
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _680 => _680.assignees, 'optionalAccess', _681 => _681.length]) || renderAssignSlot);
34655
34674
  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: [
34656
34675
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34657
34676
  _chunkBGD345ZVcjs.Flag02Icon,
@@ -34660,7 +34679,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
34660
34679
  "aria-label": `Priority: ${ticket.priority}`
34661
34680
  }
34662
34681
  ),
34663
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _681 => _681.assignees, 'optionalAccess', _682 => _682.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
34682
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _682 => _682.assignees, 'optionalAccess', _683 => _683.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
34664
34683
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34665
34684
  SquareAvatar,
34666
34685
  {
@@ -34691,7 +34710,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
34691
34710
  ] }),
34692
34711
  rightSection
34693
34712
  ] }),
34694
- _optionalChain([ticket, 'access', _683 => _683.tags, 'optionalAccess', _684 => _684.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
34713
+ _optionalChain([ticket, 'access', _684 => _684.tags, 'optionalAccess', _685 => _685.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
34695
34714
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
34696
34715
  /* @__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 }) }),
34697
34716
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -34929,7 +34948,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
34929
34948
  const observer = new IntersectionObserver(
34930
34949
  (entries) => {
34931
34950
  if (entries.some((e) => e.isIntersecting)) {
34932
- _optionalChain([loadMoreRef, 'access', _685 => _685.current, 'optionalCall', _686 => _686(columnIdRef.current)]);
34951
+ _optionalChain([loadMoreRef, 'access', _686 => _686.current, 'optionalCall', _687 => _687(columnIdRef.current)]);
34933
34952
  }
34934
34953
  },
34935
34954
  { root, rootMargin: loadMoreRootMargin }
@@ -34959,7 +34978,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
34959
34978
  ticket: t,
34960
34979
  columnId: column.id,
34961
34980
  columnColor: column.color,
34962
- href: _optionalChain([getTicketHref, 'optionalCall', _687 => _687(t.id)]),
34981
+ href: _optionalChain([getTicketHref, 'optionalCall', _688 => _688(t.id)]),
34963
34982
  renderAssignSlot,
34964
34983
  onApprove,
34965
34984
  onReject,
@@ -35059,17 +35078,17 @@ function Board({
35059
35078
  const pointer = _core.pointerWithin.call(void 0, args);
35060
35079
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
35061
35080
  const ticketHit = intersections.find(
35062
- (c) => _optionalChain([c, 'access', _688 => _688.data, 'optionalAccess', _689 => _689.droppableContainer, 'optionalAccess', _690 => _690.data, 'optionalAccess', _691 => _691.current, 'optionalAccess', _692 => _692.type]) === "ticket"
35081
+ (c) => _optionalChain([c, 'access', _689 => _689.data, 'optionalAccess', _690 => _690.droppableContainer, 'optionalAccess', _691 => _691.data, 'optionalAccess', _692 => _692.current, 'optionalAccess', _693 => _693.type]) === "ticket"
35063
35082
  );
35064
35083
  if (ticketHit) return [ticketHit];
35065
35084
  const columnHit = intersections.find(
35066
- (c) => _optionalChain([c, 'access', _693 => _693.data, 'optionalAccess', _694 => _694.droppableContainer, 'optionalAccess', _695 => _695.data, 'optionalAccess', _696 => _696.current, 'optionalAccess', _697 => _697.type]) === "column"
35085
+ (c) => _optionalChain([c, 'access', _694 => _694.data, 'optionalAccess', _695 => _695.droppableContainer, 'optionalAccess', _696 => _696.data, 'optionalAccess', _697 => _697.current, 'optionalAccess', _698 => _698.type]) === "column"
35067
35086
  );
35068
35087
  if (columnHit) {
35069
- const columnId = _optionalChain([columnHit, 'access', _698 => _698.data, 'optionalAccess', _699 => _699.droppableContainer, 'optionalAccess', _700 => _700.data, 'optionalAccess', _701 => _701.current, 'optionalAccess', _702 => _702.columnId]);
35088
+ const columnId = _optionalChain([columnHit, 'access', _699 => _699.data, 'optionalAccess', _700 => _700.droppableContainer, 'optionalAccess', _701 => _701.data, 'optionalAccess', _702 => _702.current, 'optionalAccess', _703 => _703.columnId]);
35070
35089
  const ticketsInColumn = args.droppableContainers.filter((c) => {
35071
35090
  const d = c.data.current;
35072
- return _optionalChain([d, 'optionalAccess', _703 => _703.type]) === "ticket" && d.columnId === columnId;
35091
+ return _optionalChain([d, 'optionalAccess', _704 => _704.type]) === "ticket" && d.columnId === columnId;
35073
35092
  });
35074
35093
  if (ticketsInColumn.length > 0) {
35075
35094
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -35094,20 +35113,20 @@ function Board({
35094
35113
  const overId = String(over.id);
35095
35114
  if (activeId === overId) return;
35096
35115
  const overData = over.data.current;
35097
- const fromColumnId = _optionalChain([locate, 'call', _704 => _704(items, activeId), 'optionalAccess', _705 => _705.columnId]);
35098
- const toColumnId = _optionalChain([overData, 'optionalAccess', _706 => _706.columnId]);
35116
+ const fromColumnId = _optionalChain([locate, 'call', _705 => _705(items, activeId), 'optionalAccess', _706 => _706.columnId]);
35117
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _707 => _707.columnId]);
35099
35118
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
35100
35119
  const origin = dragOriginRef.current;
35101
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _707 => _707.fromColumnId]) === toColumnId;
35120
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _708 => _708.fromColumnId]) === toColumnId;
35102
35121
  const targetCol = items.find((c) => c.id === toColumnId);
35103
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _708 => _708.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
35104
- if (_optionalChain([targetCol, 'optionalAccess', _709 => _709.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
35122
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _709 => _709.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
35123
+ if (_optionalChain([targetCol, 'optionalAccess', _710 => _710.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
35105
35124
  setItems((prev) => {
35106
35125
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
35107
35126
  const toCol = prev.find((c) => c.id === toColumnId);
35108
35127
  if (fromIndex < 0 || !toCol) return prev;
35109
35128
  let toIndex;
35110
- if (_optionalChain([overData, 'optionalAccess', _710 => _710.type]) === "column") {
35129
+ if (_optionalChain([overData, 'optionalAccess', _711 => _711.type]) === "column") {
35111
35130
  toIndex = toCol.tickets.length;
35112
35131
  } else {
35113
35132
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -35149,14 +35168,14 @@ function Board({
35149
35168
  const toColumnId = located.columnId;
35150
35169
  const isCrossColumn = origin.fromColumnId !== toColumnId;
35151
35170
  const targetCol = items.find((c) => c.id === toColumnId);
35152
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _711 => _711.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _712 => _712.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
35171
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _712 => _712.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _713 => _713.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
35153
35172
  setItems(columns);
35154
35173
  return;
35155
35174
  }
35156
35175
  let finalIndex = located.index;
35157
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _713 => _713.find, 'call', _714 => _714((c) => c.id === toColumnId), 'optionalAccess', _715 => _715.tickets]), () => ( []));
35176
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _714 => _714.find, 'call', _715 => _715((c) => c.id === toColumnId), 'optionalAccess', _716 => _716.tickets]), () => ( []));
35158
35177
  const overData = over.data.current;
35159
- if (_optionalChain([overData, 'optionalAccess', _716 => _716.type]) === "ticket") {
35178
+ if (_optionalChain([overData, 'optionalAccess', _717 => _717.type]) === "ticket") {
35160
35179
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
35161
35180
  if (overIndex >= 0 && overIndex !== located.index) {
35162
35181
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -35176,8 +35195,8 @@ function Board({
35176
35195
  ticketId: origin.ticketId,
35177
35196
  fromColumnId: origin.fromColumnId,
35178
35197
  toColumnId,
35179
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _717 => _717[finalIndex - 1], 'optionalAccess', _718 => _718.id]), () => ( null)),
35180
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _719 => _719[finalIndex + 1], 'optionalAccess', _720 => _720.id]), () => ( null))
35198
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _718 => _718[finalIndex - 1], 'optionalAccess', _719 => _719.id]), () => ( null)),
35199
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _720 => _720[finalIndex + 1], 'optionalAccess', _721 => _721.id]), () => ( null))
35181
35200
  });
35182
35201
  };
35183
35202
  const handleDragCancel = () => {
@@ -35206,8 +35225,8 @@ function Board({
35206
35225
  children: items.map((column, i) => {
35207
35226
  const prev = items[i - 1];
35208
35227
  const next = items[i + 1];
35209
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _721 => _721.system]));
35210
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _722 => _722.system]));
35228
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _722 => _722.system]));
35229
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _723 => _723.system]));
35211
35230
  const showGap = i > 0 && !joinLeft;
35212
35231
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React105.Fragment, { children: [
35213
35232
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -35260,7 +35279,7 @@ function Board({
35260
35279
  {
35261
35280
  ticket: activeTicket.ticket,
35262
35281
  columnId: activeTicket.columnId,
35263
- columnColor: _optionalChain([items, 'access', _723 => _723.find, 'call', _724 => _724((c) => c.id === activeTicket.columnId), 'optionalAccess', _725 => _725.color]),
35282
+ columnColor: _optionalChain([items, 'access', _724 => _724.find, 'call', _725 => _725((c) => c.id === activeTicket.columnId), 'optionalAccess', _726 => _726.color]),
35264
35283
  isOverlay: true
35265
35284
  }
35266
35285
  ) : null })
@@ -35276,7 +35295,7 @@ function locate(cols, ticketId) {
35276
35295
  return null;
35277
35296
  }
35278
35297
  function findIndexInColumn(cols, columnId, ticketId) {
35279
- return _nullishCoalesce(_optionalChain([cols, 'access', _726 => _726.find, 'call', _727 => _727((c) => c.id === columnId), 'optionalAccess', _728 => _728.tickets, 'access', _729 => _729.findIndex, 'call', _730 => _730((t) => t.id === ticketId)]), () => ( -1));
35298
+ return _nullishCoalesce(_optionalChain([cols, 'access', _727 => _727.find, 'call', _728 => _728((c) => c.id === columnId), 'optionalAccess', _729 => _729.tickets, 'access', _730 => _730.findIndex, 'call', _731 => _731((t) => t.id === ticketId)]), () => ( -1));
35280
35299
  }
35281
35300
 
35282
35301
  // src/components/features/board/types.ts
@@ -35412,7 +35431,7 @@ function MobileNavPanel({ isOpen, config }) {
35412
35431
  if (item.onClick) {
35413
35432
  item.onClick();
35414
35433
  }
35415
- _optionalChain([config, 'access', _731 => _731.onClose, 'optionalCall', _732 => _732()]);
35434
+ _optionalChain([config, 'access', _732 => _732.onClose, 'optionalCall', _733 => _733()]);
35416
35435
  };
35417
35436
  if (item.href) {
35418
35437
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35520,7 +35539,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
35520
35539
  "aria-label": label,
35521
35540
  onClick: (e) => {
35522
35541
  window.dispatchEvent(new CustomEvent("ask-ai:open", { detail: { source: _nullishCoalesce(source, () => ( "")) } }));
35523
- _optionalChain([onClick, 'optionalCall', _733 => _733(e)]);
35542
+ _optionalChain([onClick, 'optionalCall', _734 => _734(e)]);
35524
35543
  },
35525
35544
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35526
35545
  // `--spacing-system-l` is itself responsive (16px, 24px from 800px):
@@ -35689,7 +35708,7 @@ function Header2({ config, platform }) {
35689
35708
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35690
35709
  "flex justify-start w-full",
35691
35710
  "text-h6 font-bold",
35692
- index < (_nullishCoalesce(_optionalChain([item, 'access', _734 => _734.children, 'optionalAccess', _735 => _735.length]), () => ( 0))) - 1 && "mb-1",
35711
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _735 => _735.children, 'optionalAccess', _736 => _736.length]), () => ( 0))) - 1 && "mb-1",
35693
35712
  "text-ods-text-primary",
35694
35713
  // All dropdown items use primary text color
35695
35714
  child.isActive && "bg-ods-bg-hover"
@@ -35776,7 +35795,7 @@ function Header2({ config, platform }) {
35776
35795
  "w-full h-[72px] flex items-center justify-between",
35777
35796
  "border-b border-ods-border backdrop-blur-sm",
35778
35797
  "pl-6",
35779
- !_optionalChain([config, 'access', _736 => _736.mingo, 'optionalAccess', _737 => _737.enabled]) && "pr-6",
35798
+ !_optionalChain([config, 'access', _737 => _737.mingo, 'optionalAccess', _738 => _738.enabled]) && "pr-6",
35780
35799
  // Background color (configurable via backgroundColor prop)
35781
35800
  config.backgroundColor || "bg-ods-card",
35782
35801
  config.className
@@ -35784,7 +35803,7 @@ function Header2({ config, platform }) {
35784
35803
  style: config.style,
35785
35804
  children: [
35786
35805
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35787
- _optionalChain([config, 'access', _738 => _738.actions, 'optionalAccess', _739 => _739.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35806
+ _optionalChain([config, 'access', _739 => _739.actions, 'optionalAccess', _740 => _740.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35788
35807
  /* @__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 })
35789
35808
  ] }),
35790
35809
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35801,8 +35820,8 @@ function Header2({ config, platform }) {
35801
35820
  }
35802
35821
  ),
35803
35822
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-3 flex-shrink-0 self-stretch", children: [
35804
- _optionalChain([config, 'access', _740 => _740.actions, 'optionalAccess', _741 => _741.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
35805
- _optionalChain([config, 'access', _742 => _742.actions, 'optionalAccess', _743 => _743.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent }),
35823
+ _optionalChain([config, 'access', _741 => _741.actions, 'optionalAccess', _742 => _742.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
35824
+ _optionalChain([config, 'access', _743 => _743.actions, 'optionalAccess', _744 => _744.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent }),
35806
35825
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35807
35826
  _chunkPYR4LVAFcjs.Button,
35808
35827
  {
@@ -35810,15 +35829,15 @@ function Header2({ config, platform }) {
35810
35829
  size: "icon",
35811
35830
  className: "flex lg:hidden",
35812
35831
  onClick: () => {
35813
- _optionalChain([config, 'access', _744 => _744.mobile, 'optionalAccess', _745 => _745.onToggle, 'optionalCall', _746 => _746()]);
35832
+ _optionalChain([config, 'access', _745 => _745.mobile, 'optionalAccess', _746 => _746.onToggle, 'optionalCall', _747 => _747()]);
35814
35833
  },
35815
- "aria-label": _optionalChain([config, 'access', _747 => _747.mobile, 'optionalAccess', _748 => _748.isOpen]) ? "Close menu" : "Open menu",
35816
- "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _749 => _749.mobile, 'optionalAccess', _750 => _750.isOpen]), () => ( false)),
35817
- "aria-controls": _optionalChain([config, 'access', _751 => _751.mobile, 'optionalAccess', _752 => _752.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
35818
- leftIcon: _optionalChain([config, 'access', _753 => _753.mobile, 'optionalAccess', _754 => _754.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35834
+ "aria-label": _optionalChain([config, 'access', _748 => _748.mobile, 'optionalAccess', _749 => _749.isOpen]) ? "Close menu" : "Open menu",
35835
+ "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _750 => _750.mobile, 'optionalAccess', _751 => _751.isOpen]), () => ( false)),
35836
+ "aria-controls": _optionalChain([config, 'access', _752 => _752.mobile, 'optionalAccess', _753 => _753.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
35837
+ leftIcon: _optionalChain([config, 'access', _754 => _754.mobile, 'optionalAccess', _755 => _755.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35819
35838
  }
35820
35839
  ),
35821
- _optionalChain([config, 'access', _755 => _755.mingo, 'optionalAccess', _756 => _756.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { source: config.mingo.source, icon: config.mingo.icon, label: config.mingo.label, className: config.mingo.className })
35840
+ _optionalChain([config, 'access', _756 => _756.mingo, 'optionalAccess', _757 => _757.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { source: config.mingo.source, icon: config.mingo.icon, label: config.mingo.label, className: config.mingo.className })
35822
35841
  ] })
35823
35842
  ]
35824
35843
  }
@@ -35833,10 +35852,10 @@ function Header2({ config, platform }) {
35833
35852
  // src/components/navigation/header-skeleton.tsx
35834
35853
 
35835
35854
  function HeaderSkeleton({ config }) {
35836
- const showNavigation = _optionalChain([config, 'optionalAccess', _757 => _757.navigation]) && config.navigation.items.length > 0;
35837
- const showActions = _optionalChain([config, 'optionalAccess', _758 => _758.actions, 'optionalAccess', _759 => _759.right]) && config.actions.right.length > 0;
35838
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _760 => _760.mobile, 'optionalAccess', _761 => _761.enabled]);
35839
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _762 => _762.className, 'optionalAccess', _763 => _763.includes, 'call', _764 => _764("admin")]);
35855
+ const showNavigation = _optionalChain([config, 'optionalAccess', _758 => _758.navigation]) && config.navigation.items.length > 0;
35856
+ const showActions = _optionalChain([config, 'optionalAccess', _759 => _759.actions, 'optionalAccess', _760 => _760.right]) && config.actions.right.length > 0;
35857
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _761 => _761.mobile, 'optionalAccess', _762 => _762.enabled]);
35858
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _763 => _763.className, 'optionalAccess', _764 => _764.includes, 'call', _765 => _765("admin")]);
35840
35859
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35841
35860
  "header",
35842
35861
  {
@@ -35845,11 +35864,11 @@ function HeaderSkeleton({ config }) {
35845
35864
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
35846
35865
  "px-6 py-3",
35847
35866
  "transition-opacity duration-300 ease-in-out",
35848
- _optionalChain([config, 'optionalAccess', _765 => _765.className])
35867
+ _optionalChain([config, 'optionalAccess', _766 => _766.className])
35849
35868
  ),
35850
35869
  children: [
35851
35870
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35852
- isAdminHeader && _optionalChain([config, 'optionalAccess', _766 => _766.actions, 'optionalAccess', _767 => _767.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" }) }),
35871
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _767 => _767.actions, 'optionalAccess', _768 => _768.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" }) }),
35853
35872
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
35854
35873
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
35855
35874
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -35857,8 +35876,8 @@ function HeaderSkeleton({ config }) {
35857
35876
  ] }),
35858
35877
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
35859
35878
  "hidden md:flex items-center gap-2",
35860
- _optionalChain([config, 'optionalAccess', _768 => _768.navigation, 'optionalAccess', _769 => _769.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35861
- _optionalChain([config, 'optionalAccess', _770 => _770.navigation, 'optionalAccess', _771 => _771.position]) === "right" && "ml-auto mr-4"
35879
+ _optionalChain([config, 'optionalAccess', _769 => _769.navigation, 'optionalAccess', _770 => _770.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35880
+ _optionalChain([config, 'optionalAccess', _771 => _771.navigation, 'optionalAccess', _772 => _772.position]) === "right" && "ml-auto mr-4"
35862
35881
  ), children: [
35863
35882
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
35864
35883
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -35974,7 +35993,7 @@ function SlidingSidebar({ config }) {
35974
35993
  variant: "transparent",
35975
35994
  size: "default",
35976
35995
  onClick: () => {
35977
- _optionalChain([item, 'access', _772 => _772.onClick, 'optionalCall', _773 => _773()]);
35996
+ _optionalChain([item, 'access', _773 => _773.onClick, 'optionalCall', _774 => _774()]);
35978
35997
  config.onClose();
35979
35998
  },
35980
35999
  leftIcon: item.icon,
@@ -35997,7 +36016,7 @@ function SlidingSidebar({ config }) {
35997
36016
  variant: "transparent",
35998
36017
  size: "default",
35999
36018
  onClick: () => {
36000
- _optionalChain([item, 'access', _774 => _774.onClick, 'optionalCall', _775 => _775()]);
36019
+ _optionalChain([item, 'access', _775 => _775.onClick, 'optionalCall', _776 => _776()]);
36001
36020
  config.onClose();
36002
36021
  },
36003
36022
  leftIcon: item.icon,
@@ -36129,7 +36148,7 @@ function StickySectionNav({
36129
36148
  ] });
36130
36149
  }
36131
36150
  function useSectionNavigation(sections, options) {
36132
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _776 => _776[0], 'optionalAccess', _777 => _777.id]) || "");
36151
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _777 => _777[0], 'optionalAccess', _778 => _778.id]) || "");
36133
36152
  const isScrollingFromClick = _react.useRef.call(void 0, false);
36134
36153
  const { offset: offset2 = 100 } = options || {};
36135
36154
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -36153,7 +36172,7 @@ function useSectionNavigation(sections, options) {
36153
36172
  const handleScroll = () => {
36154
36173
  if (isScrollingFromClick.current) return;
36155
36174
  const scrollPosition = window.scrollY + offset2 + 50;
36156
- let currentSection = _optionalChain([sections, 'access', _778 => _778[0], 'optionalAccess', _779 => _779.id]) || "";
36175
+ let currentSection = _optionalChain([sections, 'access', _779 => _779[0], 'optionalAccess', _780 => _780.id]) || "";
36157
36176
  for (let i = sections.length - 1; i >= 0; i--) {
36158
36177
  const element = document.getElementById(sections[i].id);
36159
36178
  if (element && scrollPosition >= element.offsetTop) {
@@ -36344,7 +36363,7 @@ function NavigationSidebar({ config, disabled = false }) {
36344
36363
  } else {
36345
36364
  setDesktopMinimized((prev) => !prev);
36346
36365
  }
36347
- _optionalChain([config, 'access', _780 => _780.onToggleMinimized, 'optionalCall', _781 => _781()]);
36366
+ _optionalChain([config, 'access', _781 => _781.onToggleMinimized, 'optionalCall', _782 => _782()]);
36348
36367
  }, [isTablet, setDesktopMinimized, config]);
36349
36368
  const closeOverlay = _react.useCallback.call(void 0, () => {
36350
36369
  setTabletMinimized(true);
@@ -36358,11 +36377,11 @@ function NavigationSidebar({ config, disabled = false }) {
36358
36377
  return () => document.removeEventListener("keydown", handleKeyDown);
36359
36378
  }, [isOverlayOpen, closeOverlay]);
36360
36379
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
36361
- _optionalChain([event, 'optionalAccess', _782 => _782.stopPropagation, 'call', _783 => _783()]);
36380
+ _optionalChain([event, 'optionalAccess', _783 => _783.stopPropagation, 'call', _784 => _784()]);
36362
36381
  if (item.onClick) {
36363
36382
  item.onClick();
36364
36383
  } else if (item.path) {
36365
- _optionalChain([config, 'access', _784 => _784.onNavigate, 'optionalCall', _785 => _785(item.path)]);
36384
+ _optionalChain([config, 'access', _785 => _785.onNavigate, 'optionalCall', _786 => _786(item.path)]);
36366
36385
  }
36367
36386
  if (isTablet) setTabletMinimized(true);
36368
36387
  }, [config, isTablet]);
@@ -36487,11 +36506,11 @@ function HeaderGlobalSearch({
36487
36506
  };
36488
36507
  const handleSubmit = (e) => {
36489
36508
  e.preventDefault();
36490
- _optionalChain([onSubmit, 'optionalCall', _786 => _786(currentValue)]);
36509
+ _optionalChain([onSubmit, 'optionalCall', _787 => _787(currentValue)]);
36491
36510
  };
36492
36511
  const handleKeyDown = (e) => {
36493
36512
  if (e.key === "Enter") {
36494
- _optionalChain([onSubmit, 'optionalCall', _787 => _787(currentValue)]);
36513
+ _optionalChain([onSubmit, 'optionalCall', _788 => _788(currentValue)]);
36495
36514
  }
36496
36515
  };
36497
36516
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36585,8 +36604,8 @@ function HeaderOrganizationFilter({
36585
36604
  className
36586
36605
  }) {
36587
36606
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
36588
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _788 => _788.name]) || "All Organizations";
36589
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _789 => _789.deviceCount]), () => ( totalDeviceCount));
36607
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _789 => _789.name]) || "All Organizations";
36608
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _790 => _790.deviceCount]), () => ( totalDeviceCount));
36590
36609
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenu, { children: [
36591
36610
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36592
36611
  "button",
@@ -36611,11 +36630,11 @@ function HeaderOrganizationFilter({
36611
36630
  }
36612
36631
  ) }),
36613
36632
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
36614
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _790 => _790("")]), children: "All Organizations" }),
36633
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPYR4LVAFcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _791 => _791("")]), children: "All Organizations" }),
36615
36634
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36616
36635
  _chunkPYR4LVAFcjs.DropdownMenuItem,
36617
36636
  {
36618
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _791 => _791(org.id)]),
36637
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _792 => _792(org.id)]),
36619
36638
  children: org.name
36620
36639
  },
36621
36640
  org.id
@@ -36805,9 +36824,9 @@ function NotificationsHeaderButton({
36805
36824
  dimmedClass
36806
36825
  }) {
36807
36826
  const ctx = useOptionalNotifications();
36808
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _792 => _792.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36809
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _793 => _793.isOpen]), () => ( false));
36810
- const onClick = _optionalChain([ctx, 'optionalAccess', _794 => _794.toggle]);
36827
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _793 => _793.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36828
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _794 => _794.isOpen]), () => ( false));
36829
+ const onClick = _optionalChain([ctx, 'optionalAccess', _795 => _795.toggle]);
36811
36830
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36812
36831
  HeaderButton,
36813
36832
  {
@@ -36854,7 +36873,7 @@ var MobileBurgerMenu = React120.default.memo(function MobileBurgerMenu2({
36854
36873
  if (item.onClick) {
36855
36874
  item.onClick();
36856
36875
  } else if (item.path) {
36857
- _optionalChain([config, 'access', _795 => _795.onNavigate, 'optionalCall', _796 => _796(item.path)]);
36876
+ _optionalChain([config, 'access', _796 => _796.onNavigate, 'optionalCall', _797 => _797(item.path)]);
36858
36877
  }
36859
36878
  onClose();
36860
36879
  }, [config, onClose]);
@@ -37460,7 +37479,7 @@ var ShellTypeBadge = ({
37460
37479
  className,
37461
37480
  iconClassName
37462
37481
  }) => {
37463
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _797 => _797.toUpperCase, 'call', _798 => _798()]);
37482
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _798 => _798.toUpperCase, 'call', _799 => _799()]);
37464
37483
  const label = getShellLabel(normalizedType);
37465
37484
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
37466
37485
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -37847,12 +37866,12 @@ function OnboardingWalkthrough({
37847
37866
  }
37848
37867
  }, [state.completedSteps, markComplete]);
37849
37868
  const handleStepSkip = (step) => {
37850
- _optionalChain([step, 'access', _799 => _799.onSkip, 'optionalCall', _800 => _800()]);
37869
+ _optionalChain([step, 'access', _800 => _800.onSkip, 'optionalCall', _801 => _801()]);
37851
37870
  markSkipped(step.id);
37852
37871
  };
37853
37872
  const handleDismiss = () => {
37854
37873
  dismissOnboarding();
37855
- _optionalChain([onDismiss, 'optionalCall', _801 => _801()]);
37874
+ _optionalChain([onDismiss, 'optionalCall', _802 => _802()]);
37856
37875
  };
37857
37876
  if (state.dismissed) {
37858
37877
  return null;
@@ -37982,7 +38001,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37982
38001
  onKeyDown: (e) => {
37983
38002
  if (e.key === "Enter" || e.key === " ") {
37984
38003
  e.preventDefault();
37985
- _optionalChain([onClick, 'optionalCall', _802 => _802()]);
38004
+ _optionalChain([onClick, 'optionalCall', _803 => _803()]);
37986
38005
  }
37987
38006
  },
37988
38007
  children: [
@@ -38083,7 +38102,7 @@ var LogsList = React117.forwardRef(({
38083
38102
  log,
38084
38103
  isLast: index === logs.length - 1,
38085
38104
  showConnector,
38086
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _803 => _803(log)])
38105
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _804 => _804(log)])
38087
38106
  },
38088
38107
  log.id
38089
38108
  ))
@@ -38184,7 +38203,7 @@ var Slider = React119.forwardRef(
38184
38203
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
38185
38204
  const handleChange = (e) => {
38186
38205
  const newValue = [Number(e.target.value)];
38187
- _optionalChain([onValueChange, 'optionalCall', _804 => _804(newValue)]);
38206
+ _optionalChain([onValueChange, 'optionalCall', _805 => _805(newValue)]);
38188
38207
  };
38189
38208
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38190
38209
  "input",
@@ -38618,7 +38637,7 @@ function CursorPaginationSimple({
38618
38637
  {
38619
38638
  variant: "transparent",
38620
38639
  size: "icon",
38621
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _805 => _805("")]),
38640
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _806 => _806("")]),
38622
38641
  disabled: !hasPreviousPage || loading,
38623
38642
  className: "h-8 w-8",
38624
38643
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -38630,7 +38649,7 @@ function CursorPaginationSimple({
38630
38649
  {
38631
38650
  variant: "transparent",
38632
38651
  size: "icon",
38633
- onClick: () => _optionalChain([onNext, 'optionalCall', _806 => _806("")]),
38652
+ onClick: () => _optionalChain([onNext, 'optionalCall', _807 => _807("")]),
38634
38653
  disabled: !hasNextPage || loading,
38635
38654
  className: "h-8 w-8",
38636
38655
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -38650,8 +38669,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
38650
38669
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
38651
38670
  title: _nullishCoalesce(message2, () => ( "No results found")),
38652
38671
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
38653
- buttonLabel: _optionalChain([action, 'optionalAccess', _807 => _807.label]),
38654
- onButtonClick: _optionalChain([action, 'optionalAccess', _808 => _808.onClick]),
38672
+ buttonLabel: _optionalChain([action, 'optionalAccess', _808 => _808.label]),
38673
+ onButtonClick: _optionalChain([action, 'optionalAccess', _809 => _809.onClick]),
38655
38674
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
38656
38675
  }
38657
38676
  );
@@ -38672,7 +38691,7 @@ function TableColumnFilterDropdown({
38672
38691
  placement = "bottom-start",
38673
38692
  dropdownClassName = "min-w-[240px]"
38674
38693
  }) {
38675
- const activeCount = _optionalChain([filters, 'optionalAccess', _809 => _809[columnKey], 'optionalAccess', _810 => _810.length]) || 0;
38694
+ const activeCount = _optionalChain([filters, 'optionalAccess', _810 => _810[columnKey], 'optionalAccess', _811 => _811.length]) || 0;
38676
38695
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38677
38696
  FiltersDropdown,
38678
38697
  {
@@ -38715,7 +38734,7 @@ function TableColumnFilterDropdown({
38715
38734
  delete newFilters[columnKey];
38716
38735
  onFilterChange(newFilters);
38717
38736
  },
38718
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _811 => _811[columnKey]]) || [] },
38737
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _812 => _812[columnKey]]) || [] },
38719
38738
  placement,
38720
38739
  dropdownClassName
38721
38740
  }
@@ -38925,7 +38944,7 @@ function TableCardSkeleton({
38925
38944
  className,
38926
38945
  rowClassName
38927
38946
  }) {
38928
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _812 => _812.key]);
38947
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _813 => _813.key]);
38929
38948
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38930
38949
  "div",
38931
38950
  {
@@ -39018,7 +39037,7 @@ function TableRow({
39018
39037
  const keys = column.key.split(".");
39019
39038
  let value = item;
39020
39039
  for (const key of keys) {
39021
- value = _optionalChain([value, 'optionalAccess', _813 => _813[key]]);
39040
+ value = _optionalChain([value, 'optionalAccess', _814 => _814[key]]);
39022
39041
  }
39023
39042
  if (value === null || value === void 0) {
39024
39043
  return "-";
@@ -39107,7 +39126,7 @@ function useTableMotion(enabled) {
39107
39126
  // src/components/ui/table/table.tsx
39108
39127
 
39109
39128
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
39110
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _814 => _814.length])) || Boolean(renderRowActions);
39129
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _815 => _815.length])) || Boolean(renderRowActions);
39111
39130
  const result = [...columns];
39112
39131
  if (hasActions) {
39113
39132
  const actionsColumn = {
@@ -39203,7 +39222,7 @@ function Table({
39203
39222
  return rowKey(item);
39204
39223
  }
39205
39224
  const key = item[rowKey];
39206
- return _optionalChain([key, 'optionalAccess', _815 => _815.toString, 'call', _816 => _816()]) || index.toString();
39225
+ return _optionalChain([key, 'optionalAccess', _816 => _816.toString, 'call', _817 => _817()]) || index.toString();
39207
39226
  };
39208
39227
  const getRowClassName = (item, index) => {
39209
39228
  if (typeof rowClassName === "function") {
@@ -39237,23 +39256,23 @@ function Table({
39237
39256
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
39238
39257
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
39239
39258
  const sentinelRef = _react.useRef.call(void 0, null);
39240
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _817 => _817.onLoadMore]));
39241
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _818 => _818.onLoadMore]);
39259
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _818 => _818.onLoadMore]));
39260
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _819 => _819.onLoadMore]);
39242
39261
  _react.useEffect.call(void 0, () => {
39243
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _819 => _819.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39262
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _820 => _820.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39244
39263
  const sentinel = sentinelRef.current;
39245
39264
  if (!sentinel) return;
39246
39265
  const observer = new IntersectionObserver(
39247
39266
  (entries) => {
39248
- if (_optionalChain([entries, 'access', _820 => _820[0], 'optionalAccess', _821 => _821.isIntersecting])) {
39249
- _optionalChain([onLoadMoreRef, 'access', _822 => _822.current, 'optionalCall', _823 => _823()]);
39267
+ if (_optionalChain([entries, 'access', _821 => _821[0], 'optionalAccess', _822 => _822.isIntersecting])) {
39268
+ _optionalChain([onLoadMoreRef, 'access', _823 => _823.current, 'optionalCall', _824 => _824()]);
39250
39269
  }
39251
39270
  },
39252
39271
  { rootMargin: "200px" }
39253
39272
  );
39254
39273
  observer.observe(sentinel);
39255
39274
  return () => observer.disconnect();
39256
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _824 => _824.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _825 => _825.isFetchingNextPage])]);
39275
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _825 => _825.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _826 => _826.isFetchingNextPage])]);
39257
39276
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
39258
39277
  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: [
39259
39278
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: [
@@ -39323,14 +39342,14 @@ function Table({
39323
39342
  selected: isRowSelected(item),
39324
39343
  onSelect: handleSelectRow,
39325
39344
  animateRowReorder,
39326
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _826 => _826.motionDiv])
39345
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _827 => _827.motionDiv])
39327
39346
  },
39328
39347
  getRowKey(item, index)
39329
39348
  ));
39330
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _827 => _827.LayoutGroup]);
39349
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _828 => _828.LayoutGroup]);
39331
39350
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
39332
39351
  })(),
39333
- _optionalChain([infiniteScroll, 'optionalAccess', _828 => _828.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39352
+ _optionalChain([infiniteScroll, 'optionalAccess', _829 => _829.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39334
39353
  TableCardSkeleton,
39335
39354
  {
39336
39355
  columns,
@@ -39339,7 +39358,7 @@ function Table({
39339
39358
  hasChevron: Boolean(rowHref)
39340
39359
  }
39341
39360
  ),
39342
- _optionalChain([infiniteScroll, 'optionalAccess', _829 => _829.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39361
+ _optionalChain([infiniteScroll, 'optionalAccess', _830 => _830.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39343
39362
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39344
39363
  "div",
39345
39364
  {
@@ -39697,7 +39716,7 @@ function QueryReportTable({
39697
39716
  );
39698
39717
  const handleExport = () => {
39699
39718
  exportToCSV(data, columns, exportFilename);
39700
- _optionalChain([onExport, 'optionalCall', _830 => _830()]);
39719
+ _optionalChain([onExport, 'optionalCall', _831 => _831()]);
39701
39720
  };
39702
39721
  const tableMinWidth = columns.length * (columnWidth + 16);
39703
39722
  const {
@@ -39870,7 +39889,7 @@ function DataTableColumnFilter({
39870
39889
  align = "left"
39871
39890
  }) {
39872
39891
  const currentValue = column.getFilterValue();
39873
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _831 => _831.length]), () => ( 0));
39892
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _832 => _832.length]), () => ( 0));
39874
39893
  const sections = _react.useMemo.call(void 0,
39875
39894
  () => [
39876
39895
  {
@@ -39951,7 +39970,7 @@ function DataTableHeader({
39951
39970
  if (header.isPlaceholder) return false;
39952
39971
  if (isLgUp) return true;
39953
39972
  const meta = header.column.columnDef.meta;
39954
- return Boolean(_optionalChain([meta, 'optionalAccess', _832 => _832.filter])) || _optionalChain([meta, 'optionalAccess', _833 => _833.alwaysShowHeader]) === true;
39973
+ return Boolean(_optionalChain([meta, 'optionalAccess', _833 => _833.filter])) || _optionalChain([meta, 'optionalAccess', _834 => _834.alwaysShowHeader]) === true;
39955
39974
  });
39956
39975
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39957
39976
  "div",
@@ -39981,21 +40000,21 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
39981
40000
  if (header.isPlaceholder) return null;
39982
40001
  const column = header.column;
39983
40002
  const meta = column.columnDef.meta;
39984
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _834 => _834.filter]));
39985
- const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _835 => _835.alwaysShowHeader]) === true;
39986
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _836 => _836.align]), () => ( "left"));
39987
- const canSort = _optionalChain([meta, 'optionalAccess', _837 => _837.sortable]) === true;
39988
- const sortDir = _optionalChain([sort, 'optionalAccess', _838 => _838.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
40003
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _835 => _835.filter]));
40004
+ const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _836 => _836.alwaysShowHeader]) === true;
40005
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _837 => _837.align]), () => ( "left"));
40006
+ const canSort = _optionalChain([meta, 'optionalAccess', _838 => _838.sortable]) === true;
40007
+ const sortDir = _optionalChain([sort, 'optionalAccess', _839 => _839.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
39989
40008
  if (!isLgUp && !keepOnTablet) return null;
39990
40009
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39991
40010
  "div",
39992
40011
  {
39993
40012
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
39994
40013
  "flex items-stretch",
39995
- isLgUp && (_optionalChain([meta, 'optionalAccess', _839 => _839.width]) || "flex-1 min-w-0"),
39996
- _optionalChain([meta, 'optionalAccess', _840 => _840.headerClassName]),
40014
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _840 => _840.width]) || "flex-1 min-w-0"),
40015
+ _optionalChain([meta, 'optionalAccess', _841 => _841.headerClassName]),
39997
40016
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
39998
- !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _841 => _841.hideAt]))
40017
+ !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _842 => _842.hideAt]))
39999
40018
  ),
40000
40019
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40001
40020
  DataTableColumnFilter,
@@ -40014,7 +40033,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
40014
40033
  isLgUp && alignJustify(align),
40015
40034
  canSort && "group cursor-pointer"
40016
40035
  ),
40017
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _842 => _842(column.id)]) : void 0,
40036
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _843 => _843(column.id)]) : void 0,
40018
40037
  children: [
40019
40038
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
40020
40039
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -40079,7 +40098,7 @@ function DataTableSkeleton({
40079
40098
  }) {
40080
40099
  const table = useDataTableContext();
40081
40100
  const columns = table.getVisibleFlatColumns();
40082
- const firstColumnId = _optionalChain([columns, 'access', _843 => _843[0], 'optionalAccess', _844 => _844.id]);
40101
+ const firstColumnId = _optionalChain([columns, 'access', _844 => _844[0], 'optionalAccess', _845 => _845.id]);
40083
40102
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40084
40103
  "div",
40085
40104
  {
@@ -40103,7 +40122,7 @@ function DataTableSkeleton({
40103
40122
  {
40104
40123
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
40105
40124
  "flex flex-col justify-center shrink-0",
40106
- _optionalChain([meta, 'optionalAccess', _845 => _845.width]) || "flex-1"
40125
+ _optionalChain([meta, 'optionalAccess', _846 => _846.width]) || "flex-1"
40107
40126
  ),
40108
40127
  children: [
40109
40128
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -40153,7 +40172,7 @@ function DataTableRowImpl({
40153
40172
  const handleClick = _react.useCallback.call(void 0,
40154
40173
  (e) => {
40155
40174
  const target = e.target;
40156
- if (!_optionalChain([containerRef, 'access', _846 => _846.current, 'optionalAccess', _847 => _847.contains, 'call', _848 => _848(target)])) {
40175
+ if (!_optionalChain([containerRef, 'access', _847 => _847.current, 'optionalAccess', _848 => _848.contains, 'call', _849 => _849(target)])) {
40157
40176
  if (isLinkMode) e.preventDefault();
40158
40177
  return;
40159
40178
  }
@@ -40161,7 +40180,7 @@ function DataTableRowImpl({
40161
40180
  if (isLinkMode) e.preventDefault();
40162
40181
  return;
40163
40182
  }
40164
- _optionalChain([onClick, 'optionalCall', _849 => _849(row.original)]);
40183
+ _optionalChain([onClick, 'optionalCall', _850 => _850(row.original)]);
40165
40184
  },
40166
40185
  [onClick, row.original, isLinkMode]
40167
40186
  );
@@ -40186,10 +40205,10 @@ function DataTableRowImpl({
40186
40205
  {
40187
40206
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
40188
40207
  "flex flex-col overflow-hidden",
40189
- alignJustify(_optionalChain([meta, 'optionalAccess', _850 => _850.align])),
40190
- _optionalChain([meta, 'optionalAccess', _851 => _851.width]) || "flex-1 min-w-0",
40191
- _optionalChain([meta, 'optionalAccess', _852 => _852.cellClassName]),
40192
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _853 => _853.hideAt]))
40208
+ alignJustify(_optionalChain([meta, 'optionalAccess', _851 => _851.align])),
40209
+ _optionalChain([meta, 'optionalAccess', _852 => _852.width]) || "flex-1 min-w-0",
40210
+ _optionalChain([meta, 'optionalAccess', _853 => _853.cellClassName]),
40211
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _854 => _854.hideAt]))
40193
40212
  ),
40194
40213
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
40195
40214
  },
@@ -40269,7 +40288,7 @@ function DataTableBody({
40269
40288
  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: [
40270
40289
  rows.map((row, index) => {
40271
40290
  const item = row.original;
40272
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _854 => _854(item)]), () => ( void 0));
40291
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _855 => _855(item)]), () => ( void 0));
40273
40292
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
40274
40293
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40275
40294
  DataTableRow,
@@ -40280,7 +40299,7 @@ function DataTableBody({
40280
40299
  compact,
40281
40300
  autoHeight,
40282
40301
  className: cls,
40283
- subRow: _optionalChain([renderSubRow, 'optionalCall', _855 => _855(item)])
40302
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _856 => _856(item)])
40284
40303
  },
40285
40304
  row.id
40286
40305
  );
@@ -40335,7 +40354,7 @@ function DataTableInfiniteFooter({
40335
40354
  if (!sentinel) return;
40336
40355
  const observer = new IntersectionObserver(
40337
40356
  (entries) => {
40338
- if (_optionalChain([entries, 'access', _856 => _856[0], 'optionalAccess', _857 => _857.isIntersecting])) onLoadMoreRef.current();
40357
+ if (_optionalChain([entries, 'access', _857 => _857[0], 'optionalAccess', _858 => _858.isIntersecting])) onLoadMoreRef.current();
40339
40358
  },
40340
40359
  { rootMargin }
40341
40360
  );
@@ -40383,7 +40402,7 @@ function DataTableRowCount({
40383
40402
  const table = useDataTableContext();
40384
40403
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
40385
40404
  if (hideWhenEmpty && count === 0) return null;
40386
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _858 => _858(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40405
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _859 => _859(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40387
40406
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40388
40407
  "span",
40389
40408
  {
@@ -40542,7 +40561,7 @@ function SearchInput({
40542
40561
  if (!showHiddenTags) return;
40543
40562
  const handleClick = (e) => {
40544
40563
  const target = e.target;
40545
- if (!_optionalChain([hiddenTagsRef, 'access', _859 => _859.current, 'optionalAccess', _860 => _860.contains, 'call', _861 => _861(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _862 => _862.current, 'optionalAccess', _863 => _863.contains, 'call', _864 => _864(target)])) {
40564
+ if (!_optionalChain([hiddenTagsRef, 'access', _860 => _860.current, 'optionalAccess', _861 => _861.contains, 'call', _862 => _862(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _863 => _863.current, 'optionalAccess', _864 => _864.contains, 'call', _865 => _865(target)])) {
40546
40565
  setShowHiddenTags(false);
40547
40566
  }
40548
40567
  };
@@ -40590,10 +40609,10 @@ function SearchInput({
40590
40609
  } else {
40591
40610
  setInternalValue("");
40592
40611
  }
40593
- _optionalChain([inputRef, 'access', _865 => _865.current, 'optionalAccess', _866 => _866.focus, 'call', _867 => _867()]);
40612
+ _optionalChain([inputRef, 'access', _866 => _866.current, 'optionalAccess', _867 => _867.focus, 'call', _868 => _868()]);
40594
40613
  };
40595
40614
  const handleResultClick = (result, e) => {
40596
- _optionalChain([onResultSelect, 'optionalCall', _868 => _868(
40615
+ _optionalChain([onResultSelect, 'optionalCall', _869 => _869(
40597
40616
  result,
40598
40617
  e ? {
40599
40618
  metaKey: e.metaKey,
@@ -40625,7 +40644,7 @@ function SearchInput({
40625
40644
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
40626
40645
  handleResultClick(flatResults[highlightedIndex]);
40627
40646
  } else {
40628
- _optionalChain([onSubmit, 'optionalCall', _869 => _869(currentValue)]);
40647
+ _optionalChain([onSubmit, 'optionalCall', _870 => _870(currentValue)]);
40629
40648
  }
40630
40649
  break;
40631
40650
  case "Escape":
@@ -40703,7 +40722,7 @@ function SearchInput({
40703
40722
  dropdownVisible && "!border-ods-accent"
40704
40723
  ),
40705
40724
  onClick: () => {
40706
- _optionalChain([inputRef, 'access', _870 => _870.current, 'optionalAccess', _871 => _871.focus, 'call', _872 => _872()]);
40725
+ _optionalChain([inputRef, 'access', _871 => _871.current, 'optionalAccess', _872 => _872.focus, 'call', _873 => _873()]);
40707
40726
  setIsOpen(true);
40708
40727
  },
40709
40728
  children: [
@@ -40787,10 +40806,10 @@ function SearchInput({
40787
40806
  align: "start",
40788
40807
  onOpenAutoFocus: (e) => {
40789
40808
  e.preventDefault();
40790
- _optionalChain([inputRef, 'access', _873 => _873.current, 'optionalAccess', _874 => _874.focus, 'call', _875 => _875()]);
40809
+ _optionalChain([inputRef, 'access', _874 => _874.current, 'optionalAccess', _875 => _875.focus, 'call', _876 => _876()]);
40791
40810
  },
40792
40811
  onInteractOutside: (e) => {
40793
- if (_optionalChain([containerRef, 'access', _876 => _876.current, 'optionalAccess', _877 => _877.contains, 'call', _878 => _878(e.target)])) {
40812
+ if (_optionalChain([containerRef, 'access', _877 => _877.current, 'optionalAccess', _878 => _878.contains, 'call', _879 => _879(e.target)])) {
40794
40813
  e.preventDefault();
40795
40814
  }
40796
40815
  },
@@ -40807,10 +40826,10 @@ function SearchInput({
40807
40826
  ref: hiddenTagsPopupRef,
40808
40827
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
40809
40828
  style: {
40810
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _879 => _879.current, 'optionalAccess', _880 => _880.getBoundingClientRect, 'call', _881 => _881(), 'access', _882 => _882.left]), () => ( 0))) : 0
40829
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _880 => _880.current, 'optionalAccess', _881 => _881.getBoundingClientRect, 'call', _882 => _882(), 'access', _883 => _883.left]), () => ( 0))) : 0
40811
40830
  },
40812
40831
  onRemove: (value2) => {
40813
- _optionalChain([onFilterRemove, 'optionalCall', _883 => _883(value2)]);
40832
+ _optionalChain([onFilterRemove, 'optionalCall', _884 => _884(value2)]);
40814
40833
  if (hiddenCount <= 1) setShowHiddenTags(false);
40815
40834
  }
40816
40835
  }
@@ -40861,7 +40880,7 @@ function FilterListItem({
40861
40880
  }) {
40862
40881
  const handleToggle = () => {
40863
40882
  if (disabled) return;
40864
- _optionalChain([onToggle, 'optionalCall', _884 => _884(!selected)]);
40883
+ _optionalChain([onToggle, 'optionalCall', _885 => _885(!selected)]);
40865
40884
  };
40866
40885
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40867
40886
  "div",
@@ -40908,7 +40927,7 @@ function FilterListItem({
40908
40927
  CheckboxPrimitive4.Root,
40909
40928
  {
40910
40929
  checked: selected,
40911
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _885 => _885(c === true)]),
40930
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _886 => _886(c === true)]),
40912
40931
  onClick: (e) => e.stopPropagation(),
40913
40932
  disabled,
40914
40933
  "aria-label": title,
@@ -41007,7 +41026,7 @@ function TagSearchInput({
41007
41026
  if (!showHiddenTags) return;
41008
41027
  const handleClick = (e) => {
41009
41028
  const target = e.target;
41010
- if (!_optionalChain([hiddenTagsRef, 'access', _886 => _886.current, 'optionalAccess', _887 => _887.contains, 'call', _888 => _888(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _889 => _889.current, 'optionalAccess', _890 => _890.contains, 'call', _891 => _891(target)])) {
41029
+ if (!_optionalChain([hiddenTagsRef, 'access', _887 => _887.current, 'optionalAccess', _888 => _888.contains, 'call', _889 => _889(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _890 => _890.current, 'optionalAccess', _891 => _891.contains, 'call', _892 => _892(target)])) {
41011
41030
  setShowHiddenTags(false);
41012
41031
  }
41013
41032
  };
@@ -41023,13 +41042,13 @@ function TagSearchInput({
41023
41042
  e.preventDefault();
41024
41043
  onSubmit(searchValue);
41025
41044
  }
41026
- _optionalChain([onKeyDown, 'optionalCall', _892 => _892(e)]);
41045
+ _optionalChain([onKeyDown, 'optionalCall', _893 => _893(e)]);
41027
41046
  };
41028
41047
  const handleClearAll = (e) => {
41029
41048
  e.stopPropagation();
41030
41049
  e.preventDefault();
41031
- _optionalChain([onClearAll, 'optionalCall', _893 => _893()]);
41032
- _optionalChain([inputRef, 'access', _894 => _894.current, 'optionalAccess', _895 => _895.focus, 'call', _896 => _896()]);
41050
+ _optionalChain([onClearAll, 'optionalCall', _894 => _894()]);
41051
+ _optionalChain([inputRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.focus, 'call', _897 => _897()]);
41033
41052
  };
41034
41053
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
41035
41054
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -41046,7 +41065,7 @@ function TagSearchInput({
41046
41065
  className
41047
41066
  ),
41048
41067
  onClick: () => {
41049
- if (!disabled) _optionalChain([inputRef, 'access', _897 => _897.current, 'optionalAccess', _898 => _898.focus, 'call', _899 => _899()]);
41068
+ if (!disabled) _optionalChain([inputRef, 'access', _898 => _898.current, 'optionalAccess', _899 => _899.focus, 'call', _900 => _900()]);
41050
41069
  },
41051
41070
  children: [
41052
41071
  /* @__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" }) }),
@@ -41118,7 +41137,7 @@ function TagSearchInput({
41118
41137
  items: hiddenTags,
41119
41138
  disabled,
41120
41139
  style: {
41121
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _900 => _900.current, 'optionalAccess', _901 => _901.getBoundingClientRect, 'call', _902 => _902(), 'access', _903 => _903.left]), () => ( 0))) : 0
41140
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _901 => _901.current, 'optionalAccess', _902 => _902.getBoundingClientRect, 'call', _903 => _903(), 'access', _904 => _904.left]), () => ( 0))) : 0
41122
41141
  },
41123
41142
  onRemove: (value) => {
41124
41143
  onTagRemove(value);
@@ -41219,7 +41238,7 @@ function MarkdownEditor({
41219
41238
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
41220
41239
  _react.useEffect.call(void 0, () => {
41221
41240
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
41222
- if (_optionalChain([mod, 'access', _904 => _904.commands, 'optionalAccess', _905 => _905.getExtraCommands])) {
41241
+ if (_optionalChain([mod, 'access', _905 => _905.commands, 'optionalAccess', _906 => _906.getExtraCommands])) {
41223
41242
  setDefaultExtraCommands(mod.commands.getExtraCommands());
41224
41243
  }
41225
41244
  });
@@ -41253,7 +41272,7 @@ function MarkdownEditor({
41253
41272
  const isImage = file.type.startsWith("image/");
41254
41273
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
41255
41274
  insertTextAtCursor(markdown);
41256
- _optionalChain([onFileUploaded, 'optionalCall', _906 => _906(url, file.name)]);
41275
+ _optionalChain([onFileUploaded, 'optionalCall', _907 => _907(url, file.name)]);
41257
41276
  } catch (error) {
41258
41277
  console.error("File upload failed:", error);
41259
41278
  setUploadProgress("Upload failed. Please try again.");
@@ -41266,7 +41285,7 @@ function MarkdownEditor({
41266
41285
  );
41267
41286
  const handleFileInputChange = _react.useCallback.call(void 0,
41268
41287
  (e) => {
41269
- const file = _optionalChain([e, 'access', _907 => _907.target, 'access', _908 => _908.files, 'optionalAccess', _909 => _909[0]]);
41288
+ const file = _optionalChain([e, 'access', _908 => _908.target, 'access', _909 => _909.files, 'optionalAccess', _910 => _910[0]]);
41270
41289
  if (file) {
41271
41290
  handleFileUpload(file);
41272
41291
  e.target.value = "";
@@ -41277,7 +41296,7 @@ function MarkdownEditor({
41277
41296
  const handlePaste = _react.useCallback.call(void 0,
41278
41297
  (e) => {
41279
41298
  if (!onUploadFile) return;
41280
- const items = _optionalChain([e, 'access', _910 => _910.clipboardData, 'optionalAccess', _911 => _911.items]);
41299
+ const items = _optionalChain([e, 'access', _911 => _911.clipboardData, 'optionalAccess', _912 => _912.items]);
41281
41300
  if (!items) return;
41282
41301
  for (const item of items) {
41283
41302
  if (item.type.startsWith("image/")) {
@@ -41302,7 +41321,7 @@ function MarkdownEditor({
41302
41321
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
41303
41322
  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" }),
41304
41323
  execute: () => {
41305
- _optionalChain([fileInputRef, 'access', _912 => _912.current, 'optionalAccess', _913 => _913.click, 'call', _914 => _914()]);
41324
+ _optionalChain([fileInputRef, 'access', _913 => _913.current, 'optionalAccess', _914 => _914.click, 'call', _915 => _915()]);
41306
41325
  }
41307
41326
  } : null;
41308
41327
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -41314,7 +41333,7 @@ function MarkdownEditor({
41314
41333
  const EDGE_ZONE = 60;
41315
41334
  const MAX_SCROLL_SPEED = 15;
41316
41335
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
41317
- let node = _optionalChain([el, 'optionalAccess', _915 => _915.parentElement]);
41336
+ let node = _optionalChain([el, 'optionalAccess', _916 => _916.parentElement]);
41318
41337
  while (node && node !== document.documentElement) {
41319
41338
  const { overflowY } = window.getComputedStyle(node);
41320
41339
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -41457,7 +41476,7 @@ function matchesAccept(file, accept) {
41457
41476
  });
41458
41477
  }
41459
41478
  function dragHasFiles(e) {
41460
- const types = _optionalChain([e, 'access', _916 => _916.dataTransfer, 'optionalAccess', _917 => _917.types]);
41479
+ const types = _optionalChain([e, 'access', _917 => _917.dataTransfer, 'optionalAccess', _918 => _918.types]);
41461
41480
  if (!types) return false;
41462
41481
  for (let i = 0; i < types.length; i++) {
41463
41482
  if (types[i] === "Files") return true;
@@ -41553,7 +41572,7 @@ function FileUpload({
41553
41572
  e.stopPropagation();
41554
41573
  setDragActive(false);
41555
41574
  if (disabled) return;
41556
- if (_optionalChain([e, 'access', _918 => _918.dataTransfer, 'access', _919 => _919.files, 'optionalAccess', _920 => _920.length])) {
41575
+ if (_optionalChain([e, 'access', _919 => _919.dataTransfer, 'access', _920 => _920.files, 'optionalAccess', _921 => _921.length])) {
41557
41576
  handleFiles(e.dataTransfer.files);
41558
41577
  }
41559
41578
  };
@@ -41581,7 +41600,7 @@ function FileUpload({
41581
41600
  e.preventDefault();
41582
41601
  dragCounter = 0;
41583
41602
  setDragActive(false);
41584
- if (_optionalChain([e, 'access', _921 => _921.dataTransfer, 'optionalAccess', _922 => _922.files, 'optionalAccess', _923 => _923.length])) {
41603
+ if (_optionalChain([e, 'access', _922 => _922.dataTransfer, 'optionalAccess', _923 => _923.files, 'optionalAccess', _924 => _924.length])) {
41585
41604
  handleFilesRef.current(e.dataTransfer.files);
41586
41605
  }
41587
41606
  };
@@ -41603,7 +41622,7 @@ function FileUpload({
41603
41622
  };
41604
41623
  }, [acceptWindowDrops, disabled]);
41605
41624
  const handleFileSelect = (e) => {
41606
- if (_optionalChain([e, 'access', _924 => _924.target, 'access', _925 => _925.files, 'optionalAccess', _926 => _926.length])) {
41625
+ if (_optionalChain([e, 'access', _925 => _925.target, 'access', _926 => _926.files, 'optionalAccess', _927 => _927.length])) {
41607
41626
  handleFiles(e.target.files);
41608
41627
  }
41609
41628
  };
@@ -41620,7 +41639,7 @@ function FileUpload({
41620
41639
  };
41621
41640
  const openDialog = async () => {
41622
41641
  if (disabled) return;
41623
- _optionalChain([fileInputRef, 'access', _927 => _927.current, 'optionalAccess', _928 => _928.click, 'call', _929 => _929()]);
41642
+ _optionalChain([fileInputRef, 'access', _928 => _928.current, 'optionalAccess', _929 => _929.click, 'call', _930 => _930()]);
41624
41643
  };
41625
41644
  const displayError = error || validationError || void 0;
41626
41645
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -41682,7 +41701,7 @@ function FileUpload({
41682
41701
  "button",
41683
41702
  {
41684
41703
  type: "button",
41685
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _930 => _930(entry.id)]),
41704
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _931 => _931(entry.id)]),
41686
41705
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
41687
41706
  "aria-label": `Remove ${entry.fileName}`,
41688
41707
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -41813,7 +41832,7 @@ function ImageUploader({
41813
41832
  onChange(file);
41814
41833
  };
41815
41834
  const handleFileSelect = (e) => {
41816
- validateAndEmit(_optionalChain([e, 'access', _931 => _931.target, 'access', _932 => _932.files, 'optionalAccess', _933 => _933[0]]));
41835
+ validateAndEmit(_optionalChain([e, 'access', _932 => _932.target, 'access', _933 => _933.files, 'optionalAccess', _934 => _934[0]]));
41817
41836
  if (inputRef.current) inputRef.current.value = "";
41818
41837
  };
41819
41838
  const handleDrag = (e) => {
@@ -41828,11 +41847,11 @@ function ImageUploader({
41828
41847
  e.stopPropagation();
41829
41848
  setDragActive(false);
41830
41849
  if (!interactive) return;
41831
- validateAndEmit(_optionalChain([e, 'access', _934 => _934.dataTransfer, 'access', _935 => _935.files, 'optionalAccess', _936 => _936[0]]));
41850
+ validateAndEmit(_optionalChain([e, 'access', _935 => _935.dataTransfer, 'access', _936 => _936.files, 'optionalAccess', _937 => _937[0]]));
41832
41851
  };
41833
41852
  const openDialog = () => {
41834
41853
  if (!interactive) return;
41835
- _optionalChain([inputRef, 'access', _937 => _937.current, 'optionalAccess', _938 => _938.click, 'call', _939 => _939()]);
41854
+ _optionalChain([inputRef, 'access', _938 => _938.current, 'optionalAccess', _939 => _939.click, 'call', _940 => _940()]);
41836
41855
  };
41837
41856
  const handleRootKeyDown = (e) => {
41838
41857
  if (hasImage || !interactive) return;
@@ -42023,8 +42042,8 @@ function ColorPresetSelect({
42023
42042
  }) {
42024
42043
  const selectedPreset = presets.find((p) => p.key === presetKey);
42025
42044
  const isCustom = !selectedPreset;
42026
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _940 => _940.label]), () => ( "Custom"));
42027
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _941 => _941.color]), () => ( value));
42045
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _941 => _941.label]), () => ( "Custom"));
42046
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _942 => _942.color]), () => ( value));
42028
42047
  const groups = [
42029
42048
  {
42030
42049
  items: [
@@ -42314,7 +42333,7 @@ function TicketStatusConfigRow({
42314
42333
  _chunkPYR4LVAFcjs.Input,
42315
42334
  {
42316
42335
  value: name,
42317
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _942 => _942(e.target.value)]),
42336
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _943 => _943(e.target.value)]),
42318
42337
  disabled: isSystem,
42319
42338
  readOnly: isSystem,
42320
42339
  "aria-label": "Status name",
@@ -42687,14 +42706,14 @@ function TicketInfoSection({
42687
42706
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42688
42707
  SquareAvatar,
42689
42708
  {
42690
- src: _optionalChain([organization, 'optionalAccess', _943 => _943.imageSrc]),
42691
- alt: _optionalChain([organization, 'optionalAccess', _944 => _944.name]),
42692
- fallback: _optionalChain([organization, 'optionalAccess', _945 => _945.name]) || "Org",
42709
+ src: _optionalChain([organization, 'optionalAccess', _944 => _944.imageSrc]),
42710
+ alt: _optionalChain([organization, 'optionalAccess', _945 => _945.name]),
42711
+ fallback: _optionalChain([organization, 'optionalAccess', _946 => _946.name]) || "Org",
42693
42712
  size: "md",
42694
42713
  className: "shrink-0"
42695
42714
  }
42696
42715
  ),
42697
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _946 => _946.name]) || "Unassigned", label: "Organization" })
42716
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _947 => _947.name]) || "Unassigned", label: "Organization" })
42698
42717
  ] }),
42699
42718
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42700
42719
  AssigneeDropdown,
@@ -42715,10 +42734,10 @@ function TicketInfoSection({
42715
42734
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42716
42735
  InfoCell2,
42717
42736
  {
42718
- value: _optionalChain([device, 'optionalAccess', _947 => _947.name]) || "Unassigned",
42737
+ value: _optionalChain([device, 'optionalAccess', _948 => _948.name]) || "Unassigned",
42719
42738
  label: "Device",
42720
- icon: _optionalChain([device, 'optionalAccess', _948 => _948.icon]),
42721
- onClick: _optionalChain([device, 'optionalAccess', _949 => _949.onClick])
42739
+ icon: _optionalChain([device, 'optionalAccess', _949 => _949.icon]),
42740
+ onClick: _optionalChain([device, 'optionalAccess', _950 => _950.onClick])
42722
42741
  }
42723
42742
  ),
42724
42743
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -43048,7 +43067,7 @@ function RoadmapCard({
43048
43067
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
43049
43068
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
43050
43069
  const hasFigma = !!item.figmaUrl;
43051
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _950 => _950.screenshots, 'optionalAccess', _951 => _951.length]), () => ( 0))) > 0;
43070
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _951 => _951.screenshots, 'optionalAccess', _952 => _952.length]), () => ( 0))) > 0;
43052
43071
  const typeLabel = getTaskTypeLabel(item.customItemId);
43053
43072
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
43054
43073
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -43067,7 +43086,7 @@ function RoadmapCard({
43067
43086
  unoptimized: true,
43068
43087
  className: "h-8 w-8 object-contain"
43069
43088
  }
43070
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _952 => _952.title, 'optionalAccess', _953 => _953.substring, 'call', _954 => _954(0, 2)]) || "??" })
43089
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _953 => _953.title, 'optionalAccess', _954 => _954.substring, 'call', _955 => _955(0, 2)]) || "??" })
43071
43090
  }
43072
43091
  ),
43073
43092
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -43142,7 +43161,7 @@ function RoadmapCard({
43142
43161
  unoptimized: true,
43143
43162
  className: "object-contain p-1"
43144
43163
  }
43145
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _955 => _955.title, 'optionalAccess', _956 => _956.substring, 'call', _957 => _957(0, 2)]) || "??" }) }),
43164
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _956 => _956.title, 'optionalAccess', _957 => _957.substring, 'call', _958 => _958(0, 2)]) || "??" }) }),
43146
43165
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
43147
43166
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
43148
43167
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary truncate", children: [
@@ -43652,7 +43671,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
43652
43671
  ] }) : null,
43653
43672
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
43654
43673
  ] }),
43655
- _optionalChain([anchorProps, 'optionalAccess', _958 => _958.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
43674
+ _optionalChain([anchorProps, 'optionalAccess', _959 => _959.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
43656
43675
  ] });
43657
43676
  if (!anchorProps) {
43658
43677
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -43722,7 +43741,7 @@ function getDefaultOptions() {
43722
43741
  // node_modules/date-fns/startOfWeek.mjs
43723
43742
  function startOfWeek(date, options) {
43724
43743
  const defaultOptions2 = getDefaultOptions();
43725
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _959 => _959.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _960 => _960.locale, 'optionalAccess', _961 => _961.options, 'optionalAccess', _962 => _962.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _963 => _963.locale, 'optionalAccess', _964 => _964.options, 'optionalAccess', _965 => _965.weekStartsOn]))), () => ( 0));
43744
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _960 => _960.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _961 => _961.locale, 'optionalAccess', _962 => _962.options, 'optionalAccess', _963 => _963.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _964 => _964.locale, 'optionalAccess', _965 => _965.options, 'optionalAccess', _966 => _966.weekStartsOn]))), () => ( 0));
43726
43745
  const _date = toDate2(date);
43727
43746
  const day = _date.getDay();
43728
43747
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -43897,7 +43916,7 @@ var formatDistance = (token, count, options) => {
43897
43916
  } else {
43898
43917
  result = tokenValue.other.replace("{{count}}", count.toString());
43899
43918
  }
43900
- if (_optionalChain([options, 'optionalAccess', _966 => _966.addSuffix])) {
43919
+ if (_optionalChain([options, 'optionalAccess', _967 => _967.addSuffix])) {
43901
43920
  if (options.comparison && options.comparison > 0) {
43902
43921
  return "in " + result;
43903
43922
  } else {
@@ -43964,15 +43983,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
43964
43983
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
43965
43984
  function buildLocalizeFn(args) {
43966
43985
  return (value, options) => {
43967
- const context = _optionalChain([options, 'optionalAccess', _967 => _967.context]) ? String(options.context) : "standalone";
43986
+ const context = _optionalChain([options, 'optionalAccess', _968 => _968.context]) ? String(options.context) : "standalone";
43968
43987
  let valuesArray;
43969
43988
  if (context === "formatting" && args.formattingValues) {
43970
43989
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
43971
- const width = _optionalChain([options, 'optionalAccess', _968 => _968.width]) ? String(options.width) : defaultWidth;
43990
+ const width = _optionalChain([options, 'optionalAccess', _969 => _969.width]) ? String(options.width) : defaultWidth;
43972
43991
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
43973
43992
  } else {
43974
43993
  const defaultWidth = args.defaultWidth;
43975
- const width = _optionalChain([options, 'optionalAccess', _969 => _969.width]) ? String(options.width) : args.defaultWidth;
43994
+ const width = _optionalChain([options, 'optionalAccess', _970 => _970.width]) ? String(options.width) : args.defaultWidth;
43976
43995
  valuesArray = args.values[width] || args.values[defaultWidth];
43977
43996
  }
43978
43997
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -44352,7 +44371,7 @@ function getWeekYear(date, options) {
44352
44371
  const _date = toDate2(date);
44353
44372
  const year = _date.getFullYear();
44354
44373
  const defaultOptions2 = getDefaultOptions();
44355
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _970 => _970.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _971 => _971.locale, 'optionalAccess', _972 => _972.options, 'optionalAccess', _973 => _973.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _974 => _974.locale, 'optionalAccess', _975 => _975.options, 'optionalAccess', _976 => _976.firstWeekContainsDate]))), () => ( 1));
44374
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _971 => _971.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _972 => _972.locale, 'optionalAccess', _973 => _973.options, 'optionalAccess', _974 => _974.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _975 => _975.locale, 'optionalAccess', _976 => _976.options, 'optionalAccess', _977 => _977.firstWeekContainsDate]))), () => ( 1));
44356
44375
  const firstWeekOfNextYear = constructFrom(date, 0);
44357
44376
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
44358
44377
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -44373,7 +44392,7 @@ function getWeekYear(date, options) {
44373
44392
  // node_modules/date-fns/startOfWeekYear.mjs
44374
44393
  function startOfWeekYear(date, options) {
44375
44394
  const defaultOptions2 = getDefaultOptions();
44376
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _977 => _977.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _978 => _978.locale, 'optionalAccess', _979 => _979.options, 'optionalAccess', _980 => _980.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _981 => _981.locale, 'optionalAccess', _982 => _982.options, 'optionalAccess', _983 => _983.firstWeekContainsDate]))), () => ( 1));
44395
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _978 => _978.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _979 => _979.locale, 'optionalAccess', _980 => _980.options, 'optionalAccess', _981 => _981.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _982 => _982.locale, 'optionalAccess', _983 => _983.options, 'optionalAccess', _984 => _984.firstWeekContainsDate]))), () => ( 1));
44377
44396
  const year = getWeekYear(date, options);
44378
44397
  const firstWeek = constructFrom(date, 0);
44379
44398
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -45188,9 +45207,9 @@ var doubleQuoteRegExp = /''/g;
45188
45207
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
45189
45208
  function format2(date, formatStr, options) {
45190
45209
  const defaultOptions2 = getDefaultOptions();
45191
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _984 => _984.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
45192
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _985 => _985.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _986 => _986.locale, 'optionalAccess', _987 => _987.options, 'optionalAccess', _988 => _988.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _989 => _989.locale, 'optionalAccess', _990 => _990.options, 'optionalAccess', _991 => _991.firstWeekContainsDate]))), () => ( 1));
45193
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _992 => _992.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _993 => _993.locale, 'optionalAccess', _994 => _994.options, 'optionalAccess', _995 => _995.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _996 => _996.locale, 'optionalAccess', _997 => _997.options, 'optionalAccess', _998 => _998.weekStartsOn]))), () => ( 0));
45210
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _985 => _985.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
45211
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _986 => _986.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _987 => _987.locale, 'optionalAccess', _988 => _988.options, 'optionalAccess', _989 => _989.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _990 => _990.locale, 'optionalAccess', _991 => _991.options, 'optionalAccess', _992 => _992.firstWeekContainsDate]))), () => ( 1));
45212
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _993 => _993.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _994 => _994.locale, 'optionalAccess', _995 => _995.options, 'optionalAccess', _996 => _996.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _997 => _997.locale, 'optionalAccess', _998 => _998.options, 'optionalAccess', _999 => _999.weekStartsOn]))), () => ( 0));
45194
45213
  const originalDate = toDate2(date);
45195
45214
  if (!isValid(originalDate)) {
45196
45215
  throw new RangeError("Invalid time value");
@@ -45231,7 +45250,7 @@ function format2(date, formatStr, options) {
45231
45250
  return parts.map((part) => {
45232
45251
  if (!part.isToken) return part.value;
45233
45252
  const token = part.value;
45234
- if (!_optionalChain([options, 'optionalAccess', _999 => _999.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1000 => _1000.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45253
+ if (!_optionalChain([options, 'optionalAccess', _1000 => _1000.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1001 => _1001.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45235
45254
  warnOrThrowProtectedError(token, formatStr, String(date));
45236
45255
  }
45237
45256
  const formatter = formatters[token[0]];
@@ -45437,7 +45456,7 @@ function ProgramCard({
45437
45456
  const itemDate2 = compactDate;
45438
45457
  const compactCover = coverImage || placeholderUrl || null;
45439
45458
  const typeMeta = compactTypeMeta();
45440
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1001 => _1001.labels, 'optionalAccess', _1002 => _1002.singular])].filter(
45459
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1002 => _1002.labels, 'optionalAccess', _1003 => _1003.singular])].filter(
45441
45460
  (s) => typeof s === "string" && s.length > 0
45442
45461
  );
45443
45462
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -45594,7 +45613,7 @@ function ProgramCard({
45594
45613
 
45595
45614
 
45596
45615
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
45597
- const goalsCount = _optionalChain([campaign, 'access', _1003 => _1003.goals, 'optionalAccess', _1004 => _1004.length]) || 0;
45616
+ const goalsCount = _optionalChain([campaign, 'access', _1004 => _1004.goals, 'optionalAccess', _1005 => _1005.length]) || 0;
45598
45617
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
45599
45618
  /* @__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" }) }),
45600
45619
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -45756,7 +45775,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
45756
45775
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
45757
45776
  const safePath = sanitizePath(row.path);
45758
45777
  if (safePath) {
45759
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1005 => _1005.docPlatformTargets, 'optionalAccess', _1006 => _1006[row.documentType]]) : void 0;
45778
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1006 => _1006.docPlatformTargets, 'optionalAccess', _1007 => _1007[row.documentType]]) : void 0;
45760
45779
  if (docTarget) {
45761
45780
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
45762
45781
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -45971,8 +45990,8 @@ function cardMenuGroups(href, discuss, openDetails) {
45971
45990
  if (href) {
45972
45991
  items.push({
45973
45992
  id: "open-details",
45974
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1007 => _1007.label]), () => ( "Open Details")),
45975
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1008 => _1008.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45993
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1008 => _1008.label]), () => ( "Open Details")),
45994
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1009 => _1009.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45976
45995
  // Main row → open the entity (same tab, soft Link nav).
45977
45996
  href,
45978
45997
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -46002,8 +46021,8 @@ function HubspotTicketChatCard({
46002
46021
  isNewTab,
46003
46022
  discuss
46004
46023
  }) {
46005
- const status = typeof _optionalChain([chatRef, 'access', _1009 => _1009.metadata, 'optionalAccess', _1010 => _1010.status]) === "string" ? chatRef.metadata.status : void 0;
46006
- const statusLabel = typeof _optionalChain([chatRef, 'access', _1011 => _1011.metadata, 'optionalAccess', _1012 => _1012.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
46024
+ const status = typeof _optionalChain([chatRef, 'access', _1010 => _1010.metadata, 'optionalAccess', _1011 => _1011.status]) === "string" ? chatRef.metadata.status : void 0;
46025
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _1012 => _1012.metadata, 'optionalAccess', _1013 => _1013.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
46007
46026
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
46008
46027
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46009
46028
  MingoInfoCard,
@@ -46026,7 +46045,7 @@ function FaqChatCard({
46026
46045
  isNewTab,
46027
46046
  discuss
46028
46047
  }) {
46029
- const section = typeof _optionalChain([chatRef, 'access', _1013 => _1013.metadata, 'optionalAccess', _1014 => _1014.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
46048
+ const section = typeof _optionalChain([chatRef, 'access', _1014 => _1014.metadata, 'optionalAccess', _1015 => _1015.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
46030
46049
  const statusLabel = section && section.length > 0 ? section : "FAQ";
46031
46050
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46032
46051
  MingoInfoCard,
@@ -46046,7 +46065,7 @@ function SlackChatCard({
46046
46065
  isNewTab,
46047
46066
  discuss
46048
46067
  }) {
46049
- const channelName = typeof _optionalChain([chatRef, 'access', _1015 => _1015.metadata, 'optionalAccess', _1016 => _1016.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
46068
+ const channelName = typeof _optionalChain([chatRef, 'access', _1016 => _1016.metadata, 'optionalAccess', _1017 => _1017.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
46050
46069
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
46051
46070
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
46052
46071
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -46086,7 +46105,7 @@ function GenericFinancialChatCard({
46086
46105
  isNewTab,
46087
46106
  discuss
46088
46107
  }) {
46089
- const subtitle = typeof _optionalChain([chatRef, 'access', _1017 => _1017.metadata, 'optionalAccess', _1018 => _1018.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
46108
+ const subtitle = typeof _optionalChain([chatRef, 'access', _1018 => _1018.metadata, 'optionalAccess', _1019 => _1019.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
46090
46109
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46091
46110
  MingoInfoCard,
46092
46111
  {
@@ -46155,12 +46174,12 @@ function ProductReleaseChatCard({
46155
46174
  discuss
46156
46175
  }) {
46157
46176
  const releaseProps = buildProps(item);
46158
- const status = _optionalChain([item, 'optionalAccess', _1019 => _1019.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
46177
+ const status = _optionalChain([item, 'optionalAccess', _1020 => _1020.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
46159
46178
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46160
46179
  EntityMingoCard,
46161
46180
  {
46162
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1020 => _1020.title]), () => ( "")),
46163
- description: _optionalChain([item, 'optionalAccess', _1021 => _1021.summary]) || releaseProps.formattedDate || void 0,
46181
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1021 => _1021.title]), () => ( "")),
46182
+ description: _optionalChain([item, 'optionalAccess', _1022 => _1022.summary]) || releaseProps.formattedDate || void 0,
46164
46183
  cover: releaseProps.coverImage || void 0,
46165
46184
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
46166
46185
  status,
@@ -46177,17 +46196,17 @@ function CampaignChatCard({
46177
46196
  isNewTab,
46178
46197
  discuss
46179
46198
  }) {
46180
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1022 => _1022.goals])) ? item.goals.length : 0;
46199
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1023 => _1023.goals])) ? item.goals.length : 0;
46181
46200
  const meta = [
46182
- _optionalChain([item, 'optionalAccess', _1023 => _1023.start_date]) ? formatDateShort(item.start_date) : null,
46201
+ _optionalChain([item, 'optionalAccess', _1024 => _1024.start_date]) ? formatDateShort(item.start_date) : null,
46183
46202
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
46184
46203
  "Marketing campaign"
46185
46204
  ].filter(Boolean).join(" \xB7 ");
46186
46205
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46187
46206
  EntityMingoCard,
46188
46207
  {
46189
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1024 => _1024.name]), () => ( "")),
46190
- description: meta || _optionalChain([item, 'optionalAccess', _1025 => _1025.description]) || void 0,
46208
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1025 => _1025.name]), () => ( "")),
46209
+ description: meta || _optionalChain([item, 'optionalAccess', _1026 => _1026.description]) || void 0,
46191
46210
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
46192
46211
  chatRef,
46193
46212
  isNewTab,
@@ -46240,14 +46259,14 @@ function BlogChatCard({
46240
46259
  hasEmbeddedVideo,
46241
46260
  discuss
46242
46261
  }) {
46243
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1026 => _1026.categories])) ? _optionalChain([item, 'access', _1027 => _1027.categories, 'access', _1028 => _1028.find, 'call', _1029 => _1029((c) => c && c.name), 'optionalAccess', _1030 => _1030.name]) : void 0;
46262
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1027 => _1027.categories])) ? _optionalChain([item, 'access', _1028 => _1028.categories, 'access', _1029 => _1029.find, 'call', _1030 => _1030((c) => c && c.name), 'optionalAccess', _1031 => _1031.name]) : void 0;
46244
46263
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
46245
46264
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46246
46265
  EntityMingoCard,
46247
46266
  {
46248
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1031 => _1031.title]), () => ( "")),
46249
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1032 => _1032.summary]), () => ( void 0)),
46250
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1033 => _1033.featured_image]), ogPlaceholder),
46267
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1032 => _1032.title]), () => ( "")),
46268
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1033 => _1033.summary]), () => ( void 0)),
46269
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1034 => _1034.featured_image]), ogPlaceholder),
46251
46270
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
46252
46271
  status,
46253
46272
  chatRef,
@@ -46264,13 +46283,13 @@ function CaseStudyChatCard({
46264
46283
  ogPlaceholder,
46265
46284
  discuss
46266
46285
  }) {
46267
- const meta = [_optionalChain([item, 'optionalAccess', _1034 => _1034.msp, 'optionalAccess', _1035 => _1035.name]), _optionalChain([item, 'optionalAccess', _1036 => _1036.user, 'optionalAccess', _1037 => _1037.full_name])].filter(Boolean).join(" \xB7 ");
46286
+ const meta = [_optionalChain([item, 'optionalAccess', _1035 => _1035.msp, 'optionalAccess', _1036 => _1036.name]), _optionalChain([item, 'optionalAccess', _1037 => _1037.user, 'optionalAccess', _1038 => _1038.full_name])].filter(Boolean).join(" \xB7 ");
46268
46287
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46269
46288
  EntityMingoCard,
46270
46289
  {
46271
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1038 => _1038.title]), () => ( "")),
46272
- description: _optionalChain([item, 'optionalAccess', _1039 => _1039.summary]) || meta || void 0,
46273
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1040 => _1040.featured_image]), ogPlaceholder),
46290
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1039 => _1039.title]), () => ( "")),
46291
+ description: _optionalChain([item, 'optionalAccess', _1040 => _1040.summary]) || meta || void 0,
46292
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1041 => _1041.featured_image]), ogPlaceholder),
46274
46293
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
46275
46294
  status: { label: "Case study", variant: "grey" },
46276
46295
  chatRef,
@@ -46287,13 +46306,13 @@ function CustomerInterviewChatCard({
46287
46306
  ogPlaceholder,
46288
46307
  discuss
46289
46308
  }) {
46290
- const meta = [_optionalChain([item, 'optionalAccess', _1041 => _1041.user, 'optionalAccess', _1042 => _1042.full_name]), _optionalChain([item, 'optionalAccess', _1043 => _1043.msp, 'optionalAccess', _1044 => _1044.name])].filter(Boolean).join(" \xB7 ");
46309
+ const meta = [_optionalChain([item, 'optionalAccess', _1042 => _1042.user, 'optionalAccess', _1043 => _1043.full_name]), _optionalChain([item, 'optionalAccess', _1044 => _1044.msp, 'optionalAccess', _1045 => _1045.name])].filter(Boolean).join(" \xB7 ");
46291
46310
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46292
46311
  EntityMingoCard,
46293
46312
  {
46294
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1045 => _1045.title]), () => ( "")),
46295
- description: _optionalChain([item, 'optionalAccess', _1046 => _1046.video_summary]) || meta || void 0,
46296
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1047 => _1047.featured_image]), ogPlaceholder),
46313
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1046 => _1046.title]), () => ( "")),
46314
+ description: _optionalChain([item, 'optionalAccess', _1047 => _1047.video_summary]) || meta || void 0,
46315
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1048 => _1048.featured_image]), ogPlaceholder),
46297
46316
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
46298
46317
  status: { label: "Interview", variant: "grey" },
46299
46318
  chatRef,
@@ -46310,13 +46329,13 @@ function InvestorUpdateChatCard({
46310
46329
  ogPlaceholder,
46311
46330
  discuss
46312
46331
  }) {
46313
- const title = _optionalChain([item, 'optionalAccess', _1048 => _1048.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1049 => _1049.update_number]), () => ( "?"))}`;
46332
+ const title = _optionalChain([item, 'optionalAccess', _1049 => _1049.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1050 => _1050.update_number]), () => ( "?"))}`;
46314
46333
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46315
46334
  EntityMingoCard,
46316
46335
  {
46317
46336
  title,
46318
- description: _optionalChain([item, 'optionalAccess', _1050 => _1050.strategic_update]) || _optionalChain([item, 'optionalAccess', _1051 => _1051.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1052 => _1052.period_start]), _optionalChain([item, 'optionalAccess', _1053 => _1053.period_end])) || void 0,
46319
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1054 => _1054.featured_image]), ogPlaceholder),
46337
+ description: _optionalChain([item, 'optionalAccess', _1051 => _1051.strategic_update]) || _optionalChain([item, 'optionalAccess', _1052 => _1052.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1053 => _1053.period_start]), _optionalChain([item, 'optionalAccess', _1054 => _1054.period_end])) || void 0,
46338
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1055 => _1055.featured_image]), ogPlaceholder),
46320
46339
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
46321
46340
  status: { label: "Investor update", variant: "grey" },
46322
46341
  chatRef,
@@ -46333,12 +46352,12 @@ function OnboardingGuideChatCard({
46333
46352
  ogPlaceholder,
46334
46353
  discuss
46335
46354
  }) {
46336
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1055 => _1055.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1056 => _1056.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1057 => _1057.og_image_url]), ogPlaceholder)));
46355
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1056 => _1056.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1057 => _1057.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1058 => _1058.og_image_url]), ogPlaceholder)));
46337
46356
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46338
46357
  EntityMingoCard,
46339
46358
  {
46340
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1058 => _1058.title]), () => ( "")),
46341
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1059 => _1059.summary]), () => ( _optionalChain([item, 'optionalAccess', _1060 => _1060.description]))), () => ( void 0)),
46359
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1059 => _1059.title]), () => ( "")),
46360
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1060 => _1060.summary]), () => ( _optionalChain([item, 'optionalAccess', _1061 => _1061.description]))), () => ( void 0)),
46342
46361
  cover,
46343
46362
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
46344
46363
  status: { label: "Guide", variant: "grey" },
@@ -46359,25 +46378,25 @@ function ProgramChatCard({
46359
46378
  discuss
46360
46379
  }) {
46361
46380
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 });
46362
- const isScheduled = _optionalChain([item, 'optionalAccess', _1061 => _1061.status]) === "scheduled";
46381
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1062 => _1062.status]) === "scheduled";
46363
46382
  let typeMeta;
46364
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1062 => _1062.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46383
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1063 => _1063.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46365
46384
  typeMeta = formatDurationCompact(item.duration_seconds);
46366
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1063 => _1063.location_name]) === "string" && item.location_name.trim().length > 0) {
46385
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1064 => _1064.location_name]) === "string" && item.location_name.trim().length > 0) {
46367
46386
  typeMeta = item.location_name;
46368
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1064 => _1064.start_at])) {
46387
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1065 => _1065.start_at])) {
46369
46388
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
46370
46389
  const dur = formatDurationFromRange(item.start_at, item.end_at);
46371
46390
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
46372
46391
  }
46373
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1065 => _1065.date]), () => ( null)), { fallback: "", timezone: "local" });
46392
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1066 => _1066.date]), () => ( null)), { fallback: "", timezone: "local" });
46374
46393
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
46375
46394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46376
46395
  EntityMingoCard,
46377
46396
  {
46378
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1066 => _1066.title]), () => ( "")),
46379
- description: meta || _optionalChain([item, 'optionalAccess', _1067 => _1067.description]) || void 0,
46380
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1068 => _1068.cover_url]), ogPlaceholder),
46397
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1067 => _1067.title]), () => ( "")),
46398
+ description: meta || _optionalChain([item, 'optionalAccess', _1068 => _1068.description]) || void 0,
46399
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1069 => _1069.cover_url]), ogPlaceholder),
46381
46400
  fallbackIcon: icon,
46382
46401
  status: { label, variant: "grey" },
46383
46402
  chatRef,
@@ -46394,10 +46413,10 @@ function RoadmapChatCard({
46394
46413
  cardType,
46395
46414
  discuss
46396
46415
  }) {
46397
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1069 => _1069.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46398
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1070 => _1070.customItemId]) != null;
46416
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1070 => _1070.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46417
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1071 => _1071.customItemId]) != null;
46399
46418
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MapIcon, { size: 24 });
46400
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1071 => _1071.customItemId]), className: "size-6" }) : logoUrl ? (
46419
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1072 => _1072.customItemId]), className: "size-6" }) : logoUrl ? (
46401
46420
  // Contained (not full-bleed) so the integration logo keeps its aspect
46402
46421
  // ratio inside the bordered icon box — matches RoadmapCard.
46403
46422
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -46405,10 +46424,10 @@ function RoadmapChatCard({
46405
46424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46406
46425
  EntityMingoCard,
46407
46426
  {
46408
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1072 => _1072.title]), () => ( "")),
46409
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1073 => _1073.description]), () => ( void 0)),
46427
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1073 => _1073.title]), () => ( "")),
46428
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1074 => _1074.description]), () => ( void 0)),
46410
46429
  fallbackIcon: icon,
46411
- status: statusPill(_optionalChain([item, 'optionalAccess', _1074 => _1074.status])),
46430
+ status: statusPill(_optionalChain([item, 'optionalAccess', _1075 => _1075.status])),
46412
46431
  chatRef,
46413
46432
  isNewTab,
46414
46433
  discuss,
@@ -46494,7 +46513,7 @@ function programRegistryEntries() {
46494
46513
  discuss: opts.discuss,
46495
46514
  configKey: cfg.configKey,
46496
46515
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
46497
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1075 => _1075.extras, 'optionalAccess', _1076 => _1076.buildOgPlaceholderUrl, 'optionalCall', _1077 => _1077(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1078 => _1078.title]), () => ( "")))]), () => ( null))
46516
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1076 => _1076.extras, 'optionalAccess', _1077 => _1077.buildOgPlaceholderUrl, 'optionalCall', _1078 => _1078(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1079 => _1079.title]), () => ( "")))]), () => ( null))
46498
46517
  }
46499
46518
  )
46500
46519
  };
@@ -46646,8 +46665,8 @@ var CHAT_CARD_REGISTRY = {
46646
46665
  chatRef,
46647
46666
  isNewTab: opts.isNewTab,
46648
46667
  discuss: opts.discuss,
46649
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1079 => _1079.extras, 'optionalAccess', _1080 => _1080.buildOgPlaceholderUrl, 'optionalCall', _1081 => _1081(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1082 => _1082.title]), () => ( "")))]), () => ( null)),
46650
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1083 => _1083.metadata, 'optionalAccess', _1084 => _1084.hasEmbeddedVideo]) === true
46668
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1080 => _1080.extras, 'optionalAccess', _1081 => _1081.buildOgPlaceholderUrl, 'optionalCall', _1082 => _1082(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1083 => _1083.title]), () => ( "")))]), () => ( null)),
46669
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1084 => _1084.metadata, 'optionalAccess', _1085 => _1085.hasEmbeddedVideo]) === true
46651
46670
  }
46652
46671
  )
46653
46672
  },
@@ -46664,7 +46683,7 @@ var CHAT_CARD_REGISTRY = {
46664
46683
  chatRef,
46665
46684
  isNewTab: opts.isNewTab,
46666
46685
  discuss: opts.discuss,
46667
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1085 => _1085.extras, 'optionalAccess', _1086 => _1086.buildOgPlaceholderUrl, 'optionalCall', _1087 => _1087(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1088 => _1088.title]), () => ( "")))]), () => ( null))
46686
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1086 => _1086.extras, 'optionalAccess', _1087 => _1087.buildOgPlaceholderUrl, 'optionalCall', _1088 => _1088(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1089 => _1089.title]), () => ( "")))]), () => ( null))
46668
46687
  }
46669
46688
  )
46670
46689
  },
@@ -46681,7 +46700,7 @@ var CHAT_CARD_REGISTRY = {
46681
46700
  chatRef,
46682
46701
  isNewTab: opts.isNewTab,
46683
46702
  discuss: opts.discuss,
46684
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1089 => _1089.extras, 'optionalAccess', _1090 => _1090.buildOgPlaceholderUrl, 'optionalCall', _1091 => _1091(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1092 => _1092.title]), () => ( "")))]), () => ( null))
46703
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1090 => _1090.extras, 'optionalAccess', _1091 => _1091.buildOgPlaceholderUrl, 'optionalCall', _1092 => _1092(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1093 => _1093.title]), () => ( "")))]), () => ( null))
46685
46704
  }
46686
46705
  )
46687
46706
  },
@@ -46692,7 +46711,7 @@ var CHAT_CARD_REGISTRY = {
46692
46711
  bareInline: true,
46693
46712
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
46694
46713
  render: (item, chatRef, opts) => {
46695
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1093 => _1093.extras, 'optionalAccess', _1094 => _1094.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46714
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1094 => _1094.extras, 'optionalAccess', _1095 => _1095.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46696
46715
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46697
46716
  ProductReleaseChatCard,
46698
46717
  {
@@ -46719,7 +46738,7 @@ var CHAT_CARD_REGISTRY = {
46719
46738
  chatRef,
46720
46739
  isNewTab: opts.isNewTab,
46721
46740
  discuss: opts.discuss,
46722
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1095 => _1095.extras, 'optionalAccess', _1096 => _1096.buildOgPlaceholderUrl, 'optionalCall', _1097 => _1097(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1098 => _1098.title]), () => ( "")))]), () => ( null))
46741
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1096 => _1096.extras, 'optionalAccess', _1097 => _1097.buildOgPlaceholderUrl, 'optionalCall', _1098 => _1098(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1099 => _1099.title]), () => ( "")))]), () => ( null))
46723
46742
  }
46724
46743
  )
46725
46744
  },
@@ -46738,7 +46757,7 @@ var CHAT_CARD_REGISTRY = {
46738
46757
  chatRef,
46739
46758
  isNewTab: opts.isNewTab,
46740
46759
  discuss: opts.discuss,
46741
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1099 => _1099.extras, 'optionalAccess', _1100 => _1100.buildOgPlaceholderUrl, 'optionalCall', _1101 => _1101(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1102 => _1102.title]), () => ( "")))]), () => ( null))
46760
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1100 => _1100.extras, 'optionalAccess', _1101 => _1101.buildOgPlaceholderUrl, 'optionalCall', _1102 => _1102(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1103 => _1103.title]), () => ( "")))]), () => ( null))
46742
46761
  }
46743
46762
  )
46744
46763
  },
@@ -46750,7 +46769,7 @@ var CHAT_CARD_REGISTRY = {
46750
46769
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
46751
46770
  // No public viewer — synthesize the hub-internal admin URL post-fetch
46752
46771
  // so the wrapper + isNewTab computation see the actual destination.
46753
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1103 => _1103.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46772
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1104 => _1104.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46754
46773
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46755
46774
  CampaignChatCard,
46756
46775
  {
@@ -46776,12 +46795,12 @@ function ChatCardNavWrap({
46776
46795
  const onClickCapture = (e) => {
46777
46796
  if (!href) return;
46778
46797
  const targetEl = e.target;
46779
- if (_optionalChain([targetEl, 'optionalAccess', _1104 => _1104.closest, 'optionalCall', _1105 => _1105("button")])) return;
46780
- if (!_optionalChain([targetEl, 'optionalAccess', _1106 => _1106.closest, 'optionalCall', _1107 => _1107("a")])) return;
46798
+ if (_optionalChain([targetEl, 'optionalAccess', _1105 => _1105.closest, 'optionalCall', _1106 => _1106("button")])) return;
46799
+ if (!_optionalChain([targetEl, 'optionalAccess', _1107 => _1107.closest, 'optionalCall', _1108 => _1108("a")])) return;
46781
46800
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
46782
46801
  if (!handled) return;
46783
46802
  e.stopPropagation();
46784
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1108 => _1108.closeChat])) panel.closeChat();
46803
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1109 => _1109.closeChat])) panel.closeChat();
46785
46804
  };
46786
46805
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
46787
46806
  }
@@ -46803,7 +46822,7 @@ function ChatCardLoader({
46803
46822
  title: chatRef.title,
46804
46823
  externalUrl: chatRef.url,
46805
46824
  targetPlatform: chatRef.targetPlatform,
46806
- path: typeof _optionalChain([chatRef, 'access', _1109 => _1109.metadata, 'optionalAccess', _1110 => _1110.path]) === "string" ? chatRef.metadata.path : null
46825
+ path: typeof _optionalChain([chatRef, 'access', _1110 => _1110.metadata, 'optionalAccess', _1111 => _1111.path]) === "string" ? chatRef.metadata.path : null
46807
46826
  },
46808
46827
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
46809
46828
  );
@@ -46817,7 +46836,7 @@ function ChatCardLoader({
46817
46836
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
46818
46837
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
46819
46838
  const { item, isLoading } = useChatCardItem(
46820
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1111 => _1111.contentRefType]), () => ( "")),
46839
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1112 => _1112.contentRefType]), () => ( "")),
46821
46840
  fetchEntry ? resolvedChatRef.id : ""
46822
46841
  );
46823
46842
  if (!entry) return null;
@@ -46848,7 +46867,7 @@ function ChatCardLoader({
46848
46867
  isNewTab,
46849
46868
  discuss
46850
46869
  };
46851
- const path = typeof _optionalChain([finalChatRef, 'access', _1112 => _1112.metadata, 'optionalAccess', _1113 => _1113.path]) === "string" ? finalChatRef.metadata.path : null;
46870
+ const path = typeof _optionalChain([finalChatRef, 'access', _1113 => _1113.metadata, 'optionalAccess', _1114 => _1114.path]) === "string" ? finalChatRef.metadata.path : null;
46852
46871
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46853
46872
  ChatCardNavWrap,
46854
46873
  {
@@ -47117,7 +47136,7 @@ function useChunkCatchup({
47117
47136
  console.error("Error during chunk catchup:", error);
47118
47137
  } finally {
47119
47138
  if (dialogId2 !== dialogIdRef.current) {
47120
- if (_optionalChain([pendingCatchupRef, 'access', _1114 => _1114.current, 'optionalAccess', _1115 => _1115.dialogId]) === dialogId2) {
47139
+ if (_optionalChain([pendingCatchupRef, 'access', _1115 => _1115.current, 'optionalAccess', _1116 => _1116.dialogId]) === dialogId2) {
47121
47140
  pendingCatchupRef.current = null;
47122
47141
  }
47123
47142
  } else {
@@ -47130,7 +47149,7 @@ function useChunkCatchup({
47130
47149
  lastFetchParams.current = null;
47131
47150
  bufferUntilInitialCatchupComplete.current = true;
47132
47151
  try {
47133
- await _optionalChain([catchUpChunksRef, 'access', _1116 => _1116.current, 'optionalCall', _1117 => _1117(pending.fromSequenceId)]);
47152
+ await _optionalChain([catchUpChunksRef, 'access', _1117 => _1117.current, 'optionalCall', _1118 => _1118(pending.fromSequenceId)]);
47134
47153
  } catch (rerunError) {
47135
47154
  console.error("Queued catch-up re-run failed:", rerunError);
47136
47155
  }
@@ -47194,7 +47213,7 @@ function useChunkCatchup({
47194
47213
 
47195
47214
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
47196
47215
  function prefersReducedMotion() {
47197
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1118 => _1118.matchMedia, 'optionalCall', _1119 => _1119("(prefers-reduced-motion: reduce)"), 'access', _1120 => _1120.matches]) === true;
47216
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1119 => _1119.matchMedia, 'optionalCall', _1120 => _1120("(prefers-reduced-motion: reduce)"), 'access', _1121 => _1121.matches]) === true;
47198
47217
  }
47199
47218
  function useScriptedStream(frames, resetKey, enabled = true) {
47200
47219
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -47206,7 +47225,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
47206
47225
  }
47207
47226
  _react.useEffect.call(void 0, () => {
47208
47227
  setReducedMotion(prefersReducedMotion());
47209
- const mq = _optionalChain([window, 'access', _1121 => _1121.matchMedia, 'optionalCall', _1122 => _1122("(prefers-reduced-motion: reduce)")]);
47228
+ const mq = _optionalChain([window, 'access', _1122 => _1122.matchMedia, 'optionalCall', _1123 => _1123("(prefers-reduced-motion: reduce)")]);
47210
47229
  if (!mq) return;
47211
47230
  const onChange = () => setReducedMotion(mq.matches);
47212
47231
  mq.addEventListener("change", onChange);
@@ -47335,7 +47354,7 @@ function useJetStreamDialogSubscription({
47335
47354
  const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
47336
47355
  conn: sharedConn,
47337
47356
  wsUrl,
47338
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1123 => _1123.current, 'optionalCall', _1124 => _1124()]),
47357
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1124 => _1124.current, 'optionalCall', _1125 => _1125()]),
47339
47358
  backoff: reconnectionBackoffRef.current,
47340
47359
  getFreshUrl: () => getNatsWsUrlRef.current(),
47341
47360
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -47350,7 +47369,7 @@ function useJetStreamDialogSubscription({
47350
47369
  setReconnectionCount((c) => c + 1);
47351
47370
  }
47352
47371
  hadConnectionBeforeRef.current = true;
47353
- _optionalChain([onConnectRef, 'access', _1125 => _1125.current, 'optionalCall', _1126 => _1126()]);
47372
+ _optionalChain([onConnectRef, 'access', _1126 => _1126.current, 'optionalCall', _1127 => _1127()]);
47354
47373
  }
47355
47374
  if (status === "error") {
47356
47375
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -47360,7 +47379,7 @@ function useJetStreamDialogSubscription({
47360
47379
  setIsConnected(false);
47361
47380
  setIsSubscribed(false);
47362
47381
  tearDownSubscription();
47363
- _optionalChain([onDisconnectRef, 'access', _1127 => _1127.current, 'optionalCall', _1128 => _1128()]);
47382
+ _optionalChain([onDisconnectRef, 'access', _1128 => _1128.current, 'optionalCall', _1129 => _1129()]);
47364
47383
  }
47365
47384
  }
47366
47385
  });
@@ -47443,7 +47462,7 @@ function useJetStreamDialogSubscription({
47443
47462
  }
47444
47463
  subscriptionRef.current = handle;
47445
47464
  setIsSubscribed(true);
47446
- _optionalChain([onSubscribedRef, 'access', _1129 => _1129.current, 'optionalCall', _1130 => _1130()]);
47465
+ _optionalChain([onSubscribedRef, 'access', _1130 => _1130.current, 'optionalCall', _1131 => _1131()]);
47447
47466
  } catch (e52) {
47448
47467
  if (!cancelled) {
47449
47468
  setIsSubscribed(false);
@@ -47552,20 +47571,20 @@ function useNatsDialogSubscription({
47552
47571
  const tearDownSubscriptions = () => {
47553
47572
  subscriptionRefs.current.forEach((sub) => {
47554
47573
  try {
47555
- _optionalChain([sub, 'optionalAccess', _1131 => _1131.unsubscribe, 'call', _1132 => _1132()]);
47574
+ _optionalChain([sub, 'optionalAccess', _1132 => _1132.unsubscribe, 'call', _1133 => _1133()]);
47556
47575
  } catch (e54) {
47557
47576
  }
47558
47577
  });
47559
47578
  subscriptionRefs.current.clear();
47560
47579
  lastSubscribedDialogIdRef.current = null;
47561
- _optionalChain([abortControllerRef, 'access', _1133 => _1133.current, 'optionalAccess', _1134 => _1134.abort, 'call', _1135 => _1135()]);
47580
+ _optionalChain([abortControllerRef, 'access', _1134 => _1134.current, 'optionalAccess', _1135 => _1135.abort, 'call', _1136 => _1136()]);
47562
47581
  abortControllerRef.current = null;
47563
47582
  };
47564
47583
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
47565
47584
  const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
47566
47585
  conn: sharedConn,
47567
47586
  wsUrl,
47568
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1136 => _1136.current, 'optionalCall', _1137 => _1137()]),
47587
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1137 => _1137.current, 'optionalCall', _1138 => _1138()]),
47569
47588
  backoff: reconnectionBackoffRef.current,
47570
47589
  getFreshUrl: () => getNatsWsUrlRef.current(),
47571
47590
  shouldRetryOn: isDisconnectStatus,
@@ -47576,7 +47595,7 @@ function useNatsDialogSubscription({
47576
47595
  setReconnectionCount((c) => c + 1);
47577
47596
  }
47578
47597
  hadConnectionBeforeRef.current = true;
47579
- _optionalChain([onConnectRef, 'access', _1138 => _1138.current, 'optionalCall', _1139 => _1139()]);
47598
+ _optionalChain([onConnectRef, 'access', _1139 => _1139.current, 'optionalCall', _1140 => _1140()]);
47580
47599
  }
47581
47600
  if (status === "error") {
47582
47601
  console.warn("[NATS] protocol error:", evt.data);
@@ -47586,7 +47605,7 @@ function useNatsDialogSubscription({
47586
47605
  setIsConnected(false);
47587
47606
  setIsSubscribed(false);
47588
47607
  tearDownSubscriptions();
47589
- _optionalChain([onDisconnectRef, 'access', _1140 => _1140.current, 'optionalCall', _1141 => _1141()]);
47608
+ _optionalChain([onDisconnectRef, 'access', _1141 => _1141.current, 'optionalCall', _1142 => _1142()]);
47590
47609
  }
47591
47610
  }
47592
47611
  });
@@ -47619,13 +47638,13 @@ function useNatsDialogSubscription({
47619
47638
  setIsSubscribed(false);
47620
47639
  subscriptionRefs.current.forEach((sub) => {
47621
47640
  try {
47622
- _optionalChain([sub, 'optionalAccess', _1142 => _1142.unsubscribe, 'call', _1143 => _1143()]);
47641
+ _optionalChain([sub, 'optionalAccess', _1143 => _1143.unsubscribe, 'call', _1144 => _1144()]);
47623
47642
  } catch (e55) {
47624
47643
  }
47625
47644
  });
47626
47645
  subscriptionRefs.current.clear();
47627
47646
  lastSubscribedDialogIdRef.current = null;
47628
- _optionalChain([abortControllerRef, 'access', _1144 => _1144.current, 'optionalAccess', _1145 => _1145.abort, 'call', _1146 => _1146()]);
47647
+ _optionalChain([abortControllerRef, 'access', _1145 => _1145.current, 'optionalAccess', _1146 => _1146.abort, 'call', _1147 => _1147()]);
47629
47648
  abortControllerRef.current = null;
47630
47649
  }
47631
47650
  return;
@@ -47637,12 +47656,12 @@ function useNatsDialogSubscription({
47637
47656
  if (subscriptionRefs.current.size > 0) {
47638
47657
  subscriptionRefs.current.forEach((sub) => {
47639
47658
  try {
47640
- _optionalChain([sub, 'optionalAccess', _1147 => _1147.unsubscribe, 'call', _1148 => _1148()]);
47659
+ _optionalChain([sub, 'optionalAccess', _1148 => _1148.unsubscribe, 'call', _1149 => _1149()]);
47641
47660
  } catch (e56) {
47642
47661
  }
47643
47662
  });
47644
47663
  subscriptionRefs.current.clear();
47645
- _optionalChain([abortControllerRef, 'access', _1149 => _1149.current, 'optionalAccess', _1150 => _1150.abort, 'call', _1151 => _1151()]);
47664
+ _optionalChain([abortControllerRef, 'access', _1150 => _1150.current, 'optionalAccess', _1151 => _1151.abort, 'call', _1152 => _1152()]);
47646
47665
  }
47647
47666
  abortControllerRef.current = new AbortController();
47648
47667
  const abort = abortControllerRef.current;
@@ -47674,7 +47693,7 @@ function useNatsDialogSubscription({
47674
47693
  });
47675
47694
  lastSubscribedDialogIdRef.current = dialogId;
47676
47695
  setIsSubscribed(true);
47677
- _optionalChain([onSubscribedRef, 'access', _1152 => _1152.current, 'optionalCall', _1153 => _1153()]);
47696
+ _optionalChain([onSubscribedRef, 'access', _1153 => _1153.current, 'optionalCall', _1154 => _1154()]);
47678
47697
  };
47679
47698
  if (isConnectedRef.current) {
47680
47699
  createSubscriptions();
@@ -47684,7 +47703,7 @@ function useNatsDialogSubscription({
47684
47703
  abort.abort();
47685
47704
  subscriptionRefs.current.forEach((sub) => {
47686
47705
  try {
47687
- _optionalChain([sub, 'optionalAccess', _1154 => _1154.unsubscribe, 'call', _1155 => _1155()]);
47706
+ _optionalChain([sub, 'optionalAccess', _1155 => _1155.unsubscribe, 'call', _1156 => _1156()]);
47688
47707
  } catch (e58) {
47689
47708
  }
47690
47709
  });
@@ -47725,7 +47744,7 @@ function useNatsDialogSubscription({
47725
47744
  });
47726
47745
  lastSubscribedDialogIdRef.current = dialogId2;
47727
47746
  setIsSubscribed(true);
47728
- _optionalChain([onSubscribedRef, 'access', _1156 => _1156.current, 'optionalCall', _1157 => _1157()]);
47747
+ _optionalChain([onSubscribedRef, 'access', _1157 => _1157.current, 'optionalCall', _1158 => _1158()]);
47729
47748
  } else if (subscriptionRefs.current.size > 0) {
47730
47749
  setIsSubscribed(true);
47731
47750
  }
@@ -47733,10 +47752,10 @@ function useNatsDialogSubscription({
47733
47752
  return { isConnected, isSubscribed, reconnectionCount };
47734
47753
  }
47735
47754
  function buildNatsWsUrl(apiBaseUrl, options) {
47736
- const path = _optionalChain([options, 'optionalAccess', _1158 => _1158.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47755
+ const path = _optionalChain([options, 'optionalAccess', _1159 => _1159.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47737
47756
  const u = new URL(path, apiBaseUrl);
47738
47757
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
47739
- if (_optionalChain([options, 'optionalAccess', _1159 => _1159.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1160 => _1160.token])) {
47758
+ if (_optionalChain([options, 'optionalAccess', _1160 => _1160.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1161 => _1161.token])) {
47740
47759
  u.searchParams.set("authorization", options.token);
47741
47760
  }
47742
47761
  return u.toString();
@@ -47872,7 +47891,7 @@ function parseChunkToAction(chunk) {
47872
47891
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
47873
47892
  // historical path in `process-historical-messages.ts`) — keeps both
47874
47893
  // message sources producing an identical shape.
47875
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1161 => _1161.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1162 => _1162.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47894
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1162 => _1162.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1163 => _1163.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47876
47895
  };
47877
47896
  case MESSAGE_TYPE.TOKEN_USAGE:
47878
47897
  return {
@@ -48064,8 +48083,8 @@ var MessageSegmentAccumulator = class {
48064
48083
  type: "tool_execution",
48065
48084
  data: {
48066
48085
  ...toolData,
48067
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1163 => _1163.data, 'access', _1164 => _1164.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1165 => _1165.toolTitle]))),
48068
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1166 => _1166.parameters])
48086
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1164 => _1164.data, 'access', _1165 => _1165.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1166 => _1166.toolTitle]))),
48087
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1167 => _1167.parameters])
48069
48088
  }
48070
48089
  };
48071
48090
  if (existingIndex !== -1) {
@@ -48089,12 +48108,12 @@ var MessageSegmentAccumulator = class {
48089
48108
  if (seg.type !== "approval_batch") return seg;
48090
48109
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
48091
48110
  if (!hasCall) return seg;
48092
- const prev = _optionalChain([seg, 'access', _1167 => _1167.data, 'access', _1168 => _1168.executions, 'optionalAccess', _1169 => _1169[execId]]);
48093
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1170 => _1170.status]) === "done") {
48111
+ const prev = _optionalChain([seg, 'access', _1168 => _1168.data, 'access', _1169 => _1169.executions, 'optionalAccess', _1170 => _1170[execId]]);
48112
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1171 => _1171.status]) === "done") {
48094
48113
  matched = true;
48095
48114
  return seg;
48096
48115
  }
48097
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1171 => _1171.result]), success: _optionalChain([prev, 'optionalAccess', _1172 => _1172.success]) };
48116
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1172 => _1172.result]), success: _optionalChain([prev, 'optionalAccess', _1173 => _1173.success]) };
48098
48117
  matched = true;
48099
48118
  return {
48100
48119
  ...seg,
@@ -48216,10 +48235,10 @@ var MessageSegmentAccumulator = class {
48216
48235
  const segment = {
48217
48236
  type: "approval_request",
48218
48237
  data: {
48219
- command: _optionalChain([pendingApproval, 'optionalAccess', _1173 => _1173.command]) || "",
48220
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1174 => _1174.explanation]),
48238
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1174 => _1174.command]) || "",
48239
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1175 => _1175.explanation]),
48221
48240
  requestId,
48222
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1175 => _1175.approvalType]) || approvalType
48241
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1176 => _1176.approvalType]) || approvalType
48223
48242
  },
48224
48243
  status,
48225
48244
  onApprove: this.callbacks.onApprove,
@@ -48411,7 +48430,7 @@ function useRealtimeChunkProcessor(options) {
48411
48430
  if (initialState.escalatedApprovals) {
48412
48431
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
48413
48432
  initialState.escalatedApprovals.forEach((data, requestId) => {
48414
- _optionalChain([callbacks, 'access', _1176 => _1176.onEscalatedApproval, 'optionalCall', _1177 => _1177(requestId, data)]);
48433
+ _optionalChain([callbacks, 'access', _1177 => _1177.onEscalatedApproval, 'optionalCall', _1178 => _1178(requestId, data)]);
48415
48434
  });
48416
48435
  }
48417
48436
  hasEverStreamedRef.current = true;
@@ -48433,13 +48452,13 @@ function useRealtimeChunkProcessor(options) {
48433
48452
  if (!action) return;
48434
48453
  const accumulator = accumulatorRef.current;
48435
48454
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
48436
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1178 => _1178.onSegmentsUpdate, 'optionalCall', _1179 => _1179(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48455
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1179 => _1179.onSegmentsUpdate, 'optionalCall', _1180 => _1180(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48437
48456
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
48438
48457
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
48439
48458
  if (isInStreamRef.current || !directTeardownFiredRef.current) {
48440
48459
  isInStreamRef.current = false;
48441
48460
  directTeardownFiredRef.current = true;
48442
- _optionalChain([callbacks, 'access', _1180 => _1180.onStreamEnd, 'optionalCall', _1181 => _1181()]);
48461
+ _optionalChain([callbacks, 'access', _1181 => _1181.onStreamEnd, 'optionalCall', _1182 => _1182()]);
48443
48462
  accumulator.resetSegments();
48444
48463
  }
48445
48464
  return;
@@ -48448,16 +48467,16 @@ function useRealtimeChunkProcessor(options) {
48448
48467
  case "message_start":
48449
48468
  isInStreamRef.current = true;
48450
48469
  hasEverStreamedRef.current = true;
48451
- _optionalChain([callbacks, 'access', _1182 => _1182.onStreamStart, 'optionalCall', _1183 => _1183()]);
48470
+ _optionalChain([callbacks, 'access', _1183 => _1183.onStreamStart, 'optionalCall', _1184 => _1184()]);
48452
48471
  accumulator.resetSegments();
48453
48472
  break;
48454
48473
  case "message_end":
48455
48474
  isInStreamRef.current = false;
48456
- _optionalChain([callbacks, 'access', _1184 => _1184.onStreamEnd, 'optionalCall', _1185 => _1185()]);
48475
+ _optionalChain([callbacks, 'access', _1185 => _1185.onStreamEnd, 'optionalCall', _1186 => _1186()]);
48457
48476
  accumulator.resetSegments();
48458
48477
  break;
48459
48478
  case "metadata":
48460
- _optionalChain([callbacks, 'access', _1186 => _1186.onMetadata, 'optionalCall', _1187 => _1187(action)]);
48479
+ _optionalChain([callbacks, 'access', _1187 => _1187.onMetadata, 'optionalCall', _1188 => _1188(action)]);
48461
48480
  break;
48462
48481
  case "text": {
48463
48482
  const segments = accumulator.appendText(action.text);
@@ -48479,7 +48498,7 @@ function useRealtimeChunkProcessor(options) {
48479
48498
  }
48480
48499
  case "tool_execution": {
48481
48500
  if (action.segment.data.type === "EXECUTING_TOOL") {
48482
- _optionalChain([callbacks, 'access', _1188 => _1188.onAgentBusy, 'optionalCall', _1189 => _1189()]);
48501
+ _optionalChain([callbacks, 'access', _1189 => _1189.onAgentBusy, 'optionalCall', _1190 => _1190()]);
48483
48502
  }
48484
48503
  if (!isInStreamRef.current && callbacks.onToolExecuted) {
48485
48504
  callbacks.onToolExecuted(action.segment);
@@ -48503,7 +48522,7 @@ function useRealtimeChunkProcessor(options) {
48503
48522
  emitSegments(segments);
48504
48523
  } else {
48505
48524
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
48506
- _optionalChain([callbacks, 'access', _1190 => _1190.onEscalatedApproval, 'optionalCall', _1191 => _1191(requestId, { command, explanation, approvalType })]);
48525
+ _optionalChain([callbacks, 'access', _1191 => _1191.onEscalatedApproval, 'optionalCall', _1192 => _1192(requestId, { command, explanation, approvalType })]);
48507
48526
  }
48508
48527
  break;
48509
48528
  }
@@ -48515,13 +48534,13 @@ function useRealtimeChunkProcessor(options) {
48515
48534
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
48516
48535
  pendingEscalatedRef.current.set(requestId, {
48517
48536
  command: summary,
48518
- explanation: _optionalChain([required, 'optionalAccess', _1192 => _1192.toolExplanation]),
48537
+ explanation: _optionalChain([required, 'optionalAccess', _1193 => _1193.toolExplanation]),
48519
48538
  approvalType,
48520
48539
  toolCalls
48521
48540
  });
48522
- _optionalChain([callbacks, 'access', _1193 => _1193.onEscalatedApproval, 'optionalCall', _1194 => _1194(requestId, {
48541
+ _optionalChain([callbacks, 'access', _1194 => _1194.onEscalatedApproval, 'optionalCall', _1195 => _1195(requestId, {
48523
48542
  command: summary,
48524
- explanation: _optionalChain([required, 'optionalAccess', _1195 => _1195.toolExplanation]),
48543
+ explanation: _optionalChain([required, 'optionalAccess', _1196 => _1196.toolExplanation]),
48525
48544
  approvalType
48526
48545
  })]);
48527
48546
  break;
@@ -48547,12 +48566,12 @@ function useRealtimeChunkProcessor(options) {
48547
48566
  }
48548
48567
  case "approval_result": {
48549
48568
  const { requestId, approved, approvalType, resolvedByName } = action;
48550
- if (approved) _optionalChain([callbacks, 'access', _1196 => _1196.onAgentBusy, 'optionalCall', _1197 => _1197()]);
48569
+ if (approved) _optionalChain([callbacks, 'access', _1197 => _1197.onAgentBusy, 'optionalCall', _1198 => _1198()]);
48551
48570
  const escalatedData = pendingEscalatedRef.current.get(requestId);
48552
48571
  const status = approved ? "approved" : "rejected";
48553
48572
  if (escalatedData) {
48554
48573
  pendingEscalatedRef.current.delete(requestId);
48555
- _optionalChain([callbacks, 'access', _1198 => _1198.onEscalatedApprovalResult, 'optionalCall', _1199 => _1199(requestId, approved, {
48574
+ _optionalChain([callbacks, 'access', _1199 => _1199.onEscalatedApprovalResult, 'optionalCall', _1200 => _1200(requestId, approved, {
48556
48575
  command: escalatedData.command,
48557
48576
  explanation: escalatedData.explanation,
48558
48577
  approvalType: escalatedData.approvalType
@@ -48608,29 +48627,29 @@ function useRealtimeChunkProcessor(options) {
48608
48627
  emitSegments(accumulator.getSegments());
48609
48628
  }
48610
48629
  }
48611
- _optionalChain([callbacks, 'access', _1200 => _1200.onApprovalResolved, 'optionalCall', _1201 => _1201(requestId, status, approvalType, resolvedByName)]);
48630
+ _optionalChain([callbacks, 'access', _1201 => _1201.onApprovalResolved, 'optionalCall', _1202 => _1202(requestId, status, approvalType, resolvedByName)]);
48612
48631
  break;
48613
48632
  }
48614
48633
  case "error": {
48615
48634
  let message2;
48616
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1202 => _1202.details])) {
48635
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1203 => _1203.details])) {
48617
48636
  try {
48618
- message2 = _optionalChain([JSON, 'access', _1203 => _1203.parse, 'call', _1204 => _1204(action.details), 'optionalAccess', _1205 => _1205.error, 'optionalAccess', _1206 => _1206.message]);
48637
+ message2 = _optionalChain([JSON, 'access', _1204 => _1204.parse, 'call', _1205 => _1205(action.details), 'optionalAccess', _1206 => _1206.error, 'optionalAccess', _1207 => _1207.message]);
48619
48638
  } catch (e60) {
48620
48639
  message2 = action.details;
48621
48640
  }
48622
48641
  }
48623
48642
  const segments = accumulator.addError(action.error, message2);
48624
48643
  emitSegments(segments);
48625
- _optionalChain([callbacks, 'access', _1207 => _1207.onError, 'optionalCall', _1208 => _1208(action.error, message2)]);
48644
+ _optionalChain([callbacks, 'access', _1208 => _1208.onError, 'optionalCall', _1209 => _1209(action.error, message2)]);
48626
48645
  break;
48627
48646
  }
48628
48647
  case "system": {
48629
- _optionalChain([callbacks, 'access', _1209 => _1209.onSystemMessage, 'optionalCall', _1210 => _1210(action.text, { streamSeq })]);
48648
+ _optionalChain([callbacks, 'access', _1210 => _1210.onSystemMessage, 'optionalCall', _1211 => _1211(action.text, { streamSeq })]);
48630
48649
  break;
48631
48650
  }
48632
48651
  case "direct_message": {
48633
- _optionalChain([callbacks, 'access', _1211 => _1211.onDirectMessage, 'optionalCall', _1212 => _1212(action.text, {
48652
+ _optionalChain([callbacks, 'access', _1212 => _1212.onDirectMessage, 'optionalCall', _1213 => _1213(action.text, {
48634
48653
  ownerType: action.ownerType,
48635
48654
  displayName: action.displayName,
48636
48655
  userId: action.userId,
@@ -48639,7 +48658,7 @@ function useRealtimeChunkProcessor(options) {
48639
48658
  break;
48640
48659
  }
48641
48660
  case "message_request":
48642
- _optionalChain([callbacks, 'access', _1213 => _1213.onUserMessage, 'optionalCall', _1214 => _1214(action.text, {
48661
+ _optionalChain([callbacks, 'access', _1214 => _1214.onUserMessage, 'optionalCall', _1215 => _1215(action.text, {
48643
48662
  ownerType: action.ownerType,
48644
48663
  displayName: action.displayName,
48645
48664
  userId: action.userId,
@@ -48648,7 +48667,7 @@ function useRealtimeChunkProcessor(options) {
48648
48667
  })]);
48649
48668
  break;
48650
48669
  case "token_usage":
48651
- _optionalChain([callbacks, 'access', _1215 => _1215.onTokenUsage, 'optionalCall', _1216 => _1216(action.data)]);
48670
+ _optionalChain([callbacks, 'access', _1216 => _1216.onTokenUsage, 'optionalCall', _1217 => _1217(action.data)]);
48652
48671
  break;
48653
48672
  case "context_compaction_start": {
48654
48673
  const standalone = !isInStreamRef.current;
@@ -48663,7 +48682,7 @@ function useRealtimeChunkProcessor(options) {
48663
48682
  break;
48664
48683
  }
48665
48684
  case "dialog_closed":
48666
- _optionalChain([callbacks, 'access', _1217 => _1217.onDialogClosed, 'optionalCall', _1218 => _1218()]);
48685
+ _optionalChain([callbacks, 'access', _1218 => _1218.onDialogClosed, 'optionalCall', _1219 => _1219()]);
48667
48686
  break;
48668
48687
  default:
48669
48688
  break;
@@ -48713,7 +48732,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
48713
48732
  const data = await res.json();
48714
48733
  return _nullishCoalesce(data.commands, () => ( []));
48715
48734
  } catch (err) {
48716
- if (_optionalChain([err, 'optionalAccess', _1219 => _1219.name]) === "AbortError") throw err;
48735
+ if (_optionalChain([err, 'optionalAccess', _1220 => _1220.name]) === "AbortError") throw err;
48717
48736
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
48718
48737
  return [];
48719
48738
  }
@@ -48734,7 +48753,7 @@ function useSlashCommands(prefix, commandsUrl) {
48734
48753
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
48735
48754
  if (!cancelled) setCommands(next);
48736
48755
  } catch (err) {
48737
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1220 => _1220.name]) !== "AbortError") {
48756
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1221 => _1221.name]) !== "AbortError") {
48738
48757
  console.warn("[use-slash-commands] fetch failed:", err);
48739
48758
  }
48740
48759
  } finally {
@@ -48753,7 +48772,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
48753
48772
  const query = _reactquery.useQuery.call(void 0, {
48754
48773
  queryKey: ["chat-slash-commands", commandsUrl],
48755
48774
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
48756
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1221 => _1221.enabled]), () => ( true)),
48775
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1222 => _1222.enabled]), () => ( true)),
48757
48776
  staleTime: Infinity,
48758
48777
  gcTime: Infinity,
48759
48778
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -48792,21 +48811,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48792
48811
  }
48793
48812
  const data = await res.json();
48794
48813
  return {
48795
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1222 => _1222.name]), () => ( null)),
48796
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1223 => _1223.icon]), () => ( null)),
48797
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1224 => _1224.greeting]), () => ( null)),
48798
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1225 => _1225.enabledRagTableIds]), () => ( [])),
48799
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1226 => _1226.quickActions]), () => ( [])),
48800
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1227 => _1227.suggestedQueries]), () => ( []))
48814
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1223 => _1223.name]), () => ( null)),
48815
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1224 => _1224.icon]), () => ( null)),
48816
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1225 => _1225.greeting]), () => ( null)),
48817
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1226 => _1226.enabledRagTableIds]), () => ( [])),
48818
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1227 => _1227.quickActions]), () => ( [])),
48819
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1228 => _1228.suggestedQueries]), () => ( []))
48801
48820
  };
48802
48821
  } catch (err) {
48803
- if (_optionalChain([err, 'optionalAccess', _1228 => _1228.name]) === "AbortError") throw err;
48822
+ if (_optionalChain([err, 'optionalAccess', _1229 => _1229.name]) === "AbortError") throw err;
48804
48823
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
48805
48824
  return EMPTY_STATE_FALLBACK;
48806
48825
  }
48807
48826
  }
48808
48827
  function useEmptyStateConfig(emptyStateUrl, options) {
48809
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1229 => _1229.enabled]), () => ( true))) && !!emptyStateUrl;
48828
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1230 => _1230.enabled]), () => ( true))) && !!emptyStateUrl;
48810
48829
  const query = _reactquery.useQuery.call(void 0, {
48811
48830
  queryKey: ["chat-empty-state", emptyStateUrl],
48812
48831
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -48835,7 +48854,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
48835
48854
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
48836
48855
  function uploadWithProgress(url, file, token, onProgress, signal) {
48837
48856
  return new Promise((resolve, reject) => {
48838
- if (_optionalChain([signal, 'optionalAccess', _1230 => _1230.aborted])) {
48857
+ if (_optionalChain([signal, 'optionalAccess', _1231 => _1231.aborted])) {
48839
48858
  reject(new Error("Upload cancelled"));
48840
48859
  return;
48841
48860
  }
@@ -48849,7 +48868,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48849
48868
  xhr.removeEventListener("error", handleError);
48850
48869
  xhr.removeEventListener("abort", handleAbort);
48851
48870
  xhr.removeEventListener("timeout", handleTimeout);
48852
- _optionalChain([signal, 'optionalAccess', _1231 => _1231.removeEventListener, 'call', _1232 => _1232("abort", handleSignalAbort)]);
48871
+ _optionalChain([signal, 'optionalAccess', _1232 => _1232.removeEventListener, 'call', _1233 => _1233("abort", handleSignalAbort)]);
48853
48872
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
48854
48873
  };
48855
48874
  const handleProgress = (event) => {
@@ -48885,7 +48904,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48885
48904
  const handleSignalAbort = () => {
48886
48905
  xhr.abort();
48887
48906
  };
48888
- _optionalChain([signal, 'optionalAccess', _1233 => _1233.addEventListener, 'call', _1234 => _1234("abort", handleSignalAbort, { once: true })]);
48907
+ _optionalChain([signal, 'optionalAccess', _1234 => _1234.addEventListener, 'call', _1235 => _1235("abort", handleSignalAbort, { once: true })]);
48889
48908
  xhr.upload.addEventListener("progress", handleProgress);
48890
48909
  xhr.addEventListener("load", handleLoad);
48891
48910
  xhr.addEventListener("error", handleError);
@@ -48929,12 +48948,12 @@ function useChatAttachments() {
48929
48948
  try {
48930
48949
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
48931
48950
  } catch (err) {
48932
- if (_optionalChain([ctrl, 'optionalAccess', _1235 => _1235.signal, 'access', _1236 => _1236.aborted])) return;
48951
+ if (_optionalChain([ctrl, 'optionalAccess', _1236 => _1236.signal, 'access', _1237 => _1237.aborted])) return;
48933
48952
  throw new Error(
48934
48953
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
48935
48954
  );
48936
48955
  }
48937
- if (_optionalChain([ctrl, 'optionalAccess', _1237 => _1237.signal, 'access', _1238 => _1238.aborted])) return;
48956
+ if (_optionalChain([ctrl, 'optionalAccess', _1238 => _1238.signal, 'access', _1239 => _1239.aborted])) return;
48938
48957
  if (!sniffed) {
48939
48958
  throw new Error("Unrecognized file format");
48940
48959
  }
@@ -48948,7 +48967,7 @@ function useChatAttachments() {
48948
48967
  const urlResp = await _chunkVIJARDBMcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48949
48968
  method: "POST",
48950
48969
  headers: { "Content-Type": "application/json" },
48951
- signal: _optionalChain([ctrl, 'optionalAccess', _1239 => _1239.signal]),
48970
+ signal: _optionalChain([ctrl, 'optionalAccess', _1240 => _1240.signal]),
48952
48971
  body: JSON.stringify({
48953
48972
  fileName: att.file.name,
48954
48973
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -48974,9 +48993,9 @@ function useChatAttachments() {
48974
48993
  (pct) => {
48975
48994
  updateOne(att.id, { progress: pct });
48976
48995
  },
48977
- _optionalChain([ctrl, 'optionalAccess', _1240 => _1240.signal])
48996
+ _optionalChain([ctrl, 'optionalAccess', _1241 => _1241.signal])
48978
48997
  );
48979
- if (_optionalChain([ctrl, 'optionalAccess', _1241 => _1241.signal, 'access', _1242 => _1242.aborted])) return;
48998
+ if (_optionalChain([ctrl, 'optionalAccess', _1242 => _1242.signal, 'access', _1243 => _1243.aborted])) return;
48980
48999
  updateOne(att.id, {
48981
49000
  status: "ready",
48982
49001
  progress: 100,
@@ -48984,7 +49003,7 @@ function useChatAttachments() {
48984
49003
  viewToken: mintData.viewToken
48985
49004
  });
48986
49005
  } catch (err) {
48987
- if (_optionalChain([ctrl, 'optionalAccess', _1243 => _1243.signal, 'access', _1244 => _1244.aborted])) return;
49006
+ if (_optionalChain([ctrl, 'optionalAccess', _1244 => _1244.signal, 'access', _1245 => _1245.aborted])) return;
48988
49007
  const message2 = err instanceof Error ? err.message : String(err);
48989
49008
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
48990
49009
  } finally {
@@ -49135,7 +49154,7 @@ var ANON_DEFAULTS = {
49135
49154
  function useResolveChatIdentity(enabled) {
49136
49155
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49137
49156
  const url = runtime.endpoints.identityUrl;
49138
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkVIJARDBMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1245 => _1245.email]), () => ( null));
49157
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkVIJARDBMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1246 => _1246.email]), () => ( null));
49139
49158
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
49140
49159
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
49141
49160
  _react.useEffect.call(void 0, () => {
@@ -49226,7 +49245,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
49226
49245
  yield chunk;
49227
49246
  }
49228
49247
  } catch (err) {
49229
- if (_optionalChain([err, 'optionalAccess', _1246 => _1246.name]) === "AbortError" || ctrl.signal.aborted) {
49248
+ if (_optionalChain([err, 'optionalAccess', _1247 => _1247.name]) === "AbortError" || ctrl.signal.aborted) {
49230
49249
  return;
49231
49250
  }
49232
49251
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -49277,7 +49296,7 @@ function useChat({
49277
49296
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
49278
49297
  onMessagesChangeRef.current = onMessagesChange;
49279
49298
  _react.useEffect.call(void 0, () => {
49280
- _optionalChain([onMessagesChangeRef, 'access', _1247 => _1247.current, 'optionalCall', _1248 => _1248(messages)]);
49299
+ _optionalChain([onMessagesChangeRef, 'access', _1248 => _1248.current, 'optionalCall', _1249 => _1249(messages)]);
49281
49300
  }, [messages]);
49282
49301
  const {
49283
49302
  streamMessage,
@@ -49314,7 +49333,7 @@ function useChat({
49314
49333
  name: "You",
49315
49334
  content: text,
49316
49335
  timestamp: /* @__PURE__ */ new Date(),
49317
- ..._optionalChain([options, 'optionalAccess', _1249 => _1249.hidden]) ? { hidden: true } : {}
49336
+ ..._optionalChain([options, 'optionalAccess', _1250 => _1250.hidden]) ? { hidden: true } : {}
49318
49337
  };
49319
49338
  addMessage(userMessage);
49320
49339
  setIsTyping(true);
@@ -49376,7 +49395,7 @@ function useChat({
49376
49395
  currentTextSegment = "";
49377
49396
  }
49378
49397
  const seg = segment;
49379
- const proposalId = _optionalChain([seg, 'access', _1250 => _1250.data, 'optionalAccess', _1251 => _1251.requestId]);
49398
+ const proposalId = _optionalChain([seg, 'access', _1251 => _1251.data, 'optionalAccess', _1252 => _1252.requestId]);
49380
49399
  const updateApprovalMessage = (transform) => {
49381
49400
  setMessages((prev) => {
49382
49401
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -49385,7 +49404,7 @@ function useChat({
49385
49404
  if (!Array.isArray(m.content)) continue;
49386
49405
  const segments = m.content;
49387
49406
  const hasMatch = segments.some(
49388
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1252 => _1252.data, 'optionalAccess', _1253 => _1253.requestId]) === proposalId
49407
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1253 => _1253.data, 'optionalAccess', _1254 => _1254.requestId]) === proposalId
49389
49408
  );
49390
49409
  if (!hasMatch) continue;
49391
49410
  const next = [...prev];
@@ -49427,11 +49446,11 @@ function useChat({
49427
49446
  if (!Array.isArray(m.content)) continue;
49428
49447
  const segments = m.content;
49429
49448
  const hasMatch = segments.some(
49430
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1254 => _1254.data, 'optionalAccess', _1255 => _1255.requestId]) === decision.proposalId
49449
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1255 => _1255.data, 'optionalAccess', _1256 => _1256.requestId]) === decision.proposalId
49431
49450
  );
49432
49451
  if (!hasMatch) continue;
49433
49452
  const flipped = segments.map(
49434
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1256 => _1256.data, 'optionalAccess', _1257 => _1257.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49453
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1257 => _1257.data, 'optionalAccess', _1258 => _1258.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49435
49454
  );
49436
49455
  const next = [...prev];
49437
49456
  next[i] = { ...m, content: flipped };
@@ -49593,8 +49612,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49593
49612
  })),
49594
49613
  { role: "user", content: message2 }
49595
49614
  ];
49596
- const targetPath = _optionalChain([extra, 'optionalAccess', _1258 => _1258.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49597
- const requestBody = _optionalChain([extra, 'optionalAccess', _1259 => _1259.approvalAction]) ? {
49615
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1259 => _1259.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49616
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1260 => _1260.approvalAction]) ? {
49598
49617
  proposal_id: extra.approvalAction.proposalId,
49599
49618
  action: extra.approvalAction.action,
49600
49619
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -49603,8 +49622,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49603
49622
  }))
49604
49623
  } : {
49605
49624
  messages: apiMessages,
49606
- ..._optionalChain([extra, 'optionalAccess', _1260 => _1260.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49607
- ..._optionalChain([extra, 'optionalAccess', _1261 => _1261.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49625
+ ..._optionalChain([extra, 'optionalAccess', _1261 => _1261.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49626
+ ..._optionalChain([extra, 'optionalAccess', _1262 => _1262.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49608
49627
  };
49609
49628
  const response = await _chunkVIJARDBMcjs.embedAuthedFetch.call(void 0, targetPath, {
49610
49629
  method: "POST",
@@ -49614,7 +49633,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49614
49633
  if (!response.ok) {
49615
49634
  throw new Error(`Chat request failed: ${response.status}`);
49616
49635
  }
49617
- const reader = _optionalChain([response, 'access', _1262 => _1262.body, 'optionalAccess', _1263 => _1263.getReader, 'call', _1264 => _1264()]);
49636
+ const reader = _optionalChain([response, 'access', _1263 => _1263.body, 'optionalAccess', _1264 => _1264.getReader, 'call', _1265 => _1265()]);
49618
49637
  if (!reader) throw new Error("No response body");
49619
49638
  const decoder = new TextDecoder();
49620
49639
  let buffer = "";
@@ -49697,7 +49716,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49697
49716
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
49698
49717
  const result = _nullishCoalesce(meta.result, () => ( null));
49699
49718
  const card = _nullishCoalesce(meta.card, () => ( null));
49700
- if (_optionalChain([card, 'optionalAccess', _1265 => _1265.ref, 'optionalAccess', _1266 => _1266.id]) && _optionalChain([card, 'optionalAccess', _1267 => _1267.type])) {
49719
+ if (_optionalChain([card, 'optionalAccess', _1266 => _1266.ref, 'optionalAccess', _1267 => _1267.id]) && _optionalChain([card, 'optionalAccess', _1268 => _1268.type])) {
49701
49720
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
49702
49721
  const key = buildChatRefKey(card.type, card.ref.id);
49703
49722
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -49710,8 +49729,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49710
49729
  willAutoContinue: meta.willAutoContinue === true,
49711
49730
  ...toolName ? { toolName } : {},
49712
49731
  ...result ? { result } : {},
49713
- ..._optionalChain([card, 'optionalAccess', _1268 => _1268.marker]) ? { marker: card.marker } : {},
49714
- ..._optionalChain([card, 'optionalAccess', _1269 => _1269.ref]) ? { cardRef: card.ref } : {},
49732
+ ..._optionalChain([card, 'optionalAccess', _1269 => _1269.marker]) ? { marker: card.marker } : {},
49733
+ ..._optionalChain([card, 'optionalAccess', _1270 => _1270.ref]) ? { cardRef: card.ref } : {},
49715
49734
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
49716
49735
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
49717
49736
  };
@@ -49830,7 +49849,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
49830
49849
  var chatStorageKey = (source) => {
49831
49850
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
49832
49851
  const auth = _chunkVIJARDBMcjs.getEmbedProxyAuth.call(void 0, );
49833
- if (_optionalChain([auth, 'optionalAccess', _1270 => _1270.email])) {
49852
+ if (_optionalChain([auth, 'optionalAccess', _1271 => _1271.email])) {
49834
49853
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
49835
49854
  }
49836
49855
  return base;
@@ -49885,7 +49904,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49885
49904
  const { active = true } = runtimeOptions;
49886
49905
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49887
49906
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
49888
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1271 => _1271.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49907
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1272 => _1272.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49889
49908
  const persistedRef = _react.useRef.call(void 0, null);
49890
49909
  if (persistedRef.current === null) {
49891
49910
  pruneStaleChatStorage(source);
@@ -49990,7 +50009,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49990
50009
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
49991
50010
  sources = sourcesMapRef.current.get(lookupIdx);
49992
50011
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
49993
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1272 => _1272.current, 'access', _1273 => _1273.get, 'call', _1274 => _1274(lookupIdx), 'optionalAccess', _1275 => _1275.scrollAnchor]), () => ( void 0));
50012
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1273 => _1273.current, 'access', _1274 => _1274.get, 'call', _1275 => _1275(lookupIdx), 'optionalAccess', _1276 => _1276.scrollAnchor]), () => ( void 0));
49994
50013
  }
49995
50014
  return {
49996
50015
  id: m.id,
@@ -50038,7 +50057,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
50038
50057
  );
50039
50058
  return;
50040
50059
  }
50041
- const refSlug = typeof _optionalChain([reference, 'access', _1276 => _1276.metadata, 'optionalAccess', _1277 => _1277.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
50060
+ const refSlug = typeof _optionalChain([reference, 'access', _1277 => _1277.metadata, 'optionalAccess', _1278 => _1278.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
50042
50061
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
50043
50062
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
50044
50063
  const text = `/${cmdId} display "${escaped}"`;
@@ -50110,18 +50129,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
50110
50129
  clearMessages,
50111
50130
  streamingPhase,
50112
50131
  /** Provider key for the lib's `<ModelDisplay>` icon. */
50113
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1278 => _1278.provider]), () => ( null)),
50114
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1279 => _1279.modelLabel]), () => ( null)),
50115
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1280 => _1280.contextWindowMaxTokens]), () => ( null)),
50132
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1279 => _1279.provider]), () => ( null)),
50133
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1280 => _1280.modelLabel]), () => ( null)),
50134
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1281 => _1281.contextWindowMaxTokens]), () => ( null)),
50116
50135
  /** Input tokens (known after server's message_start frame; null until). */
50117
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1281 => _1281.inputTokens]), () => ( null)),
50136
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1282 => _1282.inputTokens]), () => ( null)),
50118
50137
  /** Output tokens (known only after server's trailing usage frame). */
50119
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1282 => _1282.outputTokens]), () => ( null)),
50138
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1283 => _1283.outputTokens]), () => ( null)),
50120
50139
  /** Cache hit % (read / total-input × 100). null during streaming. */
50121
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1283 => _1283.cacheHitRatePct]), () => ( null)),
50140
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1284 => _1284.cacheHitRatePct]), () => ( null)),
50122
50141
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
50123
50142
  * token counts). null until the trailing usage frame lands. */
50124
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1284 => _1284.breakdown]), () => ( null)),
50143
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1285 => _1285.breakdown]), () => ( null)),
50125
50144
  // ─── Dialog management — stubs for v1 ────────────────────────────────
50126
50145
  // Guide mode currently keeps its history in `localStorage` opaquely
50127
50146
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -50179,15 +50198,15 @@ var noopRejectRequest = async (_id, _reason) => {
50179
50198
 
50180
50199
  // src/components/chat/utils/process-historical-messages.ts
50181
50200
  function getOwnerDisplayName(owner) {
50182
- if (_optionalChain([owner, 'optionalAccess', _1285 => _1285.type]) === OWNER_TYPE.ADMIN && owner.user) {
50201
+ if (_optionalChain([owner, 'optionalAccess', _1286 => _1286.type]) === OWNER_TYPE.ADMIN && owner.user) {
50183
50202
  const { firstName, lastName } = owner.user;
50184
50203
  const name = [firstName, lastName].filter(Boolean).join(" ");
50185
50204
  if (name) return name;
50186
50205
  }
50187
- return _optionalChain([owner, 'optionalAccess', _1286 => _1286.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
50206
+ return _optionalChain([owner, 'optionalAccess', _1287 => _1287.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
50188
50207
  }
50189
50208
  function getOwnerAvatar(owner) {
50190
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1287 => _1287.user, 'optionalAccess', _1288 => _1288.image, 'optionalAccess', _1289 => _1289.imageUrl]), () => ( void 0));
50209
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1288 => _1288.user, 'optionalAccess', _1289 => _1289.image, 'optionalAccess', _1290 => _1290.imageUrl]), () => ( void 0));
50191
50210
  }
50192
50211
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
50193
50212
  messageDataArray.forEach((data) => {
@@ -50258,14 +50277,14 @@ function processHistoricalMessages(messages, options = {}) {
50258
50277
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
50259
50278
  return;
50260
50279
  }
50261
- const isUserMessage = _optionalChain([msg, 'access', _1290 => _1290.owner, 'optionalAccess', _1291 => _1291.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1292 => _1292.owner, 'optionalAccess', _1293 => _1293.type]) === OWNER_TYPE.ADMIN;
50280
+ const isUserMessage = _optionalChain([msg, 'access', _1291 => _1291.owner, 'optionalAccess', _1292 => _1292.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1293 => _1293.owner, 'optionalAccess', _1294 => _1294.type]) === OWNER_TYPE.ADMIN;
50262
50281
  if (isUserMessage) {
50263
50282
  flushAssistantMessage();
50264
- const userAuthorType = _optionalChain([msg, 'access', _1294 => _1294.owner, 'optionalAccess', _1295 => _1295.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50283
+ const userAuthorType = _optionalChain([msg, 'access', _1295 => _1295.owner, 'optionalAccess', _1296 => _1296.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50265
50284
  messageDataArray.forEach((data) => {
50266
50285
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
50267
50286
  const rawContext = data.contextItems;
50268
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1296 => _1296.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1297 => _1297.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50287
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1297 => _1297.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1298 => _1298.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50269
50288
  processedMessages.push({
50270
50289
  id: msg.id,
50271
50290
  role: "user",
@@ -50295,7 +50314,7 @@ function processHistoricalMessages(messages, options = {}) {
50295
50314
  });
50296
50315
  const nextMsg = messages[index + 1];
50297
50316
  const isLastMessage = index === messages.length - 1;
50298
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1298 => _1298.owner, 'optionalAccess', _1299 => _1299.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1300 => _1300.owner, 'optionalAccess', _1301 => _1301.type]) === OWNER_TYPE.ADMIN);
50317
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1299 => _1299.owner, 'optionalAccess', _1300 => _1300.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1301 => _1301.owner, 'optionalAccess', _1302 => _1302.type]) === OWNER_TYPE.ADMIN);
50299
50318
  if (isLastMessage || nextIsFromUser) {
50300
50319
  flushAssistantMessage();
50301
50320
  }
@@ -50405,7 +50424,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50405
50424
  }
50406
50425
  }
50407
50426
  } else {
50408
- _optionalChain([escalatedApprovals, 'optionalAccess', _1302 => _1302.set, 'call', _1303 => _1303(data.approvalRequestId, {
50427
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1303 => _1303.set, 'call', _1304 => _1304(data.approvalRequestId, {
50409
50428
  command: data.command || "",
50410
50429
  explanation: data.explanation,
50411
50430
  approvalType,
@@ -50419,8 +50438,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50419
50438
  const existingStatus = approvalStatuses[data.approvalRequestId];
50420
50439
  const status = existingStatus || (data.approved ? "approved" : "rejected");
50421
50440
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
50422
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1304 => _1304.get, 'call', _1305 => _1305(data.approvalRequestId)]);
50423
- if (_optionalChain([escalatedData, 'optionalAccess', _1306 => _1306.toolCalls]) && escalatedData.toolCalls.length > 0) {
50441
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1305 => _1305.get, 'call', _1306 => _1306(data.approvalRequestId)]);
50442
+ if (_optionalChain([escalatedData, 'optionalAccess', _1307 => _1307.toolCalls]) && escalatedData.toolCalls.length > 0) {
50424
50443
  if (batchApprovalsEnabled) {
50425
50444
  accumulator.addApprovalBatch(
50426
50445
  data.approvalRequestId,
@@ -50442,7 +50461,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50442
50461
  );
50443
50462
  }
50444
50463
  }
50445
- _optionalChain([escalatedApprovals, 'optionalAccess', _1307 => _1307.delete, 'call', _1308 => _1308(data.approvalRequestId)]);
50464
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1308 => _1308.delete, 'call', _1309 => _1309(data.approvalRequestId)]);
50446
50465
  break;
50447
50466
  }
50448
50467
  if (escalatedData) {
@@ -50451,7 +50470,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50451
50470
  explanation: escalatedData.explanation,
50452
50471
  approvalType: escalatedData.approvalType
50453
50472
  });
50454
- _optionalChain([escalatedApprovals, 'optionalAccess', _1309 => _1309.delete, 'call', _1310 => _1310(data.approvalRequestId)]);
50473
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1310 => _1310.delete, 'call', _1311 => _1311(data.approvalRequestId)]);
50455
50474
  }
50456
50475
  const before = accumulator.getSegments();
50457
50476
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -50467,9 +50486,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50467
50486
  case MESSAGE_TYPE.ERROR:
50468
50487
  if ("error" in data) {
50469
50488
  let message2;
50470
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1311 => _1311.details])) {
50489
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1312 => _1312.details])) {
50471
50490
  try {
50472
- message2 = _optionalChain([JSON, 'access', _1312 => _1312.parse, 'call', _1313 => _1313(data.details), 'optionalAccess', _1314 => _1314.error, 'optionalAccess', _1315 => _1315.message]);
50491
+ message2 = _optionalChain([JSON, 'access', _1313 => _1313.parse, 'call', _1314 => _1314(data.details), 'optionalAccess', _1315 => _1315.error, 'optionalAccess', _1316 => _1316.message]);
50473
50492
  } catch (e67) {
50474
50493
  message2 = data.details;
50475
50494
  }
@@ -50552,14 +50571,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50552
50571
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
50553
50572
  return;
50554
50573
  }
50555
- const isUserMessage = _optionalChain([msg, 'access', _1316 => _1316.owner, 'optionalAccess', _1317 => _1317.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1318 => _1318.owner, 'optionalAccess', _1319 => _1319.type]) === OWNER_TYPE.ADMIN;
50574
+ const isUserMessage = _optionalChain([msg, 'access', _1317 => _1317.owner, 'optionalAccess', _1318 => _1318.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1319 => _1319.owner, 'optionalAccess', _1320 => _1320.type]) === OWNER_TYPE.ADMIN;
50556
50575
  if (isUserMessage) {
50557
50576
  flushAssistantMessage();
50558
- const userAuthorType = _optionalChain([msg, 'access', _1320 => _1320.owner, 'optionalAccess', _1321 => _1321.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50577
+ const userAuthorType = _optionalChain([msg, 'access', _1321 => _1321.owner, 'optionalAccess', _1322 => _1322.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50559
50578
  messageDataArray.forEach((data) => {
50560
50579
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
50561
50580
  const rawContext = data.contextItems;
50562
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1322 => _1322.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1323 => _1323.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50581
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1323 => _1323.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1324 => _1324.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50563
50582
  processedMessages.push({
50564
50583
  id: msg.id,
50565
50584
  role: "user",
@@ -50589,7 +50608,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50589
50608
  });
50590
50609
  const nextMsg = messages[index + 1];
50591
50610
  const isLastMessage = index === messages.length - 1;
50592
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1324 => _1324.owner, 'optionalAccess', _1325 => _1325.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1326 => _1326.owner, 'optionalAccess', _1327 => _1327.type]) === OWNER_TYPE.ADMIN);
50611
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1325 => _1325.owner, 'optionalAccess', _1326 => _1326.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1327 => _1327.owner, 'optionalAccess', _1328 => _1328.type]) === OWNER_TYPE.ADMIN);
50593
50612
  if (isLastMessage || nextIsFromUser) {
50594
50613
  flushAssistantMessage();
50595
50614
  }
@@ -50649,7 +50668,7 @@ function extractIncompleteMessageState(lastMessage) {
50649
50668
  break;
50650
50669
  case "approval_batch": {
50651
50670
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
50652
- (c) => _optionalChain([segment, 'access', _1328 => _1328.data, 'access', _1329 => _1329.executions, 'optionalAccess', _1330 => _1330[c.toolExecutionRequestId], 'optionalAccess', _1331 => _1331.status]) === "done"
50671
+ (c) => _optionalChain([segment, 'access', _1329 => _1329.data, 'access', _1330 => _1330.executions, 'optionalAccess', _1331 => _1331[c.toolExecutionRequestId], 'optionalAccess', _1332 => _1332.status]) === "done"
50653
50672
  );
50654
50673
  if (segment.status !== "rejected" && !allDone) {
50655
50674
  hasIncompleteState = true;
@@ -50716,9 +50735,9 @@ function appendToTrailingAssistant(prev, segments) {
50716
50735
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
50717
50736
  for (const seg of segments) {
50718
50737
  const tail = merged[merged.length - 1];
50719
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1332 => _1332.type]) === "text") {
50738
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1333 => _1333.type]) === "text") {
50720
50739
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
50721
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1333 => _1333.type]) === "thinking") {
50740
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1334 => _1334.type]) === "thinking") {
50722
50741
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
50723
50742
  } else if (seg.type === "approval_batch") {
50724
50743
  const idx = merged.findIndex(
@@ -50762,11 +50781,11 @@ function applyToolExecutionToMessages(prev, segment) {
50762
50781
  for (let j = message2.segments.length - 1; j >= 0; j--) {
50763
50782
  const seg = message2.segments[j];
50764
50783
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
50765
- const prevExec = _optionalChain([seg, 'access', _1334 => _1334.data, 'access', _1335 => _1335.executions, 'optionalAccess', _1336 => _1336[execId]]);
50766
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1337 => _1337.status]) === "done") {
50784
+ const prevExec = _optionalChain([seg, 'access', _1335 => _1335.data, 'access', _1336 => _1336.executions, 'optionalAccess', _1337 => _1337[execId]]);
50785
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1338 => _1338.status]) === "done") {
50767
50786
  return prev;
50768
50787
  }
50769
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1338 => _1338.result]), success: _optionalChain([prevExec, 'optionalAccess', _1339 => _1339.success]) };
50788
+ const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1339 => _1339.result]), success: _optionalChain([prevExec, 'optionalAccess', _1340 => _1340.success]) };
50770
50789
  const nextSegments = [...message2.segments];
50771
50790
  nextSegments[j] = {
50772
50791
  ...seg,
@@ -50935,11 +50954,11 @@ function useNatsChatAdapter(config, options = {}) {
50935
50954
  }, []);
50936
50955
  const callbacksRef = _react.useRef.call(void 0, {
50937
50956
  onSegmentsUpdate: (segments, meta) => {
50938
- if (_optionalChain([meta, 'optionalAccess', _1340 => _1340.append]) && meta.isCompacting) {
50957
+ if (_optionalChain([meta, 'optionalAccess', _1341 => _1341.append]) && meta.isCompacting) {
50939
50958
  setMessages((prev) => upsertTrailingCompaction(prev, segments));
50940
50959
  return;
50941
50960
  }
50942
- if (_optionalChain([meta, 'optionalAccess', _1341 => _1341.append])) {
50961
+ if (_optionalChain([meta, 'optionalAccess', _1342 => _1342.append])) {
50943
50962
  setMessages((prev) => appendToTrailingAssistant(prev, segments));
50944
50963
  return;
50945
50964
  }
@@ -50952,7 +50971,7 @@ function useNatsChatAdapter(config, options = {}) {
50952
50971
  setMessages((prev) => {
50953
50972
  const last = prev[prev.length - 1];
50954
50973
  if (!last || last.role !== "assistant" || adoptTail) return prev;
50955
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1342 => _1342.segments, 'optionalAccess', _1343 => _1343.length]), () => ( 0))) > 0 || last.content !== "";
50974
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1343 => _1343.segments, 'optionalAccess', _1344 => _1344.length]), () => ( 0))) > 0 || last.content !== "";
50956
50975
  if (!hasContent) return prev;
50957
50976
  return [
50958
50977
  ...prev,
@@ -51024,19 +51043,19 @@ function useNatsChatAdapter(config, options = {}) {
51024
51043
  // MESSAGE_REQUEST echo — a user message from THIS or another session.
51025
51044
  onUserMessage: (text, meta) => {
51026
51045
  if (!text) return;
51027
- const seq = _optionalChain([meta, 'optionalAccess', _1344 => _1344.streamSeq]);
51046
+ const seq = _optionalChain([meta, 'optionalAccess', _1345 => _1345.streamSeq]);
51028
51047
  if (typeof seq === "number") {
51029
51048
  if (seenParticipantSeqsRef.current.has(seq)) return;
51030
51049
  seenParticipantSeqsRef.current.add(seq);
51031
51050
  }
51032
- if (_optionalChain([meta, 'optionalAccess', _1345 => _1345.ownerType]) !== "ADMIN") {
51051
+ if (_optionalChain([meta, 'optionalAccess', _1346 => _1346.ownerType]) !== "ADMIN") {
51033
51052
  const echoIdx = pendingEchoTextsRef.current.indexOf(text);
51034
51053
  if (echoIdx !== -1) {
51035
51054
  pendingEchoTextsRef.current.splice(echoIdx, 1);
51036
51055
  return;
51037
51056
  }
51038
51057
  }
51039
- const authorType = _optionalChain([meta, 'optionalAccess', _1346 => _1346.ownerType]) === "ADMIN" ? "admin" : "user";
51058
+ const authorType = _optionalChain([meta, 'optionalAccess', _1347 => _1347.ownerType]) === "ADMIN" ? "admin" : "user";
51040
51059
  setMessages((prev) => {
51041
51060
  if (typeof seq !== "number" && hasRecentMessage(
51042
51061
  prev,
@@ -51051,9 +51070,9 @@ function useNatsChatAdapter(config, options = {}) {
51051
51070
  id: nextId("user"),
51052
51071
  role: "user",
51053
51072
  content: text,
51054
- ..._optionalChain([meta, 'optionalAccess', _1347 => _1347.displayName]) ? { name: meta.displayName } : {},
51073
+ ..._optionalChain([meta, 'optionalAccess', _1348 => _1348.displayName]) ? { name: meta.displayName } : {},
51055
51074
  authorType,
51056
- ..._optionalChain([meta, 'optionalAccess', _1348 => _1348.contextItems]) && meta.contextItems.length > 0 ? {
51075
+ ..._optionalChain([meta, 'optionalAccess', _1349 => _1349.contextItems]) && meta.contextItems.length > 0 ? {
51057
51076
  contextItems: meta.contextItems.map((ci) => ({
51058
51077
  type: ci.type,
51059
51078
  id: ci.id,
@@ -51067,7 +51086,7 @@ function useNatsChatAdapter(config, options = {}) {
51067
51086
  // Technician / admin direct message into the dialog.
51068
51087
  onDirectMessage: (text, meta) => {
51069
51088
  if (!text) return;
51070
- const seq = _optionalChain([meta, 'optionalAccess', _1349 => _1349.streamSeq]);
51089
+ const seq = _optionalChain([meta, 'optionalAccess', _1350 => _1350.streamSeq]);
51071
51090
  if (typeof seq === "number") {
51072
51091
  if (seenParticipantSeqsRef.current.has(seq)) return;
51073
51092
  seenParticipantSeqsRef.current.add(seq);
@@ -51086,7 +51105,7 @@ function useNatsChatAdapter(config, options = {}) {
51086
51105
  id: `direct-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
51087
51106
  role: "user",
51088
51107
  content: text,
51089
- name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1350 => _1350.displayName]), () => ( "Admin")),
51108
+ name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1351 => _1351.displayName]), () => ( "Admin")),
51090
51109
  authorType: "admin"
51091
51110
  }
51092
51111
  ];
@@ -51096,7 +51115,7 @@ function useNatsChatAdapter(config, options = {}) {
51096
51115
  // processor produces via `pushStandaloneMessages`).
51097
51116
  onSystemMessage: (text, meta) => {
51098
51117
  if (!text) return;
51099
- const seq = _optionalChain([meta, 'optionalAccess', _1351 => _1351.streamSeq]);
51118
+ const seq = _optionalChain([meta, 'optionalAccess', _1352 => _1352.streamSeq]);
51100
51119
  if (typeof seq === "number") {
51101
51120
  if (seenParticipantSeqsRef.current.has(seq)) return;
51102
51121
  seenParticipantSeqsRef.current.add(seq);
@@ -51328,7 +51347,7 @@ function useNatsChatAdapter(config, options = {}) {
51328
51347
  }, [active, fetchDialogs, loadDialogsPage]);
51329
51348
  const sendMessage = _react.useCallback.call(void 0,
51330
51349
  async (text, sendOptions) => {
51331
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1352 => _1352.hidden]), () => ( false));
51350
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1353 => _1353.hidden]), () => ( false));
51332
51351
  pendingEchoTextsRef.current.push(text);
51333
51352
  if (pendingEchoTextsRef.current.length > 5) pendingEchoTextsRef.current.shift();
51334
51353
  setMessages((prev) => [
@@ -51494,11 +51513,11 @@ function useNatsChatAdapter(config, options = {}) {
51494
51513
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
51495
51514
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
51496
51515
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
51497
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1353 => _1353.provider]), () => ( modelProvider)), () => ( null)),
51498
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1354 => _1354.modelLabel]), () => ( modelLabel)), () => ( null)),
51499
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1355 => _1355.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1356 => _1356.contextWindowMaxTokens]))), () => ( null)),
51500
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1357 => _1357.inputTokensSize]), () => ( null)),
51501
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1358 => _1358.outputTokensSize]), () => ( null)),
51516
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1354 => _1354.provider]), () => ( modelProvider)), () => ( null)),
51517
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1355 => _1355.modelLabel]), () => ( modelLabel)), () => ( null)),
51518
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1356 => _1356.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1357 => _1357.contextWindowMaxTokens]))), () => ( null)),
51519
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1358 => _1358.inputTokensSize]), () => ( null)),
51520
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1359 => _1359.outputTokensSize]), () => ( null)),
51502
51521
  currentCacheHitRatePct: null,
51503
51522
  currentUsageBreakdown: null,
51504
51523
  // Dialog management
@@ -51755,20 +51774,20 @@ function mergeHistoryWithRealtime(input) {
51755
51774
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
51756
51775
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
51757
51776
  const trailing = processedHistory[processedHistory.length - 1];
51758
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1359 => _1359.role]) === "assistant" ? trailing : null;
51759
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1360 => _1360.content, 'access', _1361 => _1361.find, 'call', _1362 => _1362((s) => s.type === "approval_batch"), 'optionalAccess', _1363 => _1363.data, 'optionalAccess', _1364 => _1364.approvalRequestId]), () => ( null)) : null;
51777
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1360 => _1360.role]) === "assistant" ? trailing : null;
51778
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1361 => _1361.content, 'access', _1362 => _1362.find, 'call', _1363 => _1363((s) => s.type === "approval_batch"), 'optionalAccess', _1364 => _1364.data, 'optionalAccess', _1365 => _1365.approvalRequestId]), () => ( null)) : null;
51760
51779
  let processedToUse = processedHistory;
51761
51780
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
51762
51781
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
51763
51782
  if (historyBatchId) {
51764
51783
  const batchTwins = existingMessages.filter(
51765
51784
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
51766
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1365 => _1365.data, 'optionalAccess', _1366 => _1366.approvalRequestId]) === historyBatchId
51785
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1366 => _1366.data, 'optionalAccess', _1367 => _1367.approvalRequestId]) === historyBatchId
51767
51786
  )
51768
51787
  );
51769
51788
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
51770
51789
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
51771
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1367 => _1367.content])) ? historyTrailingAssistant.content.length : 0;
51790
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1368 => _1368.content])) ? historyTrailingAssistant.content.length : 0;
51772
51791
  const realtimeSize = existingWithSameBatch.content.length;
51773
51792
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
51774
51793
  processedToUse = processedHistory.slice(0, -1);
@@ -51784,16 +51803,16 @@ function mergeHistoryWithRealtime(input) {
51784
51803
  if (pinnedSyntheticIds.has(m.id)) return true;
51785
51804
  if (droppedSyntheticIds.has(m.id)) return false;
51786
51805
  if (processedIds.has(m.id)) return false;
51787
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1368 => _1368.has, 'call', _1369 => _1369(m.id)])) return false;
51806
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1369 => _1369.has, 'call', _1370 => _1370(m.id)])) return false;
51788
51807
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
51789
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1370 => _1370.timestamp, 'optionalAccess', _1371 => _1371.getTime, 'call', _1372 => _1372()]), () => ( 0))) <= historyFetchedAt;
51808
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1371 => _1371.timestamp, 'optionalAccess', _1372 => _1372.getTime, 'call', _1373 => _1373()]), () => ( 0))) <= historyFetchedAt;
51790
51809
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
51791
51810
  }
51792
51811
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
51793
51812
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
51794
51813
  return false;
51795
51814
  }
51796
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1373 => _1373.timestamp, 'optionalAccess', _1374 => _1374.getTime, 'call', _1375 => _1375()]), () => ( 0))) <= historyFetchedAt;
51815
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1374 => _1374.timestamp, 'optionalAccess', _1375 => _1375.getTime, 'call', _1376 => _1376()]), () => ( 0))) <= historyFetchedAt;
51797
51816
  if (covered) return false;
51798
51817
  }
51799
51818
  return true;
@@ -51848,7 +51867,7 @@ function normalizeHistoricalMessageData(md) {
51848
51867
  function isHistoricalUserTurn(m) {
51849
51868
  return !!m.owner;
51850
51869
  }
51851
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1376 => _1376.type]) === "TEXT" && typeof d.text === "string";
51870
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1377 => _1377.type]) === "TEXT" && typeof d.text === "string";
51852
51871
  var THINK_MS = 550;
51853
51872
  var TOKEN_MS = 55;
51854
51873
  var USER_MS = 480;
@@ -52089,7 +52108,7 @@ function useChatDialogManager({
52089
52108
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
52090
52109
  if (restoreTarget) {
52091
52110
  try {
52092
- await _optionalChain([unarchiveDialog, 'optionalCall', _1377 => _1377(restoreTarget.id)]);
52111
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1378 => _1378(restoreTarget.id)]);
52093
52112
  } catch (err) {
52094
52113
  console.error("[useChatDialogManager] unarchive failed:", err);
52095
52114
  return;
@@ -52562,7 +52581,7 @@ function EmbeddableChatInner({
52562
52581
  }),
52563
52582
  [commandsUrl]
52564
52583
  );
52565
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1378 => _1378.name, 'optionalAccess', _1379 => _1379.trim, 'call', _1380 => _1380()]) || [_optionalChain([identityUser, 'optionalAccess', _1381 => _1381.firstName]), _optionalChain([identityUser, 'optionalAccess', _1382 => _1382.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1383 => _1383.trim, 'call', _1384 => _1384()]) || void 0;
52584
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1379 => _1379.name, 'optionalAccess', _1380 => _1380.trim, 'call', _1381 => _1381()]) || [_optionalChain([identityUser, 'optionalAccess', _1382 => _1382.firstName]), _optionalChain([identityUser, 'optionalAccess', _1383 => _1383.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1384 => _1384.trim, 'call', _1385 => _1385()]) || void 0;
52566
52585
  const effectiveModes = _react.useMemo.call(void 0, () => {
52567
52586
  if (modes) return modes;
52568
52587
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -52571,19 +52590,19 @@ function EmbeddableChatInner({
52571
52590
  const mingoCaps = _react.useMemo.call(void 0, () => {
52572
52591
  if (mingoState) {
52573
52592
  return {
52574
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1385 => _1385.canRename]), () => ( false)),
52575
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1386 => _1386.canArchive]), () => ( false)),
52576
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1387 => _1387.fetchArchivedDialogs]),
52577
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1388 => _1388.unarchiveDialog]),
52578
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1389 => _1389.searchQuery]),
52579
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1390 => _1390.onSearchChange])
52593
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1386 => _1386.canRename]), () => ( false)),
52594
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1387 => _1387.canArchive]), () => ( false)),
52595
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1388 => _1388.fetchArchivedDialogs]),
52596
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1389 => _1389.unarchiveDialog]),
52597
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1390 => _1390.searchQuery]),
52598
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1391 => _1391.onSearchChange])
52580
52599
  };
52581
52600
  }
52582
52601
  return {
52583
- canRename: !!_optionalChain([effectiveModes, 'access', _1391 => _1391.mingo, 'optionalAccess', _1392 => _1392.renameDialog]),
52584
- canArchive: !!_optionalChain([effectiveModes, 'access', _1393 => _1393.mingo, 'optionalAccess', _1394 => _1394.archiveDialog]),
52585
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1395 => _1395.mingo, 'optionalAccess', _1396 => _1396.fetchArchivedDialogs]),
52586
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1397 => _1397.mingo, 'optionalAccess', _1398 => _1398.unarchiveDialog]),
52602
+ canRename: !!_optionalChain([effectiveModes, 'access', _1392 => _1392.mingo, 'optionalAccess', _1393 => _1393.renameDialog]),
52603
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1394 => _1394.mingo, 'optionalAccess', _1395 => _1395.archiveDialog]),
52604
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1396 => _1396.mingo, 'optionalAccess', _1397 => _1397.fetchArchivedDialogs]),
52605
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1398 => _1398.mingo, 'optionalAccess', _1399 => _1399.unarchiveDialog]),
52587
52606
  searchQuery: void 0,
52588
52607
  onSearchChange: void 0
52589
52608
  };
@@ -52597,7 +52616,7 @@ function EmbeddableChatInner({
52597
52616
  if (controlledActiveMode === void 0) {
52598
52617
  setUncontrolledActiveMode(next);
52599
52618
  }
52600
- _optionalChain([onActiveModeChange, 'optionalCall', _1399 => _1399(next)]);
52619
+ _optionalChain([onActiveModeChange, 'optionalCall', _1400 => _1400(next)]);
52601
52620
  },
52602
52621
  [controlledActiveMode, onActiveModeChange]
52603
52622
  );
@@ -52619,7 +52638,7 @@ function EmbeddableChatInner({
52619
52638
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
52620
52639
  const effectiveAssistantName = emptyStateConfig.name;
52621
52640
  const effectiveAssistantIcon = emptyStateConfig.icon;
52622
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1400 => _1400.title]) === "string" ? guideWelcome.title : null)));
52641
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1401 => _1401.title]) === "string" ? guideWelcome.title : null)));
52623
52642
  const {
52624
52643
  messages: rawMessages,
52625
52644
  isLoading: chatLoading,
@@ -52659,7 +52678,7 @@ function EmbeddableChatInner({
52659
52678
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
52660
52679
  guidePromptSentRef.current = true;
52661
52680
  void sendMessage(guidePendingPrompt);
52662
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1401 => _1401()]);
52681
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1402 => _1402()]);
52663
52682
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
52664
52683
  const {
52665
52684
  attachments: stagedAttachments,
@@ -52670,7 +52689,7 @@ function EmbeddableChatInner({
52670
52689
  clear: clearAttachments
52671
52690
  } = useChatAttachments();
52672
52691
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
52673
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1402 => _1402.maxItems]), () => ( 10));
52692
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1403 => _1403.maxItems]), () => ( 10));
52674
52693
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
52675
52694
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
52676
52695
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -52687,10 +52706,10 @@ function EmbeddableChatInner({
52687
52706
  }, [activeDialogId, activeMode]);
52688
52707
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
52689
52708
  const m = /* @__PURE__ */ new Map();
52690
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1403 => _1403.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
52709
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1404 => _1404.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
52691
52710
  return m;
52692
- }, [_optionalChain([contextPicker, 'optionalAccess', _1404 => _1404.entityTypes])]);
52693
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1405 => _1405.entityTypes]);
52711
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1405 => _1405.entityTypes])]);
52712
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1406 => _1406.entityTypes]);
52694
52713
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
52695
52714
  const byType = /* @__PURE__ */ new Map();
52696
52715
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -52702,7 +52721,7 @@ function EmbeddableChatInner({
52702
52721
  if (mentionActiveRef.current) {
52703
52722
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
52704
52723
  if (contextItems.length >= contextMaxItems) return;
52705
- _optionalChain([chatInputRef, 'access', _1406 => _1406.current, 'optionalAccess', _1407 => _1407.commitMention, 'call', _1408 => _1408(mentionTokenOf(key, mentionMarkerByType), {
52724
+ _optionalChain([chatInputRef, 'access', _1407 => _1407.current, 'optionalAccess', _1408 => _1408.commitMention, 'call', _1409 => _1409(mentionTokenOf(key, mentionMarkerByType), {
52706
52725
  label: item.label,
52707
52726
  icon: resolveContextIcon(item)
52708
52727
  })]);
@@ -52724,9 +52743,9 @@ function EmbeddableChatInner({
52724
52743
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
52725
52744
  if (mentionKeysRef.current.has(key)) {
52726
52745
  mentionKeysRef.current.delete(key);
52727
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1409 => _1409.current, 'optionalAccess', _1410 => _1410.getValue, 'call', _1411 => _1411()]), () => ( ""));
52746
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1410 => _1410.current, 'optionalAccess', _1411 => _1411.getValue, 'call', _1412 => _1412()]), () => ( ""));
52728
52747
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
52729
- _optionalChain([chatInputRef, 'access', _1412 => _1412.current, 'optionalAccess', _1413 => _1413.setValue, 'call', _1414 => _1414(next)]);
52748
+ _optionalChain([chatInputRef, 'access', _1413 => _1413.current, 'optionalAccess', _1414 => _1414.setValue, 'call', _1415 => _1415(next)]);
52730
52749
  }
52731
52750
  }, [mentionMarkerByType]);
52732
52751
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -52743,7 +52762,7 @@ function EmbeddableChatInner({
52743
52762
  }, []);
52744
52763
  const closeContextPicker = _react.useCallback.call(void 0, () => {
52745
52764
  if (mentionActiveRef.current) {
52746
- _optionalChain([chatInputRef, 'access', _1415 => _1415.current, 'optionalAccess', _1416 => _1416.removeMentionTrigger, 'call', _1417 => _1417()]);
52765
+ _optionalChain([chatInputRef, 'access', _1416 => _1416.current, 'optionalAccess', _1417 => _1417.removeMentionTrigger, 'call', _1418 => _1418()]);
52747
52766
  }
52748
52767
  setContextPickerOpen(false);
52749
52768
  setMentionQuery(null);
@@ -52777,8 +52796,8 @@ function EmbeddableChatInner({
52777
52796
  [effectiveAssistantIcon]
52778
52797
  );
52779
52798
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
52780
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1418 => _1418.firstName]), _optionalChain([identityUser, 'optionalAccess', _1419 => _1419.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1420 => _1420.name, 'optionalAccess', _1421 => _1421.trim, 'call', _1422 => _1422()]) || void 0 : void 0;
52781
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1423 => _1423.avatarUrl, 'optionalAccess', _1424 => _1424.trim, 'call', _1425 => _1425()]) || void 0 : void 0;
52799
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1419 => _1419.firstName]), _optionalChain([identityUser, 'optionalAccess', _1420 => _1420.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1421 => _1421.name, 'optionalAccess', _1422 => _1422.trim, 'call', _1423 => _1423()]) || void 0 : void 0;
52800
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1424 => _1424.avatarUrl, 'optionalAccess', _1425 => _1425.trim, 'call', _1426 => _1426()]) || void 0 : void 0;
52782
52801
  const messages = _react.useMemo.call(void 0, () => {
52783
52802
  const cache = timestampCacheRef.current;
52784
52803
  const seenIds = /* @__PURE__ */ new Set();
@@ -52958,9 +52977,9 @@ function EmbeddableChatInner({
52958
52977
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
52959
52978
  const lastSources = _react.useMemo.call(void 0, () => {
52960
52979
  if (chatLoading) return void 0;
52961
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1426 => _1426.sources]);
52980
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1427 => _1427.sources]);
52962
52981
  if (!sources || sources.length === 0) return void 0;
52963
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1427 => _1427.content]) || "";
52982
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1428 => _1428.content]) || "";
52964
52983
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
52965
52984
  (m) => parseInt(m[1], 10)
52966
52985
  );
@@ -52979,7 +52998,7 @@ function EmbeddableChatInner({
52979
52998
  const el = panelMeasureRef.current;
52980
52999
  if (!el || typeof ResizeObserver === "undefined") return;
52981
53000
  const ro = new ResizeObserver((entries) => {
52982
- const w = _optionalChain([entries, 'access', _1428 => _1428[0], 'optionalAccess', _1429 => _1429.contentRect, 'optionalAccess', _1430 => _1430.width]);
53001
+ const w = _optionalChain([entries, 'access', _1429 => _1429[0], 'optionalAccess', _1430 => _1430.contentRect, 'optionalAccess', _1431 => _1431.width]);
52983
53002
  if (typeof w === "number") setPanelWidth(w);
52984
53003
  });
52985
53004
  ro.observe(el);
@@ -53018,7 +53037,7 @@ function EmbeddableChatInner({
53018
53037
  const isMingoMode = activeMode === "mingo";
53019
53038
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
53020
53039
  const headerShowBack = hasConversation || guideCanReturnToMingo;
53021
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1431 => _1431.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
53040
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1432 => _1432.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
53022
53041
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
53023
53042
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
53024
53043
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
@@ -53357,9 +53376,9 @@ function EmbeddableChatInner({
53357
53376
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
53358
53377
  subtitleLoading: emptyStateLoading,
53359
53378
  ...guideWelcome,
53360
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1432 => _1432.title]))),
53361
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1433 => _1433.icon]))),
53362
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1434 => _1434.quickActions]), () => ( guideSuggestedActions)),
53379
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1433 => _1433.title]))),
53380
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1434 => _1434.icon]))),
53381
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1435 => _1435.quickActions]), () => ( guideSuggestedActions)),
53363
53382
  onQuickAction: (action) => {
53364
53383
  setQuickActionPreview(null);
53365
53384
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -54519,4 +54538,4 @@ function EmbeddableChatInner({
54519
54538
 
54520
54539
 
54521
54540
  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.DateFilterPanel = DateFilterPanel; 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.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.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.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.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.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; 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.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; 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.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.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.InfoCardRow = InfoCardRow; 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.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.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.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
54522
- //# sourceMappingURL=chunk-BAUWT7PV.cjs.map
54541
+ //# sourceMappingURL=chunk-QL2EI56X.cjs.map