@flamingo-stack/openframe-frontend-core 0.0.384 → 0.0.386-snapshot.20260708181552

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 (113) hide show
  1. package/dist/{chunk-FBUTS5UQ.js → chunk-3BPVTHOW.js} +4 -4
  2. package/dist/{chunk-FQR2CNKB.js → chunk-3KA5L7LC.js} +2 -2
  3. package/dist/{chunk-FG4J67VX.cjs → chunk-3L4B7MBD.cjs} +31 -31
  4. package/dist/{chunk-FG4J67VX.cjs.map → chunk-3L4B7MBD.cjs.map} +1 -1
  5. package/dist/{chunk-FV2FQQYF.cjs → chunk-44ENRZZJ.cjs} +12 -12
  6. package/dist/{chunk-FV2FQQYF.cjs.map → chunk-44ENRZZJ.cjs.map} +1 -1
  7. package/dist/{chunk-H7PRWFAQ.cjs → chunk-ADEP6E3Z.cjs} +26 -26
  8. package/dist/{chunk-H7PRWFAQ.cjs.map → chunk-ADEP6E3Z.cjs.map} +1 -1
  9. package/dist/{chunk-VZ4NJBQT.js → chunk-ANPV7GZT.js} +77 -68
  10. package/dist/{chunk-VZ4NJBQT.js.map → chunk-ANPV7GZT.js.map} +1 -1
  11. package/dist/{chunk-Q6EGRFVE.cjs → chunk-CIH2LZI7.cjs} +62 -62
  12. package/dist/{chunk-Q6EGRFVE.cjs.map → chunk-CIH2LZI7.cjs.map} +1 -1
  13. package/dist/{chunk-NGWYDTZZ.cjs → chunk-DKN425XR.cjs} +533 -524
  14. package/dist/chunk-DKN425XR.cjs.map +1 -0
  15. package/dist/{chunk-WRAECAST.cjs → chunk-DO7LOWFE.cjs} +9 -9
  16. package/dist/{chunk-WRAECAST.cjs.map → chunk-DO7LOWFE.cjs.map} +1 -1
  17. package/dist/{chunk-U22GJXOD.js → chunk-DU2X2MH2.js} +2 -2
  18. package/dist/{chunk-UOLDL3U3.js → chunk-EHVRW3WB.js} +2 -2
  19. package/dist/{chunk-KJ3O7A65.js → chunk-EULRZYQH.js} +4 -4
  20. package/dist/{chunk-JEADRVBL.js → chunk-GPTS2NXW.js} +4 -4
  21. package/dist/{chunk-LMIN2CWQ.js → chunk-MVY4ZKQR.js} +2 -2
  22. package/dist/{chunk-EEUUTWFQ.js → chunk-N2LW5NHS.js} +2 -2
  23. package/dist/{chunk-K7YBWMJ6.js → chunk-OGNKGDHT.js} +4 -4
  24. package/dist/{chunk-KI5QS5C2.cjs → chunk-OLCNA32C.cjs} +15 -15
  25. package/dist/{chunk-KI5QS5C2.cjs.map → chunk-OLCNA32C.cjs.map} +1 -1
  26. package/dist/{chunk-MVLWQ6OZ.js → chunk-OX75ZFN6.js} +2 -2
  27. package/dist/{chunk-Q2OBKYTK.cjs → chunk-POJRURML.cjs} +37 -37
  28. package/dist/{chunk-Q2OBKYTK.cjs.map → chunk-POJRURML.cjs.map} +1 -1
  29. package/dist/{chunk-AZOME5YC.cjs → chunk-RUHE3RJK.cjs} +57 -57
  30. package/dist/{chunk-AZOME5YC.cjs.map → chunk-RUHE3RJK.cjs.map} +1 -1
  31. package/dist/{chunk-KJTGCH3I.cjs → chunk-SECF2KWQ.cjs} +5 -5
  32. package/dist/{chunk-KJTGCH3I.cjs.map → chunk-SECF2KWQ.cjs.map} +1 -1
  33. package/dist/{chunk-MMYAOMD4.cjs → chunk-SGULN3RX.cjs} +7 -7
  34. package/dist/{chunk-MMYAOMD4.cjs.map → chunk-SGULN3RX.cjs.map} +1 -1
  35. package/dist/{chunk-FSN3GIUJ.cjs → chunk-SOAWTQXO.cjs} +25 -25
  36. package/dist/{chunk-FSN3GIUJ.cjs.map → chunk-SOAWTQXO.cjs.map} +1 -1
  37. package/dist/{chunk-XGE53EOX.js → chunk-XGLZK25V.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/auth/login-form.d.ts +4 -1
  51. package/dist/components/features/auth/login-form.d.ts.map +1 -1
  52. package/dist/components/features/auth/openframe-sso-login-form.d.ts.map +1 -1
  53. package/dist/components/features/auth/openframe-sso-signup-form.d.ts +4 -7
  54. package/dist/components/features/auth/openframe-sso-signup-form.d.ts.map +1 -1
  55. package/dist/components/features/index.cjs +2 -2
  56. package/dist/components/features/index.js +1 -1
  57. package/dist/components/help-center-pages/index.cjs +20 -20
  58. package/dist/components/help-center-pages/index.js +11 -11
  59. package/dist/components/index.cjs +120 -120
  60. package/dist/components/index.js +9 -9
  61. package/dist/components/navigation/app-layout.d.ts +9 -1
  62. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  63. package/dist/components/navigation/index.cjs +2 -2
  64. package/dist/components/navigation/index.js +1 -1
  65. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  66. package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
  67. package/dist/components/onboarding-guides/index.cjs +5 -5
  68. package/dist/components/onboarding-guides/index.js +4 -4
  69. package/dist/components/related-content/index.cjs +3 -3
  70. package/dist/components/related-content/index.js +2 -2
  71. package/dist/components/tickets/index.cjs +5 -5
  72. package/dist/components/tickets/index.js +4 -4
  73. package/dist/components/ui/data-table/data-table-body.d.ts +6 -1
  74. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  75. package/dist/components/ui/data-table/data-table-row.d.ts +7 -1
  76. package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
  77. package/dist/components/ui/data-table/index.d.ts +1 -1
  78. package/dist/components/ui/index.cjs +2 -2
  79. package/dist/components/ui/index.js +1 -1
  80. package/dist/index.cjs +2 -2
  81. package/dist/index.js +1 -1
  82. package/dist/tailwind.config.cjs +4 -1
  83. package/dist/tailwind.config.cjs.map +1 -1
  84. package/dist/tailwind.config.js +4 -1
  85. package/dist/tailwind.config.js.map +1 -1
  86. package/dist/types/navigation.d.ts +0 -1
  87. package/dist/types/navigation.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/components/features/auth/auth-benefits-panel.tsx +1 -1
  90. package/src/components/features/auth/login-form.tsx +21 -3
  91. package/src/components/features/auth/openframe-sso-login-form.tsx +6 -3
  92. package/src/components/features/auth/openframe-sso-signup-form.tsx +11 -27
  93. package/src/components/navigation/app-layout.tsx +17 -1
  94. package/src/components/navigation/navigation-sidebar-item.tsx +1 -12
  95. package/src/components/navigation/navigation-sidebar.tsx +6 -1
  96. package/src/components/ui/data-table/data-table-body.tsx +7 -0
  97. package/src/components/ui/data-table/data-table-row.tsx +12 -1
  98. package/src/stories/auth/Login.stories.tsx +1 -0
  99. package/src/stories/auth/OpenFrameSso.stories.tsx +1 -7
  100. package/src/types/navigation.ts +0 -1
  101. package/tailwind.config.ts +4 -1
  102. package/dist/chunk-NGWYDTZZ.cjs.map +0 -1
  103. /package/dist/{chunk-FBUTS5UQ.js.map → chunk-3BPVTHOW.js.map} +0 -0
  104. /package/dist/{chunk-FQR2CNKB.js.map → chunk-3KA5L7LC.js.map} +0 -0
  105. /package/dist/{chunk-U22GJXOD.js.map → chunk-DU2X2MH2.js.map} +0 -0
  106. /package/dist/{chunk-UOLDL3U3.js.map → chunk-EHVRW3WB.js.map} +0 -0
  107. /package/dist/{chunk-KJ3O7A65.js.map → chunk-EULRZYQH.js.map} +0 -0
  108. /package/dist/{chunk-JEADRVBL.js.map → chunk-GPTS2NXW.js.map} +0 -0
  109. /package/dist/{chunk-LMIN2CWQ.js.map → chunk-MVY4ZKQR.js.map} +0 -0
  110. /package/dist/{chunk-EEUUTWFQ.js.map → chunk-N2LW5NHS.js.map} +0 -0
  111. /package/dist/{chunk-K7YBWMJ6.js.map → chunk-OGNKGDHT.js.map} +0 -0
  112. /package/dist/{chunk-MVLWQ6OZ.js.map → chunk-OX75ZFN6.js.map} +0 -0
  113. /package/dist/{chunk-XGE53EOX.js.map → chunk-XGLZK25V.js.map} +0 -0
@@ -24452,7 +24452,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
24452
24452
  _chunkNYIZVI4Icjs.init_button2.call(void 0, );
24453
24453
 
24454
24454
  var DEFAULT_TITLE2 = "The All-in-One Open Platform for MSPs";
24455
- var DEFAULT_DESCRIPTION = "All your core ops in one place - built for MSPs who are done duct-taping tools together. Open-source, AI-ready, no vendor tax. Just solid software that lets you run lean and fast.";
24455
+ var DEFAULT_DESCRIPTION = "All your core ops in one place - built for MSPs who are done duct-taping tools together. Unified stack, AI-ready, no vendor tax. Just solid software that lets you run lean and fast.";
24456
24456
  var DEFAULT_BENEFITS = [
24457
24457
  { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CreditCardXmarkIcon, {}), label: "No card required" },
24458
24458
  { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkAltIcon, {}), label: "Cancel Anytime" },
@@ -24765,8 +24765,10 @@ function LoginForm({
24765
24765
  email,
24766
24766
  onEmailChange,
24767
24767
  onSubmit,
24768
+ onForgotPassword,
24768
24769
  emailPlaceholder = "username@mail.com",
24769
24770
  submitLabel = "Continue",
24771
+ forgotPasswordLabel = "Forgot Password?",
24770
24772
  submitDisabled = false,
24771
24773
  loading = false,
24772
24774
  disabled = false,
@@ -24817,14 +24819,28 @@ function LoginForm({
24817
24819
  disabled: disabled || loading
24818
24820
  }
24819
24821
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-l)]", children: [
24820
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
24822
+ onForgotPassword ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24823
+ _chunkNYIZVI4Icjs.Button,
24824
+ {
24825
+ type: "button",
24826
+ variant: "transparent",
24827
+ fullWidth: true,
24828
+ className: "flex-1",
24829
+ disabled: disabled || loading,
24830
+ onClick: onForgotPassword,
24831
+ children: forgotPasswordLabel
24832
+ }
24833
+ ) : (
24834
+ // Spacer keeps the button on the right half, matching the design
24835
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" })
24836
+ ),
24821
24837
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24822
24838
  _chunkNYIZVI4Icjs.Button,
24823
24839
  {
24824
24840
  type: "button",
24825
24841
  variant: "accent",
24826
24842
  fullWidth: true,
24827
- className: "md:flex-1",
24843
+ className: onForgotPassword ? "flex-1" : "md:flex-1",
24828
24844
  loading,
24829
24845
  disabled: disabled || submitDisabled,
24830
24846
  onClick: onSubmit,
@@ -24941,11 +24957,14 @@ function OpenFrameSsoLoginForm({
24941
24957
  ),
24942
24958
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-l)]", children: [
24943
24959
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24944
- "button",
24960
+ _chunkNYIZVI4Icjs.Button,
24945
24961
  {
24946
24962
  type: "button",
24963
+ variant: "transparent",
24964
+ fullWidth: true,
24965
+ className: "flex-1",
24966
+ disabled: fieldsDisabled,
24947
24967
  onClick: onForgotPassword,
24948
- className: "flex-1 text-left text-h4 text-ods-text-secondary",
24949
24968
  children: forgotPasswordLabel
24950
24969
  }
24951
24970
  ),
@@ -24978,21 +24997,18 @@ function OpenFrameSsoSignUpForm({
24978
24997
  lastName,
24979
24998
  password,
24980
24999
  confirmPassword,
24981
- agreedToTerms,
24982
25000
  onEmailChange,
24983
25001
  onFirstNameChange,
24984
25002
  onLastNameChange,
24985
25003
  onPasswordChange,
24986
25004
  onConfirmPasswordChange,
24987
- onAgreedToTermsChange,
24988
25005
  onSubmit,
24989
25006
  onForgotPassword,
25007
+ emailReadOnly = false,
24990
25008
  submitDisabled = false,
24991
25009
  loading = false,
24992
25010
  disabled = false,
24993
25011
  errors,
24994
- termsUrl = "#",
24995
- privacyPolicyUrl = "#",
24996
25012
  title = "OpenFrame Single Sign-On",
24997
25013
  subtitle = "Enter your email and password to access your organization.",
24998
25014
  emailLabel = "Email",
@@ -25026,7 +25042,7 @@ function OpenFrameSsoSignUpForm({
25026
25042
  placeholder: "username@mail.com",
25027
25043
  value: email,
25028
25044
  error: _optionalChain([errors, 'optionalAccess', _443 => _443.email]),
25029
- disabled: fieldsDisabled,
25045
+ disabled: fieldsDisabled || emailReadOnly,
25030
25046
  onChange: (event) => onEmailChange(event.target.value),
25031
25047
  onKeyDown: handleKeyDown
25032
25048
  }
@@ -25083,25 +25099,16 @@ function OpenFrameSsoSignUpForm({
25083
25099
  }
25084
25100
  ) })
25085
25101
  ] }),
25086
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25087
- CheckboxBlock,
25088
- {
25089
- id: "sso-signup-terms",
25090
- label: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TermsAgreementLabel, { termsUrl, privacyPolicyUrl }),
25091
- truncateLabel: true,
25092
- checked: agreedToTerms,
25093
- disabled: fieldsDisabled,
25094
- error: _optionalChain([errors, 'optionalAccess', _448 => _448.terms]),
25095
- onCheckedChange: onAgreedToTermsChange
25096
- }
25097
- ),
25098
25102
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-l)]", children: [
25099
25103
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25100
- "button",
25104
+ _chunkNYIZVI4Icjs.Button,
25101
25105
  {
25102
25106
  type: "button",
25107
+ variant: "transparent",
25108
+ fullWidth: true,
25109
+ className: "flex-1",
25110
+ disabled: fieldsDisabled,
25103
25111
  onClick: onForgotPassword,
25104
- className: "flex-1 text-left text-h4 text-ods-text-secondary",
25105
25112
  children: forgotPasswordLabel
25106
25113
  }
25107
25114
  ),
@@ -25175,7 +25182,7 @@ function PasswordResetForm({
25175
25182
  label: newPasswordLabel,
25176
25183
  placeholder: newPasswordPlaceholder,
25177
25184
  value: password,
25178
- error: _optionalChain([errors, 'optionalAccess', _449 => _449.password]),
25185
+ error: _optionalChain([errors, 'optionalAccess', _448 => _448.password]),
25179
25186
  disabled: fieldsDisabled,
25180
25187
  onChange: (event) => onPasswordChange(event.target.value),
25181
25188
  onKeyDown: handleKeyDown
@@ -25188,7 +25195,7 @@ function PasswordResetForm({
25188
25195
  label: confirmPasswordLabel,
25189
25196
  placeholder: confirmPasswordPlaceholder,
25190
25197
  value: confirmPassword,
25191
- error: _optionalChain([errors, 'optionalAccess', _450 => _450.confirmPassword]),
25198
+ error: _optionalChain([errors, 'optionalAccess', _449 => _449.confirmPassword]),
25192
25199
  disabled: fieldsDisabled,
25193
25200
  onChange: (event) => onConfirmPasswordChange(event.target.value),
25194
25201
  onKeyDown: handleKeyDown
@@ -25851,10 +25858,10 @@ var getContentDimensions = (config) => {
25851
25858
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
25852
25859
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
25853
25860
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
25854
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _451 => _451.mobileContentDimensions, 'optionalAccess', _452 => _452.width]))), () => ( defaultMobile.width));
25855
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _453 => _453.mobileContentDimensions, 'optionalAccess', _454 => _454.height]))), () => ( defaultMobile.height));
25856
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _455 => _455.desktopContentDimensions, 'optionalAccess', _456 => _456.width]))), () => ( defaultDesktop.width));
25857
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _457 => _457.desktopContentDimensions, 'optionalAccess', _458 => _458.height]))), () => ( defaultDesktop.height));
25861
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _450 => _450.mobileContentDimensions, 'optionalAccess', _451 => _451.width]))), () => ( defaultMobile.width));
25862
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _452 => _452.mobileContentDimensions, 'optionalAccess', _453 => _453.height]))), () => ( defaultMobile.height));
25863
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _454 => _454.desktopContentDimensions, 'optionalAccess', _455 => _455.width]))), () => ( defaultDesktop.width));
25864
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _456 => _456.desktopContentDimensions, 'optionalAccess', _457 => _457.height]))), () => ( defaultDesktop.height));
25858
25865
  return {
25859
25866
  mobile: { width: mobileWidth, height: mobileHeight },
25860
25867
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -25988,7 +25995,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
25988
25995
  const contentDimensions = getContentDimensions(config);
25989
25996
  const mobileHeight = contentDimensions.mobile.height;
25990
25997
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
25991
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _459 => _459.innerHeight]) * 0.85 || 650)}px`;
25998
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _458 => _458.innerHeight]) * 0.85 || 650)}px`;
25992
25999
  })(),
25993
26000
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
25994
26001
  const contentDimensions = getContentDimensions(config);
@@ -26093,7 +26100,7 @@ var FigmaPrototypeViewer = ({
26093
26100
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
26094
26101
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
26095
26102
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
26096
- config.defaultSectionId || _optionalChain([config, 'access', _460 => _460.sections, 'access', _461 => _461[0], 'optionalAccess', _462 => _462.id]) || ""
26103
+ config.defaultSectionId || _optionalChain([config, 'access', _459 => _459.sections, 'access', _460 => _460[0], 'optionalAccess', _461 => _461.id]) || ""
26097
26104
  );
26098
26105
  const activeSection = externalActiveSection || internalActiveSection;
26099
26106
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -26183,7 +26190,7 @@ var FigmaPrototypeViewer = ({
26183
26190
  const handleMessage = (event) => {
26184
26191
  if (event.origin !== "https://www.figma.com") return;
26185
26192
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
26186
- if (_optionalChain([event, 'access', _463 => _463.data, 'optionalAccess', _464 => _464.type]) && validEvents.includes(event.data.type)) {
26193
+ if (_optionalChain([event, 'access', _462 => _462.data, 'optionalAccess', _463 => _463.type]) && validEvents.includes(event.data.type)) {
26187
26194
  const figmaEvent = event.data;
26188
26195
  console.log("[Figma Event]", figmaEvent.type, viewMode);
26189
26196
  switch (figmaEvent.type) {
@@ -26193,19 +26200,19 @@ var FigmaPrototypeViewer = ({
26193
26200
  setIframeState("READY");
26194
26201
  break;
26195
26202
  case "PRESENTED_NODE_CHANGED":
26196
- if (_optionalChain([figmaEvent, 'access', _465 => _465.data, 'optionalAccess', _466 => _466.presentedNodeId])) {
26203
+ if (_optionalChain([figmaEvent, 'access', _464 => _464.data, 'optionalAccess', _465 => _465.presentedNodeId])) {
26197
26204
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
26198
26205
  if (!isNavigating) {
26199
26206
  const matchingSection = config.sections.find((s) => {
26200
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _467 => _467.data, 'optionalAccess', _468 => _468.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _469 => _469.data, 'optionalAccess', _470 => _470.presentedNodeId]);
26201
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _471 => _471.data, 'optionalAccess', _472 => _472.presentedNodeId]) || _optionalChain([s, 'access', _473 => _473.mobileStartingNodeId, 'optionalAccess', _474 => _474.replace, 'call', _475 => _475(":", "-")]) === _optionalChain([figmaEvent, 'access', _476 => _476.data, 'optionalAccess', _477 => _477.presentedNodeId]);
26207
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _466 => _466.data, 'optionalAccess', _467 => _467.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _468 => _468.data, 'optionalAccess', _469 => _469.presentedNodeId]);
26208
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _470 => _470.data, 'optionalAccess', _471 => _471.presentedNodeId]) || _optionalChain([s, 'access', _472 => _472.mobileStartingNodeId, 'optionalAccess', _473 => _473.replace, 'call', _474 => _474(":", "-")]) === _optionalChain([figmaEvent, 'access', _475 => _475.data, 'optionalAccess', _476 => _476.presentedNodeId]);
26202
26209
  return desktopMatch || mobileMatch;
26203
26210
  });
26204
26211
  if (matchingSection && matchingSection.id !== activeSection) {
26205
26212
  if (!externalActiveSection) {
26206
26213
  setInternalActiveSection(matchingSection.id);
26207
26214
  }
26208
- _optionalChain([config, 'access', _478 => _478.onSectionChange, 'optionalCall', _479 => _479(matchingSection.id)]);
26215
+ _optionalChain([config, 'access', _477 => _477.onSectionChange, 'optionalCall', _478 => _478(matchingSection.id)]);
26209
26216
  }
26210
26217
  }
26211
26218
  }
@@ -26218,7 +26225,7 @@ var FigmaPrototypeViewer = ({
26218
26225
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
26219
26226
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
26220
26227
  const section = config.sections.find((s) => s.id === sectionId);
26221
- if (!section || !_optionalChain([iframeRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.contentWindow]) || !isInitialized) {
26228
+ if (!section || !_optionalChain([iframeRef, 'access', _479 => _479.current, 'optionalAccess', _480 => _480.contentWindow]) || !isInitialized) {
26222
26229
  return;
26223
26230
  }
26224
26231
  setIsNavigating(true);
@@ -26226,7 +26233,7 @@ var FigmaPrototypeViewer = ({
26226
26233
  if (!externalActiveSection) {
26227
26234
  setInternalActiveSection(sectionId);
26228
26235
  }
26229
- _optionalChain([config, 'access', _482 => _482.onSectionChange, 'optionalCall', _483 => _483(sectionId)]);
26236
+ _optionalChain([config, 'access', _481 => _481.onSectionChange, 'optionalCall', _482 => _482(sectionId)]);
26230
26237
  const command = {
26231
26238
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
26232
26239
  data: { nodeId }
@@ -26546,7 +26553,7 @@ var FiltersDropdown = ({
26546
26553
  defaults[section.id] = section.defaultSelected || [];
26547
26554
  });
26548
26555
  setSelectedFilters(defaults);
26549
- _optionalChain([onReset, 'optionalCall', _484 => _484()]);
26556
+ _optionalChain([onReset, 'optionalCall', _483 => _483()]);
26550
26557
  setIsOpen(false);
26551
26558
  };
26552
26559
  const handleApply = () => {
@@ -26839,7 +26846,7 @@ function MediaGalleryManager({
26839
26846
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
26840
26847
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
26841
26848
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
26842
- const file = _optionalChain([event, 'access', _485 => _485.target, 'access', _486 => _486.files, 'optionalAccess', _487 => _487[0]]);
26849
+ const file = _optionalChain([event, 'access', _484 => _484.target, 'access', _485 => _485.files, 'optionalAccess', _486 => _486[0]]);
26843
26850
  if (!file) return;
26844
26851
  let mediaType;
26845
26852
  if (file.type.startsWith("image/")) {
@@ -26954,7 +26961,7 @@ function MediaGalleryManager({
26954
26961
  {
26955
26962
  type: "button",
26956
26963
  variant: "outline",
26957
- onClick: () => _optionalChain([fileInputRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.click, 'call', _490 => _490()]),
26964
+ onClick: () => _optionalChain([fileInputRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.click, 'call', _489 => _489()]),
26958
26965
  disabled: isUploading,
26959
26966
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
26960
26967
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -27618,7 +27625,7 @@ function ReleaseMediaManager({
27618
27625
  const fileInputRef = _react.useRef.call(void 0, null);
27619
27626
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
27620
27627
  const handleFileSelect = async (event) => {
27621
- const file = _optionalChain([event, 'access', _491 => _491.target, 'access', _492 => _492.files, 'optionalAccess', _493 => _493[0]]);
27628
+ const file = _optionalChain([event, 'access', _490 => _490.target, 'access', _491 => _491.files, 'optionalAccess', _492 => _492[0]]);
27622
27629
  if (!file) return;
27623
27630
  let mediaType;
27624
27631
  if (file.type.startsWith("image/")) {
@@ -27698,7 +27705,7 @@ function ReleaseMediaManager({
27698
27705
  {
27699
27706
  type: "button",
27700
27707
  variant: "outline",
27701
- onClick: () => _optionalChain([fileInputRef, 'access', _494 => _494.current, 'optionalAccess', _495 => _495.click, 'call', _496 => _496()]),
27708
+ onClick: () => _optionalChain([fileInputRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.click, 'call', _495 => _495()]),
27702
27709
  disabled: uploadingIndex !== null,
27703
27710
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
27704
27711
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -27913,7 +27920,7 @@ function SEOEditorPreview({
27913
27920
  const displayImage = hasOgImage || hasFeaturedImage;
27914
27921
  const handleImageUpload = async (event) => {
27915
27922
  if (!onOgImageUpload) return;
27916
- const file = _optionalChain([event, 'access', _497 => _497.target, 'access', _498 => _498.files, 'optionalAccess', _499 => _499[0]]);
27923
+ const file = _optionalChain([event, 'access', _496 => _496.target, 'access', _497 => _497.files, 'optionalAccess', _498 => _498[0]]);
27917
27924
  if (!file) return;
27918
27925
  setIsUploading(true);
27919
27926
  try {
@@ -28054,7 +28061,7 @@ function SEOEditorPreview({
28054
28061
  type: "button",
28055
28062
  variant: "outline",
28056
28063
  size: "icon",
28057
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _500 => _500.click, 'call', _501 => _501()]),
28064
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _499 => _499.click, 'call', _500 => _500()]),
28058
28065
  disabled: disabled || isUploading,
28059
28066
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
28060
28067
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -28077,7 +28084,7 @@ function SEOEditorPreview({
28077
28084
  "div",
28078
28085
  {
28079
28086
  className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
28080
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _502 => _502.click, 'call', _503 => _503()]),
28087
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _501 => _501.click, 'call', _502 => _502()]),
28081
28088
  children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28082
28089
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
28083
28090
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
@@ -28164,7 +28171,7 @@ function SocialLinksManager({
28164
28171
  className = ""
28165
28172
  }) {
28166
28173
  const addLink = () => {
28167
- const firstPlatform = _optionalChain([platforms, 'access', _504 => _504[0], 'optionalAccess', _505 => _505.name]) || "website";
28174
+ const firstPlatform = _optionalChain([platforms, 'access', _503 => _503[0], 'optionalAccess', _504 => _504.name]) || "website";
28168
28175
  onChange([...links, { platform: firstPlatform, url: "" }]);
28169
28176
  };
28170
28177
  const removeLink = (index) => {
@@ -28176,7 +28183,7 @@ function SocialLinksManager({
28176
28183
  onChange(updated);
28177
28184
  };
28178
28185
  const getIcon = (link, platform) => {
28179
- const iconKey = _optionalChain([platform, 'optionalAccess', _506 => _506.icon_name]) || link.platform;
28186
+ const iconKey = _optionalChain([platform, 'optionalAccess', _505 => _505.icon_name]) || link.platform;
28180
28187
  const IconComponent = iconMap[iconKey];
28181
28188
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
28182
28189
  };
@@ -28201,7 +28208,7 @@ function SocialLinksManager({
28201
28208
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28202
28209
  _chunkNYIZVI4Icjs.Input,
28203
28210
  {
28204
- placeholder: _optionalChain([platform, 'optionalAccess', _507 => _507.placeholder]) || "Profile URL",
28211
+ placeholder: _optionalChain([platform, 'optionalAccess', _506 => _506.placeholder]) || "Profile URL",
28205
28212
  value: link.url,
28206
28213
  onChange: (e) => updateLink(index, "url", e.target.value),
28207
28214
  onKeyDown: (e) => {
@@ -28594,7 +28601,7 @@ function useVideoOriginPreconnect({
28594
28601
  supabaseStorageOrigin
28595
28602
  } = {}) {
28596
28603
  const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
28597
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _508 => _508.endpoints, 'access', _509 => _509.supabaseStorageOrigin])));
28604
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _507 => _507.endpoints, 'access', _508 => _508.supabaseStorageOrigin])));
28598
28605
  try {
28599
28606
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
28600
28607
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -28613,13 +28620,13 @@ function useVideoWarmup({
28613
28620
  nearMargin = "1000px"
28614
28621
  } = {}) {
28615
28622
  const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
28616
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _510 => _510.endpoints, 'access', _511 => _511.supabaseStorageOrigin])));
28623
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _509 => _509.endpoints, 'access', _510 => _510.supabaseStorageOrigin])));
28617
28624
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
28618
28625
  const { ref, isNear } = _chunk743FCO64cjs.useNearViewport.call(void 0, nearMargin);
28619
28626
  _react.useEffect.call(void 0, () => {
28620
28627
  if (!isNear || !videoUrl || !resolvedOrigin) return;
28621
28628
  const conn = navigator.connection;
28622
- if (_optionalChain([conn, 'optionalAccess', _512 => _512.saveData]) === true) return;
28629
+ if (_optionalChain([conn, 'optionalAccess', _511 => _511.saveData]) === true) return;
28623
28630
  let videoOrigin;
28624
28631
  try {
28625
28632
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -28689,7 +28696,7 @@ function VideoSourceSelector({
28689
28696
  input.accept = "video/*";
28690
28697
  input.onchange = async (e) => {
28691
28698
  const target = e.target;
28692
- const file = _optionalChain([target, 'access', _513 => _513.files, 'optionalAccess', _514 => _514[0]]);
28699
+ const file = _optionalChain([target, 'access', _512 => _512.files, 'optionalAccess', _513 => _513[0]]);
28693
28700
  if (!file) return;
28694
28701
  setIsUploading(true);
28695
28702
  setUploadProgress(0);
@@ -29038,7 +29045,7 @@ function TranscriptSummaryEditor({
29038
29045
  {
29039
29046
  id: "subtitles",
29040
29047
  value: subtitles || "",
29041
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _515 => _515(e.target.value)]),
29048
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _514 => _514(e.target.value)]),
29042
29049
  placeholder: subtitlesPlaceholder,
29043
29050
  disabled: disabled || !onSubtitlesChange,
29044
29051
  className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
@@ -29191,7 +29198,7 @@ var AIEnrichSection = ({
29191
29198
  }) => {
29192
29199
  const hasResults = status === "success" || status === "error";
29193
29200
  const shouldDisable = disabled || !canEnrich;
29194
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _516 => _516.filter, 'call', _517 => _517((f) => !f.isFilled)]) || [];
29201
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _515 => _515.filter, 'call', _516 => _516((f) => !f.isFilled)]) || [];
29195
29202
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29196
29203
  "div",
29197
29204
  {
@@ -29229,7 +29236,7 @@ var AIEnrichSection = ({
29229
29236
  {
29230
29237
  id: "ai-enrich-custom-instructions",
29231
29238
  value: _nullishCoalesce(customInstructions, () => ( "")),
29232
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _518 => _518(e.target.value)]),
29239
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _517 => _517(e.target.value)]),
29233
29240
  placeholder: customInstructionsPlaceholder,
29234
29241
  disabled: loading,
29235
29242
  maxLength: customInstructionsMaxLength,
@@ -29358,7 +29365,7 @@ function HighlightVideoSection({
29358
29365
  input.accept = "video/*";
29359
29366
  input.onchange = async (e) => {
29360
29367
  const target = e.target;
29361
- const file = _optionalChain([target, 'access', _519 => _519.files, 'optionalAccess', _520 => _520[0]]);
29368
+ const file = _optionalChain([target, 'access', _518 => _518.files, 'optionalAccess', _519 => _519[0]]);
29362
29369
  if (!file) return;
29363
29370
  setUploadError(null);
29364
29371
  try {
@@ -29853,7 +29860,7 @@ function HighlightVideoPreview({
29853
29860
  input.accept = "video/*";
29854
29861
  input.onchange = async (e) => {
29855
29862
  const target = e.target;
29856
- const file = _optionalChain([target, 'access', _521 => _521.files, 'optionalAccess', _522 => _522[0]]);
29863
+ const file = _optionalChain([target, 'access', _520 => _520.files, 'optionalAccess', _521 => _521[0]]);
29857
29864
  if (!file) return;
29858
29865
  await onUpload(file);
29859
29866
  };
@@ -30037,7 +30044,7 @@ function HighlightVideoCombinedSection({
30037
30044
  input.accept = "video/*";
30038
30045
  input.onchange = async (e) => {
30039
30046
  const target = e.target;
30040
- const file = _optionalChain([target, 'access', _523 => _523.files, 'optionalAccess', _524 => _524[0]]);
30047
+ const file = _optionalChain([target, 'access', _522 => _522.files, 'optionalAccess', _523 => _523[0]]);
30041
30048
  if (!file) return;
30042
30049
  await onUpload(file);
30043
30050
  };
@@ -30331,7 +30338,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
30331
30338
  return editMode ? "Set Global Permission" : "";
30332
30339
  }
30333
30340
  const option = approvalLevelOptions.find((opt) => opt.value === level);
30334
- return _optionalChain([option, 'optionalAccess', _525 => _525.label]) || level;
30341
+ return _optionalChain([option, 'optionalAccess', _524 => _524.label]) || level;
30335
30342
  };
30336
30343
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
30337
30344
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
@@ -30545,12 +30552,12 @@ function PhoneInput({
30545
30552
  const runValidation = _react.useCallback.call(void 0, (phone) => {
30546
30553
  if (!phone || digitCount(phone) === 0) {
30547
30554
  setIsInvalid(false);
30548
- _optionalChain([onValidationChange, 'optionalCall', _526 => _526(false)]);
30555
+ _optionalChain([onValidationChange, 'optionalCall', _525 => _525(false)]);
30549
30556
  return;
30550
30557
  }
30551
30558
  const invalid = !validatePhoneNumber(phone, countryCode);
30552
30559
  setIsInvalid(invalid);
30553
- _optionalChain([onValidationChange, 'optionalCall', _527 => _527(invalid)]);
30560
+ _optionalChain([onValidationChange, 'optionalCall', _526 => _526(invalid)]);
30554
30561
  }, [countryCode, digitCount, onValidationChange]);
30555
30562
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
30556
30563
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -30599,7 +30606,7 @@ function PhoneInput({
30599
30606
  debouncedValidation(val);
30600
30607
  } else if (digitCount(val) === 0) {
30601
30608
  setIsInvalid(false);
30602
- _optionalChain([onValidationChange, 'optionalCall', _528 => _528(false)]);
30609
+ _optionalChain([onValidationChange, 'optionalCall', _527 => _527(false)]);
30603
30610
  }
30604
30611
  }
30605
30612
  },
@@ -30940,19 +30947,19 @@ function NotificationsProvider({
30940
30947
  }, []);
30941
30948
  const markRead = React96.useCallback((id) => {
30942
30949
  dispatch({ type: "markRead", id });
30943
- void _optionalChain([actionsRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.onMarkRead, 'optionalCall', _531 => _531(id)]);
30950
+ void _optionalChain([actionsRef, 'access', _528 => _528.current, 'optionalAccess', _529 => _529.onMarkRead, 'optionalCall', _530 => _530(id)]);
30944
30951
  }, []);
30945
30952
  const markAllRead = React96.useCallback(() => {
30946
30953
  dispatch({ type: "markAllRead" });
30947
- void _optionalChain([actionsRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.onMarkAllRead, 'optionalCall', _534 => _534()]);
30954
+ void _optionalChain([actionsRef, 'access', _531 => _531.current, 'optionalAccess', _532 => _532.onMarkAllRead, 'optionalCall', _533 => _533()]);
30948
30955
  }, []);
30949
30956
  const markSettled = React96.useCallback((id) => {
30950
30957
  dispatch({ type: "markSettled", id });
30951
- void _optionalChain([actionsRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.onMarkSettled, 'optionalCall', _537 => _537(id)]);
30958
+ void _optionalChain([actionsRef, 'access', _534 => _534.current, 'optionalAccess', _535 => _535.onMarkSettled, 'optionalCall', _536 => _536(id)]);
30952
30959
  }, []);
30953
30960
  const remove = React96.useCallback((id) => {
30954
30961
  dispatch({ type: "remove", id });
30955
- void _optionalChain([actionsRef, 'access', _538 => _538.current, 'optionalAccess', _539 => _539.onRemove, 'optionalCall', _540 => _540(id)]);
30962
+ void _optionalChain([actionsRef, 'access', _537 => _537.current, 'optionalAccess', _538 => _538.onRemove, 'optionalCall', _539 => _539(id)]);
30956
30963
  }, []);
30957
30964
  const clear = React96.useCallback(() => dispatch({ type: "clear" }), []);
30958
30965
  const open = React96.useCallback(() => setIsOpen(true), []);
@@ -30961,14 +30968,14 @@ function NotificationsProvider({
30961
30968
  const setShowPopups = React96.useCallback(
30962
30969
  (value2) => {
30963
30970
  setShowPopupsState(value2);
30964
- _optionalChain([onShowPopupsChange, 'optionalCall', _541 => _541(value2)]);
30971
+ _optionalChain([onShowPopupsChange, 'optionalCall', _540 => _540(value2)]);
30965
30972
  },
30966
30973
  [onShowPopupsChange]
30967
30974
  );
30968
30975
  const setShowDesktopPopups = React96.useCallback(
30969
30976
  (value2) => {
30970
30977
  setShowDesktopPopupsState(value2);
30971
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _542 => _542(value2)]);
30978
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _541 => _541(value2)]);
30972
30979
  },
30973
30980
  [onShowDesktopPopupsChange]
30974
30981
  );
@@ -31103,7 +31110,7 @@ function NotificationTile({
31103
31110
  if (!counting) return;
31104
31111
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
31105
31112
  const timer = window.setTimeout(() => {
31106
- _optionalChain([onSettle, 'optionalCall', _543 => _543(id)]);
31113
+ _optionalChain([onSettle, 'optionalCall', _542 => _542(id)]);
31107
31114
  }, remaining);
31108
31115
  return () => window.clearTimeout(timer);
31109
31116
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -31159,7 +31166,7 @@ function NotificationTile({
31159
31166
  }
31160
31167
  ) : null,
31161
31168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
31162
- { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _544 => _544(id)]) },
31169
+ { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _543 => _543(id)]) },
31163
31170
  { active: !isLive, label: "Mark notification complete", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { size: 16 }), onClick: () => onComplete(id) }
31164
31171
  ].map(({ active, label, icon: icon2, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31165
31172
  "button",
@@ -31322,7 +31329,7 @@ function DrawerScrollList({
31322
31329
  if (!sentinel || !root) return;
31323
31330
  const observer = new IntersectionObserver(
31324
31331
  (entries) => {
31325
- if (_optionalChain([entries, 'access', _545 => _545[0], 'optionalAccess', _546 => _546.isIntersecting])) _optionalChain([loadMoreRef, 'access', _547 => _547.current, 'optionalCall', _548 => _548()]);
31332
+ if (_optionalChain([entries, 'access', _544 => _544[0], 'optionalAccess', _545 => _545.isIntersecting])) _optionalChain([loadMoreRef, 'access', _546 => _546.current, 'optionalCall', _547 => _547()]);
31326
31333
  },
31327
31334
  { root, rootMargin: loadMoreRootMargin }
31328
31335
  );
@@ -31337,7 +31344,7 @@ function DrawerScrollList({
31337
31344
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
31338
31345
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
31339
31346
  unreadNotifications.map((n) => {
31340
- const custom = _optionalChain([renderTile, 'optionalCall', _549 => _549(n, { onComplete, onSettle, liveDurationMs })]);
31347
+ const custom = _optionalChain([renderTile, 'optionalCall', _548 => _548(n, { onComplete, onSettle, liveDurationMs })]);
31341
31348
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
31342
31349
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31343
31350
  NotificationTile,
@@ -31501,7 +31508,7 @@ function NotificationPopups({
31501
31508
  className
31502
31509
  ),
31503
31510
  children: live.map((n) => {
31504
- const custom = _optionalChain([renderTile, 'optionalCall', _550 => _550(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
31511
+ const custom = _optionalChain([renderTile, 'optionalCall', _549 => _549(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
31505
31512
  if (custom) {
31506
31513
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
31507
31514
  }
@@ -31681,21 +31688,21 @@ function transformWebinarToProgram(webinar) {
31681
31688
  // src/components/features/notifications/types.ts
31682
31689
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
31683
31690
  function isApprovalNotification(notification) {
31684
- return _optionalChain([notification, 'access', _551 => _551.meta, 'optionalAccess', _552 => _552.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
31691
+ return _optionalChain([notification, 'access', _550 => _550.meta, 'optionalAccess', _551 => _551.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
31685
31692
  }
31686
31693
  function getApprovalMeta(notification) {
31687
31694
  if (!isApprovalNotification(notification)) return null;
31688
31695
  const meta = notification.meta;
31689
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _553 => _553.approvalRequestId]);
31690
- const toolCalls = _optionalChain([meta, 'optionalAccess', _554 => _554.toolCalls]);
31696
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _552 => _552.approvalRequestId]);
31697
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _553 => _553.toolCalls]);
31691
31698
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
31692
31699
  return {
31693
31700
  approvalRequestId,
31694
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _555 => _555.dialogId]), () => ( null)),
31695
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _556 => _556.ticketId]), () => ( null)),
31696
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _557 => _557.approvalType]), () => ( null)),
31697
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _558 => _558.resolution]), () => ( null)),
31698
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _559 => _559.resolvedByName]), () => ( null)),
31701
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _554 => _554.dialogId]), () => ( null)),
31702
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _555 => _555.ticketId]), () => ( null)),
31703
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _556 => _556.approvalType]), () => ( null)),
31704
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _557 => _557.resolution]), () => ( null)),
31705
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _558 => _558.resolvedByName]), () => ( null)),
31699
31706
  toolCalls
31700
31707
  };
31701
31708
  }
@@ -31745,7 +31752,7 @@ function ApprovalRequestNotificationTile({
31745
31752
  const [processing, setProcessing] = _react.useState.call(void 0, false);
31746
31753
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
31747
31754
  const approval = getApprovalMeta(notification);
31748
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _560 => _560.resolution]));
31755
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _559 => _559.resolution]));
31749
31756
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
31750
31757
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
31751
31758
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -32049,7 +32056,7 @@ function TimeTrackerPanel({
32049
32056
  error: showFieldError ? "Required if no notes added" : void 0,
32050
32057
  disableClientFilter: !!onTicketSearch,
32051
32058
  onInputChange: (value, reason) => {
32052
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _561 => _561(value)]);
32059
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _560 => _560(value)]);
32053
32060
  }
32054
32061
  }
32055
32062
  ),
@@ -32064,7 +32071,7 @@ function TimeTrackerPanel({
32064
32071
  disabled: customerLocked,
32065
32072
  disableClientFilter: !!onCustomerSearch,
32066
32073
  onInputChange: (value, reason) => {
32067
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _562 => _562(value)]);
32074
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _561 => _561(value)]);
32068
32075
  },
32069
32076
  startAdornment: customerStartAdornment,
32070
32077
  renderOption: renderCustomerOption
@@ -32157,7 +32164,7 @@ function LastEntryRow({ entry, onClick }) {
32157
32164
  {
32158
32165
  variant: "outline",
32159
32166
  size: "icon",
32160
- onClick: () => _optionalChain([onClick, 'optionalCall', _563 => _563(entry)]),
32167
+ onClick: () => _optionalChain([onClick, 'optionalCall', _562 => _562(entry)]),
32161
32168
  disabled: !onClick,
32162
32169
  "aria-label": `Open entry: ${entry.title}`,
32163
32170
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -32201,9 +32208,9 @@ function HeaderButton({
32201
32208
  function TimeTrackerHeaderButton({ className, disabled }) {
32202
32209
  const ctx = useOptionalTimeTracker();
32203
32210
  const elapsedLabel = useTrackerClock({
32204
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _564 => _564.status]), () => ( "ready")),
32205
- runningSince: _optionalChain([ctx, 'optionalAccess', _565 => _565.runningSince]),
32206
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _566 => _566.accumulatedMs])
32211
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _563 => _563.status]), () => ( "ready")),
32212
+ runningSince: _optionalChain([ctx, 'optionalAccess', _564 => _564.runningSince]),
32213
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _565 => _565.accumulatedMs])
32207
32214
  });
32208
32215
  if (!ctx) return null;
32209
32216
  const { isOpen, open, close, status } = ctx;
@@ -32499,15 +32506,15 @@ function TicketCard({
32499
32506
  transition: sortable.transition
32500
32507
  };
32501
32508
  if (showNewMessage) style.borderColor = columnColor;
32502
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _567 => _567.deviceHostnames, 'optionalAccess', _568 => _568.length]) || ticket.organizationName);
32509
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _566 => _566.deviceHostnames, 'optionalAccess', _567 => _567.length]) || ticket.organizationName);
32503
32510
  const deviceText = [
32504
- _optionalChain([ticket, 'access', _569 => _569.deviceHostnames, 'optionalAccess', _570 => _570.join, 'call', _571 => _571(", ")]),
32511
+ _optionalChain([ticket, 'access', _568 => _568.deviceHostnames, 'optionalAccess', _569 => _569.join, 'call', _570 => _570(", ")]),
32505
32512
  ticket.organizationName
32506
32513
  ].filter(Boolean).join(", ");
32507
32514
  const handleClick = (e) => {
32508
32515
  if (sortable.isDragging) e.preventDefault();
32509
32516
  };
32510
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _572 => _572.assignees, 'optionalAccess', _573 => _573.length]) || renderAssignSlot);
32517
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _571 => _571.assignees, 'optionalAccess', _572 => _572.length]) || renderAssignSlot);
32511
32518
  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: [
32512
32519
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32513
32520
  _chunkBGD345ZVcjs.Flag02Icon,
@@ -32516,7 +32523,7 @@ function TicketCard({
32516
32523
  "aria-label": `Priority: ${ticket.priority}`
32517
32524
  }
32518
32525
  ),
32519
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _574 => _574.assignees, 'optionalAccess', _575 => _575.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
32526
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _573 => _573.assignees, 'optionalAccess', _574 => _574.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
32520
32527
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32521
32528
  SquareAvatar,
32522
32529
  {
@@ -32547,7 +32554,7 @@ function TicketCard({
32547
32554
  ] }),
32548
32555
  rightSection
32549
32556
  ] }),
32550
- _optionalChain([ticket, 'access', _576 => _576.tags, 'optionalAccess', _577 => _577.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
32557
+ _optionalChain([ticket, 'access', _575 => _575.tags, 'optionalAccess', _576 => _576.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
32551
32558
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
32552
32559
  /* @__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 }) }),
32553
32560
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -32747,7 +32754,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
32747
32754
  const observer = new IntersectionObserver(
32748
32755
  (entries) => {
32749
32756
  if (entries.some((e) => e.isIntersecting)) {
32750
- _optionalChain([loadMoreRef, 'access', _578 => _578.current, 'optionalCall', _579 => _579(columnIdRef.current)]);
32757
+ _optionalChain([loadMoreRef, 'access', _577 => _577.current, 'optionalCall', _578 => _578(columnIdRef.current)]);
32751
32758
  }
32752
32759
  },
32753
32760
  { root, rootMargin: loadMoreRootMargin }
@@ -32777,7 +32784,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
32777
32784
  ticket: t,
32778
32785
  columnId: column.id,
32779
32786
  columnColor: column.color,
32780
- href: _optionalChain([getTicketHref, 'optionalCall', _580 => _580(t.id)]),
32787
+ href: _optionalChain([getTicketHref, 'optionalCall', _579 => _579(t.id)]),
32781
32788
  renderAssignSlot,
32782
32789
  onApprove,
32783
32790
  onReject,
@@ -32877,17 +32884,17 @@ function Board({
32877
32884
  const pointer = _core.pointerWithin.call(void 0, args);
32878
32885
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
32879
32886
  const ticketHit = intersections.find(
32880
- (c) => _optionalChain([c, 'access', _581 => _581.data, 'optionalAccess', _582 => _582.droppableContainer, 'optionalAccess', _583 => _583.data, 'optionalAccess', _584 => _584.current, 'optionalAccess', _585 => _585.type]) === "ticket"
32887
+ (c) => _optionalChain([c, 'access', _580 => _580.data, 'optionalAccess', _581 => _581.droppableContainer, 'optionalAccess', _582 => _582.data, 'optionalAccess', _583 => _583.current, 'optionalAccess', _584 => _584.type]) === "ticket"
32881
32888
  );
32882
32889
  if (ticketHit) return [ticketHit];
32883
32890
  const columnHit = intersections.find(
32884
- (c) => _optionalChain([c, 'access', _586 => _586.data, 'optionalAccess', _587 => _587.droppableContainer, 'optionalAccess', _588 => _588.data, 'optionalAccess', _589 => _589.current, 'optionalAccess', _590 => _590.type]) === "column"
32891
+ (c) => _optionalChain([c, 'access', _585 => _585.data, 'optionalAccess', _586 => _586.droppableContainer, 'optionalAccess', _587 => _587.data, 'optionalAccess', _588 => _588.current, 'optionalAccess', _589 => _589.type]) === "column"
32885
32892
  );
32886
32893
  if (columnHit) {
32887
- const columnId = _optionalChain([columnHit, 'access', _591 => _591.data, 'optionalAccess', _592 => _592.droppableContainer, 'optionalAccess', _593 => _593.data, 'optionalAccess', _594 => _594.current, 'optionalAccess', _595 => _595.columnId]);
32894
+ const columnId = _optionalChain([columnHit, 'access', _590 => _590.data, 'optionalAccess', _591 => _591.droppableContainer, 'optionalAccess', _592 => _592.data, 'optionalAccess', _593 => _593.current, 'optionalAccess', _594 => _594.columnId]);
32888
32895
  const ticketsInColumn = args.droppableContainers.filter((c) => {
32889
32896
  const d = c.data.current;
32890
- return _optionalChain([d, 'optionalAccess', _596 => _596.type]) === "ticket" && d.columnId === columnId;
32897
+ return _optionalChain([d, 'optionalAccess', _595 => _595.type]) === "ticket" && d.columnId === columnId;
32891
32898
  });
32892
32899
  if (ticketsInColumn.length > 0) {
32893
32900
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -32912,20 +32919,20 @@ function Board({
32912
32919
  const overId = String(over.id);
32913
32920
  if (activeId === overId) return;
32914
32921
  const overData = over.data.current;
32915
- const fromColumnId = _optionalChain([locate, 'call', _597 => _597(items, activeId), 'optionalAccess', _598 => _598.columnId]);
32916
- const toColumnId = _optionalChain([overData, 'optionalAccess', _599 => _599.columnId]);
32922
+ const fromColumnId = _optionalChain([locate, 'call', _596 => _596(items, activeId), 'optionalAccess', _597 => _597.columnId]);
32923
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _598 => _598.columnId]);
32917
32924
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
32918
32925
  const origin = dragOriginRef.current;
32919
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _600 => _600.fromColumnId]) === toColumnId;
32926
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _599 => _599.fromColumnId]) === toColumnId;
32920
32927
  const targetCol = items.find((c) => c.id === toColumnId);
32921
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _601 => _601.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
32922
- if (_optionalChain([targetCol, 'optionalAccess', _602 => _602.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
32928
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _600 => _600.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
32929
+ if (_optionalChain([targetCol, 'optionalAccess', _601 => _601.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
32923
32930
  setItems((prev) => {
32924
32931
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
32925
32932
  const toCol = prev.find((c) => c.id === toColumnId);
32926
32933
  if (fromIndex < 0 || !toCol) return prev;
32927
32934
  let toIndex;
32928
- if (_optionalChain([overData, 'optionalAccess', _603 => _603.type]) === "column") {
32935
+ if (_optionalChain([overData, 'optionalAccess', _602 => _602.type]) === "column") {
32929
32936
  toIndex = toCol.tickets.length;
32930
32937
  } else {
32931
32938
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -32967,14 +32974,14 @@ function Board({
32967
32974
  const toColumnId = located.columnId;
32968
32975
  const isCrossColumn = origin.fromColumnId !== toColumnId;
32969
32976
  const targetCol = items.find((c) => c.id === toColumnId);
32970
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _604 => _604.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _605 => _605.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
32977
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _603 => _603.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _604 => _604.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
32971
32978
  setItems(columns);
32972
32979
  return;
32973
32980
  }
32974
32981
  let finalIndex = located.index;
32975
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _606 => _606.find, 'call', _607 => _607((c) => c.id === toColumnId), 'optionalAccess', _608 => _608.tickets]), () => ( []));
32982
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _605 => _605.find, 'call', _606 => _606((c) => c.id === toColumnId), 'optionalAccess', _607 => _607.tickets]), () => ( []));
32976
32983
  const overData = over.data.current;
32977
- if (_optionalChain([overData, 'optionalAccess', _609 => _609.type]) === "ticket") {
32984
+ if (_optionalChain([overData, 'optionalAccess', _608 => _608.type]) === "ticket") {
32978
32985
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
32979
32986
  if (overIndex >= 0 && overIndex !== located.index) {
32980
32987
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -32994,8 +33001,8 @@ function Board({
32994
33001
  ticketId: origin.ticketId,
32995
33002
  fromColumnId: origin.fromColumnId,
32996
33003
  toColumnId,
32997
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _610 => _610[finalIndex - 1], 'optionalAccess', _611 => _611.id]), () => ( null)),
32998
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _612 => _612[finalIndex + 1], 'optionalAccess', _613 => _613.id]), () => ( null))
33004
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _609 => _609[finalIndex - 1], 'optionalAccess', _610 => _610.id]), () => ( null)),
33005
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _611 => _611[finalIndex + 1], 'optionalAccess', _612 => _612.id]), () => ( null))
32999
33006
  });
33000
33007
  };
33001
33008
  const handleDragCancel = () => {
@@ -33024,8 +33031,8 @@ function Board({
33024
33031
  children: items.map((column, i) => {
33025
33032
  const prev = items[i - 1];
33026
33033
  const next = items[i + 1];
33027
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _614 => _614.system]));
33028
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _615 => _615.system]));
33034
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _613 => _613.system]));
33035
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _614 => _614.system]));
33029
33036
  const showGap = i > 0 && !joinLeft;
33030
33037
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
33031
33038
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -33078,7 +33085,7 @@ function Board({
33078
33085
  {
33079
33086
  ticket: activeTicket.ticket,
33080
33087
  columnId: activeTicket.columnId,
33081
- columnColor: _optionalChain([items, 'access', _616 => _616.find, 'call', _617 => _617((c) => c.id === activeTicket.columnId), 'optionalAccess', _618 => _618.color]),
33088
+ columnColor: _optionalChain([items, 'access', _615 => _615.find, 'call', _616 => _616((c) => c.id === activeTicket.columnId), 'optionalAccess', _617 => _617.color]),
33082
33089
  isOverlay: true
33083
33090
  }
33084
33091
  ) : null })
@@ -33094,7 +33101,7 @@ function locate(cols, ticketId) {
33094
33101
  return null;
33095
33102
  }
33096
33103
  function findIndexInColumn(cols, columnId, ticketId) {
33097
- return _nullishCoalesce(_optionalChain([cols, 'access', _619 => _619.find, 'call', _620 => _620((c) => c.id === columnId), 'optionalAccess', _621 => _621.tickets, 'access', _622 => _622.findIndex, 'call', _623 => _623((t) => t.id === ticketId)]), () => ( -1));
33104
+ return _nullishCoalesce(_optionalChain([cols, 'access', _618 => _618.find, 'call', _619 => _619((c) => c.id === columnId), 'optionalAccess', _620 => _620.tickets, 'access', _621 => _621.findIndex, 'call', _622 => _622((t) => t.id === ticketId)]), () => ( -1));
33098
33105
  }
33099
33106
 
33100
33107
  // src/components/features/board/types.ts
@@ -33342,7 +33349,7 @@ function Header2({ config, platform }) {
33342
33349
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
33343
33350
  "flex justify-start w-full",
33344
33351
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
33345
- index < (_nullishCoalesce(_optionalChain([item, 'access', _624 => _624.children, 'optionalAccess', _625 => _625.length]), () => ( 0))) - 1 && "mb-1",
33352
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _623 => _623.children, 'optionalAccess', _624 => _624.length]), () => ( 0))) - 1 && "mb-1",
33346
33353
  "text-ods-text-primary",
33347
33354
  // All dropdown items use primary text color
33348
33355
  child.isActive && "bg-ods-bg-hover"
@@ -33434,7 +33441,7 @@ function Header2({ config, platform }) {
33434
33441
  style: config.style,
33435
33442
  children: [
33436
33443
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
33437
- _optionalChain([config, 'access', _626 => _626.actions, 'optionalAccess', _627 => _627.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
33444
+ _optionalChain([config, 'access', _625 => _625.actions, 'optionalAccess', _626 => _626.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
33438
33445
  /* @__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 })
33439
33446
  ] }),
33440
33447
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33451,7 +33458,7 @@ function Header2({ config, platform }) {
33451
33458
  }
33452
33459
  ),
33453
33460
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
33454
- _optionalChain([config, 'access', _628 => _628.actions, 'optionalAccess', _629 => _629.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
33461
+ _optionalChain([config, 'access', _627 => _627.actions, 'optionalAccess', _628 => _628.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
33455
33462
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33456
33463
  _chunkNYIZVI4Icjs.Button,
33457
33464
  {
@@ -33459,10 +33466,10 @@ function Header2({ config, platform }) {
33459
33466
  size: "icon",
33460
33467
  className: "flex md:hidden",
33461
33468
  onClick: () => {
33462
- _optionalChain([config, 'access', _630 => _630.mobile, 'optionalAccess', _631 => _631.onToggle, 'optionalCall', _632 => _632()]);
33469
+ _optionalChain([config, 'access', _629 => _629.mobile, 'optionalAccess', _630 => _630.onToggle, 'optionalCall', _631 => _631()]);
33463
33470
  },
33464
- "aria-label": _optionalChain([config, 'access', _633 => _633.mobile, 'optionalAccess', _634 => _634.isOpen]) ? "Close menu" : "Open menu",
33465
- leftIcon: _optionalChain([config, 'access', _635 => _635.mobile, 'optionalAccess', _636 => _636.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
33471
+ "aria-label": _optionalChain([config, 'access', _632 => _632.mobile, 'optionalAccess', _633 => _633.isOpen]) ? "Close menu" : "Open menu",
33472
+ leftIcon: _optionalChain([config, 'access', _634 => _634.mobile, 'optionalAccess', _635 => _635.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
33466
33473
  }
33467
33474
  )
33468
33475
  ] })
@@ -33479,10 +33486,10 @@ function Header2({ config, platform }) {
33479
33486
  // src/components/navigation/header-skeleton.tsx
33480
33487
 
33481
33488
  function HeaderSkeleton({ config }) {
33482
- const showNavigation = _optionalChain([config, 'optionalAccess', _637 => _637.navigation]) && config.navigation.items.length > 0;
33483
- const showActions = _optionalChain([config, 'optionalAccess', _638 => _638.actions, 'optionalAccess', _639 => _639.right]) && config.actions.right.length > 0;
33484
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _640 => _640.mobile, 'optionalAccess', _641 => _641.enabled]);
33485
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _642 => _642.className, 'optionalAccess', _643 => _643.includes, 'call', _644 => _644("admin")]);
33489
+ const showNavigation = _optionalChain([config, 'optionalAccess', _636 => _636.navigation]) && config.navigation.items.length > 0;
33490
+ const showActions = _optionalChain([config, 'optionalAccess', _637 => _637.actions, 'optionalAccess', _638 => _638.right]) && config.actions.right.length > 0;
33491
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _639 => _639.mobile, 'optionalAccess', _640 => _640.enabled]);
33492
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _641 => _641.className, 'optionalAccess', _642 => _642.includes, 'call', _643 => _643("admin")]);
33486
33493
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33487
33494
  "header",
33488
33495
  {
@@ -33491,11 +33498,11 @@ function HeaderSkeleton({ config }) {
33491
33498
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
33492
33499
  "px-6 py-3",
33493
33500
  "transition-opacity duration-300 ease-in-out",
33494
- _optionalChain([config, 'optionalAccess', _645 => _645.className])
33501
+ _optionalChain([config, 'optionalAccess', _644 => _644.className])
33495
33502
  ),
33496
33503
  children: [
33497
33504
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
33498
- isAdminHeader && _optionalChain([config, 'optionalAccess', _646 => _646.actions, 'optionalAccess', _647 => _647.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" }) }),
33505
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _645 => _645.actions, 'optionalAccess', _646 => _646.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" }) }),
33499
33506
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
33500
33507
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
33501
33508
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -33503,8 +33510,8 @@ function HeaderSkeleton({ config }) {
33503
33510
  ] }),
33504
33511
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
33505
33512
  "hidden md:flex items-center gap-2",
33506
- _optionalChain([config, 'optionalAccess', _648 => _648.navigation, 'optionalAccess', _649 => _649.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
33507
- _optionalChain([config, 'optionalAccess', _650 => _650.navigation, 'optionalAccess', _651 => _651.position]) === "right" && "ml-auto mr-4"
33513
+ _optionalChain([config, 'optionalAccess', _647 => _647.navigation, 'optionalAccess', _648 => _648.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
33514
+ _optionalChain([config, 'optionalAccess', _649 => _649.navigation, 'optionalAccess', _650 => _650.position]) === "right" && "ml-auto mr-4"
33508
33515
  ), children: [
33509
33516
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
33510
33517
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -33552,7 +33559,7 @@ function MobileNavPanel({ isOpen, config }) {
33552
33559
  _react.useEffect.call(void 0, () => {
33553
33560
  const handleKeyDown = (e) => {
33554
33561
  if (e.key === "Escape" && isOpen) {
33555
- _optionalChain([config, 'access', _652 => _652.onClose, 'optionalCall', _653 => _653()]);
33562
+ _optionalChain([config, 'access', _651 => _651.onClose, 'optionalCall', _652 => _652()]);
33556
33563
  }
33557
33564
  };
33558
33565
  if (isOpen) {
@@ -33569,7 +33576,7 @@ function MobileNavPanel({ isOpen, config }) {
33569
33576
  if (item.onClick) {
33570
33577
  item.onClick();
33571
33578
  }
33572
- _optionalChain([config, 'access', _654 => _654.onClose, 'optionalCall', _655 => _655()]);
33579
+ _optionalChain([config, 'access', _653 => _653.onClose, 'optionalCall', _654 => _654()]);
33573
33580
  };
33574
33581
  if (item.href) {
33575
33582
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33739,7 +33746,7 @@ function SlidingSidebar({ config }) {
33739
33746
  variant: "transparent",
33740
33747
  size: "default",
33741
33748
  onClick: () => {
33742
- _optionalChain([item, 'access', _656 => _656.onClick, 'optionalCall', _657 => _657()]);
33749
+ _optionalChain([item, 'access', _655 => _655.onClick, 'optionalCall', _656 => _656()]);
33743
33750
  config.onClose();
33744
33751
  },
33745
33752
  leftIcon: item.icon,
@@ -33762,7 +33769,7 @@ function SlidingSidebar({ config }) {
33762
33769
  variant: "transparent",
33763
33770
  size: "default",
33764
33771
  onClick: () => {
33765
- _optionalChain([item, 'access', _658 => _658.onClick, 'optionalCall', _659 => _659()]);
33772
+ _optionalChain([item, 'access', _657 => _657.onClick, 'optionalCall', _658 => _658()]);
33766
33773
  config.onClose();
33767
33774
  },
33768
33775
  leftIcon: item.icon,
@@ -33889,7 +33896,7 @@ function StickySectionNav({
33889
33896
  ] });
33890
33897
  }
33891
33898
  function useSectionNavigation(sections, options) {
33892
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _660 => _660[0], 'optionalAccess', _661 => _661.id]) || "");
33899
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _659 => _659[0], 'optionalAccess', _660 => _660.id]) || "");
33893
33900
  const isScrollingFromClick = _react.useRef.call(void 0, false);
33894
33901
  const { offset: offset2 = 100 } = options || {};
33895
33902
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -33913,7 +33920,7 @@ function useSectionNavigation(sections, options) {
33913
33920
  const handleScroll = () => {
33914
33921
  if (isScrollingFromClick.current) return;
33915
33922
  const scrollPosition = window.scrollY + offset2 + 50;
33916
- let currentSection = _optionalChain([sections, 'access', _662 => _662[0], 'optionalAccess', _663 => _663.id]) || "";
33923
+ let currentSection = _optionalChain([sections, 'access', _661 => _661[0], 'optionalAccess', _662 => _662.id]) || "";
33917
33924
  for (let i = sections.length - 1; i >= 0; i--) {
33918
33925
  const element = document.getElementById(sections[i].id);
33919
33926
  if (element && scrollPosition >= element.offsetTop) {
@@ -34025,17 +34032,7 @@ function NavigationSidebarItemButton({
34025
34032
  children: item.label
34026
34033
  }
34027
34034
  ),
34028
- hasUnread && showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-ods-accent flex items-center justify-center flex-shrink-0 p-2 rounded-md size-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium text-ods-text-on-accent", children: unreadCount > 99 ? "99+" : unreadCount }) }),
34029
- item.badge && showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34030
- "span",
34031
- {
34032
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
34033
- "text-sm flex-shrink-0 transition-colors duration-300",
34034
- isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
34035
- ),
34036
- children: item.badge
34037
- }
34038
- )
34035
+ hasUnread && showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-ods-accent flex items-center justify-center flex-shrink-0 p-2 rounded-md size-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5 text-ods-text-on-accent", children: unreadCount > 99 ? "99+" : unreadCount }) })
34039
34036
  ]
34040
34037
  }
34041
34038
  );
@@ -34114,7 +34111,7 @@ function NavigationSidebar({ config, disabled = false }) {
34114
34111
  } else {
34115
34112
  setDesktopMinimized((prev) => !prev);
34116
34113
  }
34117
- _optionalChain([config, 'access', _664 => _664.onToggleMinimized, 'optionalCall', _665 => _665()]);
34114
+ _optionalChain([config, 'access', _663 => _663.onToggleMinimized, 'optionalCall', _664 => _664()]);
34118
34115
  }, [isTablet, setDesktopMinimized, config]);
34119
34116
  const closeOverlay = _react.useCallback.call(void 0, () => {
34120
34117
  setTabletMinimized(true);
@@ -34128,11 +34125,11 @@ function NavigationSidebar({ config, disabled = false }) {
34128
34125
  return () => document.removeEventListener("keydown", handleKeyDown);
34129
34126
  }, [isOverlayOpen, closeOverlay]);
34130
34127
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
34131
- _optionalChain([event, 'optionalAccess', _666 => _666.stopPropagation, 'call', _667 => _667()]);
34128
+ _optionalChain([event, 'optionalAccess', _665 => _665.stopPropagation, 'call', _666 => _666()]);
34132
34129
  if (item.onClick) {
34133
34130
  item.onClick();
34134
34131
  } else if (item.path) {
34135
- _optionalChain([config, 'access', _668 => _668.onNavigate, 'optionalCall', _669 => _669(item.path)]);
34132
+ _optionalChain([config, 'access', _667 => _667.onNavigate, 'optionalCall', _668 => _668(item.path)]);
34136
34133
  }
34137
34134
  if (isTablet) setTabletMinimized(true);
34138
34135
  }, [config, isTablet]);
@@ -34181,7 +34178,12 @@ function NavigationSidebar({ config, disabled = false }) {
34181
34178
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
34182
34179
  "flex-col hidden md:flex flex-shrink-0",
34183
34180
  "bg-ods-card border-r border-ods-border",
34184
- isTablet ? "fixed top-0 left-0 h-screen z-[45]" : "relative h-full",
34181
+ // Tablet: float the sidebar over content. Anchored to the layout row
34182
+ // (`absolute` within AppLayout's `relative` row) — NOT the viewport —
34183
+ // so an optional `topBar` above the row is not overlapped. With no
34184
+ // topBar the row spans the full viewport, so this is visually
34185
+ // identical to a viewport-fixed sidebar.
34186
+ isTablet ? "absolute inset-y-0 left-0 z-[45]" : "relative h-full",
34185
34187
  transitionsEnabled && "transition-[width] duration-300",
34186
34188
  config.className
34187
34189
  ),
@@ -34252,11 +34254,11 @@ function HeaderGlobalSearch({
34252
34254
  };
34253
34255
  const handleSubmit = (e) => {
34254
34256
  e.preventDefault();
34255
- _optionalChain([onSubmit, 'optionalCall', _670 => _670(currentValue)]);
34257
+ _optionalChain([onSubmit, 'optionalCall', _669 => _669(currentValue)]);
34256
34258
  };
34257
34259
  const handleKeyDown = (e) => {
34258
34260
  if (e.key === "Enter") {
34259
- _optionalChain([onSubmit, 'optionalCall', _671 => _671(currentValue)]);
34261
+ _optionalChain([onSubmit, 'optionalCall', _670 => _670(currentValue)]);
34260
34262
  }
34261
34263
  };
34262
34264
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -34350,8 +34352,8 @@ function HeaderOrganizationFilter({
34350
34352
  className
34351
34353
  }) {
34352
34354
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
34353
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _672 => _672.name]) || "All Organizations";
34354
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _673 => _673.deviceCount]), () => ( totalDeviceCount));
34355
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _671 => _671.name]) || "All Organizations";
34356
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _672 => _672.deviceCount]), () => ( totalDeviceCount));
34355
34357
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenu, { children: [
34356
34358
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34357
34359
  "button",
@@ -34376,11 +34378,11 @@ function HeaderOrganizationFilter({
34376
34378
  }
34377
34379
  ) }),
34378
34380
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
34379
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _674 => _674("")]), children: "All Organizations" }),
34381
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _673 => _673("")]), children: "All Organizations" }),
34380
34382
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34381
34383
  _chunkNYIZVI4Icjs.DropdownMenuItem,
34382
34384
  {
34383
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _675 => _675(org.id)]),
34385
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _674 => _674(org.id)]),
34384
34386
  children: org.name
34385
34387
  },
34386
34388
  org.id
@@ -34570,9 +34572,9 @@ function NotificationsHeaderButton({
34570
34572
  dimmedClass
34571
34573
  }) {
34572
34574
  const ctx = useOptionalNotifications();
34573
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _676 => _676.unreadCount]), () => ( fallbackUnreadCount))) > 0;
34574
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _677 => _677.isOpen]), () => ( false));
34575
- const onClick = _optionalChain([ctx, 'optionalAccess', _678 => _678.toggle]);
34575
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _675 => _675.unreadCount]), () => ( fallbackUnreadCount))) > 0;
34576
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _676 => _676.isOpen]), () => ( false));
34577
+ const onClick = _optionalChain([ctx, 'optionalAccess', _677 => _677.toggle]);
34576
34578
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34577
34579
  HeaderButton,
34578
34580
  {
@@ -34636,7 +34638,7 @@ var MobileBurgerMenu = React118.default.memo(function MobileBurgerMenu2({
34636
34638
  if (item.onClick) {
34637
34639
  item.onClick();
34638
34640
  } else if (item.path) {
34639
- _optionalChain([config, 'access', _679 => _679.onNavigate, 'optionalCall', _680 => _680(item.path)]);
34641
+ _optionalChain([config, 'access', _678 => _678.onNavigate, 'optionalCall', _679 => _679(item.path)]);
34640
34642
  }
34641
34643
  onClose();
34642
34644
  }, [config, onClose]);
@@ -34814,7 +34816,8 @@ function AppLayout({
34814
34816
  className,
34815
34817
  mobileBurgerMenuProps,
34816
34818
  disabled = false,
34817
- drawer
34819
+ drawer,
34820
+ topBar
34818
34821
  }) {
34819
34822
  const [mobileMenuOpen, setMobileMenuOpen] = _react.useState.call(void 0, false);
34820
34823
  const [drawerContainer, setDrawerContainer] = _react.useState.call(void 0, null);
@@ -34838,40 +34841,43 @@ function AppLayout({
34838
34841
  return () => drawerHandlesRef.current.delete(handle);
34839
34842
  }
34840
34843
  }), []);
34841
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex h-screen bg-ods-bg", className), children: [
34842
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled }),
34843
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34844
- MobileBurgerMenu,
34845
- {
34846
- ...mobileBurgerMenuProps,
34847
- isOpen: mobileMenuOpen,
34848
- onClose: handleCloseMobileMenu,
34849
- config: sidebarConfig,
34850
- disabled
34851
- }
34852
- ),
34853
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col overflow-hidden", children: [
34844
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col h-screen bg-ods-bg", className), children: [
34845
+ topBar,
34846
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 min-h-0 relative", children: [
34847
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled }),
34854
34848
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34855
- AppHeader,
34849
+ MobileBurgerMenu,
34856
34850
  {
34857
- ...headerProps,
34858
- isMobileMenuOpen: mobileMenuOpen,
34859
- onToggleMobileMenu: handleToggleMobileMenu,
34851
+ ...mobileBurgerMenuProps,
34852
+ isOpen: mobileMenuOpen,
34853
+ onClose: handleCloseMobileMenu,
34854
+ config: sidebarConfig,
34860
34855
  disabled
34861
34856
  }
34862
34857
  ),
34863
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NotificationDrawer, {}),
34864
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34865
- "div",
34866
- {
34867
- ref: setDrawerContainer,
34868
- className: "flex-1 flex flex-col relative overflow-hidden",
34869
- children: [
34870
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex-1 overflow-y-auto", mainClassName), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: _nullishCoalesce(loadingFallback, () => ( null)), children }) }),
34871
- drawer
34872
- ]
34873
- }
34874
- )
34858
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col overflow-hidden", children: [
34859
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34860
+ AppHeader,
34861
+ {
34862
+ ...headerProps,
34863
+ isMobileMenuOpen: mobileMenuOpen,
34864
+ onToggleMobileMenu: handleToggleMobileMenu,
34865
+ disabled
34866
+ }
34867
+ ),
34868
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NotificationDrawer, {}),
34869
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34870
+ "div",
34871
+ {
34872
+ ref: setDrawerContainer,
34873
+ className: "flex-1 flex flex-col relative overflow-hidden",
34874
+ children: [
34875
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex-1 overflow-y-auto", mainClassName), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: _nullishCoalesce(loadingFallback, () => ( null)), children }) }),
34876
+ drawer
34877
+ ]
34878
+ }
34879
+ )
34880
+ ] })
34875
34881
  ] })
34876
34882
  ] }) }) });
34877
34883
  }
@@ -34897,7 +34903,7 @@ var AppLayoutDrawerRoot = ({
34897
34903
  const handleOpenChange = React111.useCallback(
34898
34904
  (next) => {
34899
34905
  if (!isControlled) setInternalOpen(next);
34900
- _optionalChain([onOpenChange, 'optionalCall', _681 => _681(next)]);
34906
+ _optionalChain([onOpenChange, 'optionalCall', _680 => _680(next)]);
34901
34907
  },
34902
34908
  [isControlled, onOpenChange]
34903
34909
  );
@@ -34907,10 +34913,10 @@ var AppLayoutDrawerRoot = ({
34907
34913
  const handleOpenChangeRef = React111.useRef(handleOpenChange);
34908
34914
  handleOpenChangeRef.current = handleOpenChange;
34909
34915
  React111.useEffect(() => {
34910
- if (open) _optionalChain([coordination, 'optionalAccess', _682 => _682.notifyDrawerDidOpen, 'call', _683 => _683()]);
34916
+ if (open) _optionalChain([coordination, 'optionalAccess', _681 => _681.notifyDrawerDidOpen, 'call', _682 => _682()]);
34911
34917
  }, [open, coordination]);
34912
34918
  React111.useEffect(() => {
34913
- return _optionalChain([coordination, 'optionalAccess', _684 => _684.registerDrawer, 'call', _685 => _685({
34919
+ return _optionalChain([coordination, 'optionalAccess', _683 => _683.registerDrawer, 'call', _684 => _684({
34914
34920
  close: () => {
34915
34921
  if (openRef.current) handleOpenChangeRef.current(false);
34916
34922
  }
@@ -35294,10 +35300,10 @@ var AppLayoutDrawerContent = React111.forwardRef(
35294
35300
  ),
35295
35301
  style,
35296
35302
  onInteractOutside: (event) => {
35297
- _optionalChain([onInteractOutside, 'optionalCall', _686 => _686(event)]);
35303
+ _optionalChain([onInteractOutside, 'optionalCall', _685 => _685(event)]);
35298
35304
  if (event.defaultPrevented) return;
35299
35305
  const target = event.target;
35300
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _687 => _687.contains, 'call', _688 => _688(target)]);
35306
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _686 => _686.contains, 'call', _687 => _687(target)]);
35301
35307
  if (!isInsideContainer) {
35302
35308
  event.preventDefault();
35303
35309
  return;
@@ -35710,7 +35716,7 @@ var ShellTypeBadge = ({
35710
35716
  className,
35711
35717
  iconClassName
35712
35718
  }) => {
35713
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _689 => _689.toUpperCase, 'call', _690 => _690()]);
35719
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _688 => _688.toUpperCase, 'call', _689 => _689()]);
35714
35720
  const label = getShellLabel(normalizedType);
35715
35721
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
35716
35722
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -36097,12 +36103,12 @@ function OnboardingWalkthrough({
36097
36103
  }
36098
36104
  }, [state.completedSteps, markComplete]);
36099
36105
  const handleStepSkip = (step) => {
36100
- _optionalChain([step, 'access', _691 => _691.onSkip, 'optionalCall', _692 => _692()]);
36106
+ _optionalChain([step, 'access', _690 => _690.onSkip, 'optionalCall', _691 => _691()]);
36101
36107
  markSkipped(step.id);
36102
36108
  };
36103
36109
  const handleDismiss = () => {
36104
36110
  dismissOnboarding();
36105
- _optionalChain([onDismiss, 'optionalCall', _693 => _693()]);
36111
+ _optionalChain([onDismiss, 'optionalCall', _692 => _692()]);
36106
36112
  };
36107
36113
  if (state.dismissed) {
36108
36114
  return null;
@@ -36232,7 +36238,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
36232
36238
  onKeyDown: (e) => {
36233
36239
  if (e.key === "Enter" || e.key === " ") {
36234
36240
  e.preventDefault();
36235
- _optionalChain([onClick, 'optionalCall', _694 => _694()]);
36241
+ _optionalChain([onClick, 'optionalCall', _693 => _693()]);
36236
36242
  }
36237
36243
  },
36238
36244
  children: [
@@ -36333,7 +36339,7 @@ var LogsList = React115.forwardRef(({
36333
36339
  log,
36334
36340
  isLast: index === logs.length - 1,
36335
36341
  showConnector,
36336
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _695 => _695(log)])
36342
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _694 => _694(log)])
36337
36343
  },
36338
36344
  log.id
36339
36345
  ))
@@ -36434,7 +36440,7 @@ var Slider = React117.forwardRef(
36434
36440
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
36435
36441
  const handleChange = (e) => {
36436
36442
  const newValue = [Number(e.target.value)];
36437
- _optionalChain([onValueChange, 'optionalCall', _696 => _696(newValue)]);
36443
+ _optionalChain([onValueChange, 'optionalCall', _695 => _695(newValue)]);
36438
36444
  };
36439
36445
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36440
36446
  "input",
@@ -36868,7 +36874,7 @@ function CursorPaginationSimple({
36868
36874
  {
36869
36875
  variant: "transparent",
36870
36876
  size: "icon",
36871
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _697 => _697("")]),
36877
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _696 => _696("")]),
36872
36878
  disabled: !hasPreviousPage || loading,
36873
36879
  className: "h-8 w-8",
36874
36880
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -36880,7 +36886,7 @@ function CursorPaginationSimple({
36880
36886
  {
36881
36887
  variant: "transparent",
36882
36888
  size: "icon",
36883
- onClick: () => _optionalChain([onNext, 'optionalCall', _698 => _698("")]),
36889
+ onClick: () => _optionalChain([onNext, 'optionalCall', _697 => _697("")]),
36884
36890
  disabled: !hasNextPage || loading,
36885
36891
  className: "h-8 w-8",
36886
36892
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -36900,8 +36906,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
36900
36906
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
36901
36907
  title: _nullishCoalesce(message2, () => ( "No results found")),
36902
36908
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
36903
- buttonLabel: _optionalChain([action, 'optionalAccess', _699 => _699.label]),
36904
- onButtonClick: _optionalChain([action, 'optionalAccess', _700 => _700.onClick]),
36909
+ buttonLabel: _optionalChain([action, 'optionalAccess', _698 => _698.label]),
36910
+ onButtonClick: _optionalChain([action, 'optionalAccess', _699 => _699.onClick]),
36905
36911
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
36906
36912
  }
36907
36913
  );
@@ -36922,7 +36928,7 @@ function TableColumnFilterDropdown({
36922
36928
  placement = "bottom-start",
36923
36929
  dropdownClassName = "min-w-[240px]"
36924
36930
  }) {
36925
- const activeCount = _optionalChain([filters, 'optionalAccess', _701 => _701[columnKey], 'optionalAccess', _702 => _702.length]) || 0;
36931
+ const activeCount = _optionalChain([filters, 'optionalAccess', _700 => _700[columnKey], 'optionalAccess', _701 => _701.length]) || 0;
36926
36932
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36927
36933
  FiltersDropdown,
36928
36934
  {
@@ -36965,7 +36971,7 @@ function TableColumnFilterDropdown({
36965
36971
  delete newFilters[columnKey];
36966
36972
  onFilterChange(newFilters);
36967
36973
  },
36968
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _703 => _703[columnKey]]) || [] },
36974
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _702 => _702[columnKey]]) || [] },
36969
36975
  placement,
36970
36976
  dropdownClassName
36971
36977
  }
@@ -37175,7 +37181,7 @@ function TableCardSkeleton({
37175
37181
  className,
37176
37182
  rowClassName
37177
37183
  }) {
37178
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _704 => _704.key]);
37184
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _703 => _703.key]);
37179
37185
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37180
37186
  "div",
37181
37187
  {
@@ -37268,7 +37274,7 @@ function TableRow({
37268
37274
  const keys = column.key.split(".");
37269
37275
  let value = item;
37270
37276
  for (const key of keys) {
37271
- value = _optionalChain([value, 'optionalAccess', _705 => _705[key]]);
37277
+ value = _optionalChain([value, 'optionalAccess', _704 => _704[key]]);
37272
37278
  }
37273
37279
  if (value === null || value === void 0) {
37274
37280
  return "-";
@@ -37357,7 +37363,7 @@ function useTableMotion(enabled) {
37357
37363
  // src/components/ui/table/table.tsx
37358
37364
 
37359
37365
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
37360
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _706 => _706.length])) || Boolean(renderRowActions);
37366
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _705 => _705.length])) || Boolean(renderRowActions);
37361
37367
  const result = [...columns];
37362
37368
  if (hasActions) {
37363
37369
  const actionsColumn = {
@@ -37453,7 +37459,7 @@ function Table({
37453
37459
  return rowKey(item);
37454
37460
  }
37455
37461
  const key = item[rowKey];
37456
- return _optionalChain([key, 'optionalAccess', _707 => _707.toString, 'call', _708 => _708()]) || index.toString();
37462
+ return _optionalChain([key, 'optionalAccess', _706 => _706.toString, 'call', _707 => _707()]) || index.toString();
37457
37463
  };
37458
37464
  const getRowClassName = (item, index) => {
37459
37465
  if (typeof rowClassName === "function") {
@@ -37487,23 +37493,23 @@ function Table({
37487
37493
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
37488
37494
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
37489
37495
  const sentinelRef = _react.useRef.call(void 0, null);
37490
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _709 => _709.onLoadMore]));
37491
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _710 => _710.onLoadMore]);
37496
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _708 => _708.onLoadMore]));
37497
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _709 => _709.onLoadMore]);
37492
37498
  _react.useEffect.call(void 0, () => {
37493
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _711 => _711.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
37499
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _710 => _710.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
37494
37500
  const sentinel = sentinelRef.current;
37495
37501
  if (!sentinel) return;
37496
37502
  const observer = new IntersectionObserver(
37497
37503
  (entries) => {
37498
- if (_optionalChain([entries, 'access', _712 => _712[0], 'optionalAccess', _713 => _713.isIntersecting])) {
37499
- _optionalChain([onLoadMoreRef, 'access', _714 => _714.current, 'optionalCall', _715 => _715()]);
37504
+ if (_optionalChain([entries, 'access', _711 => _711[0], 'optionalAccess', _712 => _712.isIntersecting])) {
37505
+ _optionalChain([onLoadMoreRef, 'access', _713 => _713.current, 'optionalCall', _714 => _714()]);
37500
37506
  }
37501
37507
  },
37502
37508
  { rootMargin: "200px" }
37503
37509
  );
37504
37510
  observer.observe(sentinel);
37505
37511
  return () => observer.disconnect();
37506
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _716 => _716.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _717 => _717.isFetchingNextPage])]);
37512
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _715 => _715.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _716 => _716.isFetchingNextPage])]);
37507
37513
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
37508
37514
  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: [
37509
37515
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -37573,14 +37579,14 @@ function Table({
37573
37579
  selected: isRowSelected(item),
37574
37580
  onSelect: handleSelectRow,
37575
37581
  animateRowReorder,
37576
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _718 => _718.motionDiv])
37582
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _717 => _717.motionDiv])
37577
37583
  },
37578
37584
  getRowKey(item, index)
37579
37585
  ));
37580
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _719 => _719.LayoutGroup]);
37586
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _718 => _718.LayoutGroup]);
37581
37587
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
37582
37588
  })(),
37583
- _optionalChain([infiniteScroll, 'optionalAccess', _720 => _720.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37589
+ _optionalChain([infiniteScroll, 'optionalAccess', _719 => _719.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37584
37590
  TableCardSkeleton,
37585
37591
  {
37586
37592
  columns,
@@ -37589,7 +37595,7 @@ function Table({
37589
37595
  hasChevron: Boolean(rowHref)
37590
37596
  }
37591
37597
  ),
37592
- _optionalChain([infiniteScroll, 'optionalAccess', _721 => _721.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
37598
+ _optionalChain([infiniteScroll, 'optionalAccess', _720 => _720.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
37593
37599
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37594
37600
  "div",
37595
37601
  {
@@ -37947,7 +37953,7 @@ function QueryReportTable({
37947
37953
  );
37948
37954
  const handleExport = () => {
37949
37955
  exportToCSV(data, columns, exportFilename);
37950
- _optionalChain([onExport, 'optionalCall', _722 => _722()]);
37956
+ _optionalChain([onExport, 'optionalCall', _721 => _721()]);
37951
37957
  };
37952
37958
  const tableMinWidth = columns.length * (columnWidth + 16);
37953
37959
  const {
@@ -38120,7 +38126,7 @@ function DataTableColumnFilter({
38120
38126
  align = "left"
38121
38127
  }) {
38122
38128
  const currentValue = column.getFilterValue();
38123
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _723 => _723.length]), () => ( 0));
38129
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _722 => _722.length]), () => ( 0));
38124
38130
  const sections = _react.useMemo.call(void 0,
38125
38131
  () => [
38126
38132
  {
@@ -38200,7 +38206,7 @@ function DataTableHeader({
38200
38206
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
38201
38207
  if (header.isPlaceholder) return false;
38202
38208
  if (isLgUp) return true;
38203
- return Boolean(_optionalChain([header, 'access', _724 => _724.column, 'access', _725 => _725.columnDef, 'access', _726 => _726.meta, 'optionalAccess', _727 => _727.filter]));
38209
+ return Boolean(_optionalChain([header, 'access', _723 => _723.column, 'access', _724 => _724.columnDef, 'access', _725 => _725.meta, 'optionalAccess', _726 => _726.filter]));
38204
38210
  });
38205
38211
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38206
38212
  "div",
@@ -38230,20 +38236,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
38230
38236
  if (header.isPlaceholder) return null;
38231
38237
  const column = header.column;
38232
38238
  const meta = column.columnDef.meta;
38233
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _728 => _728.filter]));
38234
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _729 => _729.align]), () => ( "left"));
38235
- const canSort = _optionalChain([meta, 'optionalAccess', _730 => _730.sortable]) === true;
38236
- const sortDir = _optionalChain([sort, 'optionalAccess', _731 => _731.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
38239
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _727 => _727.filter]));
38240
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _728 => _728.align]), () => ( "left"));
38241
+ const canSort = _optionalChain([meta, 'optionalAccess', _729 => _729.sortable]) === true;
38242
+ const sortDir = _optionalChain([sort, 'optionalAccess', _730 => _730.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
38237
38243
  if (!isLgUp && !hasFilter) return null;
38238
38244
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38239
38245
  "div",
38240
38246
  {
38241
38247
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38242
38248
  "flex items-stretch",
38243
- isLgUp && (_optionalChain([meta, 'optionalAccess', _732 => _732.width]) || "flex-1 min-w-0"),
38244
- _optionalChain([meta, 'optionalAccess', _733 => _733.headerClassName]),
38249
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _731 => _731.width]) || "flex-1 min-w-0"),
38250
+ _optionalChain([meta, 'optionalAccess', _732 => _732.headerClassName]),
38245
38251
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
38246
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _734 => _734.hideAt]))
38252
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _733 => _733.hideAt]))
38247
38253
  ),
38248
38254
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38249
38255
  DataTableColumnFilter,
@@ -38262,7 +38268,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
38262
38268
  isLgUp && alignJustify(align),
38263
38269
  canSort && "group cursor-pointer"
38264
38270
  ),
38265
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _735 => _735(column.id)]) : void 0,
38271
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _734 => _734(column.id)]) : void 0,
38266
38272
  children: [
38267
38273
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
38268
38274
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -38327,7 +38333,7 @@ function DataTableSkeleton({
38327
38333
  }) {
38328
38334
  const table = useDataTableContext();
38329
38335
  const columns = table.getVisibleFlatColumns();
38330
- const firstColumnId = _optionalChain([columns, 'access', _736 => _736[0], 'optionalAccess', _737 => _737.id]);
38336
+ const firstColumnId = _optionalChain([columns, 'access', _735 => _735[0], 'optionalAccess', _736 => _736.id]);
38331
38337
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38332
38338
  "div",
38333
38339
  {
@@ -38351,7 +38357,7 @@ function DataTableSkeleton({
38351
38357
  {
38352
38358
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38353
38359
  "flex flex-col justify-center shrink-0",
38354
- _optionalChain([meta, 'optionalAccess', _738 => _738.width]) || "flex-1"
38360
+ _optionalChain([meta, 'optionalAccess', _737 => _737.width]) || "flex-1"
38355
38361
  ),
38356
38362
  children: [
38357
38363
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -38390,6 +38396,7 @@ function DataTableRowImpl({
38390
38396
  onClick,
38391
38397
  href,
38392
38398
  compact,
38399
+ autoHeight,
38393
38400
  className,
38394
38401
  subRow
38395
38402
  }) {
@@ -38400,7 +38407,7 @@ function DataTableRowImpl({
38400
38407
  const handleClick = _react.useCallback.call(void 0,
38401
38408
  (e) => {
38402
38409
  const target = e.target;
38403
- if (!_optionalChain([containerRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.contains, 'call', _741 => _741(target)])) {
38410
+ if (!_optionalChain([containerRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.contains, 'call', _740 => _740(target)])) {
38404
38411
  if (isLinkMode) e.preventDefault();
38405
38412
  return;
38406
38413
  }
@@ -38408,7 +38415,7 @@ function DataTableRowImpl({
38408
38415
  if (isLinkMode) e.preventDefault();
38409
38416
  return;
38410
38417
  }
38411
- _optionalChain([onClick, 'optionalCall', _742 => _742(row.original)]);
38418
+ _optionalChain([onClick, 'optionalCall', _741 => _741(row.original)]);
38412
38419
  },
38413
38420
  [onClick, row.original, isLinkMode]
38414
38421
  );
@@ -38423,7 +38430,7 @@ function DataTableRowImpl({
38423
38430
  {
38424
38431
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38425
38432
  "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]",
38426
- compact ? "py-[var(--spacing-system-xsf)]" : `py-0 ${ROW_HEIGHT_DESKTOP2}`,
38433
+ compact ? "py-[var(--spacing-system-xsf)]" : autoHeight ? "py-[var(--spacing-system-sf)] min-h-[68px] md:min-h-[80px]" : `py-0 ${ROW_HEIGHT_DESKTOP2}`,
38427
38434
  hasSubRow && "border-b border-ods-border"
38428
38435
  ),
38429
38436
  children: row.getVisibleCells().map((cell) => {
@@ -38433,10 +38440,10 @@ function DataTableRowImpl({
38433
38440
  {
38434
38441
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38435
38442
  "flex flex-col overflow-hidden",
38436
- alignJustify(_optionalChain([meta, 'optionalAccess', _743 => _743.align])),
38437
- _optionalChain([meta, 'optionalAccess', _744 => _744.width]) || "flex-1 min-w-0",
38438
- _optionalChain([meta, 'optionalAccess', _745 => _745.cellClassName]),
38439
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _746 => _746.hideAt]))
38443
+ alignJustify(_optionalChain([meta, 'optionalAccess', _742 => _742.align])),
38444
+ _optionalChain([meta, 'optionalAccess', _743 => _743.width]) || "flex-1 min-w-0",
38445
+ _optionalChain([meta, 'optionalAccess', _744 => _744.cellClassName]),
38446
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _745 => _745.hideAt]))
38440
38447
  ),
38441
38448
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
38442
38449
  },
@@ -38498,6 +38505,7 @@ function DataTableBody({
38498
38505
  className,
38499
38506
  rowClassName,
38500
38507
  compact,
38508
+ autoHeight,
38501
38509
  onRowClick,
38502
38510
  rowHref,
38503
38511
  minRows,
@@ -38515,7 +38523,7 @@ function DataTableBody({
38515
38523
  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: [
38516
38524
  rows.map((row, index) => {
38517
38525
  const item = row.original;
38518
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _747 => _747(item)]), () => ( void 0));
38526
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _746 => _746(item)]), () => ( void 0));
38519
38527
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
38520
38528
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38521
38529
  DataTableRow,
@@ -38524,8 +38532,9 @@ function DataTableBody({
38524
38532
  onClick: onRowClick,
38525
38533
  href,
38526
38534
  compact,
38535
+ autoHeight,
38527
38536
  className: cls,
38528
- subRow: _optionalChain([renderSubRow, 'optionalCall', _748 => _748(item)])
38537
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _747 => _747(item)])
38529
38538
  },
38530
38539
  row.id
38531
38540
  );
@@ -38580,7 +38589,7 @@ function DataTableInfiniteFooter({
38580
38589
  if (!sentinel) return;
38581
38590
  const observer = new IntersectionObserver(
38582
38591
  (entries) => {
38583
- if (_optionalChain([entries, 'access', _749 => _749[0], 'optionalAccess', _750 => _750.isIntersecting])) onLoadMoreRef.current();
38592
+ if (_optionalChain([entries, 'access', _748 => _748[0], 'optionalAccess', _749 => _749.isIntersecting])) onLoadMoreRef.current();
38584
38593
  },
38585
38594
  { rootMargin }
38586
38595
  );
@@ -38628,7 +38637,7 @@ function DataTableRowCount({
38628
38637
  const table = useDataTableContext();
38629
38638
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
38630
38639
  if (hideWhenEmpty && count === 0) return null;
38631
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _751 => _751(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
38640
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _750 => _750(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
38632
38641
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38633
38642
  "span",
38634
38643
  {
@@ -38787,7 +38796,7 @@ function SearchInput({
38787
38796
  if (!showHiddenTags) return;
38788
38797
  const handleClick = (e) => {
38789
38798
  const target = e.target;
38790
- if (!_optionalChain([hiddenTagsRef, 'access', _752 => _752.current, 'optionalAccess', _753 => _753.contains, 'call', _754 => _754(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _755 => _755.current, 'optionalAccess', _756 => _756.contains, 'call', _757 => _757(target)])) {
38799
+ if (!_optionalChain([hiddenTagsRef, 'access', _751 => _751.current, 'optionalAccess', _752 => _752.contains, 'call', _753 => _753(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _754 => _754.current, 'optionalAccess', _755 => _755.contains, 'call', _756 => _756(target)])) {
38791
38800
  setShowHiddenTags(false);
38792
38801
  }
38793
38802
  };
@@ -38835,10 +38844,10 @@ function SearchInput({
38835
38844
  } else {
38836
38845
  setInternalValue("");
38837
38846
  }
38838
- _optionalChain([inputRef, 'access', _758 => _758.current, 'optionalAccess', _759 => _759.focus, 'call', _760 => _760()]);
38847
+ _optionalChain([inputRef, 'access', _757 => _757.current, 'optionalAccess', _758 => _758.focus, 'call', _759 => _759()]);
38839
38848
  };
38840
38849
  const handleResultClick = (result, e) => {
38841
- _optionalChain([onResultSelect, 'optionalCall', _761 => _761(
38850
+ _optionalChain([onResultSelect, 'optionalCall', _760 => _760(
38842
38851
  result,
38843
38852
  e ? {
38844
38853
  metaKey: e.metaKey,
@@ -38870,7 +38879,7 @@ function SearchInput({
38870
38879
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
38871
38880
  handleResultClick(flatResults[highlightedIndex]);
38872
38881
  } else {
38873
- _optionalChain([onSubmit, 'optionalCall', _762 => _762(currentValue)]);
38882
+ _optionalChain([onSubmit, 'optionalCall', _761 => _761(currentValue)]);
38874
38883
  }
38875
38884
  break;
38876
38885
  case "Escape":
@@ -38948,7 +38957,7 @@ function SearchInput({
38948
38957
  dropdownVisible && "!border-ods-accent"
38949
38958
  ),
38950
38959
  onClick: () => {
38951
- _optionalChain([inputRef, 'access', _763 => _763.current, 'optionalAccess', _764 => _764.focus, 'call', _765 => _765()]);
38960
+ _optionalChain([inputRef, 'access', _762 => _762.current, 'optionalAccess', _763 => _763.focus, 'call', _764 => _764()]);
38952
38961
  setIsOpen(true);
38953
38962
  },
38954
38963
  children: [
@@ -39032,10 +39041,10 @@ function SearchInput({
39032
39041
  align: "start",
39033
39042
  onOpenAutoFocus: (e) => {
39034
39043
  e.preventDefault();
39035
- _optionalChain([inputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.focus, 'call', _768 => _768()]);
39044
+ _optionalChain([inputRef, 'access', _765 => _765.current, 'optionalAccess', _766 => _766.focus, 'call', _767 => _767()]);
39036
39045
  },
39037
39046
  onInteractOutside: (e) => {
39038
- if (_optionalChain([containerRef, 'access', _769 => _769.current, 'optionalAccess', _770 => _770.contains, 'call', _771 => _771(e.target)])) {
39047
+ if (_optionalChain([containerRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.contains, 'call', _770 => _770(e.target)])) {
39039
39048
  e.preventDefault();
39040
39049
  }
39041
39050
  },
@@ -39052,10 +39061,10 @@ function SearchInput({
39052
39061
  ref: hiddenTagsPopupRef,
39053
39062
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
39054
39063
  style: {
39055
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _772 => _772.current, 'optionalAccess', _773 => _773.getBoundingClientRect, 'call', _774 => _774(), 'access', _775 => _775.left]), () => ( 0))) : 0
39064
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _771 => _771.current, 'optionalAccess', _772 => _772.getBoundingClientRect, 'call', _773 => _773(), 'access', _774 => _774.left]), () => ( 0))) : 0
39056
39065
  },
39057
39066
  onRemove: (value2) => {
39058
- _optionalChain([onFilterRemove, 'optionalCall', _776 => _776(value2)]);
39067
+ _optionalChain([onFilterRemove, 'optionalCall', _775 => _775(value2)]);
39059
39068
  if (hiddenCount <= 1) setShowHiddenTags(false);
39060
39069
  }
39061
39070
  }
@@ -39106,7 +39115,7 @@ function FilterListItem({
39106
39115
  }) {
39107
39116
  const handleToggle = () => {
39108
39117
  if (disabled) return;
39109
- _optionalChain([onToggle, 'optionalCall', _777 => _777(!selected)]);
39118
+ _optionalChain([onToggle, 'optionalCall', _776 => _776(!selected)]);
39110
39119
  };
39111
39120
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39112
39121
  "div",
@@ -39153,7 +39162,7 @@ function FilterListItem({
39153
39162
  CheckboxPrimitive4.Root,
39154
39163
  {
39155
39164
  checked: selected,
39156
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _778 => _778(c === true)]),
39165
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _777 => _777(c === true)]),
39157
39166
  onClick: (e) => e.stopPropagation(),
39158
39167
  disabled,
39159
39168
  "aria-label": title,
@@ -39252,7 +39261,7 @@ function TagSearchInput({
39252
39261
  if (!showHiddenTags) return;
39253
39262
  const handleClick = (e) => {
39254
39263
  const target = e.target;
39255
- if (!_optionalChain([hiddenTagsRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.contains, 'call', _781 => _781(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _782 => _782.current, 'optionalAccess', _783 => _783.contains, 'call', _784 => _784(target)])) {
39264
+ if (!_optionalChain([hiddenTagsRef, 'access', _778 => _778.current, 'optionalAccess', _779 => _779.contains, 'call', _780 => _780(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.contains, 'call', _783 => _783(target)])) {
39256
39265
  setShowHiddenTags(false);
39257
39266
  }
39258
39267
  };
@@ -39268,13 +39277,13 @@ function TagSearchInput({
39268
39277
  e.preventDefault();
39269
39278
  onSubmit(searchValue);
39270
39279
  }
39271
- _optionalChain([onKeyDown, 'optionalCall', _785 => _785(e)]);
39280
+ _optionalChain([onKeyDown, 'optionalCall', _784 => _784(e)]);
39272
39281
  };
39273
39282
  const handleClearAll = (e) => {
39274
39283
  e.stopPropagation();
39275
39284
  e.preventDefault();
39276
- _optionalChain([onClearAll, 'optionalCall', _786 => _786()]);
39277
- _optionalChain([inputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.focus, 'call', _789 => _789()]);
39285
+ _optionalChain([onClearAll, 'optionalCall', _785 => _785()]);
39286
+ _optionalChain([inputRef, 'access', _786 => _786.current, 'optionalAccess', _787 => _787.focus, 'call', _788 => _788()]);
39278
39287
  };
39279
39288
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
39280
39289
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -39291,7 +39300,7 @@ function TagSearchInput({
39291
39300
  className
39292
39301
  ),
39293
39302
  onClick: () => {
39294
- if (!disabled) _optionalChain([inputRef, 'access', _790 => _790.current, 'optionalAccess', _791 => _791.focus, 'call', _792 => _792()]);
39303
+ if (!disabled) _optionalChain([inputRef, 'access', _789 => _789.current, 'optionalAccess', _790 => _790.focus, 'call', _791 => _791()]);
39295
39304
  },
39296
39305
  children: [
39297
39306
  /* @__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" }) }),
@@ -39363,7 +39372,7 @@ function TagSearchInput({
39363
39372
  items: hiddenTags,
39364
39373
  disabled,
39365
39374
  style: {
39366
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _793 => _793.current, 'optionalAccess', _794 => _794.getBoundingClientRect, 'call', _795 => _795(), 'access', _796 => _796.left]), () => ( 0))) : 0
39375
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _792 => _792.current, 'optionalAccess', _793 => _793.getBoundingClientRect, 'call', _794 => _794(), 'access', _795 => _795.left]), () => ( 0))) : 0
39367
39376
  },
39368
39377
  onRemove: (value) => {
39369
39378
  onTagRemove(value);
@@ -39464,7 +39473,7 @@ function MarkdownEditor({
39464
39473
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
39465
39474
  _react.useEffect.call(void 0, () => {
39466
39475
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
39467
- if (_optionalChain([mod, 'access', _797 => _797.commands, 'optionalAccess', _798 => _798.getExtraCommands])) {
39476
+ if (_optionalChain([mod, 'access', _796 => _796.commands, 'optionalAccess', _797 => _797.getExtraCommands])) {
39468
39477
  setDefaultExtraCommands(mod.commands.getExtraCommands());
39469
39478
  }
39470
39479
  });
@@ -39498,7 +39507,7 @@ function MarkdownEditor({
39498
39507
  const isImage = file.type.startsWith("image/");
39499
39508
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
39500
39509
  insertTextAtCursor(markdown);
39501
- _optionalChain([onFileUploaded, 'optionalCall', _799 => _799(url, file.name)]);
39510
+ _optionalChain([onFileUploaded, 'optionalCall', _798 => _798(url, file.name)]);
39502
39511
  } catch (error) {
39503
39512
  console.error("File upload failed:", error);
39504
39513
  setUploadProgress("Upload failed. Please try again.");
@@ -39511,7 +39520,7 @@ function MarkdownEditor({
39511
39520
  );
39512
39521
  const handleFileInputChange = _react.useCallback.call(void 0,
39513
39522
  (e) => {
39514
- const file = _optionalChain([e, 'access', _800 => _800.target, 'access', _801 => _801.files, 'optionalAccess', _802 => _802[0]]);
39523
+ const file = _optionalChain([e, 'access', _799 => _799.target, 'access', _800 => _800.files, 'optionalAccess', _801 => _801[0]]);
39515
39524
  if (file) {
39516
39525
  handleFileUpload(file);
39517
39526
  e.target.value = "";
@@ -39522,7 +39531,7 @@ function MarkdownEditor({
39522
39531
  const handlePaste = _react.useCallback.call(void 0,
39523
39532
  (e) => {
39524
39533
  if (!onUploadFile) return;
39525
- const items = _optionalChain([e, 'access', _803 => _803.clipboardData, 'optionalAccess', _804 => _804.items]);
39534
+ const items = _optionalChain([e, 'access', _802 => _802.clipboardData, 'optionalAccess', _803 => _803.items]);
39526
39535
  if (!items) return;
39527
39536
  for (const item of items) {
39528
39537
  if (item.type.startsWith("image/")) {
@@ -39547,7 +39556,7 @@ function MarkdownEditor({
39547
39556
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
39548
39557
  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" }),
39549
39558
  execute: () => {
39550
- _optionalChain([fileInputRef, 'access', _805 => _805.current, 'optionalAccess', _806 => _806.click, 'call', _807 => _807()]);
39559
+ _optionalChain([fileInputRef, 'access', _804 => _804.current, 'optionalAccess', _805 => _805.click, 'call', _806 => _806()]);
39551
39560
  }
39552
39561
  } : null;
39553
39562
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -39559,7 +39568,7 @@ function MarkdownEditor({
39559
39568
  const EDGE_ZONE = 60;
39560
39569
  const MAX_SCROLL_SPEED = 15;
39561
39570
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
39562
- let node = _optionalChain([el, 'optionalAccess', _808 => _808.parentElement]);
39571
+ let node = _optionalChain([el, 'optionalAccess', _807 => _807.parentElement]);
39563
39572
  while (node && node !== document.documentElement) {
39564
39573
  const { overflowY } = window.getComputedStyle(node);
39565
39574
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -39702,7 +39711,7 @@ function matchesAccept(file, accept) {
39702
39711
  });
39703
39712
  }
39704
39713
  function dragHasFiles(e) {
39705
- const types = _optionalChain([e, 'access', _809 => _809.dataTransfer, 'optionalAccess', _810 => _810.types]);
39714
+ const types = _optionalChain([e, 'access', _808 => _808.dataTransfer, 'optionalAccess', _809 => _809.types]);
39706
39715
  if (!types) return false;
39707
39716
  for (let i = 0; i < types.length; i++) {
39708
39717
  if (types[i] === "Files") return true;
@@ -39798,7 +39807,7 @@ function FileUpload({
39798
39807
  e.stopPropagation();
39799
39808
  setDragActive(false);
39800
39809
  if (disabled) return;
39801
- if (_optionalChain([e, 'access', _811 => _811.dataTransfer, 'access', _812 => _812.files, 'optionalAccess', _813 => _813.length])) {
39810
+ if (_optionalChain([e, 'access', _810 => _810.dataTransfer, 'access', _811 => _811.files, 'optionalAccess', _812 => _812.length])) {
39802
39811
  handleFiles(e.dataTransfer.files);
39803
39812
  }
39804
39813
  };
@@ -39826,7 +39835,7 @@ function FileUpload({
39826
39835
  e.preventDefault();
39827
39836
  dragCounter = 0;
39828
39837
  setDragActive(false);
39829
- if (_optionalChain([e, 'access', _814 => _814.dataTransfer, 'optionalAccess', _815 => _815.files, 'optionalAccess', _816 => _816.length])) {
39838
+ if (_optionalChain([e, 'access', _813 => _813.dataTransfer, 'optionalAccess', _814 => _814.files, 'optionalAccess', _815 => _815.length])) {
39830
39839
  handleFilesRef.current(e.dataTransfer.files);
39831
39840
  }
39832
39841
  };
@@ -39848,7 +39857,7 @@ function FileUpload({
39848
39857
  };
39849
39858
  }, [acceptWindowDrops, disabled]);
39850
39859
  const handleFileSelect = (e) => {
39851
- if (_optionalChain([e, 'access', _817 => _817.target, 'access', _818 => _818.files, 'optionalAccess', _819 => _819.length])) {
39860
+ if (_optionalChain([e, 'access', _816 => _816.target, 'access', _817 => _817.files, 'optionalAccess', _818 => _818.length])) {
39852
39861
  handleFiles(e.target.files);
39853
39862
  }
39854
39863
  };
@@ -39865,7 +39874,7 @@ function FileUpload({
39865
39874
  };
39866
39875
  const openDialog = async () => {
39867
39876
  if (disabled) return;
39868
- _optionalChain([fileInputRef, 'access', _820 => _820.current, 'optionalAccess', _821 => _821.click, 'call', _822 => _822()]);
39877
+ _optionalChain([fileInputRef, 'access', _819 => _819.current, 'optionalAccess', _820 => _820.click, 'call', _821 => _821()]);
39869
39878
  };
39870
39879
  const displayError = error || validationError || void 0;
39871
39880
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -39927,7 +39936,7 @@ function FileUpload({
39927
39936
  "button",
39928
39937
  {
39929
39938
  type: "button",
39930
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _823 => _823(entry.id)]),
39939
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _822 => _822(entry.id)]),
39931
39940
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
39932
39941
  "aria-label": `Remove ${entry.fileName}`,
39933
39942
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -40058,7 +40067,7 @@ function ImageUploader({
40058
40067
  onChange(file);
40059
40068
  };
40060
40069
  const handleFileSelect = (e) => {
40061
- validateAndEmit(_optionalChain([e, 'access', _824 => _824.target, 'access', _825 => _825.files, 'optionalAccess', _826 => _826[0]]));
40070
+ validateAndEmit(_optionalChain([e, 'access', _823 => _823.target, 'access', _824 => _824.files, 'optionalAccess', _825 => _825[0]]));
40062
40071
  if (inputRef.current) inputRef.current.value = "";
40063
40072
  };
40064
40073
  const handleDrag = (e) => {
@@ -40073,11 +40082,11 @@ function ImageUploader({
40073
40082
  e.stopPropagation();
40074
40083
  setDragActive(false);
40075
40084
  if (!interactive) return;
40076
- validateAndEmit(_optionalChain([e, 'access', _827 => _827.dataTransfer, 'access', _828 => _828.files, 'optionalAccess', _829 => _829[0]]));
40085
+ validateAndEmit(_optionalChain([e, 'access', _826 => _826.dataTransfer, 'access', _827 => _827.files, 'optionalAccess', _828 => _828[0]]));
40077
40086
  };
40078
40087
  const openDialog = () => {
40079
40088
  if (!interactive) return;
40080
- _optionalChain([inputRef, 'access', _830 => _830.current, 'optionalAccess', _831 => _831.click, 'call', _832 => _832()]);
40089
+ _optionalChain([inputRef, 'access', _829 => _829.current, 'optionalAccess', _830 => _830.click, 'call', _831 => _831()]);
40081
40090
  };
40082
40091
  const handleRootKeyDown = (e) => {
40083
40092
  if (hasImage || !interactive) return;
@@ -40268,8 +40277,8 @@ function ColorPresetSelect({
40268
40277
  }) {
40269
40278
  const selectedPreset = presets.find((p) => p.key === presetKey);
40270
40279
  const isCustom = !selectedPreset;
40271
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _833 => _833.label]), () => ( "Custom"));
40272
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _834 => _834.color]), () => ( value));
40280
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _832 => _832.label]), () => ( "Custom"));
40281
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _833 => _833.color]), () => ( value));
40273
40282
  const groups = [
40274
40283
  {
40275
40284
  items: [
@@ -40559,7 +40568,7 @@ function TicketStatusConfigRow({
40559
40568
  _chunkNYIZVI4Icjs.Input,
40560
40569
  {
40561
40570
  value: name,
40562
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _835 => _835(e.target.value)]),
40571
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _834 => _834(e.target.value)]),
40563
40572
  disabled: isSystem,
40564
40573
  readOnly: isSystem,
40565
40574
  "aria-label": "Status name",
@@ -40932,14 +40941,14 @@ function TicketInfoSection({
40932
40941
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40933
40942
  SquareAvatar,
40934
40943
  {
40935
- src: _optionalChain([organization, 'optionalAccess', _836 => _836.imageSrc]),
40936
- alt: _optionalChain([organization, 'optionalAccess', _837 => _837.name]),
40937
- fallback: _optionalChain([organization, 'optionalAccess', _838 => _838.name]) || "Org",
40944
+ src: _optionalChain([organization, 'optionalAccess', _835 => _835.imageSrc]),
40945
+ alt: _optionalChain([organization, 'optionalAccess', _836 => _836.name]),
40946
+ fallback: _optionalChain([organization, 'optionalAccess', _837 => _837.name]) || "Org",
40938
40947
  size: "md",
40939
40948
  className: "shrink-0"
40940
40949
  }
40941
40950
  ),
40942
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _839 => _839.name]) || "Unassigned", label: "Organization" })
40951
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _838 => _838.name]) || "Unassigned", label: "Organization" })
40943
40952
  ] }),
40944
40953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40945
40954
  AssigneeDropdown,
@@ -40960,10 +40969,10 @@ function TicketInfoSection({
40960
40969
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40961
40970
  InfoCell2,
40962
40971
  {
40963
- value: _optionalChain([device, 'optionalAccess', _840 => _840.name]) || "Unassigned",
40972
+ value: _optionalChain([device, 'optionalAccess', _839 => _839.name]) || "Unassigned",
40964
40973
  label: "Device",
40965
- icon: _optionalChain([device, 'optionalAccess', _841 => _841.icon]),
40966
- onClick: _optionalChain([device, 'optionalAccess', _842 => _842.onClick])
40974
+ icon: _optionalChain([device, 'optionalAccess', _840 => _840.icon]),
40975
+ onClick: _optionalChain([device, 'optionalAccess', _841 => _841.onClick])
40967
40976
  }
40968
40977
  ),
40969
40978
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -41293,7 +41302,7 @@ function RoadmapCard({
41293
41302
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
41294
41303
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
41295
41304
  const hasFigma = !!item.figmaUrl;
41296
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _843 => _843.screenshots, 'optionalAccess', _844 => _844.length]), () => ( 0))) > 0;
41305
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _842 => _842.screenshots, 'optionalAccess', _843 => _843.length]), () => ( 0))) > 0;
41297
41306
  const typeLabel = getTaskTypeLabel(item.customItemId);
41298
41307
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
41299
41308
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -41312,7 +41321,7 @@ function RoadmapCard({
41312
41321
  unoptimized: true,
41313
41322
  className: "h-8 w-8 object-contain"
41314
41323
  }
41315
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _845 => _845.title, 'optionalAccess', _846 => _846.substring, 'call', _847 => _847(0, 2)]) || "??" })
41324
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _844 => _844.title, 'optionalAccess', _845 => _845.substring, 'call', _846 => _846(0, 2)]) || "??" })
41316
41325
  }
41317
41326
  ),
41318
41327
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41387,7 +41396,7 @@ function RoadmapCard({
41387
41396
  unoptimized: true,
41388
41397
  className: "object-contain p-1"
41389
41398
  }
41390
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _848 => _848.title, 'optionalAccess', _849 => _849.substring, 'call', _850 => _850(0, 2)]) || "??" }) }),
41399
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _847 => _847.title, 'optionalAccess', _848 => _848.substring, 'call', _849 => _849(0, 2)]) || "??" }) }),
41391
41400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
41392
41401
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
41393
41402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -41897,7 +41906,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
41897
41906
  ] }) : null,
41898
41907
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
41899
41908
  ] }),
41900
- _optionalChain([anchorProps, 'optionalAccess', _851 => _851.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
41909
+ _optionalChain([anchorProps, 'optionalAccess', _850 => _850.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
41901
41910
  ] });
41902
41911
  if (!anchorProps) {
41903
41912
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -41967,7 +41976,7 @@ function getDefaultOptions() {
41967
41976
  // node_modules/date-fns/startOfWeek.mjs
41968
41977
  function startOfWeek(date, options) {
41969
41978
  const defaultOptions2 = getDefaultOptions();
41970
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _852 => _852.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _853 => _853.locale, 'optionalAccess', _854 => _854.options, 'optionalAccess', _855 => _855.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _856 => _856.locale, 'optionalAccess', _857 => _857.options, 'optionalAccess', _858 => _858.weekStartsOn]))), () => ( 0));
41979
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _851 => _851.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _852 => _852.locale, 'optionalAccess', _853 => _853.options, 'optionalAccess', _854 => _854.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _855 => _855.locale, 'optionalAccess', _856 => _856.options, 'optionalAccess', _857 => _857.weekStartsOn]))), () => ( 0));
41971
41980
  const _date = toDate(date);
41972
41981
  const day = _date.getDay();
41973
41982
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -42142,7 +42151,7 @@ var formatDistance = (token, count, options) => {
42142
42151
  } else {
42143
42152
  result = tokenValue.other.replace("{{count}}", count.toString());
42144
42153
  }
42145
- if (_optionalChain([options, 'optionalAccess', _859 => _859.addSuffix])) {
42154
+ if (_optionalChain([options, 'optionalAccess', _858 => _858.addSuffix])) {
42146
42155
  if (options.comparison && options.comparison > 0) {
42147
42156
  return "in " + result;
42148
42157
  } else {
@@ -42209,15 +42218,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
42209
42218
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
42210
42219
  function buildLocalizeFn(args) {
42211
42220
  return (value, options) => {
42212
- const context = _optionalChain([options, 'optionalAccess', _860 => _860.context]) ? String(options.context) : "standalone";
42221
+ const context = _optionalChain([options, 'optionalAccess', _859 => _859.context]) ? String(options.context) : "standalone";
42213
42222
  let valuesArray;
42214
42223
  if (context === "formatting" && args.formattingValues) {
42215
42224
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
42216
- const width = _optionalChain([options, 'optionalAccess', _861 => _861.width]) ? String(options.width) : defaultWidth;
42225
+ const width = _optionalChain([options, 'optionalAccess', _860 => _860.width]) ? String(options.width) : defaultWidth;
42217
42226
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
42218
42227
  } else {
42219
42228
  const defaultWidth = args.defaultWidth;
42220
- const width = _optionalChain([options, 'optionalAccess', _862 => _862.width]) ? String(options.width) : args.defaultWidth;
42229
+ const width = _optionalChain([options, 'optionalAccess', _861 => _861.width]) ? String(options.width) : args.defaultWidth;
42221
42230
  valuesArray = args.values[width] || args.values[defaultWidth];
42222
42231
  }
42223
42232
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -42597,7 +42606,7 @@ function getWeekYear(date, options) {
42597
42606
  const _date = toDate(date);
42598
42607
  const year = _date.getFullYear();
42599
42608
  const defaultOptions2 = getDefaultOptions();
42600
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _863 => _863.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _864 => _864.locale, 'optionalAccess', _865 => _865.options, 'optionalAccess', _866 => _866.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _867 => _867.locale, 'optionalAccess', _868 => _868.options, 'optionalAccess', _869 => _869.firstWeekContainsDate]))), () => ( 1));
42609
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _862 => _862.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _863 => _863.locale, 'optionalAccess', _864 => _864.options, 'optionalAccess', _865 => _865.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _866 => _866.locale, 'optionalAccess', _867 => _867.options, 'optionalAccess', _868 => _868.firstWeekContainsDate]))), () => ( 1));
42601
42610
  const firstWeekOfNextYear = constructFrom(date, 0);
42602
42611
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
42603
42612
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -42618,7 +42627,7 @@ function getWeekYear(date, options) {
42618
42627
  // node_modules/date-fns/startOfWeekYear.mjs
42619
42628
  function startOfWeekYear(date, options) {
42620
42629
  const defaultOptions2 = getDefaultOptions();
42621
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _870 => _870.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _871 => _871.locale, 'optionalAccess', _872 => _872.options, 'optionalAccess', _873 => _873.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _874 => _874.locale, 'optionalAccess', _875 => _875.options, 'optionalAccess', _876 => _876.firstWeekContainsDate]))), () => ( 1));
42630
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _869 => _869.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _870 => _870.locale, 'optionalAccess', _871 => _871.options, 'optionalAccess', _872 => _872.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _873 => _873.locale, 'optionalAccess', _874 => _874.options, 'optionalAccess', _875 => _875.firstWeekContainsDate]))), () => ( 1));
42622
42631
  const year = getWeekYear(date, options);
42623
42632
  const firstWeek = constructFrom(date, 0);
42624
42633
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -43433,9 +43442,9 @@ var doubleQuoteRegExp = /''/g;
43433
43442
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
43434
43443
  function format(date, formatStr, options) {
43435
43444
  const defaultOptions2 = getDefaultOptions();
43436
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _877 => _877.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
43437
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _878 => _878.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _879 => _879.locale, 'optionalAccess', _880 => _880.options, 'optionalAccess', _881 => _881.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _882 => _882.locale, 'optionalAccess', _883 => _883.options, 'optionalAccess', _884 => _884.firstWeekContainsDate]))), () => ( 1));
43438
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _885 => _885.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _886 => _886.locale, 'optionalAccess', _887 => _887.options, 'optionalAccess', _888 => _888.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _889 => _889.locale, 'optionalAccess', _890 => _890.options, 'optionalAccess', _891 => _891.weekStartsOn]))), () => ( 0));
43445
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _876 => _876.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
43446
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _877 => _877.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _878 => _878.locale, 'optionalAccess', _879 => _879.options, 'optionalAccess', _880 => _880.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _881 => _881.locale, 'optionalAccess', _882 => _882.options, 'optionalAccess', _883 => _883.firstWeekContainsDate]))), () => ( 1));
43447
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _884 => _884.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _885 => _885.locale, 'optionalAccess', _886 => _886.options, 'optionalAccess', _887 => _887.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _888 => _888.locale, 'optionalAccess', _889 => _889.options, 'optionalAccess', _890 => _890.weekStartsOn]))), () => ( 0));
43439
43448
  const originalDate = toDate(date);
43440
43449
  if (!isValid(originalDate)) {
43441
43450
  throw new RangeError("Invalid time value");
@@ -43476,7 +43485,7 @@ function format(date, formatStr, options) {
43476
43485
  return parts.map((part) => {
43477
43486
  if (!part.isToken) return part.value;
43478
43487
  const token = part.value;
43479
- if (!_optionalChain([options, 'optionalAccess', _892 => _892.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _893 => _893.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
43488
+ if (!_optionalChain([options, 'optionalAccess', _891 => _891.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _892 => _892.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
43480
43489
  warnOrThrowProtectedError(token, formatStr, String(date));
43481
43490
  }
43482
43491
  const formatter = formatters[token[0]];
@@ -43657,7 +43666,7 @@ function ProgramCard({
43657
43666
  const dur = formatDurationFromRange(w.start_at, w.end_at);
43658
43667
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
43659
43668
  }
43660
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _894 => _894.labels, 'optionalAccess', _895 => _895.singular])].filter(
43669
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _893 => _893.labels, 'optionalAccess', _894 => _894.singular])].filter(
43661
43670
  (s) => typeof s === "string" && s.length > 0
43662
43671
  );
43663
43672
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -43814,7 +43823,7 @@ function ProgramCard({
43814
43823
 
43815
43824
 
43816
43825
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
43817
- const goalsCount = _optionalChain([campaign, 'access', _896 => _896.goals, 'optionalAccess', _897 => _897.length]) || 0;
43826
+ const goalsCount = _optionalChain([campaign, 'access', _895 => _895.goals, 'optionalAccess', _896 => _896.length]) || 0;
43818
43827
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
43819
43828
  /* @__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" }) }),
43820
43829
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -43976,7 +43985,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
43976
43985
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
43977
43986
  const safePath = sanitizePath(row.path);
43978
43987
  if (safePath) {
43979
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _898 => _898.docPlatformTargets, 'optionalAccess', _899 => _899[row.documentType]]) : void 0;
43988
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _897 => _897.docPlatformTargets, 'optionalAccess', _898 => _898[row.documentType]]) : void 0;
43980
43989
  if (docTarget) {
43981
43990
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
43982
43991
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -44191,8 +44200,8 @@ function cardMenuGroups(href, discuss, openDetails) {
44191
44200
  if (href) {
44192
44201
  items.push({
44193
44202
  id: "open-details",
44194
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _900 => _900.label]), () => ( "Open Details")),
44195
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _901 => _901.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
44203
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _899 => _899.label]), () => ( "Open Details")),
44204
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _900 => _900.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
44196
44205
  // Main row → open the entity (same tab, soft Link nav).
44197
44206
  href,
44198
44207
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -44222,8 +44231,8 @@ function HubspotTicketChatCard({
44222
44231
  isNewTab,
44223
44232
  discuss
44224
44233
  }) {
44225
- const status = typeof _optionalChain([chatRef, 'access', _902 => _902.metadata, 'optionalAccess', _903 => _903.status]) === "string" ? chatRef.metadata.status : void 0;
44226
- const statusLabel = typeof _optionalChain([chatRef, 'access', _904 => _904.metadata, 'optionalAccess', _905 => _905.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
44234
+ const status = typeof _optionalChain([chatRef, 'access', _901 => _901.metadata, 'optionalAccess', _902 => _902.status]) === "string" ? chatRef.metadata.status : void 0;
44235
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _903 => _903.metadata, 'optionalAccess', _904 => _904.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
44227
44236
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
44228
44237
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44229
44238
  MingoInfoCard,
@@ -44246,7 +44255,7 @@ function FaqChatCard({
44246
44255
  isNewTab,
44247
44256
  discuss
44248
44257
  }) {
44249
- const section = typeof _optionalChain([chatRef, 'access', _906 => _906.metadata, 'optionalAccess', _907 => _907.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
44258
+ const section = typeof _optionalChain([chatRef, 'access', _905 => _905.metadata, 'optionalAccess', _906 => _906.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
44250
44259
  const statusLabel = section && section.length > 0 ? section : "FAQ";
44251
44260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44252
44261
  MingoInfoCard,
@@ -44266,7 +44275,7 @@ function SlackChatCard({
44266
44275
  isNewTab,
44267
44276
  discuss
44268
44277
  }) {
44269
- const channelName = typeof _optionalChain([chatRef, 'access', _908 => _908.metadata, 'optionalAccess', _909 => _909.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
44278
+ const channelName = typeof _optionalChain([chatRef, 'access', _907 => _907.metadata, 'optionalAccess', _908 => _908.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
44270
44279
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
44271
44280
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
44272
44281
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -44306,7 +44315,7 @@ function GenericFinancialChatCard({
44306
44315
  isNewTab,
44307
44316
  discuss
44308
44317
  }) {
44309
- const subtitle = typeof _optionalChain([chatRef, 'access', _910 => _910.metadata, 'optionalAccess', _911 => _911.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
44318
+ const subtitle = typeof _optionalChain([chatRef, 'access', _909 => _909.metadata, 'optionalAccess', _910 => _910.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
44310
44319
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44311
44320
  MingoInfoCard,
44312
44321
  {
@@ -44375,12 +44384,12 @@ function ProductReleaseChatCard({
44375
44384
  discuss
44376
44385
  }) {
44377
44386
  const releaseProps = buildProps(item);
44378
- const status = _optionalChain([item, 'optionalAccess', _912 => _912.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
44387
+ const status = _optionalChain([item, 'optionalAccess', _911 => _911.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
44379
44388
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44380
44389
  EntityMingoCard,
44381
44390
  {
44382
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _913 => _913.title]), () => ( "")),
44383
- description: _optionalChain([item, 'optionalAccess', _914 => _914.summary]) || releaseProps.formattedDate || void 0,
44391
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
44392
+ description: _optionalChain([item, 'optionalAccess', _913 => _913.summary]) || releaseProps.formattedDate || void 0,
44384
44393
  cover: releaseProps.coverImage || void 0,
44385
44394
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
44386
44395
  status,
@@ -44397,17 +44406,17 @@ function CampaignChatCard({
44397
44406
  isNewTab,
44398
44407
  discuss
44399
44408
  }) {
44400
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _915 => _915.goals])) ? item.goals.length : 0;
44409
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _914 => _914.goals])) ? item.goals.length : 0;
44401
44410
  const meta = [
44402
- _optionalChain([item, 'optionalAccess', _916 => _916.start_date]) ? formatDateShort(item.start_date) : null,
44411
+ _optionalChain([item, 'optionalAccess', _915 => _915.start_date]) ? formatDateShort(item.start_date) : null,
44403
44412
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
44404
44413
  "Marketing campaign"
44405
44414
  ].filter(Boolean).join(" \xB7 ");
44406
44415
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44407
44416
  EntityMingoCard,
44408
44417
  {
44409
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.name]), () => ( "")),
44410
- description: meta || _optionalChain([item, 'optionalAccess', _918 => _918.description]) || void 0,
44418
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.name]), () => ( "")),
44419
+ description: meta || _optionalChain([item, 'optionalAccess', _917 => _917.description]) || void 0,
44411
44420
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
44412
44421
  chatRef,
44413
44422
  isNewTab,
@@ -44460,14 +44469,14 @@ function BlogChatCard({
44460
44469
  hasEmbeddedVideo,
44461
44470
  discuss
44462
44471
  }) {
44463
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _919 => _919.categories])) ? _optionalChain([item, 'access', _920 => _920.categories, 'access', _921 => _921.find, 'call', _922 => _922((c) => c && c.name), 'optionalAccess', _923 => _923.name]) : void 0;
44472
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _918 => _918.categories])) ? _optionalChain([item, 'access', _919 => _919.categories, 'access', _920 => _920.find, 'call', _921 => _921((c) => c && c.name), 'optionalAccess', _922 => _922.name]) : void 0;
44464
44473
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
44465
44474
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44466
44475
  EntityMingoCard,
44467
44476
  {
44468
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")),
44469
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.summary]), () => ( void 0)),
44470
- cover: entityCover(_optionalChain([item, 'optionalAccess', _926 => _926.featured_image]), ogPlaceholder),
44477
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _923 => _923.title]), () => ( "")),
44478
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.summary]), () => ( void 0)),
44479
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _925 => _925.featured_image]), ogPlaceholder),
44471
44480
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
44472
44481
  status,
44473
44482
  chatRef,
@@ -44484,13 +44493,13 @@ function CaseStudyChatCard({
44484
44493
  ogPlaceholder,
44485
44494
  discuss
44486
44495
  }) {
44487
- const meta = [_optionalChain([item, 'optionalAccess', _927 => _927.msp, 'optionalAccess', _928 => _928.name]), _optionalChain([item, 'optionalAccess', _929 => _929.user, 'optionalAccess', _930 => _930.full_name])].filter(Boolean).join(" \xB7 ");
44496
+ const meta = [_optionalChain([item, 'optionalAccess', _926 => _926.msp, 'optionalAccess', _927 => _927.name]), _optionalChain([item, 'optionalAccess', _928 => _928.user, 'optionalAccess', _929 => _929.full_name])].filter(Boolean).join(" \xB7 ");
44488
44497
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44489
44498
  EntityMingoCard,
44490
44499
  {
44491
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _931 => _931.title]), () => ( "")),
44492
- description: _optionalChain([item, 'optionalAccess', _932 => _932.summary]) || meta || void 0,
44493
- cover: entityCover(_optionalChain([item, 'optionalAccess', _933 => _933.featured_image]), ogPlaceholder),
44500
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.title]), () => ( "")),
44501
+ description: _optionalChain([item, 'optionalAccess', _931 => _931.summary]) || meta || void 0,
44502
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _932 => _932.featured_image]), ogPlaceholder),
44494
44503
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
44495
44504
  status: { label: "Case study", variant: "grey" },
44496
44505
  chatRef,
@@ -44507,13 +44516,13 @@ function CustomerInterviewChatCard({
44507
44516
  ogPlaceholder,
44508
44517
  discuss
44509
44518
  }) {
44510
- const meta = [_optionalChain([item, 'optionalAccess', _934 => _934.user, 'optionalAccess', _935 => _935.full_name]), _optionalChain([item, 'optionalAccess', _936 => _936.msp, 'optionalAccess', _937 => _937.name])].filter(Boolean).join(" \xB7 ");
44519
+ const meta = [_optionalChain([item, 'optionalAccess', _933 => _933.user, 'optionalAccess', _934 => _934.full_name]), _optionalChain([item, 'optionalAccess', _935 => _935.msp, 'optionalAccess', _936 => _936.name])].filter(Boolean).join(" \xB7 ");
44511
44520
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44512
44521
  EntityMingoCard,
44513
44522
  {
44514
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")),
44515
- description: _optionalChain([item, 'optionalAccess', _939 => _939.video_summary]) || meta || void 0,
44516
- cover: entityCover(_optionalChain([item, 'optionalAccess', _940 => _940.featured_image]), ogPlaceholder),
44523
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _937 => _937.title]), () => ( "")),
44524
+ description: _optionalChain([item, 'optionalAccess', _938 => _938.video_summary]) || meta || void 0,
44525
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _939 => _939.featured_image]), ogPlaceholder),
44517
44526
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
44518
44527
  status: { label: "Interview", variant: "grey" },
44519
44528
  chatRef,
@@ -44530,13 +44539,13 @@ function InvestorUpdateChatCard({
44530
44539
  ogPlaceholder,
44531
44540
  discuss
44532
44541
  }) {
44533
- const title = _optionalChain([item, 'optionalAccess', _941 => _941.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.update_number]), () => ( "?"))}`;
44542
+ const title = _optionalChain([item, 'optionalAccess', _940 => _940.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _941 => _941.update_number]), () => ( "?"))}`;
44534
44543
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44535
44544
  EntityMingoCard,
44536
44545
  {
44537
44546
  title,
44538
- description: _optionalChain([item, 'optionalAccess', _943 => _943.strategic_update]) || _optionalChain([item, 'optionalAccess', _944 => _944.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _945 => _945.period_start]), _optionalChain([item, 'optionalAccess', _946 => _946.period_end])) || void 0,
44539
- cover: entityCover(_optionalChain([item, 'optionalAccess', _947 => _947.featured_image]), ogPlaceholder),
44547
+ description: _optionalChain([item, 'optionalAccess', _942 => _942.strategic_update]) || _optionalChain([item, 'optionalAccess', _943 => _943.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _944 => _944.period_start]), _optionalChain([item, 'optionalAccess', _945 => _945.period_end])) || void 0,
44548
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _946 => _946.featured_image]), ogPlaceholder),
44540
44549
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
44541
44550
  status: { label: "Investor update", variant: "grey" },
44542
44551
  chatRef,
@@ -44553,12 +44562,12 @@ function OnboardingGuideChatCard({
44553
44562
  ogPlaceholder,
44554
44563
  discuss
44555
44564
  }) {
44556
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _948 => _948.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _949 => _949.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _950 => _950.og_image_url]), ogPlaceholder)));
44565
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _947 => _947.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _948 => _948.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _949 => _949.og_image_url]), ogPlaceholder)));
44557
44566
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44558
44567
  EntityMingoCard,
44559
44568
  {
44560
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _951 => _951.title]), () => ( "")),
44561
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _952 => _952.summary]), () => ( _optionalChain([item, 'optionalAccess', _953 => _953.description]))), () => ( void 0)),
44569
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _950 => _950.title]), () => ( "")),
44570
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _951 => _951.summary]), () => ( _optionalChain([item, 'optionalAccess', _952 => _952.description]))), () => ( void 0)),
44562
44571
  cover,
44563
44572
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
44564
44573
  status: { label: "Guide", variant: "grey" },
@@ -44579,25 +44588,25 @@ function ProgramChatCard({
44579
44588
  discuss
44580
44589
  }) {
44581
44590
  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 });
44582
- const isScheduled = _optionalChain([item, 'optionalAccess', _954 => _954.status]) === "scheduled";
44591
+ const isScheduled = _optionalChain([item, 'optionalAccess', _953 => _953.status]) === "scheduled";
44583
44592
  let typeMeta;
44584
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _955 => _955.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
44593
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _954 => _954.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
44585
44594
  typeMeta = formatDurationCompact(item.duration_seconds);
44586
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _956 => _956.location_name]) === "string" && item.location_name.trim().length > 0) {
44595
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _955 => _955.location_name]) === "string" && item.location_name.trim().length > 0) {
44587
44596
  typeMeta = item.location_name;
44588
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _957 => _957.start_at])) {
44597
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _956 => _956.start_at])) {
44589
44598
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
44590
44599
  const dur = formatDurationFromRange(item.start_at, item.end_at);
44591
44600
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
44592
44601
  }
44593
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _958 => _958.date]), () => ( null)), { fallback: "", timezone: "local" });
44602
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _957 => _957.date]), () => ( null)), { fallback: "", timezone: "local" });
44594
44603
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
44595
44604
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44596
44605
  EntityMingoCard,
44597
44606
  {
44598
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _959 => _959.title]), () => ( "")),
44599
- description: meta || _optionalChain([item, 'optionalAccess', _960 => _960.description]) || void 0,
44600
- cover: entityCover(_optionalChain([item, 'optionalAccess', _961 => _961.cover_url]), ogPlaceholder),
44607
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _958 => _958.title]), () => ( "")),
44608
+ description: meta || _optionalChain([item, 'optionalAccess', _959 => _959.description]) || void 0,
44609
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _960 => _960.cover_url]), ogPlaceholder),
44601
44610
  fallbackIcon: icon,
44602
44611
  status: { label, variant: "grey" },
44603
44612
  chatRef,
@@ -44614,10 +44623,10 @@ function RoadmapChatCard({
44614
44623
  cardType,
44615
44624
  discuss
44616
44625
  }) {
44617
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _962 => _962.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
44618
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _963 => _963.customItemId]) != null;
44626
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _961 => _961.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
44627
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _962 => _962.customItemId]) != null;
44619
44628
  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 });
44620
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _964 => _964.customItemId]), className: "size-6" }) : logoUrl ? (
44629
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _963 => _963.customItemId]), className: "size-6" }) : logoUrl ? (
44621
44630
  // Contained (not full-bleed) so the integration logo keeps its aspect
44622
44631
  // ratio inside the bordered icon box — matches RoadmapCard.
44623
44632
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -44625,10 +44634,10 @@ function RoadmapChatCard({
44625
44634
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44626
44635
  EntityMingoCard,
44627
44636
  {
44628
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _965 => _965.title]), () => ( "")),
44629
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _966 => _966.description]), () => ( void 0)),
44637
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _964 => _964.title]), () => ( "")),
44638
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _965 => _965.description]), () => ( void 0)),
44630
44639
  fallbackIcon: icon,
44631
- status: statusPill(_optionalChain([item, 'optionalAccess', _967 => _967.status])),
44640
+ status: statusPill(_optionalChain([item, 'optionalAccess', _966 => _966.status])),
44632
44641
  chatRef,
44633
44642
  isNewTab,
44634
44643
  discuss,
@@ -44714,7 +44723,7 @@ function programRegistryEntries() {
44714
44723
  discuss: opts.discuss,
44715
44724
  configKey: cfg.configKey,
44716
44725
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
44717
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _968 => _968.extras, 'optionalAccess', _969 => _969.buildOgPlaceholderUrl, 'optionalCall', _970 => _970(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _971 => _971.title]), () => ( "")))]), () => ( null))
44726
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _967 => _967.extras, 'optionalAccess', _968 => _968.buildOgPlaceholderUrl, 'optionalCall', _969 => _969(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _970 => _970.title]), () => ( "")))]), () => ( null))
44718
44727
  }
44719
44728
  )
44720
44729
  };
@@ -44866,8 +44875,8 @@ var CHAT_CARD_REGISTRY = {
44866
44875
  chatRef,
44867
44876
  isNewTab: opts.isNewTab,
44868
44877
  discuss: opts.discuss,
44869
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _972 => _972.extras, 'optionalAccess', _973 => _973.buildOgPlaceholderUrl, 'optionalCall', _974 => _974(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _975 => _975.title]), () => ( "")))]), () => ( null)),
44870
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _976 => _976.metadata, 'optionalAccess', _977 => _977.hasEmbeddedVideo]) === true
44878
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _971 => _971.extras, 'optionalAccess', _972 => _972.buildOgPlaceholderUrl, 'optionalCall', _973 => _973(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _974 => _974.title]), () => ( "")))]), () => ( null)),
44879
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _975 => _975.metadata, 'optionalAccess', _976 => _976.hasEmbeddedVideo]) === true
44871
44880
  }
44872
44881
  )
44873
44882
  },
@@ -44884,7 +44893,7 @@ var CHAT_CARD_REGISTRY = {
44884
44893
  chatRef,
44885
44894
  isNewTab: opts.isNewTab,
44886
44895
  discuss: opts.discuss,
44887
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _978 => _978.extras, 'optionalAccess', _979 => _979.buildOgPlaceholderUrl, 'optionalCall', _980 => _980(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _981 => _981.title]), () => ( "")))]), () => ( null))
44896
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _977 => _977.extras, 'optionalAccess', _978 => _978.buildOgPlaceholderUrl, 'optionalCall', _979 => _979(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _980 => _980.title]), () => ( "")))]), () => ( null))
44888
44897
  }
44889
44898
  )
44890
44899
  },
@@ -44901,7 +44910,7 @@ var CHAT_CARD_REGISTRY = {
44901
44910
  chatRef,
44902
44911
  isNewTab: opts.isNewTab,
44903
44912
  discuss: opts.discuss,
44904
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _982 => _982.extras, 'optionalAccess', _983 => _983.buildOgPlaceholderUrl, 'optionalCall', _984 => _984(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _985 => _985.title]), () => ( "")))]), () => ( null))
44913
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _981 => _981.extras, 'optionalAccess', _982 => _982.buildOgPlaceholderUrl, 'optionalCall', _983 => _983(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _984 => _984.title]), () => ( "")))]), () => ( null))
44905
44914
  }
44906
44915
  )
44907
44916
  },
@@ -44912,7 +44921,7 @@ var CHAT_CARD_REGISTRY = {
44912
44921
  bareInline: true,
44913
44922
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
44914
44923
  render: (item, chatRef, opts) => {
44915
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _986 => _986.extras, 'optionalAccess', _987 => _987.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
44924
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _985 => _985.extras, 'optionalAccess', _986 => _986.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
44916
44925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44917
44926
  ProductReleaseChatCard,
44918
44927
  {
@@ -44939,7 +44948,7 @@ var CHAT_CARD_REGISTRY = {
44939
44948
  chatRef,
44940
44949
  isNewTab: opts.isNewTab,
44941
44950
  discuss: opts.discuss,
44942
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _988 => _988.extras, 'optionalAccess', _989 => _989.buildOgPlaceholderUrl, 'optionalCall', _990 => _990(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _991 => _991.title]), () => ( "")))]), () => ( null))
44951
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _987 => _987.extras, 'optionalAccess', _988 => _988.buildOgPlaceholderUrl, 'optionalCall', _989 => _989(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _990 => _990.title]), () => ( "")))]), () => ( null))
44943
44952
  }
44944
44953
  )
44945
44954
  },
@@ -44958,7 +44967,7 @@ var CHAT_CARD_REGISTRY = {
44958
44967
  chatRef,
44959
44968
  isNewTab: opts.isNewTab,
44960
44969
  discuss: opts.discuss,
44961
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _992 => _992.extras, 'optionalAccess', _993 => _993.buildOgPlaceholderUrl, 'optionalCall', _994 => _994(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _995 => _995.title]), () => ( "")))]), () => ( null))
44970
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _991 => _991.extras, 'optionalAccess', _992 => _992.buildOgPlaceholderUrl, 'optionalCall', _993 => _993(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _994 => _994.title]), () => ( "")))]), () => ( null))
44962
44971
  }
44963
44972
  )
44964
44973
  },
@@ -44970,7 +44979,7 @@ var CHAT_CARD_REGISTRY = {
44970
44979
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
44971
44980
  // No public viewer — synthesize the hub-internal admin URL post-fetch
44972
44981
  // so the wrapper + isNewTab computation see the actual destination.
44973
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _996 => _996.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
44982
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _995 => _995.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
44974
44983
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44975
44984
  CampaignChatCard,
44976
44985
  {
@@ -44996,12 +45005,12 @@ function ChatCardNavWrap({
44996
45005
  const onClickCapture = (e) => {
44997
45006
  if (!href) return;
44998
45007
  const targetEl = e.target;
44999
- if (_optionalChain([targetEl, 'optionalAccess', _997 => _997.closest, 'optionalCall', _998 => _998("button")])) return;
45000
- if (!_optionalChain([targetEl, 'optionalAccess', _999 => _999.closest, 'optionalCall', _1000 => _1000("a")])) return;
45008
+ if (_optionalChain([targetEl, 'optionalAccess', _996 => _996.closest, 'optionalCall', _997 => _997("button")])) return;
45009
+ if (!_optionalChain([targetEl, 'optionalAccess', _998 => _998.closest, 'optionalCall', _999 => _999("a")])) return;
45001
45010
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
45002
45011
  if (!handled) return;
45003
45012
  e.stopPropagation();
45004
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1001 => _1001.closeChat])) panel.closeChat();
45013
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1000 => _1000.closeChat])) panel.closeChat();
45005
45014
  };
45006
45015
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
45007
45016
  }
@@ -45023,7 +45032,7 @@ function ChatCardLoader({
45023
45032
  title: chatRef.title,
45024
45033
  externalUrl: chatRef.url,
45025
45034
  targetPlatform: chatRef.targetPlatform,
45026
- path: typeof _optionalChain([chatRef, 'access', _1002 => _1002.metadata, 'optionalAccess', _1003 => _1003.path]) === "string" ? chatRef.metadata.path : null
45035
+ path: typeof _optionalChain([chatRef, 'access', _1001 => _1001.metadata, 'optionalAccess', _1002 => _1002.path]) === "string" ? chatRef.metadata.path : null
45027
45036
  },
45028
45037
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
45029
45038
  );
@@ -45037,7 +45046,7 @@ function ChatCardLoader({
45037
45046
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
45038
45047
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
45039
45048
  const { item, isLoading } = useChatCardItem(
45040
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1004 => _1004.contentRefType]), () => ( "")),
45049
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1003 => _1003.contentRefType]), () => ( "")),
45041
45050
  fetchEntry ? resolvedChatRef.id : ""
45042
45051
  );
45043
45052
  if (!entry) return null;
@@ -45068,7 +45077,7 @@ function ChatCardLoader({
45068
45077
  isNewTab,
45069
45078
  discuss
45070
45079
  };
45071
- const path = typeof _optionalChain([finalChatRef, 'access', _1005 => _1005.metadata, 'optionalAccess', _1006 => _1006.path]) === "string" ? finalChatRef.metadata.path : null;
45080
+ const path = typeof _optionalChain([finalChatRef, 'access', _1004 => _1004.metadata, 'optionalAccess', _1005 => _1005.path]) === "string" ? finalChatRef.metadata.path : null;
45072
45081
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45073
45082
  ChatCardNavWrap,
45074
45083
  {
@@ -45454,7 +45463,7 @@ function useJetStreamDialogSubscription({
45454
45463
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
45455
45464
  conn: sharedConn,
45456
45465
  wsUrl,
45457
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1007 => _1007.current, 'optionalCall', _1008 => _1008()]),
45466
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007()]),
45458
45467
  backoff: reconnectionBackoffRef.current,
45459
45468
  getFreshUrl: () => getNatsWsUrlRef.current(),
45460
45469
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -45469,7 +45478,7 @@ function useJetStreamDialogSubscription({
45469
45478
  setReconnectionCount((c) => c + 1);
45470
45479
  }
45471
45480
  hadConnectionBeforeRef.current = true;
45472
- _optionalChain([onConnectRef, 'access', _1009 => _1009.current, 'optionalCall', _1010 => _1010()]);
45481
+ _optionalChain([onConnectRef, 'access', _1008 => _1008.current, 'optionalCall', _1009 => _1009()]);
45473
45482
  }
45474
45483
  if (status === "error") {
45475
45484
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -45479,7 +45488,7 @@ function useJetStreamDialogSubscription({
45479
45488
  setIsConnected(false);
45480
45489
  setIsSubscribed(false);
45481
45490
  tearDownSubscription();
45482
- _optionalChain([onDisconnectRef, 'access', _1011 => _1011.current, 'optionalCall', _1012 => _1012()]);
45491
+ _optionalChain([onDisconnectRef, 'access', _1010 => _1010.current, 'optionalCall', _1011 => _1011()]);
45483
45492
  }
45484
45493
  }
45485
45494
  });
@@ -45558,7 +45567,7 @@ function useJetStreamDialogSubscription({
45558
45567
  }
45559
45568
  subscriptionRef.current = handle;
45560
45569
  setIsSubscribed(true);
45561
- _optionalChain([onSubscribedRef, 'access', _1013 => _1013.current, 'optionalCall', _1014 => _1014()]);
45570
+ _optionalChain([onSubscribedRef, 'access', _1012 => _1012.current, 'optionalCall', _1013 => _1013()]);
45562
45571
  } catch (e43) {
45563
45572
  if (!cancelled) {
45564
45573
  setIsSubscribed(false);
@@ -45671,20 +45680,20 @@ function useNatsDialogSubscription({
45671
45680
  const tearDownSubscriptions = () => {
45672
45681
  subscriptionRefs.current.forEach((sub) => {
45673
45682
  try {
45674
- _optionalChain([sub, 'optionalAccess', _1015 => _1015.unsubscribe, 'call', _1016 => _1016()]);
45683
+ _optionalChain([sub, 'optionalAccess', _1014 => _1014.unsubscribe, 'call', _1015 => _1015()]);
45675
45684
  } catch (e45) {
45676
45685
  }
45677
45686
  });
45678
45687
  subscriptionRefs.current.clear();
45679
45688
  lastSubscribedDialogIdRef.current = null;
45680
- _optionalChain([abortControllerRef, 'access', _1017 => _1017.current, 'optionalAccess', _1018 => _1018.abort, 'call', _1019 => _1019()]);
45689
+ _optionalChain([abortControllerRef, 'access', _1016 => _1016.current, 'optionalAccess', _1017 => _1017.abort, 'call', _1018 => _1018()]);
45681
45690
  abortControllerRef.current = null;
45682
45691
  };
45683
45692
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
45684
45693
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
45685
45694
  conn: sharedConn,
45686
45695
  wsUrl,
45687
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1020 => _1020.current, 'optionalCall', _1021 => _1021()]),
45696
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1019 => _1019.current, 'optionalCall', _1020 => _1020()]),
45688
45697
  backoff: reconnectionBackoffRef.current,
45689
45698
  getFreshUrl: () => getNatsWsUrlRef.current(),
45690
45699
  shouldRetryOn: isDisconnectStatus,
@@ -45695,7 +45704,7 @@ function useNatsDialogSubscription({
45695
45704
  setReconnectionCount((c) => c + 1);
45696
45705
  }
45697
45706
  hadConnectionBeforeRef.current = true;
45698
- _optionalChain([onConnectRef, 'access', _1022 => _1022.current, 'optionalCall', _1023 => _1023()]);
45707
+ _optionalChain([onConnectRef, 'access', _1021 => _1021.current, 'optionalCall', _1022 => _1022()]);
45699
45708
  }
45700
45709
  if (status === "error") {
45701
45710
  console.warn("[NATS] protocol error:", evt.data);
@@ -45705,7 +45714,7 @@ function useNatsDialogSubscription({
45705
45714
  setIsConnected(false);
45706
45715
  setIsSubscribed(false);
45707
45716
  tearDownSubscriptions();
45708
- _optionalChain([onDisconnectRef, 'access', _1024 => _1024.current, 'optionalCall', _1025 => _1025()]);
45717
+ _optionalChain([onDisconnectRef, 'access', _1023 => _1023.current, 'optionalCall', _1024 => _1024()]);
45709
45718
  }
45710
45719
  }
45711
45720
  });
@@ -45736,13 +45745,13 @@ function useNatsDialogSubscription({
45736
45745
  setIsSubscribed(false);
45737
45746
  subscriptionRefs.current.forEach((sub) => {
45738
45747
  try {
45739
- _optionalChain([sub, 'optionalAccess', _1026 => _1026.unsubscribe, 'call', _1027 => _1027()]);
45748
+ _optionalChain([sub, 'optionalAccess', _1025 => _1025.unsubscribe, 'call', _1026 => _1026()]);
45740
45749
  } catch (e46) {
45741
45750
  }
45742
45751
  });
45743
45752
  subscriptionRefs.current.clear();
45744
45753
  lastSubscribedDialogIdRef.current = null;
45745
- _optionalChain([abortControllerRef, 'access', _1028 => _1028.current, 'optionalAccess', _1029 => _1029.abort, 'call', _1030 => _1030()]);
45754
+ _optionalChain([abortControllerRef, 'access', _1027 => _1027.current, 'optionalAccess', _1028 => _1028.abort, 'call', _1029 => _1029()]);
45746
45755
  abortControllerRef.current = null;
45747
45756
  }
45748
45757
  return;
@@ -45754,12 +45763,12 @@ function useNatsDialogSubscription({
45754
45763
  if (subscriptionRefs.current.size > 0) {
45755
45764
  subscriptionRefs.current.forEach((sub) => {
45756
45765
  try {
45757
- _optionalChain([sub, 'optionalAccess', _1031 => _1031.unsubscribe, 'call', _1032 => _1032()]);
45766
+ _optionalChain([sub, 'optionalAccess', _1030 => _1030.unsubscribe, 'call', _1031 => _1031()]);
45758
45767
  } catch (e47) {
45759
45768
  }
45760
45769
  });
45761
45770
  subscriptionRefs.current.clear();
45762
- _optionalChain([abortControllerRef, 'access', _1033 => _1033.current, 'optionalAccess', _1034 => _1034.abort, 'call', _1035 => _1035()]);
45771
+ _optionalChain([abortControllerRef, 'access', _1032 => _1032.current, 'optionalAccess', _1033 => _1033.abort, 'call', _1034 => _1034()]);
45763
45772
  }
45764
45773
  abortControllerRef.current = new AbortController();
45765
45774
  const abort = abortControllerRef.current;
@@ -45791,7 +45800,7 @@ function useNatsDialogSubscription({
45791
45800
  });
45792
45801
  lastSubscribedDialogIdRef.current = dialogId;
45793
45802
  setIsSubscribed(true);
45794
- _optionalChain([onSubscribedRef, 'access', _1036 => _1036.current, 'optionalCall', _1037 => _1037()]);
45803
+ _optionalChain([onSubscribedRef, 'access', _1035 => _1035.current, 'optionalCall', _1036 => _1036()]);
45795
45804
  };
45796
45805
  if (isConnectedRef.current) {
45797
45806
  createSubscriptions();
@@ -45801,7 +45810,7 @@ function useNatsDialogSubscription({
45801
45810
  abort.abort();
45802
45811
  subscriptionRefs.current.forEach((sub) => {
45803
45812
  try {
45804
- _optionalChain([sub, 'optionalAccess', _1038 => _1038.unsubscribe, 'call', _1039 => _1039()]);
45813
+ _optionalChain([sub, 'optionalAccess', _1037 => _1037.unsubscribe, 'call', _1038 => _1038()]);
45805
45814
  } catch (e49) {
45806
45815
  }
45807
45816
  });
@@ -45842,7 +45851,7 @@ function useNatsDialogSubscription({
45842
45851
  });
45843
45852
  lastSubscribedDialogIdRef.current = dialogId2;
45844
45853
  setIsSubscribed(true);
45845
- _optionalChain([onSubscribedRef, 'access', _1040 => _1040.current, 'optionalCall', _1041 => _1041()]);
45854
+ _optionalChain([onSubscribedRef, 'access', _1039 => _1039.current, 'optionalCall', _1040 => _1040()]);
45846
45855
  } else if (subscriptionRefs.current.size > 0) {
45847
45856
  setIsSubscribed(true);
45848
45857
  }
@@ -45850,10 +45859,10 @@ function useNatsDialogSubscription({
45850
45859
  return { isConnected, isSubscribed, reconnectionCount };
45851
45860
  }
45852
45861
  function buildNatsWsUrl(apiBaseUrl, options) {
45853
- const path = _optionalChain([options, 'optionalAccess', _1042 => _1042.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
45862
+ const path = _optionalChain([options, 'optionalAccess', _1041 => _1041.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
45854
45863
  const u = new URL(path, apiBaseUrl);
45855
45864
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
45856
- if (_optionalChain([options, 'optionalAccess', _1043 => _1043.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1044 => _1044.token])) {
45865
+ if (_optionalChain([options, 'optionalAccess', _1042 => _1042.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1043 => _1043.token])) {
45857
45866
  u.searchParams.set("authorization", options.token);
45858
45867
  }
45859
45868
  return u.toString();
@@ -45989,7 +45998,7 @@ function parseChunkToAction(chunk) {
45989
45998
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
45990
45999
  // historical path in `process-historical-messages.ts`) — keeps both
45991
46000
  // message sources producing an identical shape.
45992
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1045 => _1045.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1046 => _1046.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
46001
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1044 => _1044.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1045 => _1045.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
45993
46002
  };
45994
46003
  case MESSAGE_TYPE.TOKEN_USAGE:
45995
46004
  return {
@@ -46181,8 +46190,8 @@ var MessageSegmentAccumulator = class {
46181
46190
  type: "tool_execution",
46182
46191
  data: {
46183
46192
  ...toolData,
46184
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1047 => _1047.data, 'access', _1048 => _1048.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1049 => _1049.toolTitle]))),
46185
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1050 => _1050.parameters])
46193
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1046 => _1046.data, 'access', _1047 => _1047.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1048 => _1048.toolTitle]))),
46194
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1049 => _1049.parameters])
46186
46195
  }
46187
46196
  };
46188
46197
  if (existingIndex !== -1) {
@@ -46206,8 +46215,8 @@ var MessageSegmentAccumulator = class {
46206
46215
  if (seg.type !== "approval_batch") return seg;
46207
46216
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
46208
46217
  if (!hasCall) return seg;
46209
- const prev = _optionalChain([seg, 'access', _1051 => _1051.data, 'access', _1052 => _1052.executions, 'optionalAccess', _1053 => _1053[execId]]);
46210
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1054 => _1054.result]), success: _optionalChain([prev, 'optionalAccess', _1055 => _1055.success]) };
46218
+ const prev = _optionalChain([seg, 'access', _1050 => _1050.data, 'access', _1051 => _1051.executions, 'optionalAccess', _1052 => _1052[execId]]);
46219
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1053 => _1053.result]), success: _optionalChain([prev, 'optionalAccess', _1054 => _1054.success]) };
46211
46220
  matched = true;
46212
46221
  return {
46213
46222
  ...seg,
@@ -46329,10 +46338,10 @@ var MessageSegmentAccumulator = class {
46329
46338
  const segment = {
46330
46339
  type: "approval_request",
46331
46340
  data: {
46332
- command: _optionalChain([pendingApproval, 'optionalAccess', _1056 => _1056.command]) || "",
46333
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1057 => _1057.explanation]),
46341
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1055 => _1055.command]) || "",
46342
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1056 => _1056.explanation]),
46334
46343
  requestId,
46335
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1058 => _1058.approvalType]) || approvalType
46344
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1057 => _1057.approvalType]) || approvalType
46336
46345
  },
46337
46346
  status,
46338
46347
  onApprove: this.callbacks.onApprove,
@@ -46524,7 +46533,7 @@ function useRealtimeChunkProcessor(options) {
46524
46533
  if (initialState.escalatedApprovals) {
46525
46534
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
46526
46535
  initialState.escalatedApprovals.forEach((data, requestId) => {
46527
- _optionalChain([callbacks, 'access', _1059 => _1059.onEscalatedApproval, 'optionalCall', _1060 => _1060(requestId, data)]);
46536
+ _optionalChain([callbacks, 'access', _1058 => _1058.onEscalatedApproval, 'optionalCall', _1059 => _1059(requestId, data)]);
46528
46537
  });
46529
46538
  }
46530
46539
  hasEverStreamedRef.current = true;
@@ -46545,12 +46554,12 @@ function useRealtimeChunkProcessor(options) {
46545
46554
  if (!action) return;
46546
46555
  const accumulator = accumulatorRef.current;
46547
46556
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
46548
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1061 => _1061.onSegmentsUpdate, 'optionalCall', _1062 => _1062(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
46557
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1060 => _1060.onSegmentsUpdate, 'optionalCall', _1061 => _1061(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
46549
46558
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
46550
46559
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
46551
46560
  if (isInStreamRef.current) {
46552
46561
  isInStreamRef.current = false;
46553
- _optionalChain([callbacks, 'access', _1063 => _1063.onStreamEnd, 'optionalCall', _1064 => _1064()]);
46562
+ _optionalChain([callbacks, 'access', _1062 => _1062.onStreamEnd, 'optionalCall', _1063 => _1063()]);
46554
46563
  accumulator.resetSegments();
46555
46564
  }
46556
46565
  return;
@@ -46559,16 +46568,16 @@ function useRealtimeChunkProcessor(options) {
46559
46568
  case "message_start":
46560
46569
  isInStreamRef.current = true;
46561
46570
  hasEverStreamedRef.current = true;
46562
- _optionalChain([callbacks, 'access', _1065 => _1065.onStreamStart, 'optionalCall', _1066 => _1066()]);
46571
+ _optionalChain([callbacks, 'access', _1064 => _1064.onStreamStart, 'optionalCall', _1065 => _1065()]);
46563
46572
  accumulator.resetSegments();
46564
46573
  break;
46565
46574
  case "message_end":
46566
46575
  isInStreamRef.current = false;
46567
- _optionalChain([callbacks, 'access', _1067 => _1067.onStreamEnd, 'optionalCall', _1068 => _1068()]);
46576
+ _optionalChain([callbacks, 'access', _1066 => _1066.onStreamEnd, 'optionalCall', _1067 => _1067()]);
46568
46577
  accumulator.resetSegments();
46569
46578
  break;
46570
46579
  case "metadata":
46571
- _optionalChain([callbacks, 'access', _1069 => _1069.onMetadata, 'optionalCall', _1070 => _1070(action)]);
46580
+ _optionalChain([callbacks, 'access', _1068 => _1068.onMetadata, 'optionalCall', _1069 => _1069(action)]);
46572
46581
  break;
46573
46582
  case "text": {
46574
46583
  const segments = accumulator.appendText(action.text);
@@ -46611,7 +46620,7 @@ function useRealtimeChunkProcessor(options) {
46611
46620
  emitSegments(segments);
46612
46621
  } else {
46613
46622
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
46614
- _optionalChain([callbacks, 'access', _1071 => _1071.onEscalatedApproval, 'optionalCall', _1072 => _1072(requestId, { command, explanation, approvalType })]);
46623
+ _optionalChain([callbacks, 'access', _1070 => _1070.onEscalatedApproval, 'optionalCall', _1071 => _1071(requestId, { command, explanation, approvalType })]);
46615
46624
  }
46616
46625
  break;
46617
46626
  }
@@ -46623,13 +46632,13 @@ function useRealtimeChunkProcessor(options) {
46623
46632
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
46624
46633
  pendingEscalatedRef.current.set(requestId, {
46625
46634
  command: summary,
46626
- explanation: _optionalChain([required, 'optionalAccess', _1073 => _1073.toolExplanation]),
46635
+ explanation: _optionalChain([required, 'optionalAccess', _1072 => _1072.toolExplanation]),
46627
46636
  approvalType,
46628
46637
  toolCalls
46629
46638
  });
46630
- _optionalChain([callbacks, 'access', _1074 => _1074.onEscalatedApproval, 'optionalCall', _1075 => _1075(requestId, {
46639
+ _optionalChain([callbacks, 'access', _1073 => _1073.onEscalatedApproval, 'optionalCall', _1074 => _1074(requestId, {
46631
46640
  command: summary,
46632
- explanation: _optionalChain([required, 'optionalAccess', _1076 => _1076.toolExplanation]),
46641
+ explanation: _optionalChain([required, 'optionalAccess', _1075 => _1075.toolExplanation]),
46633
46642
  approvalType
46634
46643
  })]);
46635
46644
  break;
@@ -46659,7 +46668,7 @@ function useRealtimeChunkProcessor(options) {
46659
46668
  const status = approved ? "approved" : "rejected";
46660
46669
  if (escalatedData) {
46661
46670
  pendingEscalatedRef.current.delete(requestId);
46662
- _optionalChain([callbacks, 'access', _1077 => _1077.onEscalatedApprovalResult, 'optionalCall', _1078 => _1078(requestId, approved, {
46671
+ _optionalChain([callbacks, 'access', _1076 => _1076.onEscalatedApprovalResult, 'optionalCall', _1077 => _1077(requestId, approved, {
46663
46672
  command: escalatedData.command,
46664
46673
  explanation: escalatedData.explanation,
46665
46674
  approvalType: escalatedData.approvalType
@@ -46705,29 +46714,29 @@ function useRealtimeChunkProcessor(options) {
46705
46714
  emitSegments(accumulator.getSegments());
46706
46715
  }
46707
46716
  }
46708
- _optionalChain([callbacks, 'access', _1079 => _1079.onApprovalResolved, 'optionalCall', _1080 => _1080(requestId, status, approvalType, resolvedByName)]);
46717
+ _optionalChain([callbacks, 'access', _1078 => _1078.onApprovalResolved, 'optionalCall', _1079 => _1079(requestId, status, approvalType, resolvedByName)]);
46709
46718
  break;
46710
46719
  }
46711
46720
  case "error": {
46712
46721
  let message2;
46713
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1081 => _1081.details])) {
46722
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1080 => _1080.details])) {
46714
46723
  try {
46715
- message2 = _optionalChain([JSON, 'access', _1082 => _1082.parse, 'call', _1083 => _1083(action.details), 'optionalAccess', _1084 => _1084.error, 'optionalAccess', _1085 => _1085.message]);
46724
+ message2 = _optionalChain([JSON, 'access', _1081 => _1081.parse, 'call', _1082 => _1082(action.details), 'optionalAccess', _1083 => _1083.error, 'optionalAccess', _1084 => _1084.message]);
46716
46725
  } catch (e51) {
46717
46726
  message2 = action.details;
46718
46727
  }
46719
46728
  }
46720
46729
  const segments = accumulator.addError(action.error, message2);
46721
46730
  emitSegments(segments);
46722
- _optionalChain([callbacks, 'access', _1086 => _1086.onError, 'optionalCall', _1087 => _1087(action.error, message2)]);
46731
+ _optionalChain([callbacks, 'access', _1085 => _1085.onError, 'optionalCall', _1086 => _1086(action.error, message2)]);
46723
46732
  break;
46724
46733
  }
46725
46734
  case "system": {
46726
- _optionalChain([callbacks, 'access', _1088 => _1088.onSystemMessage, 'optionalCall', _1089 => _1089(action.text, { streamSeq })]);
46735
+ _optionalChain([callbacks, 'access', _1087 => _1087.onSystemMessage, 'optionalCall', _1088 => _1088(action.text, { streamSeq })]);
46727
46736
  break;
46728
46737
  }
46729
46738
  case "direct_message": {
46730
- _optionalChain([callbacks, 'access', _1090 => _1090.onDirectMessage, 'optionalCall', _1091 => _1091(action.text, {
46739
+ _optionalChain([callbacks, 'access', _1089 => _1089.onDirectMessage, 'optionalCall', _1090 => _1090(action.text, {
46731
46740
  ownerType: action.ownerType,
46732
46741
  displayName: action.displayName,
46733
46742
  userId: action.userId,
@@ -46736,7 +46745,7 @@ function useRealtimeChunkProcessor(options) {
46736
46745
  break;
46737
46746
  }
46738
46747
  case "message_request":
46739
- _optionalChain([callbacks, 'access', _1092 => _1092.onUserMessage, 'optionalCall', _1093 => _1093(action.text, {
46748
+ _optionalChain([callbacks, 'access', _1091 => _1091.onUserMessage, 'optionalCall', _1092 => _1092(action.text, {
46740
46749
  ownerType: action.ownerType,
46741
46750
  displayName: action.displayName,
46742
46751
  userId: action.userId,
@@ -46745,7 +46754,7 @@ function useRealtimeChunkProcessor(options) {
46745
46754
  })]);
46746
46755
  break;
46747
46756
  case "token_usage":
46748
- _optionalChain([callbacks, 'access', _1094 => _1094.onTokenUsage, 'optionalCall', _1095 => _1095(action.data)]);
46757
+ _optionalChain([callbacks, 'access', _1093 => _1093.onTokenUsage, 'optionalCall', _1094 => _1094(action.data)]);
46749
46758
  break;
46750
46759
  case "context_compaction_start": {
46751
46760
  const standalone = !isInStreamRef.current;
@@ -46760,7 +46769,7 @@ function useRealtimeChunkProcessor(options) {
46760
46769
  break;
46761
46770
  }
46762
46771
  case "dialog_closed":
46763
- _optionalChain([callbacks, 'access', _1096 => _1096.onDialogClosed, 'optionalCall', _1097 => _1097()]);
46772
+ _optionalChain([callbacks, 'access', _1095 => _1095.onDialogClosed, 'optionalCall', _1096 => _1096()]);
46764
46773
  break;
46765
46774
  default:
46766
46775
  break;
@@ -46807,7 +46816,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
46807
46816
  const data = await res.json();
46808
46817
  return _nullishCoalesce(data.commands, () => ( []));
46809
46818
  } catch (err) {
46810
- if (_optionalChain([err, 'optionalAccess', _1098 => _1098.name]) === "AbortError") throw err;
46819
+ if (_optionalChain([err, 'optionalAccess', _1097 => _1097.name]) === "AbortError") throw err;
46811
46820
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
46812
46821
  return [];
46813
46822
  }
@@ -46828,7 +46837,7 @@ function useSlashCommands(prefix, commandsUrl) {
46828
46837
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
46829
46838
  if (!cancelled) setCommands(next);
46830
46839
  } catch (err) {
46831
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1099 => _1099.name]) !== "AbortError") {
46840
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1098 => _1098.name]) !== "AbortError") {
46832
46841
  console.warn("[use-slash-commands] fetch failed:", err);
46833
46842
  }
46834
46843
  } finally {
@@ -46847,7 +46856,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
46847
46856
  const query = _reactquery.useQuery.call(void 0, {
46848
46857
  queryKey: ["chat-slash-commands", commandsUrl],
46849
46858
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
46850
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.enabled]), () => ( true)),
46859
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1099 => _1099.enabled]), () => ( true)),
46851
46860
  staleTime: Infinity,
46852
46861
  gcTime: Infinity,
46853
46862
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -46886,21 +46895,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
46886
46895
  }
46887
46896
  const data = await res.json();
46888
46897
  return {
46889
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1101 => _1101.name]), () => ( null)),
46890
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1102 => _1102.icon]), () => ( null)),
46891
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1103 => _1103.greeting]), () => ( null)),
46892
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1104 => _1104.enabledRagTableIds]), () => ( [])),
46893
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1105 => _1105.quickActions]), () => ( [])),
46894
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1106 => _1106.suggestedQueries]), () => ( []))
46898
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1100 => _1100.name]), () => ( null)),
46899
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1101 => _1101.icon]), () => ( null)),
46900
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1102 => _1102.greeting]), () => ( null)),
46901
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1103 => _1103.enabledRagTableIds]), () => ( [])),
46902
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1104 => _1104.quickActions]), () => ( [])),
46903
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1105 => _1105.suggestedQueries]), () => ( []))
46895
46904
  };
46896
46905
  } catch (err) {
46897
- if (_optionalChain([err, 'optionalAccess', _1107 => _1107.name]) === "AbortError") throw err;
46906
+ if (_optionalChain([err, 'optionalAccess', _1106 => _1106.name]) === "AbortError") throw err;
46898
46907
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
46899
46908
  return EMPTY_STATE_FALLBACK;
46900
46909
  }
46901
46910
  }
46902
46911
  function useEmptyStateConfig(emptyStateUrl, options) {
46903
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1108 => _1108.enabled]), () => ( true))) && !!emptyStateUrl;
46912
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1107 => _1107.enabled]), () => ( true))) && !!emptyStateUrl;
46904
46913
  const query = _reactquery.useQuery.call(void 0, {
46905
46914
  queryKey: ["chat-empty-state", emptyStateUrl],
46906
46915
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -46929,7 +46938,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
46929
46938
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
46930
46939
  function uploadWithProgress(url, file, token, onProgress, signal) {
46931
46940
  return new Promise((resolve, reject) => {
46932
- if (_optionalChain([signal, 'optionalAccess', _1109 => _1109.aborted])) {
46941
+ if (_optionalChain([signal, 'optionalAccess', _1108 => _1108.aborted])) {
46933
46942
  reject(new Error("Upload cancelled"));
46934
46943
  return;
46935
46944
  }
@@ -46943,7 +46952,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
46943
46952
  xhr.removeEventListener("error", handleError);
46944
46953
  xhr.removeEventListener("abort", handleAbort);
46945
46954
  xhr.removeEventListener("timeout", handleTimeout);
46946
- _optionalChain([signal, 'optionalAccess', _1110 => _1110.removeEventListener, 'call', _1111 => _1111("abort", handleSignalAbort)]);
46955
+ _optionalChain([signal, 'optionalAccess', _1109 => _1109.removeEventListener, 'call', _1110 => _1110("abort", handleSignalAbort)]);
46947
46956
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
46948
46957
  };
46949
46958
  const handleProgress = (event) => {
@@ -46979,7 +46988,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
46979
46988
  const handleSignalAbort = () => {
46980
46989
  xhr.abort();
46981
46990
  };
46982
- _optionalChain([signal, 'optionalAccess', _1112 => _1112.addEventListener, 'call', _1113 => _1113("abort", handleSignalAbort, { once: true })]);
46991
+ _optionalChain([signal, 'optionalAccess', _1111 => _1111.addEventListener, 'call', _1112 => _1112("abort", handleSignalAbort, { once: true })]);
46983
46992
  xhr.upload.addEventListener("progress", handleProgress);
46984
46993
  xhr.addEventListener("load", handleLoad);
46985
46994
  xhr.addEventListener("error", handleError);
@@ -47023,12 +47032,12 @@ function useChatAttachments() {
47023
47032
  try {
47024
47033
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
47025
47034
  } catch (err) {
47026
- if (_optionalChain([ctrl, 'optionalAccess', _1114 => _1114.signal, 'access', _1115 => _1115.aborted])) return;
47035
+ if (_optionalChain([ctrl, 'optionalAccess', _1113 => _1113.signal, 'access', _1114 => _1114.aborted])) return;
47027
47036
  throw new Error(
47028
47037
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
47029
47038
  );
47030
47039
  }
47031
- if (_optionalChain([ctrl, 'optionalAccess', _1116 => _1116.signal, 'access', _1117 => _1117.aborted])) return;
47040
+ if (_optionalChain([ctrl, 'optionalAccess', _1115 => _1115.signal, 'access', _1116 => _1116.aborted])) return;
47032
47041
  if (!sniffed) {
47033
47042
  throw new Error("Unrecognized file format");
47034
47043
  }
@@ -47042,7 +47051,7 @@ function useChatAttachments() {
47042
47051
  const urlResp = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
47043
47052
  method: "POST",
47044
47053
  headers: { "Content-Type": "application/json" },
47045
- signal: _optionalChain([ctrl, 'optionalAccess', _1118 => _1118.signal]),
47054
+ signal: _optionalChain([ctrl, 'optionalAccess', _1117 => _1117.signal]),
47046
47055
  body: JSON.stringify({
47047
47056
  fileName: att.file.name,
47048
47057
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -47068,9 +47077,9 @@ function useChatAttachments() {
47068
47077
  (pct) => {
47069
47078
  updateOne(att.id, { progress: pct });
47070
47079
  },
47071
- _optionalChain([ctrl, 'optionalAccess', _1119 => _1119.signal])
47080
+ _optionalChain([ctrl, 'optionalAccess', _1118 => _1118.signal])
47072
47081
  );
47073
- if (_optionalChain([ctrl, 'optionalAccess', _1120 => _1120.signal, 'access', _1121 => _1121.aborted])) return;
47082
+ if (_optionalChain([ctrl, 'optionalAccess', _1119 => _1119.signal, 'access', _1120 => _1120.aborted])) return;
47074
47083
  updateOne(att.id, {
47075
47084
  status: "ready",
47076
47085
  progress: 100,
@@ -47078,7 +47087,7 @@ function useChatAttachments() {
47078
47087
  viewToken: mintData.viewToken
47079
47088
  });
47080
47089
  } catch (err) {
47081
- if (_optionalChain([ctrl, 'optionalAccess', _1122 => _1122.signal, 'access', _1123 => _1123.aborted])) return;
47090
+ if (_optionalChain([ctrl, 'optionalAccess', _1121 => _1121.signal, 'access', _1122 => _1122.aborted])) return;
47082
47091
  const message2 = err instanceof Error ? err.message : String(err);
47083
47092
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
47084
47093
  } finally {
@@ -47229,7 +47238,7 @@ var ANON_DEFAULTS = {
47229
47238
  function useResolveChatIdentity(enabled) {
47230
47239
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
47231
47240
  const url = runtime.endpoints.identityUrl;
47232
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1124 => _1124.email]), () => ( null));
47241
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1123 => _1123.email]), () => ( null));
47233
47242
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
47234
47243
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
47235
47244
  _react.useEffect.call(void 0, () => {
@@ -47320,7 +47329,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
47320
47329
  yield chunk;
47321
47330
  }
47322
47331
  } catch (err) {
47323
- if (_optionalChain([err, 'optionalAccess', _1125 => _1125.name]) === "AbortError" || ctrl.signal.aborted) {
47332
+ if (_optionalChain([err, 'optionalAccess', _1124 => _1124.name]) === "AbortError" || ctrl.signal.aborted) {
47324
47333
  return;
47325
47334
  }
47326
47335
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -47371,7 +47380,7 @@ function useChat({
47371
47380
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
47372
47381
  onMessagesChangeRef.current = onMessagesChange;
47373
47382
  _react.useEffect.call(void 0, () => {
47374
- _optionalChain([onMessagesChangeRef, 'access', _1126 => _1126.current, 'optionalCall', _1127 => _1127(messages)]);
47383
+ _optionalChain([onMessagesChangeRef, 'access', _1125 => _1125.current, 'optionalCall', _1126 => _1126(messages)]);
47375
47384
  }, [messages]);
47376
47385
  const {
47377
47386
  streamMessage,
@@ -47408,7 +47417,7 @@ function useChat({
47408
47417
  name: "You",
47409
47418
  content: text,
47410
47419
  timestamp: /* @__PURE__ */ new Date(),
47411
- ..._optionalChain([options, 'optionalAccess', _1128 => _1128.hidden]) ? { hidden: true } : {}
47420
+ ..._optionalChain([options, 'optionalAccess', _1127 => _1127.hidden]) ? { hidden: true } : {}
47412
47421
  };
47413
47422
  addMessage(userMessage);
47414
47423
  setIsTyping(true);
@@ -47470,7 +47479,7 @@ function useChat({
47470
47479
  currentTextSegment = "";
47471
47480
  }
47472
47481
  const seg = segment;
47473
- const proposalId = _optionalChain([seg, 'access', _1129 => _1129.data, 'optionalAccess', _1130 => _1130.requestId]);
47482
+ const proposalId = _optionalChain([seg, 'access', _1128 => _1128.data, 'optionalAccess', _1129 => _1129.requestId]);
47474
47483
  const updateApprovalMessage = (transform) => {
47475
47484
  setMessages((prev) => {
47476
47485
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -47479,7 +47488,7 @@ function useChat({
47479
47488
  if (!Array.isArray(m.content)) continue;
47480
47489
  const segments = m.content;
47481
47490
  const hasMatch = segments.some(
47482
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1131 => _1131.data, 'optionalAccess', _1132 => _1132.requestId]) === proposalId
47491
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1130 => _1130.data, 'optionalAccess', _1131 => _1131.requestId]) === proposalId
47483
47492
  );
47484
47493
  if (!hasMatch) continue;
47485
47494
  const next = [...prev];
@@ -47521,11 +47530,11 @@ function useChat({
47521
47530
  if (!Array.isArray(m.content)) continue;
47522
47531
  const segments = m.content;
47523
47532
  const hasMatch = segments.some(
47524
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1133 => _1133.data, 'optionalAccess', _1134 => _1134.requestId]) === decision.proposalId
47533
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1132 => _1132.data, 'optionalAccess', _1133 => _1133.requestId]) === decision.proposalId
47525
47534
  );
47526
47535
  if (!hasMatch) continue;
47527
47536
  const flipped = segments.map(
47528
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1135 => _1135.data, 'optionalAccess', _1136 => _1136.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
47537
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1134 => _1134.data, 'optionalAccess', _1135 => _1135.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
47529
47538
  );
47530
47539
  const next = [...prev];
47531
47540
  next[i] = { ...m, content: flipped };
@@ -47687,8 +47696,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47687
47696
  })),
47688
47697
  { role: "user", content: message2 }
47689
47698
  ];
47690
- const targetPath = _optionalChain([extra, 'optionalAccess', _1137 => _1137.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
47691
- const requestBody = _optionalChain([extra, 'optionalAccess', _1138 => _1138.approvalAction]) ? {
47699
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1136 => _1136.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
47700
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1137 => _1137.approvalAction]) ? {
47692
47701
  proposal_id: extra.approvalAction.proposalId,
47693
47702
  action: extra.approvalAction.action,
47694
47703
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -47697,8 +47706,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47697
47706
  }))
47698
47707
  } : {
47699
47708
  messages: apiMessages,
47700
- ..._optionalChain([extra, 'optionalAccess', _1139 => _1139.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
47701
- ..._optionalChain([extra, 'optionalAccess', _1140 => _1140.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
47709
+ ..._optionalChain([extra, 'optionalAccess', _1138 => _1138.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
47710
+ ..._optionalChain([extra, 'optionalAccess', _1139 => _1139.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
47702
47711
  };
47703
47712
  const response = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, targetPath, {
47704
47713
  method: "POST",
@@ -47708,7 +47717,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47708
47717
  if (!response.ok) {
47709
47718
  throw new Error(`Chat request failed: ${response.status}`);
47710
47719
  }
47711
- const reader = _optionalChain([response, 'access', _1141 => _1141.body, 'optionalAccess', _1142 => _1142.getReader, 'call', _1143 => _1143()]);
47720
+ const reader = _optionalChain([response, 'access', _1140 => _1140.body, 'optionalAccess', _1141 => _1141.getReader, 'call', _1142 => _1142()]);
47712
47721
  if (!reader) throw new Error("No response body");
47713
47722
  const decoder = new TextDecoder();
47714
47723
  let buffer = "";
@@ -47791,7 +47800,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47791
47800
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
47792
47801
  const result = _nullishCoalesce(meta.result, () => ( null));
47793
47802
  const card = _nullishCoalesce(meta.card, () => ( null));
47794
- if (_optionalChain([card, 'optionalAccess', _1144 => _1144.ref, 'optionalAccess', _1145 => _1145.id]) && _optionalChain([card, 'optionalAccess', _1146 => _1146.type])) {
47803
+ if (_optionalChain([card, 'optionalAccess', _1143 => _1143.ref, 'optionalAccess', _1144 => _1144.id]) && _optionalChain([card, 'optionalAccess', _1145 => _1145.type])) {
47795
47804
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
47796
47805
  const key = buildChatRefKey(card.type, card.ref.id);
47797
47806
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -47804,8 +47813,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47804
47813
  willAutoContinue: meta.willAutoContinue === true,
47805
47814
  ...toolName ? { toolName } : {},
47806
47815
  ...result ? { result } : {},
47807
- ..._optionalChain([card, 'optionalAccess', _1147 => _1147.marker]) ? { marker: card.marker } : {},
47808
- ..._optionalChain([card, 'optionalAccess', _1148 => _1148.ref]) ? { cardRef: card.ref } : {},
47816
+ ..._optionalChain([card, 'optionalAccess', _1146 => _1146.marker]) ? { marker: card.marker } : {},
47817
+ ..._optionalChain([card, 'optionalAccess', _1147 => _1147.ref]) ? { cardRef: card.ref } : {},
47809
47818
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
47810
47819
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
47811
47820
  };
@@ -47924,7 +47933,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
47924
47933
  var chatStorageKey = (source) => {
47925
47934
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
47926
47935
  const auth = _chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, );
47927
- if (_optionalChain([auth, 'optionalAccess', _1149 => _1149.email])) {
47936
+ if (_optionalChain([auth, 'optionalAccess', _1148 => _1148.email])) {
47928
47937
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
47929
47938
  }
47930
47939
  return base;
@@ -47979,7 +47988,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
47979
47988
  const { active = true } = runtimeOptions;
47980
47989
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
47981
47990
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
47982
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1150 => _1150.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
47991
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1149 => _1149.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
47983
47992
  const persistedRef = _react.useRef.call(void 0, null);
47984
47993
  if (persistedRef.current === null) {
47985
47994
  pruneStaleChatStorage(source);
@@ -48084,7 +48093,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48084
48093
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
48085
48094
  sources = sourcesMapRef.current.get(lookupIdx);
48086
48095
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
48087
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1151 => _1151.current, 'access', _1152 => _1152.get, 'call', _1153 => _1153(lookupIdx), 'optionalAccess', _1154 => _1154.scrollAnchor]), () => ( void 0));
48096
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1150 => _1150.current, 'access', _1151 => _1151.get, 'call', _1152 => _1152(lookupIdx), 'optionalAccess', _1153 => _1153.scrollAnchor]), () => ( void 0));
48088
48097
  }
48089
48098
  return {
48090
48099
  id: m.id,
@@ -48132,7 +48141,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48132
48141
  );
48133
48142
  return;
48134
48143
  }
48135
- const refSlug = typeof _optionalChain([reference, 'access', _1155 => _1155.metadata, 'optionalAccess', _1156 => _1156.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
48144
+ const refSlug = typeof _optionalChain([reference, 'access', _1154 => _1154.metadata, 'optionalAccess', _1155 => _1155.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
48136
48145
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
48137
48146
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
48138
48147
  const text = `/${cmdId} display "${escaped}"`;
@@ -48204,18 +48213,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48204
48213
  clearMessages,
48205
48214
  streamingPhase,
48206
48215
  /** Provider key for the lib's `<ModelDisplay>` icon. */
48207
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1157 => _1157.provider]), () => ( null)),
48208
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1158 => _1158.modelLabel]), () => ( null)),
48209
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1159 => _1159.contextWindowMaxTokens]), () => ( null)),
48216
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1156 => _1156.provider]), () => ( null)),
48217
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1157 => _1157.modelLabel]), () => ( null)),
48218
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1158 => _1158.contextWindowMaxTokens]), () => ( null)),
48210
48219
  /** Input tokens (known after server's message_start frame; null until). */
48211
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1160 => _1160.inputTokens]), () => ( null)),
48220
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1159 => _1159.inputTokens]), () => ( null)),
48212
48221
  /** Output tokens (known only after server's trailing usage frame). */
48213
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1161 => _1161.outputTokens]), () => ( null)),
48222
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1160 => _1160.outputTokens]), () => ( null)),
48214
48223
  /** Cache hit % (read / total-input × 100). null during streaming. */
48215
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1162 => _1162.cacheHitRatePct]), () => ( null)),
48224
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1161 => _1161.cacheHitRatePct]), () => ( null)),
48216
48225
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
48217
48226
  * token counts). null until the trailing usage frame lands. */
48218
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1163 => _1163.breakdown]), () => ( null)),
48227
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1162 => _1162.breakdown]), () => ( null)),
48219
48228
  // ─── Dialog management — stubs for v1 ────────────────────────────────
48220
48229
  // Guide mode currently keeps its history in `localStorage` opaquely
48221
48230
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -48273,15 +48282,15 @@ var noopRejectRequest = async (_id, _reason) => {
48273
48282
 
48274
48283
  // src/components/chat/utils/process-historical-messages.ts
48275
48284
  function getOwnerDisplayName(owner) {
48276
- if (_optionalChain([owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN && owner.user) {
48285
+ if (_optionalChain([owner, 'optionalAccess', _1163 => _1163.type]) === OWNER_TYPE.ADMIN && owner.user) {
48277
48286
  const { firstName, lastName } = owner.user;
48278
48287
  const name = [firstName, lastName].filter(Boolean).join(" ");
48279
48288
  if (name) return name;
48280
48289
  }
48281
- return _optionalChain([owner, 'optionalAccess', _1165 => _1165.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
48290
+ return _optionalChain([owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
48282
48291
  }
48283
48292
  function getOwnerAvatar(owner) {
48284
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1166 => _1166.user, 'optionalAccess', _1167 => _1167.image, 'optionalAccess', _1168 => _1168.imageUrl]), () => ( void 0));
48293
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1165 => _1165.user, 'optionalAccess', _1166 => _1166.image, 'optionalAccess', _1167 => _1167.imageUrl]), () => ( void 0));
48285
48294
  }
48286
48295
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
48287
48296
  messageDataArray.forEach((data) => {
@@ -48344,14 +48353,14 @@ function processHistoricalMessages(messages, options = {}) {
48344
48353
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
48345
48354
  return;
48346
48355
  }
48347
- const isUserMessage = _optionalChain([msg, 'access', _1169 => _1169.owner, 'optionalAccess', _1170 => _1170.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1171 => _1171.owner, 'optionalAccess', _1172 => _1172.type]) === OWNER_TYPE.ADMIN;
48356
+ const isUserMessage = _optionalChain([msg, 'access', _1168 => _1168.owner, 'optionalAccess', _1169 => _1169.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1170 => _1170.owner, 'optionalAccess', _1171 => _1171.type]) === OWNER_TYPE.ADMIN;
48348
48357
  if (isUserMessage) {
48349
48358
  flushAssistantMessage();
48350
- const userAuthorType = _optionalChain([msg, 'access', _1173 => _1173.owner, 'optionalAccess', _1174 => _1174.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48359
+ const userAuthorType = _optionalChain([msg, 'access', _1172 => _1172.owner, 'optionalAccess', _1173 => _1173.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48351
48360
  messageDataArray.forEach((data) => {
48352
48361
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
48353
48362
  const rawContext = data.contextItems;
48354
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1175 => _1175.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1176 => _1176.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
48363
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1174 => _1174.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1175 => _1175.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
48355
48364
  processedMessages.push({
48356
48365
  id: msg.id,
48357
48366
  role: "user",
@@ -48375,7 +48384,7 @@ function processHistoricalMessages(messages, options = {}) {
48375
48384
  });
48376
48385
  const nextMsg = messages[index + 1];
48377
48386
  const isLastMessage = index === messages.length - 1;
48378
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1177 => _1177.owner, 'optionalAccess', _1178 => _1178.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1179 => _1179.owner, 'optionalAccess', _1180 => _1180.type]) === OWNER_TYPE.ADMIN);
48387
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1176 => _1176.owner, 'optionalAccess', _1177 => _1177.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1178 => _1178.owner, 'optionalAccess', _1179 => _1179.type]) === OWNER_TYPE.ADMIN);
48379
48388
  if (isLastMessage || nextIsFromUser) {
48380
48389
  flushAssistantMessage();
48381
48390
  }
@@ -48485,7 +48494,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48485
48494
  }
48486
48495
  }
48487
48496
  } else {
48488
- _optionalChain([escalatedApprovals, 'optionalAccess', _1181 => _1181.set, 'call', _1182 => _1182(data.approvalRequestId, {
48497
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1180 => _1180.set, 'call', _1181 => _1181(data.approvalRequestId, {
48489
48498
  command: data.command || "",
48490
48499
  explanation: data.explanation,
48491
48500
  approvalType,
@@ -48499,8 +48508,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48499
48508
  const existingStatus = approvalStatuses[data.approvalRequestId];
48500
48509
  const status = existingStatus || (data.approved ? "approved" : "rejected");
48501
48510
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
48502
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1183 => _1183.get, 'call', _1184 => _1184(data.approvalRequestId)]);
48503
- if (_optionalChain([escalatedData, 'optionalAccess', _1185 => _1185.toolCalls]) && escalatedData.toolCalls.length > 0) {
48511
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1182 => _1182.get, 'call', _1183 => _1183(data.approvalRequestId)]);
48512
+ if (_optionalChain([escalatedData, 'optionalAccess', _1184 => _1184.toolCalls]) && escalatedData.toolCalls.length > 0) {
48504
48513
  if (batchApprovalsEnabled) {
48505
48514
  accumulator.addApprovalBatch(
48506
48515
  data.approvalRequestId,
@@ -48522,7 +48531,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48522
48531
  );
48523
48532
  }
48524
48533
  }
48525
- _optionalChain([escalatedApprovals, 'optionalAccess', _1186 => _1186.delete, 'call', _1187 => _1187(data.approvalRequestId)]);
48534
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1185 => _1185.delete, 'call', _1186 => _1186(data.approvalRequestId)]);
48526
48535
  break;
48527
48536
  }
48528
48537
  if (escalatedData) {
@@ -48531,7 +48540,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48531
48540
  explanation: escalatedData.explanation,
48532
48541
  approvalType: escalatedData.approvalType
48533
48542
  });
48534
- _optionalChain([escalatedApprovals, 'optionalAccess', _1188 => _1188.delete, 'call', _1189 => _1189(data.approvalRequestId)]);
48543
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1187 => _1187.delete, 'call', _1188 => _1188(data.approvalRequestId)]);
48535
48544
  }
48536
48545
  const before = accumulator.getSegments();
48537
48546
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -48547,9 +48556,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48547
48556
  case MESSAGE_TYPE.ERROR:
48548
48557
  if ("error" in data) {
48549
48558
  let message2;
48550
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1190 => _1190.details])) {
48559
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1189 => _1189.details])) {
48551
48560
  try {
48552
- message2 = _optionalChain([JSON, 'access', _1191 => _1191.parse, 'call', _1192 => _1192(data.details), 'optionalAccess', _1193 => _1193.error, 'optionalAccess', _1194 => _1194.message]);
48561
+ message2 = _optionalChain([JSON, 'access', _1190 => _1190.parse, 'call', _1191 => _1191(data.details), 'optionalAccess', _1192 => _1192.error, 'optionalAccess', _1193 => _1193.message]);
48553
48562
  } catch (e58) {
48554
48563
  message2 = data.details;
48555
48564
  }
@@ -48632,14 +48641,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
48632
48641
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
48633
48642
  return;
48634
48643
  }
48635
- const isUserMessage = _optionalChain([msg, 'access', _1195 => _1195.owner, 'optionalAccess', _1196 => _1196.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1197 => _1197.owner, 'optionalAccess', _1198 => _1198.type]) === OWNER_TYPE.ADMIN;
48644
+ const isUserMessage = _optionalChain([msg, 'access', _1194 => _1194.owner, 'optionalAccess', _1195 => _1195.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1196 => _1196.owner, 'optionalAccess', _1197 => _1197.type]) === OWNER_TYPE.ADMIN;
48636
48645
  if (isUserMessage) {
48637
48646
  flushAssistantMessage();
48638
- const userAuthorType = _optionalChain([msg, 'access', _1199 => _1199.owner, 'optionalAccess', _1200 => _1200.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48647
+ const userAuthorType = _optionalChain([msg, 'access', _1198 => _1198.owner, 'optionalAccess', _1199 => _1199.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48639
48648
  messageDataArray.forEach((data) => {
48640
48649
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
48641
48650
  const rawContext = data.contextItems;
48642
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1201 => _1201.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1202 => _1202.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
48651
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1200 => _1200.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1201 => _1201.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
48643
48652
  processedMessages.push({
48644
48653
  id: msg.id,
48645
48654
  role: "user",
@@ -48663,7 +48672,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
48663
48672
  });
48664
48673
  const nextMsg = messages[index + 1];
48665
48674
  const isLastMessage = index === messages.length - 1;
48666
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1203 => _1203.owner, 'optionalAccess', _1204 => _1204.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1205 => _1205.owner, 'optionalAccess', _1206 => _1206.type]) === OWNER_TYPE.ADMIN);
48675
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1202 => _1202.owner, 'optionalAccess', _1203 => _1203.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1204 => _1204.owner, 'optionalAccess', _1205 => _1205.type]) === OWNER_TYPE.ADMIN);
48667
48676
  if (isLastMessage || nextIsFromUser) {
48668
48677
  flushAssistantMessage();
48669
48678
  }
@@ -48999,7 +49008,7 @@ function useNatsChatAdapter(config, options = {}) {
48999
49008
  }, [active, fetchDialogs, loadDialogsPage]);
49000
49009
  const sendMessage = _react.useCallback.call(void 0,
49001
49010
  async (text, sendOptions) => {
49002
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1207 => _1207.hidden]), () => ( false));
49011
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1206 => _1206.hidden]), () => ( false));
49003
49012
  setMessages((prev) => [
49004
49013
  ...prev,
49005
49014
  {
@@ -49163,11 +49172,11 @@ function useNatsChatAdapter(config, options = {}) {
49163
49172
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
49164
49173
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
49165
49174
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
49166
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1208 => _1208.provider]), () => ( modelProvider)), () => ( null)),
49167
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1209 => _1209.modelLabel]), () => ( modelLabel)), () => ( null)),
49168
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1210 => _1210.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1211 => _1211.contextWindowMaxTokens]))), () => ( null)),
49169
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1212 => _1212.inputTokensSize]), () => ( null)),
49170
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1213 => _1213.outputTokensSize]), () => ( null)),
49175
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1207 => _1207.provider]), () => ( modelProvider)), () => ( null)),
49176
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1208 => _1208.modelLabel]), () => ( modelLabel)), () => ( null)),
49177
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1209 => _1209.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1210 => _1210.contextWindowMaxTokens]))), () => ( null)),
49178
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1211 => _1211.inputTokensSize]), () => ( null)),
49179
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1212 => _1212.outputTokensSize]), () => ( null)),
49171
49180
  currentCacheHitRatePct: null,
49172
49181
  currentUsageBreakdown: null,
49173
49182
  // Dialog management
@@ -49415,7 +49424,7 @@ function extractIncompleteMessageState(lastMessage) {
49415
49424
  break;
49416
49425
  case "approval_batch": {
49417
49426
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
49418
- (c) => _optionalChain([segment, 'access', _1214 => _1214.data, 'access', _1215 => _1215.executions, 'optionalAccess', _1216 => _1216[c.toolExecutionRequestId], 'optionalAccess', _1217 => _1217.status]) === "done"
49427
+ (c) => _optionalChain([segment, 'access', _1213 => _1213.data, 'access', _1214 => _1214.executions, 'optionalAccess', _1215 => _1215[c.toolExecutionRequestId], 'optionalAccess', _1216 => _1216.status]) === "done"
49419
49428
  );
49420
49429
  if (segment.status !== "rejected" && !allDone) {
49421
49430
  hasIncompleteState = true;
@@ -49483,20 +49492,20 @@ function mergeHistoryWithRealtime(input) {
49483
49492
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
49484
49493
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
49485
49494
  const trailing = processedHistory[processedHistory.length - 1];
49486
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1218 => _1218.role]) === "assistant" ? trailing : null;
49487
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1219 => _1219.content, 'access', _1220 => _1220.find, 'call', _1221 => _1221((s) => s.type === "approval_batch"), 'optionalAccess', _1222 => _1222.data, 'optionalAccess', _1223 => _1223.approvalRequestId]), () => ( null)) : null;
49495
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1217 => _1217.role]) === "assistant" ? trailing : null;
49496
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1218 => _1218.content, 'access', _1219 => _1219.find, 'call', _1220 => _1220((s) => s.type === "approval_batch"), 'optionalAccess', _1221 => _1221.data, 'optionalAccess', _1222 => _1222.approvalRequestId]), () => ( null)) : null;
49488
49497
  let processedToUse = processedHistory;
49489
49498
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
49490
49499
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
49491
49500
  if (historyBatchId) {
49492
49501
  const batchTwins = existingMessages.filter(
49493
49502
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
49494
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1224 => _1224.data, 'optionalAccess', _1225 => _1225.approvalRequestId]) === historyBatchId
49503
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1223 => _1223.data, 'optionalAccess', _1224 => _1224.approvalRequestId]) === historyBatchId
49495
49504
  )
49496
49505
  );
49497
49506
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
49498
49507
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
49499
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1226 => _1226.content])) ? historyTrailingAssistant.content.length : 0;
49508
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1225 => _1225.content])) ? historyTrailingAssistant.content.length : 0;
49500
49509
  const realtimeSize = existingWithSameBatch.content.length;
49501
49510
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
49502
49511
  processedToUse = processedHistory.slice(0, -1);
@@ -49512,16 +49521,16 @@ function mergeHistoryWithRealtime(input) {
49512
49521
  if (pinnedSyntheticIds.has(m.id)) return true;
49513
49522
  if (droppedSyntheticIds.has(m.id)) return false;
49514
49523
  if (processedIds.has(m.id)) return false;
49515
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1227 => _1227.has, 'call', _1228 => _1228(m.id)])) return false;
49524
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1226 => _1226.has, 'call', _1227 => _1227(m.id)])) return false;
49516
49525
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
49517
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1229 => _1229.timestamp, 'optionalAccess', _1230 => _1230.getTime, 'call', _1231 => _1231()]), () => ( 0))) <= historyFetchedAt;
49526
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1228 => _1228.timestamp, 'optionalAccess', _1229 => _1229.getTime, 'call', _1230 => _1230()]), () => ( 0))) <= historyFetchedAt;
49518
49527
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
49519
49528
  }
49520
49529
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
49521
49530
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
49522
49531
  return false;
49523
49532
  }
49524
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1232 => _1232.timestamp, 'optionalAccess', _1233 => _1233.getTime, 'call', _1234 => _1234()]), () => ( 0))) <= historyFetchedAt;
49533
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1231 => _1231.timestamp, 'optionalAccess', _1232 => _1232.getTime, 'call', _1233 => _1233()]), () => ( 0))) <= historyFetchedAt;
49525
49534
  if (covered) return false;
49526
49535
  }
49527
49536
  return true;
@@ -49741,7 +49750,7 @@ function useChatDialogManager({
49741
49750
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
49742
49751
  if (restoreTarget) {
49743
49752
  try {
49744
- await _optionalChain([unarchiveDialog, 'optionalCall', _1235 => _1235(restoreTarget.id)]);
49753
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1234 => _1234(restoreTarget.id)]);
49745
49754
  } catch (err) {
49746
49755
  console.error("[useChatDialogManager] unarchive failed:", err);
49747
49756
  return;
@@ -50158,7 +50167,7 @@ function EmbeddableChatInner({
50158
50167
  }),
50159
50168
  [commandsUrl]
50160
50169
  );
50161
- const userName = _optionalChain([identityUser, 'optionalAccess', _1236 => _1236.firstName, 'optionalAccess', _1237 => _1237.trim, 'call', _1238 => _1238()]) || _optionalChain([identityUser, 'optionalAccess', _1239 => _1239.name, 'optionalAccess', _1240 => _1240.split, 'call', _1241 => _1241(" "), 'access', _1242 => _1242[0], 'optionalAccess', _1243 => _1243.trim, 'call', _1244 => _1244()]) || void 0;
50170
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1235 => _1235.firstName, 'optionalAccess', _1236 => _1236.trim, 'call', _1237 => _1237()]) || _optionalChain([identityUser, 'optionalAccess', _1238 => _1238.name, 'optionalAccess', _1239 => _1239.split, 'call', _1240 => _1240(" "), 'access', _1241 => _1241[0], 'optionalAccess', _1242 => _1242.trim, 'call', _1243 => _1243()]) || void 0;
50162
50171
  const effectiveModes = _react.useMemo.call(void 0, () => {
50163
50172
  if (modes) return modes;
50164
50173
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -50167,19 +50176,19 @@ function EmbeddableChatInner({
50167
50176
  const mingoCaps = _react.useMemo.call(void 0, () => {
50168
50177
  if (mingoState) {
50169
50178
  return {
50170
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1245 => _1245.canRename]), () => ( false)),
50171
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1246 => _1246.canArchive]), () => ( false)),
50172
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1247 => _1247.fetchArchivedDialogs]),
50173
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1248 => _1248.unarchiveDialog]),
50174
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1249 => _1249.searchQuery]),
50175
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1250 => _1250.onSearchChange])
50179
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1244 => _1244.canRename]), () => ( false)),
50180
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1245 => _1245.canArchive]), () => ( false)),
50181
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1246 => _1246.fetchArchivedDialogs]),
50182
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1247 => _1247.unarchiveDialog]),
50183
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1248 => _1248.searchQuery]),
50184
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1249 => _1249.onSearchChange])
50176
50185
  };
50177
50186
  }
50178
50187
  return {
50179
- canRename: !!_optionalChain([effectiveModes, 'access', _1251 => _1251.mingo, 'optionalAccess', _1252 => _1252.renameDialog]),
50180
- canArchive: !!_optionalChain([effectiveModes, 'access', _1253 => _1253.mingo, 'optionalAccess', _1254 => _1254.archiveDialog]),
50181
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1255 => _1255.mingo, 'optionalAccess', _1256 => _1256.fetchArchivedDialogs]),
50182
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1257 => _1257.mingo, 'optionalAccess', _1258 => _1258.unarchiveDialog]),
50188
+ canRename: !!_optionalChain([effectiveModes, 'access', _1250 => _1250.mingo, 'optionalAccess', _1251 => _1251.renameDialog]),
50189
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1252 => _1252.mingo, 'optionalAccess', _1253 => _1253.archiveDialog]),
50190
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1254 => _1254.mingo, 'optionalAccess', _1255 => _1255.fetchArchivedDialogs]),
50191
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1256 => _1256.mingo, 'optionalAccess', _1257 => _1257.unarchiveDialog]),
50183
50192
  searchQuery: void 0,
50184
50193
  onSearchChange: void 0
50185
50194
  };
@@ -50193,7 +50202,7 @@ function EmbeddableChatInner({
50193
50202
  if (controlledActiveMode === void 0) {
50194
50203
  setUncontrolledActiveMode(next);
50195
50204
  }
50196
- _optionalChain([onActiveModeChange, 'optionalCall', _1259 => _1259(next)]);
50205
+ _optionalChain([onActiveModeChange, 'optionalCall', _1258 => _1258(next)]);
50197
50206
  },
50198
50207
  [controlledActiveMode, onActiveModeChange]
50199
50208
  );
@@ -50215,7 +50224,7 @@ function EmbeddableChatInner({
50215
50224
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
50216
50225
  const effectiveAssistantName = emptyStateConfig.name;
50217
50226
  const effectiveAssistantIcon = emptyStateConfig.icon;
50218
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1260 => _1260.title]) === "string" ? guideWelcome.title : null)));
50227
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1259 => _1259.title]) === "string" ? guideWelcome.title : null)));
50219
50228
  const {
50220
50229
  messages: rawMessages,
50221
50230
  isLoading: chatLoading,
@@ -50255,7 +50264,7 @@ function EmbeddableChatInner({
50255
50264
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
50256
50265
  guidePromptSentRef.current = true;
50257
50266
  void sendMessage(guidePendingPrompt);
50258
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1261 => _1261()]);
50267
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1260 => _1260()]);
50259
50268
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
50260
50269
  const {
50261
50270
  attachments: stagedAttachments,
@@ -50266,7 +50275,7 @@ function EmbeddableChatInner({
50266
50275
  clear: clearAttachments
50267
50276
  } = useChatAttachments();
50268
50277
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
50269
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1262 => _1262.maxItems]), () => ( 10));
50278
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1261 => _1261.maxItems]), () => ( 10));
50270
50279
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
50271
50280
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
50272
50281
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -50283,10 +50292,10 @@ function EmbeddableChatInner({
50283
50292
  }, [activeDialogId, activeMode]);
50284
50293
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
50285
50294
  const m = /* @__PURE__ */ new Map();
50286
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1263 => _1263.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
50295
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1262 => _1262.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
50287
50296
  return m;
50288
- }, [_optionalChain([contextPicker, 'optionalAccess', _1264 => _1264.entityTypes])]);
50289
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1265 => _1265.entityTypes]);
50297
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1263 => _1263.entityTypes])]);
50298
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1264 => _1264.entityTypes]);
50290
50299
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
50291
50300
  const byType = /* @__PURE__ */ new Map();
50292
50301
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -50298,7 +50307,7 @@ function EmbeddableChatInner({
50298
50307
  if (mentionActiveRef.current) {
50299
50308
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
50300
50309
  if (contextItems.length >= contextMaxItems) return;
50301
- _optionalChain([chatInputRef, 'access', _1266 => _1266.current, 'optionalAccess', _1267 => _1267.commitMention, 'call', _1268 => _1268(mentionTokenOf(key, mentionMarkerByType), {
50310
+ _optionalChain([chatInputRef, 'access', _1265 => _1265.current, 'optionalAccess', _1266 => _1266.commitMention, 'call', _1267 => _1267(mentionTokenOf(key, mentionMarkerByType), {
50302
50311
  label: item.label,
50303
50312
  icon: resolveContextIcon(item)
50304
50313
  })]);
@@ -50320,9 +50329,9 @@ function EmbeddableChatInner({
50320
50329
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
50321
50330
  if (mentionKeysRef.current.has(key)) {
50322
50331
  mentionKeysRef.current.delete(key);
50323
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1269 => _1269.current, 'optionalAccess', _1270 => _1270.getValue, 'call', _1271 => _1271()]), () => ( ""));
50332
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1268 => _1268.current, 'optionalAccess', _1269 => _1269.getValue, 'call', _1270 => _1270()]), () => ( ""));
50324
50333
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
50325
- _optionalChain([chatInputRef, 'access', _1272 => _1272.current, 'optionalAccess', _1273 => _1273.setValue, 'call', _1274 => _1274(next)]);
50334
+ _optionalChain([chatInputRef, 'access', _1271 => _1271.current, 'optionalAccess', _1272 => _1272.setValue, 'call', _1273 => _1273(next)]);
50326
50335
  }
50327
50336
  }, [mentionMarkerByType]);
50328
50337
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -50339,7 +50348,7 @@ function EmbeddableChatInner({
50339
50348
  }, []);
50340
50349
  const closeContextPicker = _react.useCallback.call(void 0, () => {
50341
50350
  if (mentionActiveRef.current) {
50342
- _optionalChain([chatInputRef, 'access', _1275 => _1275.current, 'optionalAccess', _1276 => _1276.removeMentionTrigger, 'call', _1277 => _1277()]);
50351
+ _optionalChain([chatInputRef, 'access', _1274 => _1274.current, 'optionalAccess', _1275 => _1275.removeMentionTrigger, 'call', _1276 => _1276()]);
50343
50352
  }
50344
50353
  setContextPickerOpen(false);
50345
50354
  setMentionQuery(null);
@@ -50373,8 +50382,8 @@ function EmbeddableChatInner({
50373
50382
  []
50374
50383
  );
50375
50384
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
50376
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1278 => _1278.firstName]), _optionalChain([identityUser, 'optionalAccess', _1279 => _1279.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1280 => _1280.name, 'optionalAccess', _1281 => _1281.trim, 'call', _1282 => _1282()]) || void 0 : void 0;
50377
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1283 => _1283.avatarUrl, 'optionalAccess', _1284 => _1284.trim, 'call', _1285 => _1285()]) || void 0 : void 0;
50385
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1277 => _1277.firstName]), _optionalChain([identityUser, 'optionalAccess', _1278 => _1278.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1279 => _1279.name, 'optionalAccess', _1280 => _1280.trim, 'call', _1281 => _1281()]) || void 0 : void 0;
50386
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1282 => _1282.avatarUrl, 'optionalAccess', _1283 => _1283.trim, 'call', _1284 => _1284()]) || void 0 : void 0;
50378
50387
  const messages = _react.useMemo.call(void 0, () => {
50379
50388
  const cache = timestampCacheRef.current;
50380
50389
  const seenIds = /* @__PURE__ */ new Set();
@@ -50543,9 +50552,9 @@ function EmbeddableChatInner({
50543
50552
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
50544
50553
  const lastSources = _react.useMemo.call(void 0, () => {
50545
50554
  if (chatLoading) return void 0;
50546
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1286 => _1286.sources]);
50555
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1285 => _1285.sources]);
50547
50556
  if (!sources || sources.length === 0) return void 0;
50548
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1287 => _1287.content]) || "";
50557
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1286 => _1286.content]) || "";
50549
50558
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
50550
50559
  (m) => parseInt(m[1], 10)
50551
50560
  );
@@ -50592,7 +50601,7 @@ function EmbeddableChatInner({
50592
50601
  ChatPanelHeader,
50593
50602
  {
50594
50603
  showBack: hasConversation || guideCanReturnToMingo,
50595
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1288 => _1288.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
50604
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1287 => _1287.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
50596
50605
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
50597
50606
  isArchivedView: isViewingArchived,
50598
50607
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -50713,9 +50722,9 @@ function EmbeddableChatInner({
50713
50722
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
50714
50723
  subtitleLoading: emptyStateLoading,
50715
50724
  ...guideWelcome,
50716
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1289 => _1289.title]))),
50717
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1290 => _1290.icon]))),
50718
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1291 => _1291.quickActions]), () => ( guideSuggestedActions)),
50725
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1288 => _1288.title]))),
50726
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1289 => _1289.icon]))),
50727
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1290 => _1290.quickActions]), () => ( guideSuggestedActions)),
50719
50728
  onQuickAction: (action) => {
50720
50729
  setQuickActionPreview(null);
50721
50730
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -51826,4 +51835,4 @@ function EmbeddableChatInner({
51826
51835
 
51827
51836
 
51828
51837
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.BackToLoginLink = BackToLoginLink; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.AcceptInvitationForm = AcceptInvitationForm; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.PasswordInput = PasswordInput; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
51829
- //# sourceMappingURL=chunk-NGWYDTZZ.cjs.map
51838
+ //# sourceMappingURL=chunk-DKN425XR.cjs.map