@flamingo-stack/openframe-frontend-core 0.0.382 → 0.0.383-snapshot.20260708154433

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 (101) hide show
  1. package/dist/{chunk-JQT7PD6Z.cjs → chunk-AZOME5YC.cjs} +57 -57
  2. package/dist/{chunk-JQT7PD6Z.cjs.map → chunk-AZOME5YC.cjs.map} +1 -1
  3. package/dist/{chunk-PI3XFKEW.js → chunk-EEUUTWFQ.js} +2 -2
  4. package/dist/{chunk-HDWY2SXF.js → chunk-FBUTS5UQ.js} +4 -4
  5. package/dist/{chunk-QQAHEWSR.cjs → chunk-FG4J67VX.cjs} +31 -31
  6. package/dist/{chunk-QQAHEWSR.cjs.map → chunk-FG4J67VX.cjs.map} +1 -1
  7. package/dist/{chunk-K5P6XKIT.js → chunk-FQR2CNKB.js} +2 -2
  8. package/dist/{chunk-7IQK3Y3G.cjs → chunk-FSN3GIUJ.cjs} +25 -25
  9. package/dist/{chunk-7IQK3Y3G.cjs.map → chunk-FSN3GIUJ.cjs.map} +1 -1
  10. package/dist/{chunk-EE26RXMG.cjs → chunk-FV2FQQYF.cjs} +12 -12
  11. package/dist/{chunk-EE26RXMG.cjs.map → chunk-FV2FQQYF.cjs.map} +1 -1
  12. package/dist/{chunk-32YONDMH.cjs → chunk-H7PRWFAQ.cjs} +26 -26
  13. package/dist/{chunk-32YONDMH.cjs.map → chunk-H7PRWFAQ.cjs.map} +1 -1
  14. package/dist/{chunk-GZ5N76H2.js → chunk-JEADRVBL.js} +4 -4
  15. package/dist/{chunk-LRA7FGQC.js → chunk-K7YBWMJ6.js} +4 -4
  16. package/dist/{chunk-AS6FET7G.cjs → chunk-KI5QS5C2.cjs} +15 -15
  17. package/dist/{chunk-AS6FET7G.cjs.map → chunk-KI5QS5C2.cjs.map} +1 -1
  18. package/dist/{chunk-23PZFAET.js → chunk-KJ3O7A65.js} +4 -4
  19. package/dist/{chunk-IENK6OY5.cjs → chunk-KJTGCH3I.cjs} +5 -5
  20. package/dist/{chunk-IENK6OY5.cjs.map → chunk-KJTGCH3I.cjs.map} +1 -1
  21. package/dist/{chunk-DQJCWNRT.js → chunk-LMIN2CWQ.js} +2 -2
  22. package/dist/{chunk-QI3PW4F7.cjs → chunk-MMYAOMD4.cjs} +7 -7
  23. package/dist/{chunk-QI3PW4F7.cjs.map → chunk-MMYAOMD4.cjs.map} +1 -1
  24. package/dist/{chunk-4A4DA7OX.js → chunk-MVLWQ6OZ.js} +2 -2
  25. package/dist/{chunk-SZSBHBXE.cjs → chunk-NGWYDTZZ.cjs} +666 -598
  26. package/dist/chunk-NGWYDTZZ.cjs.map +1 -0
  27. package/dist/{chunk-XHCRZDM6.cjs → chunk-Q2OBKYTK.cjs} +37 -37
  28. package/dist/{chunk-XHCRZDM6.cjs.map → chunk-Q2OBKYTK.cjs.map} +1 -1
  29. package/dist/{chunk-L3DRZ2WE.cjs → chunk-Q6EGRFVE.cjs} +62 -62
  30. package/dist/{chunk-L3DRZ2WE.cjs.map → chunk-Q6EGRFVE.cjs.map} +1 -1
  31. package/dist/{chunk-3GGIVFSI.js → chunk-U22GJXOD.js} +2 -2
  32. package/dist/{chunk-LIK575RM.js → chunk-UOLDL3U3.js} +2 -2
  33. package/dist/{chunk-GZIHB6TH.js → chunk-VZ4NJBQT.js} +364 -296
  34. package/dist/chunk-VZ4NJBQT.js.map +1 -0
  35. package/dist/{chunk-Z56MCQ6X.cjs → chunk-WRAECAST.cjs} +9 -9
  36. package/dist/{chunk-Z56MCQ6X.cjs.map → chunk-WRAECAST.cjs.map} +1 -1
  37. package/dist/{chunk-MGDDM2UI.js → chunk-XGE53EOX.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/approval-batch-message.d.ts +20 -0
  41. package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
  42. package/dist/components/chat/index.cjs +4 -2
  43. package/dist/components/chat/index.cjs.map +1 -1
  44. package/dist/components/chat/index.js +3 -1
  45. package/dist/components/contact/index.cjs +3 -3
  46. package/dist/components/contact/index.js +2 -2
  47. package/dist/components/docs/index.cjs +5 -5
  48. package/dist/components/docs/index.js +4 -4
  49. package/dist/components/embeds/index.cjs +3 -3
  50. package/dist/components/embeds/index.js +2 -2
  51. package/dist/components/faq/index.cjs +3 -3
  52. package/dist/components/faq/index.js +2 -2
  53. package/dist/components/features/auth/create-organization-form.d.ts +8 -1
  54. package/dist/components/features/auth/create-organization-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/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
  58. package/dist/components/features/notifications/notification-tile.d.ts +8 -2
  59. package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
  60. package/dist/components/features/notifications/types.d.ts +11 -1
  61. package/dist/components/features/notifications/types.d.ts.map +1 -1
  62. package/dist/components/help-center-pages/index.cjs +20 -20
  63. package/dist/components/help-center-pages/index.js +11 -11
  64. package/dist/components/index.cjs +122 -120
  65. package/dist/components/index.cjs.map +1 -1
  66. package/dist/components/index.js +11 -9
  67. package/dist/components/index.js.map +1 -1
  68. package/dist/components/navigation/index.cjs +2 -2
  69. package/dist/components/navigation/index.js +1 -1
  70. package/dist/components/onboarding-guides/index.cjs +5 -5
  71. package/dist/components/onboarding-guides/index.js +4 -4
  72. package/dist/components/related-content/index.cjs +3 -3
  73. package/dist/components/related-content/index.js +2 -2
  74. package/dist/components/tickets/index.cjs +5 -5
  75. package/dist/components/tickets/index.js +4 -4
  76. package/dist/components/ui/index.cjs +4 -2
  77. package/dist/components/ui/index.cjs.map +1 -1
  78. package/dist/components/ui/index.js +3 -1
  79. package/dist/index.cjs +4 -2
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.js +3 -1
  82. package/package.json +1 -1
  83. package/src/components/chat/approval-batch-message.tsx +28 -15
  84. package/src/components/features/auth/create-organization-form.tsx +21 -10
  85. package/src/components/features/notifications/approval-request-notification-tile.tsx +70 -46
  86. package/src/components/features/notifications/notification-tile.tsx +125 -41
  87. package/src/components/features/notifications/types.ts +11 -1
  88. package/src/stories/NotificationDrawer.stories.tsx +220 -31
  89. package/dist/chunk-GZIHB6TH.js.map +0 -1
  90. package/dist/chunk-SZSBHBXE.cjs.map +0 -1
  91. /package/dist/{chunk-PI3XFKEW.js.map → chunk-EEUUTWFQ.js.map} +0 -0
  92. /package/dist/{chunk-HDWY2SXF.js.map → chunk-FBUTS5UQ.js.map} +0 -0
  93. /package/dist/{chunk-K5P6XKIT.js.map → chunk-FQR2CNKB.js.map} +0 -0
  94. /package/dist/{chunk-GZ5N76H2.js.map → chunk-JEADRVBL.js.map} +0 -0
  95. /package/dist/{chunk-LRA7FGQC.js.map → chunk-K7YBWMJ6.js.map} +0 -0
  96. /package/dist/{chunk-23PZFAET.js.map → chunk-KJ3O7A65.js.map} +0 -0
  97. /package/dist/{chunk-DQJCWNRT.js.map → chunk-LMIN2CWQ.js.map} +0 -0
  98. /package/dist/{chunk-4A4DA7OX.js.map → chunk-MVLWQ6OZ.js.map} +0 -0
  99. /package/dist/{chunk-3GGIVFSI.js.map → chunk-U22GJXOD.js.map} +0 -0
  100. /package/dist/{chunk-LIK575RM.js.map → chunk-UOLDL3U3.js.map} +0 -0
  101. /package/dist/{chunk-MGDDM2UI.js.map → chunk-XGE53EOX.js.map} +0 -0
@@ -826,15 +826,18 @@ function CommandBlock({ command, className }) {
826
826
  // src/components/chat/approval-batch-message.tsx
827
827
 
828
828
  var COMMAND_BODY_KEYS = new Set(COMMAND_BODY_ARG_KEYS);
829
- function renderStatusTag(status, isClient, resolvedByName) {
830
- const suffix = isClient && resolvedByName ? ` by ${resolvedByName}` : "";
829
+ function ApprovalStatusTag({ status, resolvedByName, inlineResolver = false }) {
830
+ const suffix = inlineResolver && resolvedByName ? ` by ${resolvedByName}` : "";
831
831
  if (status === "approved") {
832
832
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { label: `Approved${suffix}`, variant: "success", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { className: "w-4 h-4" }) });
833
833
  }
834
834
  if (status === "cancelled") {
835
835
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { label: `Canceled${suffix}`, variant: "grey", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { className: "w-4 h-4" }) });
836
836
  }
837
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { label: `Rejected${suffix}`, variant: "error", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkCircleIcon, { className: "w-4 h-4" }) });
837
+ if (status === "rejected") {
838
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { label: `Rejected${suffix}`, variant: "error", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkCircleIcon, { className: "w-4 h-4" }) });
839
+ }
840
+ return null;
838
841
  }
839
842
  function getArgEntries(call) {
840
843
  const args = call.toolCallArguments;
@@ -916,7 +919,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
916
919
  );
917
920
  }
918
921
  var ApprovalBatchMessage = _react.forwardRef.call(void 0,
919
- ({ className, data, onApprove, onReject, status = "pending", maxBodyHeight, resolvedByName, showExecutionStatus = true, assistantType, ...props }, ref) => {
922
+ ({ className, data, onApprove, onReject, status = "pending", maxBodyHeight, resolvedByName, showExecutionStatus = true, assistantType, showFooterActions = true, ...props }, ref) => {
920
923
  const [expandedId, setExpandedId] = _react.useState.call(void 0, null);
921
924
  const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
922
925
  const isClient = assistantType === "fae";
@@ -937,7 +940,7 @@ var ApprovalBatchMessage = _react.forwardRef.call(void 0,
937
940
  setIsProcessing(false);
938
941
  }
939
942
  };
940
- const showFooterBlock = explanations.length > 0 || status !== void 0;
943
+ const showFooterBlock = explanations.length > 0 || showFooterActions;
941
944
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
942
945
  "div",
943
946
  {
@@ -988,7 +991,7 @@ var ApprovalBatchMessage = _react.forwardRef.call(void 0,
988
991
  ),
989
992
  children: [
990
993
  explanations.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "list-disc pl-5 text-h6 text-ods-text-primary w-full", children: explanations.map((expl, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: expl }, i)) }),
991
- status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-[var(--spacing-system-xsf)] items-center", children: [
994
+ showFooterActions && (status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-[var(--spacing-system-xsf)] items-center", children: [
992
995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
993
996
  _chunkNYIZVI4Icjs.Button,
994
997
  {
@@ -1020,12 +1023,12 @@ var ApprovalBatchMessage = _react.forwardRef.call(void 0,
1020
1023
  }
1021
1024
  )
1022
1025
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
1023
- renderStatusTag(status, isClient, resolvedByName),
1026
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalStatusTag, { status, resolvedByName, inlineResolver: isClient }),
1024
1027
  !isClient && resolvedByName && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-h6 text-ods-text-secondary", children: [
1025
1028
  "by ",
1026
1029
  resolvedByName
1027
1030
  ] })
1028
- ] })
1031
+ ] }))
1029
1032
  ]
1030
1033
  }
1031
1034
  )
@@ -24617,6 +24620,8 @@ function CreateOrganizationForm({
24617
24620
  disabled = false,
24618
24621
  errors,
24619
24622
  emailStatus,
24623
+ domainStatus,
24624
+ domainSlot,
24620
24625
  ssoProviders,
24621
24626
  onSsoClick,
24622
24627
  ssoActionLabel = "Sign Up with",
@@ -24669,19 +24674,23 @@ function CreateOrganizationForm({
24669
24674
  }
24670
24675
  ) })
24671
24676
  ] }),
24672
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24673
- _chunkNYIZVI4Icjs.Input,
24674
- {
24675
- label: "Domain",
24676
- placeholder: domainPlaceholder,
24677
- value: domain,
24678
- error: _optionalChain([errors, 'optionalAccess', _435 => _435.domain]),
24679
- disabled: fieldsDisabled,
24680
- endAdornment: domainSuffix ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: domainSuffix }) : void 0,
24681
- onChange: (event) => onDomainChange(event.target.value),
24682
- onKeyDown: handleKeyDown
24683
- }
24684
- ),
24677
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
24678
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24679
+ _chunkNYIZVI4Icjs.Input,
24680
+ {
24681
+ label: "Domain",
24682
+ placeholder: domainPlaceholder,
24683
+ value: domain,
24684
+ error: _nullishCoalesce(_optionalChain([errors, 'optionalAccess', _435 => _435.domain]), () => ( _optionalChain([domainStatus, 'optionalAccess', _436 => _436.message]))),
24685
+ errorVariant: _optionalChain([errors, 'optionalAccess', _437 => _437.domain]) ? "error" : _optionalChain([domainStatus, 'optionalAccess', _438 => _438.variant]),
24686
+ disabled: fieldsDisabled,
24687
+ endAdornment: domainSuffix ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: domainSuffix }) : void 0,
24688
+ onChange: (event) => onDomainChange(event.target.value),
24689
+ onKeyDown: handleKeyDown
24690
+ }
24691
+ ),
24692
+ domainSlot && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: domainSlot })
24693
+ ] }),
24685
24694
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24686
24695
  CheckboxBlock,
24687
24696
  {
@@ -24690,7 +24699,7 @@ function CreateOrganizationForm({
24690
24699
  truncateLabel: true,
24691
24700
  checked: agreedToTerms,
24692
24701
  disabled: fieldsDisabled,
24693
- error: _optionalChain([errors, 'optionalAccess', _436 => _436.terms]),
24702
+ error: _optionalChain([errors, 'optionalAccess', _439 => _439.terms]),
24694
24703
  onCheckedChange: onAgreedToTermsChange
24695
24704
  }
24696
24705
  ),
@@ -24793,7 +24802,7 @@ function LoginForm({
24793
24802
  label: "Email",
24794
24803
  placeholder: emailPlaceholder,
24795
24804
  value: email,
24796
- error: _optionalChain([errors, 'optionalAccess', _437 => _437.email]),
24805
+ error: _optionalChain([errors, 'optionalAccess', _440 => _440.email]),
24797
24806
  disabled: fieldDisabled,
24798
24807
  onChange: (event) => onEmailChange(event.target.value),
24799
24808
  onKeyDown: handleKeyDown
@@ -24912,7 +24921,7 @@ function OpenFrameSsoLoginForm({
24912
24921
  label: emailLabel,
24913
24922
  placeholder: emailPlaceholder,
24914
24923
  value: email,
24915
- error: _optionalChain([errors, 'optionalAccess', _438 => _438.email]),
24924
+ error: _optionalChain([errors, 'optionalAccess', _441 => _441.email]),
24916
24925
  disabled: fieldsDisabled,
24917
24926
  onChange: (event) => onEmailChange(event.target.value),
24918
24927
  onKeyDown: handleKeyDown
@@ -24924,7 +24933,7 @@ function OpenFrameSsoLoginForm({
24924
24933
  label: passwordLabel,
24925
24934
  placeholder: passwordPlaceholder,
24926
24935
  value: password,
24927
- error: _optionalChain([errors, 'optionalAccess', _439 => _439.password]),
24936
+ error: _optionalChain([errors, 'optionalAccess', _442 => _442.password]),
24928
24937
  disabled: fieldsDisabled,
24929
24938
  onChange: (event) => onPasswordChange(event.target.value),
24930
24939
  onKeyDown: handleKeyDown
@@ -25016,7 +25025,7 @@ function OpenFrameSsoSignUpForm({
25016
25025
  label: emailLabel,
25017
25026
  placeholder: "username@mail.com",
25018
25027
  value: email,
25019
- error: _optionalChain([errors, 'optionalAccess', _440 => _440.email]),
25028
+ error: _optionalChain([errors, 'optionalAccess', _443 => _443.email]),
25020
25029
  disabled: fieldsDisabled,
25021
25030
  onChange: (event) => onEmailChange(event.target.value),
25022
25031
  onKeyDown: handleKeyDown
@@ -25029,7 +25038,7 @@ function OpenFrameSsoSignUpForm({
25029
25038
  label: "First Name",
25030
25039
  placeholder: "Enter First Name",
25031
25040
  value: firstName,
25032
- error: _optionalChain([errors, 'optionalAccess', _441 => _441.firstName]),
25041
+ error: _optionalChain([errors, 'optionalAccess', _444 => _444.firstName]),
25033
25042
  disabled: fieldsDisabled,
25034
25043
  onChange: (event) => onFirstNameChange(event.target.value),
25035
25044
  onKeyDown: handleKeyDown
@@ -25041,7 +25050,7 @@ function OpenFrameSsoSignUpForm({
25041
25050
  label: "Last Name",
25042
25051
  placeholder: "Enter Last Name",
25043
25052
  value: lastName,
25044
- error: _optionalChain([errors, 'optionalAccess', _442 => _442.lastName]),
25053
+ error: _optionalChain([errors, 'optionalAccess', _445 => _445.lastName]),
25045
25054
  disabled: fieldsDisabled,
25046
25055
  onChange: (event) => onLastNameChange(event.target.value),
25047
25056
  onKeyDown: handleKeyDown
@@ -25055,7 +25064,7 @@ function OpenFrameSsoSignUpForm({
25055
25064
  label: "Password",
25056
25065
  placeholder: "Enter Password",
25057
25066
  value: password,
25058
- error: _optionalChain([errors, 'optionalAccess', _443 => _443.password]),
25067
+ error: _optionalChain([errors, 'optionalAccess', _446 => _446.password]),
25059
25068
  disabled: fieldsDisabled,
25060
25069
  onChange: (event) => onPasswordChange(event.target.value),
25061
25070
  onKeyDown: handleKeyDown
@@ -25067,7 +25076,7 @@ function OpenFrameSsoSignUpForm({
25067
25076
  label: "Confirm Password",
25068
25077
  placeholder: "Confirm Password",
25069
25078
  value: confirmPassword,
25070
- error: _optionalChain([errors, 'optionalAccess', _444 => _444.confirmPassword]),
25079
+ error: _optionalChain([errors, 'optionalAccess', _447 => _447.confirmPassword]),
25071
25080
  disabled: fieldsDisabled,
25072
25081
  onChange: (event) => onConfirmPasswordChange(event.target.value),
25073
25082
  onKeyDown: handleKeyDown
@@ -25082,7 +25091,7 @@ function OpenFrameSsoSignUpForm({
25082
25091
  truncateLabel: true,
25083
25092
  checked: agreedToTerms,
25084
25093
  disabled: fieldsDisabled,
25085
- error: _optionalChain([errors, 'optionalAccess', _445 => _445.terms]),
25094
+ error: _optionalChain([errors, 'optionalAccess', _448 => _448.terms]),
25086
25095
  onCheckedChange: onAgreedToTermsChange
25087
25096
  }
25088
25097
  ),
@@ -25166,7 +25175,7 @@ function PasswordResetForm({
25166
25175
  label: newPasswordLabel,
25167
25176
  placeholder: newPasswordPlaceholder,
25168
25177
  value: password,
25169
- error: _optionalChain([errors, 'optionalAccess', _446 => _446.password]),
25178
+ error: _optionalChain([errors, 'optionalAccess', _449 => _449.password]),
25170
25179
  disabled: fieldsDisabled,
25171
25180
  onChange: (event) => onPasswordChange(event.target.value),
25172
25181
  onKeyDown: handleKeyDown
@@ -25179,7 +25188,7 @@ function PasswordResetForm({
25179
25188
  label: confirmPasswordLabel,
25180
25189
  placeholder: confirmPasswordPlaceholder,
25181
25190
  value: confirmPassword,
25182
- error: _optionalChain([errors, 'optionalAccess', _447 => _447.confirmPassword]),
25191
+ error: _optionalChain([errors, 'optionalAccess', _450 => _450.confirmPassword]),
25183
25192
  disabled: fieldsDisabled,
25184
25193
  onChange: (event) => onConfirmPasswordChange(event.target.value),
25185
25194
  onKeyDown: handleKeyDown
@@ -25842,10 +25851,10 @@ var getContentDimensions = (config) => {
25842
25851
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
25843
25852
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
25844
25853
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
25845
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _448 => _448.mobileContentDimensions, 'optionalAccess', _449 => _449.width]))), () => ( defaultMobile.width));
25846
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _450 => _450.mobileContentDimensions, 'optionalAccess', _451 => _451.height]))), () => ( defaultMobile.height));
25847
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _452 => _452.desktopContentDimensions, 'optionalAccess', _453 => _453.width]))), () => ( defaultDesktop.width));
25848
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _454 => _454.desktopContentDimensions, 'optionalAccess', _455 => _455.height]))), () => ( defaultDesktop.height));
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));
25849
25858
  return {
25850
25859
  mobile: { width: mobileWidth, height: mobileHeight },
25851
25860
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -25979,7 +25988,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
25979
25988
  const contentDimensions = getContentDimensions(config);
25980
25989
  const mobileHeight = contentDimensions.mobile.height;
25981
25990
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
25982
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _456 => _456.innerHeight]) * 0.85 || 650)}px`;
25991
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _459 => _459.innerHeight]) * 0.85 || 650)}px`;
25983
25992
  })(),
25984
25993
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
25985
25994
  const contentDimensions = getContentDimensions(config);
@@ -26084,7 +26093,7 @@ var FigmaPrototypeViewer = ({
26084
26093
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
26085
26094
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
26086
26095
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
26087
- config.defaultSectionId || _optionalChain([config, 'access', _457 => _457.sections, 'access', _458 => _458[0], 'optionalAccess', _459 => _459.id]) || ""
26096
+ config.defaultSectionId || _optionalChain([config, 'access', _460 => _460.sections, 'access', _461 => _461[0], 'optionalAccess', _462 => _462.id]) || ""
26088
26097
  );
26089
26098
  const activeSection = externalActiveSection || internalActiveSection;
26090
26099
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -26174,7 +26183,7 @@ var FigmaPrototypeViewer = ({
26174
26183
  const handleMessage = (event) => {
26175
26184
  if (event.origin !== "https://www.figma.com") return;
26176
26185
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
26177
- if (_optionalChain([event, 'access', _460 => _460.data, 'optionalAccess', _461 => _461.type]) && validEvents.includes(event.data.type)) {
26186
+ if (_optionalChain([event, 'access', _463 => _463.data, 'optionalAccess', _464 => _464.type]) && validEvents.includes(event.data.type)) {
26178
26187
  const figmaEvent = event.data;
26179
26188
  console.log("[Figma Event]", figmaEvent.type, viewMode);
26180
26189
  switch (figmaEvent.type) {
@@ -26184,19 +26193,19 @@ var FigmaPrototypeViewer = ({
26184
26193
  setIframeState("READY");
26185
26194
  break;
26186
26195
  case "PRESENTED_NODE_CHANGED":
26187
- if (_optionalChain([figmaEvent, 'access', _462 => _462.data, 'optionalAccess', _463 => _463.presentedNodeId])) {
26196
+ if (_optionalChain([figmaEvent, 'access', _465 => _465.data, 'optionalAccess', _466 => _466.presentedNodeId])) {
26188
26197
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
26189
26198
  if (!isNavigating) {
26190
26199
  const matchingSection = config.sections.find((s) => {
26191
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _464 => _464.data, 'optionalAccess', _465 => _465.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _466 => _466.data, 'optionalAccess', _467 => _467.presentedNodeId]);
26192
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _468 => _468.data, 'optionalAccess', _469 => _469.presentedNodeId]) || _optionalChain([s, 'access', _470 => _470.mobileStartingNodeId, 'optionalAccess', _471 => _471.replace, 'call', _472 => _472(":", "-")]) === _optionalChain([figmaEvent, 'access', _473 => _473.data, 'optionalAccess', _474 => _474.presentedNodeId]);
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]);
26193
26202
  return desktopMatch || mobileMatch;
26194
26203
  });
26195
26204
  if (matchingSection && matchingSection.id !== activeSection) {
26196
26205
  if (!externalActiveSection) {
26197
26206
  setInternalActiveSection(matchingSection.id);
26198
26207
  }
26199
- _optionalChain([config, 'access', _475 => _475.onSectionChange, 'optionalCall', _476 => _476(matchingSection.id)]);
26208
+ _optionalChain([config, 'access', _478 => _478.onSectionChange, 'optionalCall', _479 => _479(matchingSection.id)]);
26200
26209
  }
26201
26210
  }
26202
26211
  }
@@ -26209,7 +26218,7 @@ var FigmaPrototypeViewer = ({
26209
26218
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
26210
26219
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
26211
26220
  const section = config.sections.find((s) => s.id === sectionId);
26212
- if (!section || !_optionalChain([iframeRef, 'access', _477 => _477.current, 'optionalAccess', _478 => _478.contentWindow]) || !isInitialized) {
26221
+ if (!section || !_optionalChain([iframeRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.contentWindow]) || !isInitialized) {
26213
26222
  return;
26214
26223
  }
26215
26224
  setIsNavigating(true);
@@ -26217,7 +26226,7 @@ var FigmaPrototypeViewer = ({
26217
26226
  if (!externalActiveSection) {
26218
26227
  setInternalActiveSection(sectionId);
26219
26228
  }
26220
- _optionalChain([config, 'access', _479 => _479.onSectionChange, 'optionalCall', _480 => _480(sectionId)]);
26229
+ _optionalChain([config, 'access', _482 => _482.onSectionChange, 'optionalCall', _483 => _483(sectionId)]);
26221
26230
  const command = {
26222
26231
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
26223
26232
  data: { nodeId }
@@ -26537,7 +26546,7 @@ var FiltersDropdown = ({
26537
26546
  defaults[section.id] = section.defaultSelected || [];
26538
26547
  });
26539
26548
  setSelectedFilters(defaults);
26540
- _optionalChain([onReset, 'optionalCall', _481 => _481()]);
26549
+ _optionalChain([onReset, 'optionalCall', _484 => _484()]);
26541
26550
  setIsOpen(false);
26542
26551
  };
26543
26552
  const handleApply = () => {
@@ -26830,7 +26839,7 @@ function MediaGalleryManager({
26830
26839
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
26831
26840
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
26832
26841
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
26833
- const file = _optionalChain([event, 'access', _482 => _482.target, 'access', _483 => _483.files, 'optionalAccess', _484 => _484[0]]);
26842
+ const file = _optionalChain([event, 'access', _485 => _485.target, 'access', _486 => _486.files, 'optionalAccess', _487 => _487[0]]);
26834
26843
  if (!file) return;
26835
26844
  let mediaType;
26836
26845
  if (file.type.startsWith("image/")) {
@@ -26945,7 +26954,7 @@ function MediaGalleryManager({
26945
26954
  {
26946
26955
  type: "button",
26947
26956
  variant: "outline",
26948
- onClick: () => _optionalChain([fileInputRef, 'access', _485 => _485.current, 'optionalAccess', _486 => _486.click, 'call', _487 => _487()]),
26957
+ onClick: () => _optionalChain([fileInputRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.click, 'call', _490 => _490()]),
26949
26958
  disabled: isUploading,
26950
26959
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
26951
26960
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -27609,7 +27618,7 @@ function ReleaseMediaManager({
27609
27618
  const fileInputRef = _react.useRef.call(void 0, null);
27610
27619
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
27611
27620
  const handleFileSelect = async (event) => {
27612
- const file = _optionalChain([event, 'access', _488 => _488.target, 'access', _489 => _489.files, 'optionalAccess', _490 => _490[0]]);
27621
+ const file = _optionalChain([event, 'access', _491 => _491.target, 'access', _492 => _492.files, 'optionalAccess', _493 => _493[0]]);
27613
27622
  if (!file) return;
27614
27623
  let mediaType;
27615
27624
  if (file.type.startsWith("image/")) {
@@ -27689,7 +27698,7 @@ function ReleaseMediaManager({
27689
27698
  {
27690
27699
  type: "button",
27691
27700
  variant: "outline",
27692
- onClick: () => _optionalChain([fileInputRef, 'access', _491 => _491.current, 'optionalAccess', _492 => _492.click, 'call', _493 => _493()]),
27701
+ onClick: () => _optionalChain([fileInputRef, 'access', _494 => _494.current, 'optionalAccess', _495 => _495.click, 'call', _496 => _496()]),
27693
27702
  disabled: uploadingIndex !== null,
27694
27703
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
27695
27704
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -27904,7 +27913,7 @@ function SEOEditorPreview({
27904
27913
  const displayImage = hasOgImage || hasFeaturedImage;
27905
27914
  const handleImageUpload = async (event) => {
27906
27915
  if (!onOgImageUpload) return;
27907
- const file = _optionalChain([event, 'access', _494 => _494.target, 'access', _495 => _495.files, 'optionalAccess', _496 => _496[0]]);
27916
+ const file = _optionalChain([event, 'access', _497 => _497.target, 'access', _498 => _498.files, 'optionalAccess', _499 => _499[0]]);
27908
27917
  if (!file) return;
27909
27918
  setIsUploading(true);
27910
27919
  try {
@@ -28045,7 +28054,7 @@ function SEOEditorPreview({
28045
28054
  type: "button",
28046
28055
  variant: "outline",
28047
28056
  size: "icon",
28048
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _497 => _497.click, 'call', _498 => _498()]),
28057
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _500 => _500.click, 'call', _501 => _501()]),
28049
28058
  disabled: disabled || isUploading,
28050
28059
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
28051
28060
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -28068,7 +28077,7 @@ function SEOEditorPreview({
28068
28077
  "div",
28069
28078
  {
28070
28079
  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",
28071
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _499 => _499.click, 'call', _500 => _500()]),
28080
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _502 => _502.click, 'call', _503 => _503()]),
28072
28081
  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: [
28073
28082
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
28074
28083
  /* @__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" })
@@ -28155,7 +28164,7 @@ function SocialLinksManager({
28155
28164
  className = ""
28156
28165
  }) {
28157
28166
  const addLink = () => {
28158
- const firstPlatform = _optionalChain([platforms, 'access', _501 => _501[0], 'optionalAccess', _502 => _502.name]) || "website";
28167
+ const firstPlatform = _optionalChain([platforms, 'access', _504 => _504[0], 'optionalAccess', _505 => _505.name]) || "website";
28159
28168
  onChange([...links, { platform: firstPlatform, url: "" }]);
28160
28169
  };
28161
28170
  const removeLink = (index) => {
@@ -28167,7 +28176,7 @@ function SocialLinksManager({
28167
28176
  onChange(updated);
28168
28177
  };
28169
28178
  const getIcon = (link, platform) => {
28170
- const iconKey = _optionalChain([platform, 'optionalAccess', _503 => _503.icon_name]) || link.platform;
28179
+ const iconKey = _optionalChain([platform, 'optionalAccess', _506 => _506.icon_name]) || link.platform;
28171
28180
  const IconComponent = iconMap[iconKey];
28172
28181
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
28173
28182
  };
@@ -28192,7 +28201,7 @@ function SocialLinksManager({
28192
28201
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28193
28202
  _chunkNYIZVI4Icjs.Input,
28194
28203
  {
28195
- placeholder: _optionalChain([platform, 'optionalAccess', _504 => _504.placeholder]) || "Profile URL",
28204
+ placeholder: _optionalChain([platform, 'optionalAccess', _507 => _507.placeholder]) || "Profile URL",
28196
28205
  value: link.url,
28197
28206
  onChange: (e) => updateLink(index, "url", e.target.value),
28198
28207
  onKeyDown: (e) => {
@@ -28585,7 +28594,7 @@ function useVideoOriginPreconnect({
28585
28594
  supabaseStorageOrigin
28586
28595
  } = {}) {
28587
28596
  const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
28588
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _505 => _505.endpoints, 'access', _506 => _506.supabaseStorageOrigin])));
28597
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _508 => _508.endpoints, 'access', _509 => _509.supabaseStorageOrigin])));
28589
28598
  try {
28590
28599
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
28591
28600
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -28604,13 +28613,13 @@ function useVideoWarmup({
28604
28613
  nearMargin = "1000px"
28605
28614
  } = {}) {
28606
28615
  const runtime = _chunk3KEBI6TPcjs.useChatRuntime.call(void 0, );
28607
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _507 => _507.endpoints, 'access', _508 => _508.supabaseStorageOrigin])));
28616
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _510 => _510.endpoints, 'access', _511 => _511.supabaseStorageOrigin])));
28608
28617
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
28609
28618
  const { ref, isNear } = _chunk743FCO64cjs.useNearViewport.call(void 0, nearMargin);
28610
28619
  _react.useEffect.call(void 0, () => {
28611
28620
  if (!isNear || !videoUrl || !resolvedOrigin) return;
28612
28621
  const conn = navigator.connection;
28613
- if (_optionalChain([conn, 'optionalAccess', _509 => _509.saveData]) === true) return;
28622
+ if (_optionalChain([conn, 'optionalAccess', _512 => _512.saveData]) === true) return;
28614
28623
  let videoOrigin;
28615
28624
  try {
28616
28625
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -28680,7 +28689,7 @@ function VideoSourceSelector({
28680
28689
  input.accept = "video/*";
28681
28690
  input.onchange = async (e) => {
28682
28691
  const target = e.target;
28683
- const file = _optionalChain([target, 'access', _510 => _510.files, 'optionalAccess', _511 => _511[0]]);
28692
+ const file = _optionalChain([target, 'access', _513 => _513.files, 'optionalAccess', _514 => _514[0]]);
28684
28693
  if (!file) return;
28685
28694
  setIsUploading(true);
28686
28695
  setUploadProgress(0);
@@ -29029,7 +29038,7 @@ function TranscriptSummaryEditor({
29029
29038
  {
29030
29039
  id: "subtitles",
29031
29040
  value: subtitles || "",
29032
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _512 => _512(e.target.value)]),
29041
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _515 => _515(e.target.value)]),
29033
29042
  placeholder: subtitlesPlaceholder,
29034
29043
  disabled: disabled || !onSubtitlesChange,
29035
29044
  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",
@@ -29182,7 +29191,7 @@ var AIEnrichSection = ({
29182
29191
  }) => {
29183
29192
  const hasResults = status === "success" || status === "error";
29184
29193
  const shouldDisable = disabled || !canEnrich;
29185
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _513 => _513.filter, 'call', _514 => _514((f) => !f.isFilled)]) || [];
29194
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _516 => _516.filter, 'call', _517 => _517((f) => !f.isFilled)]) || [];
29186
29195
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29187
29196
  "div",
29188
29197
  {
@@ -29220,7 +29229,7 @@ var AIEnrichSection = ({
29220
29229
  {
29221
29230
  id: "ai-enrich-custom-instructions",
29222
29231
  value: _nullishCoalesce(customInstructions, () => ( "")),
29223
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _515 => _515(e.target.value)]),
29232
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _518 => _518(e.target.value)]),
29224
29233
  placeholder: customInstructionsPlaceholder,
29225
29234
  disabled: loading,
29226
29235
  maxLength: customInstructionsMaxLength,
@@ -29349,7 +29358,7 @@ function HighlightVideoSection({
29349
29358
  input.accept = "video/*";
29350
29359
  input.onchange = async (e) => {
29351
29360
  const target = e.target;
29352
- const file = _optionalChain([target, 'access', _516 => _516.files, 'optionalAccess', _517 => _517[0]]);
29361
+ const file = _optionalChain([target, 'access', _519 => _519.files, 'optionalAccess', _520 => _520[0]]);
29353
29362
  if (!file) return;
29354
29363
  setUploadError(null);
29355
29364
  try {
@@ -29844,7 +29853,7 @@ function HighlightVideoPreview({
29844
29853
  input.accept = "video/*";
29845
29854
  input.onchange = async (e) => {
29846
29855
  const target = e.target;
29847
- const file = _optionalChain([target, 'access', _518 => _518.files, 'optionalAccess', _519 => _519[0]]);
29856
+ const file = _optionalChain([target, 'access', _521 => _521.files, 'optionalAccess', _522 => _522[0]]);
29848
29857
  if (!file) return;
29849
29858
  await onUpload(file);
29850
29859
  };
@@ -30028,7 +30037,7 @@ function HighlightVideoCombinedSection({
30028
30037
  input.accept = "video/*";
30029
30038
  input.onchange = async (e) => {
30030
30039
  const target = e.target;
30031
- const file = _optionalChain([target, 'access', _520 => _520.files, 'optionalAccess', _521 => _521[0]]);
30040
+ const file = _optionalChain([target, 'access', _523 => _523.files, 'optionalAccess', _524 => _524[0]]);
30032
30041
  if (!file) return;
30033
30042
  await onUpload(file);
30034
30043
  };
@@ -30322,7 +30331,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
30322
30331
  return editMode ? "Set Global Permission" : "";
30323
30332
  }
30324
30333
  const option = approvalLevelOptions.find((opt) => opt.value === level);
30325
- return _optionalChain([option, 'optionalAccess', _522 => _522.label]) || level;
30334
+ return _optionalChain([option, 'optionalAccess', _525 => _525.label]) || level;
30326
30335
  };
30327
30336
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
30328
30337
  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: [
@@ -30536,12 +30545,12 @@ function PhoneInput({
30536
30545
  const runValidation = _react.useCallback.call(void 0, (phone) => {
30537
30546
  if (!phone || digitCount(phone) === 0) {
30538
30547
  setIsInvalid(false);
30539
- _optionalChain([onValidationChange, 'optionalCall', _523 => _523(false)]);
30548
+ _optionalChain([onValidationChange, 'optionalCall', _526 => _526(false)]);
30540
30549
  return;
30541
30550
  }
30542
30551
  const invalid = !validatePhoneNumber(phone, countryCode);
30543
30552
  setIsInvalid(invalid);
30544
- _optionalChain([onValidationChange, 'optionalCall', _524 => _524(invalid)]);
30553
+ _optionalChain([onValidationChange, 'optionalCall', _527 => _527(invalid)]);
30545
30554
  }, [countryCode, digitCount, onValidationChange]);
30546
30555
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
30547
30556
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -30590,7 +30599,7 @@ function PhoneInput({
30590
30599
  debouncedValidation(val);
30591
30600
  } else if (digitCount(val) === 0) {
30592
30601
  setIsInvalid(false);
30593
- _optionalChain([onValidationChange, 'optionalCall', _525 => _525(false)]);
30602
+ _optionalChain([onValidationChange, 'optionalCall', _528 => _528(false)]);
30594
30603
  }
30595
30604
  }
30596
30605
  },
@@ -30931,19 +30940,19 @@ function NotificationsProvider({
30931
30940
  }, []);
30932
30941
  const markRead = React96.useCallback((id) => {
30933
30942
  dispatch({ type: "markRead", id });
30934
- void _optionalChain([actionsRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.onMarkRead, 'optionalCall', _528 => _528(id)]);
30943
+ void _optionalChain([actionsRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.onMarkRead, 'optionalCall', _531 => _531(id)]);
30935
30944
  }, []);
30936
30945
  const markAllRead = React96.useCallback(() => {
30937
30946
  dispatch({ type: "markAllRead" });
30938
- void _optionalChain([actionsRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.onMarkAllRead, 'optionalCall', _531 => _531()]);
30947
+ void _optionalChain([actionsRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.onMarkAllRead, 'optionalCall', _534 => _534()]);
30939
30948
  }, []);
30940
30949
  const markSettled = React96.useCallback((id) => {
30941
30950
  dispatch({ type: "markSettled", id });
30942
- void _optionalChain([actionsRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.onMarkSettled, 'optionalCall', _534 => _534(id)]);
30951
+ void _optionalChain([actionsRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.onMarkSettled, 'optionalCall', _537 => _537(id)]);
30943
30952
  }, []);
30944
30953
  const remove = React96.useCallback((id) => {
30945
30954
  dispatch({ type: "remove", id });
30946
- void _optionalChain([actionsRef, 'access', _535 => _535.current, 'optionalAccess', _536 => _536.onRemove, 'optionalCall', _537 => _537(id)]);
30955
+ void _optionalChain([actionsRef, 'access', _538 => _538.current, 'optionalAccess', _539 => _539.onRemove, 'optionalCall', _540 => _540(id)]);
30947
30956
  }, []);
30948
30957
  const clear = React96.useCallback(() => dispatch({ type: "clear" }), []);
30949
30958
  const open = React96.useCallback(() => setIsOpen(true), []);
@@ -30952,14 +30961,14 @@ function NotificationsProvider({
30952
30961
  const setShowPopups = React96.useCallback(
30953
30962
  (value2) => {
30954
30963
  setShowPopupsState(value2);
30955
- _optionalChain([onShowPopupsChange, 'optionalCall', _538 => _538(value2)]);
30964
+ _optionalChain([onShowPopupsChange, 'optionalCall', _541 => _541(value2)]);
30956
30965
  },
30957
30966
  [onShowPopupsChange]
30958
30967
  );
30959
30968
  const setShowDesktopPopups = React96.useCallback(
30960
30969
  (value2) => {
30961
30970
  setShowDesktopPopupsState(value2);
30962
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _539 => _539(value2)]);
30971
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _542 => _542(value2)]);
30963
30972
  },
30964
30973
  [onShowDesktopPopupsChange]
30965
30974
  );
@@ -31043,19 +31052,50 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
31043
31052
 
31044
31053
  // src/components/features/notifications/notification-tile.tsx
31045
31054
 
31046
- _chunkNYIZVI4Icjs.init_button.call(void 0, );
31047
31055
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
31048
31056
 
31057
+ var variantBySeverity = {
31058
+ INFO: "info",
31059
+ SUCCESS: "success",
31060
+ WARNING: "warning",
31061
+ DANGER: "error"
31062
+ };
31063
+ var typeColorByVariant = {
31064
+ default: "text-ods-text-secondary",
31065
+ info: "text-ods-text-secondary",
31066
+ success: "text-ods-success",
31067
+ warning: "text-ods-warning",
31068
+ error: "text-ods-error"
31069
+ };
31070
+ var headerControlClass = "absolute inset-0 flex items-center justify-center text-ods-text-secondary transition-opacity duration-200 hover:text-ods-text-primary";
31049
31071
  function NotificationTile({
31050
31072
  notification,
31051
31073
  liveDurationMs = 4e3,
31052
31074
  onComplete,
31053
31075
  onSettle,
31054
31076
  className,
31077
+ actions,
31055
31078
  children,
31056
31079
  paused = false
31057
31080
  }) {
31058
- const { id, variant = "default", title, description, createdAt, read, settled } = notification;
31081
+ const {
31082
+ id,
31083
+ variant = "default",
31084
+ severity,
31085
+ type,
31086
+ icon,
31087
+ imageUrl,
31088
+ title,
31089
+ description,
31090
+ createdAt,
31091
+ read,
31092
+ settled
31093
+ } = notification;
31094
+ const accentVariant = _nullishCoalesce((severity ? variantBySeverity[severity] : void 0), () => ( variant));
31095
+ const [failedImageUrl, setFailedImageUrl] = _react.useState.call(void 0, null);
31096
+ const image = imageUrl && imageUrl !== failedImageUrl ? imageUrl : void 0;
31097
+ const createdAtDate = new Date(createdAt);
31098
+ const createdAtIso = Number.isNaN(createdAtDate.getTime()) ? null : createdAtDate.toISOString();
31059
31099
  const initialElapsed = _react.useMemo.call(void 0, () => Date.now() - createdAt, [createdAt]);
31060
31100
  const isLive = !read && !settled && initialElapsed < liveDurationMs;
31061
31101
  const counting = isLive && !paused;
@@ -31063,7 +31103,7 @@ function NotificationTile({
31063
31103
  if (!counting) return;
31064
31104
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
31065
31105
  const timer = window.setTimeout(() => {
31066
- _optionalChain([onSettle, 'optionalCall', _540 => _540(id)]);
31106
+ _optionalChain([onSettle, 'optionalCall', _543 => _543(id)]);
31067
31107
  }, remaining);
31068
31108
  return () => window.clearTimeout(timer);
31069
31109
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -31079,37 +31119,75 @@ function NotificationTile({
31079
31119
  "div",
31080
31120
  {
31081
31121
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
31082
- "relative flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]",
31083
- children ? "border-b border-ods-border" : null
31122
+ "relative flex flex-col gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]",
31123
+ isLive && "pb-[var(--spacing-system-m)]"
31084
31124
  ),
31085
31125
  children: [
31086
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk743FCO64cjs.dotColorByVariant[variant]) }) }),
31087
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
31126
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
31127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31128
+ "span",
31129
+ {
31130
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
31131
+ "flex size-4 shrink-0 items-center justify-center",
31132
+ typeColorByVariant[accentVariant]
31133
+ ),
31134
+ children: image ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31135
+ "img",
31136
+ {
31137
+ src: image,
31138
+ alt: "",
31139
+ onError: () => setFailedImageUrl(image),
31140
+ className: "size-4 rounded-[2px] object-cover"
31141
+ }
31142
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk743FCO64cjs.dotColorByVariant[accentVariant]) })))
31143
+ }
31144
+ ),
31145
+ type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31146
+ "p",
31147
+ {
31148
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "min-w-0 flex-1 truncate text-h5", typeColorByVariant[accentVariant]),
31149
+ title: type,
31150
+ children: type
31151
+ }
31152
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1" }),
31153
+ !isLive && createdAtIso ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31154
+ "time",
31155
+ {
31156
+ dateTime: createdAtIso,
31157
+ className: "shrink-0 whitespace-nowrap text-h6 text-ods-text-secondary",
31158
+ children: formatTicketRelativeTime(createdAtIso)
31159
+ }
31160
+ ) : null,
31161
+ /* @__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)]) },
31163
+ { active: !isLive, label: "Mark notification complete", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { size: 16 }), onClick: () => onComplete(id) }
31164
+ ].map(({ active, label, icon: icon2, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31165
+ "button",
31166
+ {
31167
+ type: "button",
31168
+ onClick,
31169
+ "aria-label": label,
31170
+ "aria-hidden": !active,
31171
+ disabled: !active,
31172
+ tabIndex: active ? 0 : -1,
31173
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, headerControlClass, !active && "pointer-events-none opacity-0"),
31174
+ children: icon2
31175
+ },
31176
+ label
31177
+ )) })
31178
+ ] }),
31179
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
31088
31180
  title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", title: typeof title === "string" ? title : void 0, children: title }) : null,
31089
- description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", title: typeof description === "string" ? description : void 0, children: description }) : null
31181
+ description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-3 text-ods-text-secondary", title: typeof description === "string" ? description : void 0, children: description }) : null
31090
31182
  ] }),
31091
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31092
- _chunkNYIZVI4Icjs.Button,
31093
- {
31094
- variant: "outline",
31095
- size: "small",
31096
- onClick: () => onComplete(id),
31097
- "aria-label": "Mark notification complete",
31098
- tabIndex: isLive ? -1 : 0,
31099
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
31100
- "shrink-0 hover:text-ods-text-primary",
31101
- isLive && "invisible"
31102
- ),
31103
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, {})
31104
- }
31105
- ),
31183
+ actions,
31106
31184
  counting ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31107
31185
  "div",
31108
31186
  {
31109
31187
  "aria-hidden": true,
31110
31188
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
31111
31189
  "absolute inset-x-0 -bottom-px h-1 origin-left",
31112
- _chunk743FCO64cjs.progressColorByVariant[variant]
31190
+ _chunk743FCO64cjs.progressColorByVariant[accentVariant]
31113
31191
  ),
31114
31192
  style: {
31115
31193
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -31120,21 +31198,7 @@ function NotificationTile({
31120
31198
  ]
31121
31199
  }
31122
31200
  ),
31123
- children,
31124
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31125
- "button",
31126
- {
31127
- type: "button",
31128
- onClick: () => _optionalChain([onSettle, 'optionalCall', _541 => _541(id)]),
31129
- "aria-label": "Dismiss notification",
31130
- tabIndex: isLive ? 0 : -1,
31131
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
31132
- "absolute right-[var(--spacing-system-xsf)] top-[var(--spacing-system-xsf)] flex size-4 items-center justify-center text-ods-text-secondary transition-opacity duration-200 hover:text-ods-text-primary",
31133
- !isLive && "pointer-events-none opacity-0"
31134
- ),
31135
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 })
31136
- }
31137
- )
31201
+ children
31138
31202
  ]
31139
31203
  }
31140
31204
  );
@@ -31258,7 +31322,7 @@ function DrawerScrollList({
31258
31322
  if (!sentinel || !root) return;
31259
31323
  const observer = new IntersectionObserver(
31260
31324
  (entries) => {
31261
- if (_optionalChain([entries, 'access', _542 => _542[0], 'optionalAccess', _543 => _543.isIntersecting])) _optionalChain([loadMoreRef, 'access', _544 => _544.current, 'optionalCall', _545 => _545()]);
31325
+ if (_optionalChain([entries, 'access', _545 => _545[0], 'optionalAccess', _546 => _546.isIntersecting])) _optionalChain([loadMoreRef, 'access', _547 => _547.current, 'optionalCall', _548 => _548()]);
31262
31326
  },
31263
31327
  { root, rootMargin: loadMoreRootMargin }
31264
31328
  );
@@ -31273,7 +31337,7 @@ function DrawerScrollList({
31273
31337
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
31274
31338
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
31275
31339
  unreadNotifications.map((n) => {
31276
- const custom = _optionalChain([renderTile, 'optionalCall', _546 => _546(n, { onComplete, onSettle, liveDurationMs })]);
31340
+ const custom = _optionalChain([renderTile, 'optionalCall', _549 => _549(n, { onComplete, onSettle, liveDurationMs })]);
31277
31341
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
31278
31342
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31279
31343
  NotificationTile,
@@ -31437,7 +31501,7 @@ function NotificationPopups({
31437
31501
  className
31438
31502
  ),
31439
31503
  children: live.map((n) => {
31440
- const custom = _optionalChain([renderTile, 'optionalCall', _547 => _547(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
31504
+ const custom = _optionalChain([renderTile, 'optionalCall', _550 => _550(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
31441
31505
  if (custom) {
31442
31506
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
31443
31507
  }
@@ -31470,7 +31534,7 @@ function NotificationPopups({
31470
31534
  }
31471
31535
 
31472
31536
  // src/components/features/notifications/approval-request-notification-tile.tsx
31473
- _chunkFIG2RKZFcjs.init_cn.call(void 0, );
31537
+ _chunkNYIZVI4Icjs.init_button2.call(void 0, );
31474
31538
 
31475
31539
 
31476
31540
  // src/components/chat/types/chat.types.ts
@@ -31617,21 +31681,21 @@ function transformWebinarToProgram(webinar) {
31617
31681
  // src/components/features/notifications/types.ts
31618
31682
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
31619
31683
  function isApprovalNotification(notification) {
31620
- return _optionalChain([notification, 'access', _548 => _548.meta, 'optionalAccess', _549 => _549.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
31684
+ return _optionalChain([notification, 'access', _551 => _551.meta, 'optionalAccess', _552 => _552.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
31621
31685
  }
31622
31686
  function getApprovalMeta(notification) {
31623
31687
  if (!isApprovalNotification(notification)) return null;
31624
31688
  const meta = notification.meta;
31625
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _550 => _550.approvalRequestId]);
31626
- const toolCalls = _optionalChain([meta, 'optionalAccess', _551 => _551.toolCalls]);
31689
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _553 => _553.approvalRequestId]);
31690
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _554 => _554.toolCalls]);
31627
31691
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
31628
31692
  return {
31629
31693
  approvalRequestId,
31630
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _552 => _552.dialogId]), () => ( null)),
31631
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _553 => _553.ticketId]), () => ( null)),
31632
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _554 => _554.approvalType]), () => ( null)),
31633
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _555 => _555.resolution]), () => ( null)),
31634
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _556 => _556.resolvedByName]), () => ( null)),
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)),
31635
31699
  toolCalls
31636
31700
  };
31637
31701
  }
@@ -31678,76 +31742,79 @@ function ApprovalRequestNotificationTile({
31678
31742
  }) {
31679
31743
  const [expanded, setExpanded] = _react.useState.call(void 0, defaultExpanded);
31680
31744
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
31745
+ const [processing, setProcessing] = _react.useState.call(void 0, false);
31681
31746
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
31682
31747
  const approval = getApprovalMeta(notification);
31683
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _557 => _557.resolution]));
31748
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _560 => _560.resolution]));
31684
31749
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
31685
31750
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
31686
31751
  const { innerRef, containerStyle } = useCollapsible({ expanded });
31687
31752
  if (!approval || !batchData) return null;
31688
- const commandWord = batchData.toolCalls.length > 1 ? "Commands" : "Command";
31689
- const toggleLabel = `${expanded ? "Hide" : "Show"} ${commandWord}`;
31690
- const handleApprove = async () => {
31691
- setLocalStatus("approved");
31753
+ const tileNotification = {
31754
+ ...notification,
31755
+ type: _nullishCoalesce(notification.type, () => ( "Approval Required"))
31756
+ };
31757
+ const commandWord = batchData.toolCalls.length > 1 ? "commands" : "command";
31758
+ const toggleLabel = `${expanded ? "Hide" : "Show"} ${commandWord} section`;
31759
+ const resolve = async (nextStatus, action) => {
31760
+ setProcessing(true);
31761
+ setLocalStatus(nextStatus);
31692
31762
  try {
31693
- await onApprove(batchData.approvalRequestId);
31694
- onComplete(notification.id);
31763
+ await action(batchData.approvalRequestId);
31695
31764
  } catch (e32) {
31696
31765
  setLocalStatus(null);
31766
+ return;
31767
+ } finally {
31768
+ setProcessing(false);
31697
31769
  }
31770
+ onComplete(notification.id);
31698
31771
  };
31699
- const handleReject = async () => {
31700
- setLocalStatus("rejected");
31701
- try {
31702
- await onReject(batchData.approvalRequestId);
31703
- onComplete(notification.id);
31704
- } catch (e33) {
31705
- setLocalStatus(null);
31706
- }
31707
- };
31708
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31772
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31709
31773
  NotificationTile,
31710
31774
  {
31711
- notification,
31775
+ notification: tileNotification,
31712
31776
  liveDurationMs,
31713
31777
  onComplete,
31714
31778
  onSettle,
31715
31779
  className,
31716
- paused: pinned,
31717
- children: [
31718
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31719
- "button",
31780
+ paused: pinned || processing,
31781
+ actions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
31782
+ status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
31783
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.Button, { variant: "accent", size: "small", onClick: () => resolve("approved", onApprove), disabled: processing, children: "Approve" }),
31784
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.Button, { variant: "outline", size: "small", onClick: () => resolve("rejected", onReject), disabled: processing, children: "Reject" })
31785
+ ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
31786
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalStatusTag, { status }),
31787
+ approval.resolvedByName ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "truncate text-h6 text-ods-text-secondary", children: [
31788
+ "by ",
31789
+ approval.resolvedByName
31790
+ ] }) : null
31791
+ ] }),
31792
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31793
+ _chunkNYIZVI4Icjs.Button,
31720
31794
  {
31721
- type: "button",
31795
+ variant: "outline",
31796
+ size: "small",
31722
31797
  onClick: () => {
31723
31798
  setExpanded((prev) => !prev);
31724
31799
  setPinned(true);
31725
31800
  },
31726
31801
  "aria-expanded": expanded,
31727
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
31728
- "flex w-full items-center gap-[var(--spacing-system-xs)] bg-ods-card px-[var(--spacing-system-s)] py-[var(--spacing-system-xs)] text-left",
31729
- expanded && "border-b border-ods-border"
31730
- ),
31731
- children: [
31732
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 text-h6 text-ods-text-primary", children: toggleLabel }),
31733
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExpandChevron, { expanded })
31734
- ]
31735
- }
31736
- ),
31737
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31738
- ApprovalBatchMessage,
31739
- {
31740
- data: batchData,
31741
- status,
31742
- resolvedByName: approval.resolvedByName,
31743
- showExecutionStatus: false,
31744
- onApprove: handleApprove,
31745
- onReject: handleReject,
31746
- maxBodyHeight: "50vh",
31747
- className: "mb-0 rounded-none border-0"
31802
+ "aria-label": toggleLabel,
31803
+ className: "ml-auto w-6 shrink-0 px-0 md:w-8",
31804
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExpandChevron, { expanded })
31748
31805
  }
31749
- ) }) })
31750
- ]
31806
+ )
31807
+ ] }),
31808
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31809
+ ApprovalBatchMessage,
31810
+ {
31811
+ data: batchData,
31812
+ showExecutionStatus: false,
31813
+ showFooterActions: false,
31814
+ maxBodyHeight: "50vh",
31815
+ className: "mb-0 rounded-none border-0"
31816
+ }
31817
+ ) }) }) })
31751
31818
  }
31752
31819
  );
31753
31820
  }
@@ -31982,7 +32049,7 @@ function TimeTrackerPanel({
31982
32049
  error: showFieldError ? "Required if no notes added" : void 0,
31983
32050
  disableClientFilter: !!onTicketSearch,
31984
32051
  onInputChange: (value, reason) => {
31985
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _558 => _558(value)]);
32052
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _561 => _561(value)]);
31986
32053
  }
31987
32054
  }
31988
32055
  ),
@@ -31997,7 +32064,7 @@ function TimeTrackerPanel({
31997
32064
  disabled: customerLocked,
31998
32065
  disableClientFilter: !!onCustomerSearch,
31999
32066
  onInputChange: (value, reason) => {
32000
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _559 => _559(value)]);
32067
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _562 => _562(value)]);
32001
32068
  },
32002
32069
  startAdornment: customerStartAdornment,
32003
32070
  renderOption: renderCustomerOption
@@ -32090,7 +32157,7 @@ function LastEntryRow({ entry, onClick }) {
32090
32157
  {
32091
32158
  variant: "outline",
32092
32159
  size: "icon",
32093
- onClick: () => _optionalChain([onClick, 'optionalCall', _560 => _560(entry)]),
32160
+ onClick: () => _optionalChain([onClick, 'optionalCall', _563 => _563(entry)]),
32094
32161
  disabled: !onClick,
32095
32162
  "aria-label": `Open entry: ${entry.title}`,
32096
32163
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -32134,9 +32201,9 @@ function HeaderButton({
32134
32201
  function TimeTrackerHeaderButton({ className, disabled }) {
32135
32202
  const ctx = useOptionalTimeTracker();
32136
32203
  const elapsedLabel = useTrackerClock({
32137
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _561 => _561.status]), () => ( "ready")),
32138
- runningSince: _optionalChain([ctx, 'optionalAccess', _562 => _562.runningSince]),
32139
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _563 => _563.accumulatedMs])
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])
32140
32207
  });
32141
32208
  if (!ctx) return null;
32142
32209
  const { isOpen, open, close, status } = ctx;
@@ -32432,15 +32499,15 @@ function TicketCard({
32432
32499
  transition: sortable.transition
32433
32500
  };
32434
32501
  if (showNewMessage) style.borderColor = columnColor;
32435
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _564 => _564.deviceHostnames, 'optionalAccess', _565 => _565.length]) || ticket.organizationName);
32502
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _567 => _567.deviceHostnames, 'optionalAccess', _568 => _568.length]) || ticket.organizationName);
32436
32503
  const deviceText = [
32437
- _optionalChain([ticket, 'access', _566 => _566.deviceHostnames, 'optionalAccess', _567 => _567.join, 'call', _568 => _568(", ")]),
32504
+ _optionalChain([ticket, 'access', _569 => _569.deviceHostnames, 'optionalAccess', _570 => _570.join, 'call', _571 => _571(", ")]),
32438
32505
  ticket.organizationName
32439
32506
  ].filter(Boolean).join(", ");
32440
32507
  const handleClick = (e) => {
32441
32508
  if (sortable.isDragging) e.preventDefault();
32442
32509
  };
32443
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _569 => _569.assignees, 'optionalAccess', _570 => _570.length]) || renderAssignSlot);
32510
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _572 => _572.assignees, 'optionalAccess', _573 => _573.length]) || renderAssignSlot);
32444
32511
  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: [
32445
32512
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32446
32513
  _chunkBGD345ZVcjs.Flag02Icon,
@@ -32449,7 +32516,7 @@ function TicketCard({
32449
32516
  "aria-label": `Priority: ${ticket.priority}`
32450
32517
  }
32451
32518
  ),
32452
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _571 => _571.assignees, 'optionalAccess', _572 => _572.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
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: [
32453
32520
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32454
32521
  SquareAvatar,
32455
32522
  {
@@ -32480,7 +32547,7 @@ function TicketCard({
32480
32547
  ] }),
32481
32548
  rightSection
32482
32549
  ] }),
32483
- _optionalChain([ticket, 'access', _573 => _573.tags, 'optionalAccess', _574 => _574.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
32550
+ _optionalChain([ticket, 'access', _576 => _576.tags, 'optionalAccess', _577 => _577.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
32484
32551
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
32485
32552
  /* @__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 }) }),
32486
32553
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -32680,7 +32747,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
32680
32747
  const observer = new IntersectionObserver(
32681
32748
  (entries) => {
32682
32749
  if (entries.some((e) => e.isIntersecting)) {
32683
- _optionalChain([loadMoreRef, 'access', _575 => _575.current, 'optionalCall', _576 => _576(columnIdRef.current)]);
32750
+ _optionalChain([loadMoreRef, 'access', _578 => _578.current, 'optionalCall', _579 => _579(columnIdRef.current)]);
32684
32751
  }
32685
32752
  },
32686
32753
  { root, rootMargin: loadMoreRootMargin }
@@ -32710,7 +32777,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
32710
32777
  ticket: t,
32711
32778
  columnId: column.id,
32712
32779
  columnColor: column.color,
32713
- href: _optionalChain([getTicketHref, 'optionalCall', _577 => _577(t.id)]),
32780
+ href: _optionalChain([getTicketHref, 'optionalCall', _580 => _580(t.id)]),
32714
32781
  renderAssignSlot,
32715
32782
  onApprove,
32716
32783
  onReject,
@@ -32810,17 +32877,17 @@ function Board({
32810
32877
  const pointer = _core.pointerWithin.call(void 0, args);
32811
32878
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
32812
32879
  const ticketHit = intersections.find(
32813
- (c) => _optionalChain([c, 'access', _578 => _578.data, 'optionalAccess', _579 => _579.droppableContainer, 'optionalAccess', _580 => _580.data, 'optionalAccess', _581 => _581.current, 'optionalAccess', _582 => _582.type]) === "ticket"
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"
32814
32881
  );
32815
32882
  if (ticketHit) return [ticketHit];
32816
32883
  const columnHit = intersections.find(
32817
- (c) => _optionalChain([c, 'access', _583 => _583.data, 'optionalAccess', _584 => _584.droppableContainer, 'optionalAccess', _585 => _585.data, 'optionalAccess', _586 => _586.current, 'optionalAccess', _587 => _587.type]) === "column"
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"
32818
32885
  );
32819
32886
  if (columnHit) {
32820
- const columnId = _optionalChain([columnHit, 'access', _588 => _588.data, 'optionalAccess', _589 => _589.droppableContainer, 'optionalAccess', _590 => _590.data, 'optionalAccess', _591 => _591.current, 'optionalAccess', _592 => _592.columnId]);
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]);
32821
32888
  const ticketsInColumn = args.droppableContainers.filter((c) => {
32822
32889
  const d = c.data.current;
32823
- return _optionalChain([d, 'optionalAccess', _593 => _593.type]) === "ticket" && d.columnId === columnId;
32890
+ return _optionalChain([d, 'optionalAccess', _596 => _596.type]) === "ticket" && d.columnId === columnId;
32824
32891
  });
32825
32892
  if (ticketsInColumn.length > 0) {
32826
32893
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -32845,20 +32912,20 @@ function Board({
32845
32912
  const overId = String(over.id);
32846
32913
  if (activeId === overId) return;
32847
32914
  const overData = over.data.current;
32848
- const fromColumnId = _optionalChain([locate, 'call', _594 => _594(items, activeId), 'optionalAccess', _595 => _595.columnId]);
32849
- const toColumnId = _optionalChain([overData, 'optionalAccess', _596 => _596.columnId]);
32915
+ const fromColumnId = _optionalChain([locate, 'call', _597 => _597(items, activeId), 'optionalAccess', _598 => _598.columnId]);
32916
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _599 => _599.columnId]);
32850
32917
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
32851
32918
  const origin = dragOriginRef.current;
32852
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _597 => _597.fromColumnId]) === toColumnId;
32919
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _600 => _600.fromColumnId]) === toColumnId;
32853
32920
  const targetCol = items.find((c) => c.id === toColumnId);
32854
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _598 => _598.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
32855
- if (_optionalChain([targetCol, 'optionalAccess', _599 => _599.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
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;
32856
32923
  setItems((prev) => {
32857
32924
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
32858
32925
  const toCol = prev.find((c) => c.id === toColumnId);
32859
32926
  if (fromIndex < 0 || !toCol) return prev;
32860
32927
  let toIndex;
32861
- if (_optionalChain([overData, 'optionalAccess', _600 => _600.type]) === "column") {
32928
+ if (_optionalChain([overData, 'optionalAccess', _603 => _603.type]) === "column") {
32862
32929
  toIndex = toCol.tickets.length;
32863
32930
  } else {
32864
32931
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -32900,14 +32967,14 @@ function Board({
32900
32967
  const toColumnId = located.columnId;
32901
32968
  const isCrossColumn = origin.fromColumnId !== toColumnId;
32902
32969
  const targetCol = items.find((c) => c.id === toColumnId);
32903
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _601 => _601.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _602 => _602.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
32970
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _604 => _604.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _605 => _605.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
32904
32971
  setItems(columns);
32905
32972
  return;
32906
32973
  }
32907
32974
  let finalIndex = located.index;
32908
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _603 => _603.find, 'call', _604 => _604((c) => c.id === toColumnId), 'optionalAccess', _605 => _605.tickets]), () => ( []));
32975
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _606 => _606.find, 'call', _607 => _607((c) => c.id === toColumnId), 'optionalAccess', _608 => _608.tickets]), () => ( []));
32909
32976
  const overData = over.data.current;
32910
- if (_optionalChain([overData, 'optionalAccess', _606 => _606.type]) === "ticket") {
32977
+ if (_optionalChain([overData, 'optionalAccess', _609 => _609.type]) === "ticket") {
32911
32978
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
32912
32979
  if (overIndex >= 0 && overIndex !== located.index) {
32913
32980
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -32927,8 +32994,8 @@ function Board({
32927
32994
  ticketId: origin.ticketId,
32928
32995
  fromColumnId: origin.fromColumnId,
32929
32996
  toColumnId,
32930
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _607 => _607[finalIndex - 1], 'optionalAccess', _608 => _608.id]), () => ( null)),
32931
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _609 => _609[finalIndex + 1], 'optionalAccess', _610 => _610.id]), () => ( null))
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))
32932
32999
  });
32933
33000
  };
32934
33001
  const handleDragCancel = () => {
@@ -32957,8 +33024,8 @@ function Board({
32957
33024
  children: items.map((column, i) => {
32958
33025
  const prev = items[i - 1];
32959
33026
  const next = items[i + 1];
32960
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _611 => _611.system]));
32961
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _612 => _612.system]));
33027
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _614 => _614.system]));
33028
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _615 => _615.system]));
32962
33029
  const showGap = i > 0 && !joinLeft;
32963
33030
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
32964
33031
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -33011,7 +33078,7 @@ function Board({
33011
33078
  {
33012
33079
  ticket: activeTicket.ticket,
33013
33080
  columnId: activeTicket.columnId,
33014
- columnColor: _optionalChain([items, 'access', _613 => _613.find, 'call', _614 => _614((c) => c.id === activeTicket.columnId), 'optionalAccess', _615 => _615.color]),
33081
+ columnColor: _optionalChain([items, 'access', _616 => _616.find, 'call', _617 => _617((c) => c.id === activeTicket.columnId), 'optionalAccess', _618 => _618.color]),
33015
33082
  isOverlay: true
33016
33083
  }
33017
33084
  ) : null })
@@ -33027,7 +33094,7 @@ function locate(cols, ticketId) {
33027
33094
  return null;
33028
33095
  }
33029
33096
  function findIndexInColumn(cols, columnId, ticketId) {
33030
- return _nullishCoalesce(_optionalChain([cols, 'access', _616 => _616.find, 'call', _617 => _617((c) => c.id === columnId), 'optionalAccess', _618 => _618.tickets, 'access', _619 => _619.findIndex, 'call', _620 => _620((t) => t.id === ticketId)]), () => ( -1));
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));
33031
33098
  }
33032
33099
 
33033
33100
  // src/components/features/board/types.ts
@@ -33275,7 +33342,7 @@ function Header2({ config, platform }) {
33275
33342
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
33276
33343
  "flex justify-start w-full",
33277
33344
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
33278
- index < (_nullishCoalesce(_optionalChain([item, 'access', _621 => _621.children, 'optionalAccess', _622 => _622.length]), () => ( 0))) - 1 && "mb-1",
33345
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _624 => _624.children, 'optionalAccess', _625 => _625.length]), () => ( 0))) - 1 && "mb-1",
33279
33346
  "text-ods-text-primary",
33280
33347
  // All dropdown items use primary text color
33281
33348
  child.isActive && "bg-ods-bg-hover"
@@ -33367,7 +33434,7 @@ function Header2({ config, platform }) {
33367
33434
  style: config.style,
33368
33435
  children: [
33369
33436
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
33370
- _optionalChain([config, 'access', _623 => _623.actions, 'optionalAccess', _624 => _624.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
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 }),
33371
33438
  /* @__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 })
33372
33439
  ] }),
33373
33440
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33384,7 +33451,7 @@ function Header2({ config, platform }) {
33384
33451
  }
33385
33452
  ),
33386
33453
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
33387
- _optionalChain([config, 'access', _625 => _625.actions, 'optionalAccess', _626 => _626.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
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 }),
33388
33455
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33389
33456
  _chunkNYIZVI4Icjs.Button,
33390
33457
  {
@@ -33392,10 +33459,10 @@ function Header2({ config, platform }) {
33392
33459
  size: "icon",
33393
33460
  className: "flex md:hidden",
33394
33461
  onClick: () => {
33395
- _optionalChain([config, 'access', _627 => _627.mobile, 'optionalAccess', _628 => _628.onToggle, 'optionalCall', _629 => _629()]);
33462
+ _optionalChain([config, 'access', _630 => _630.mobile, 'optionalAccess', _631 => _631.onToggle, 'optionalCall', _632 => _632()]);
33396
33463
  },
33397
- "aria-label": _optionalChain([config, 'access', _630 => _630.mobile, 'optionalAccess', _631 => _631.isOpen]) ? "Close menu" : "Open menu",
33398
- leftIcon: _optionalChain([config, 'access', _632 => _632.mobile, 'optionalAccess', _633 => _633.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
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, {})
33399
33466
  }
33400
33467
  )
33401
33468
  ] })
@@ -33412,10 +33479,10 @@ function Header2({ config, platform }) {
33412
33479
  // src/components/navigation/header-skeleton.tsx
33413
33480
 
33414
33481
  function HeaderSkeleton({ config }) {
33415
- const showNavigation = _optionalChain([config, 'optionalAccess', _634 => _634.navigation]) && config.navigation.items.length > 0;
33416
- const showActions = _optionalChain([config, 'optionalAccess', _635 => _635.actions, 'optionalAccess', _636 => _636.right]) && config.actions.right.length > 0;
33417
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _637 => _637.mobile, 'optionalAccess', _638 => _638.enabled]);
33418
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _639 => _639.className, 'optionalAccess', _640 => _640.includes, 'call', _641 => _641("admin")]);
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")]);
33419
33486
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33420
33487
  "header",
33421
33488
  {
@@ -33424,11 +33491,11 @@ function HeaderSkeleton({ config }) {
33424
33491
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
33425
33492
  "px-6 py-3",
33426
33493
  "transition-opacity duration-300 ease-in-out",
33427
- _optionalChain([config, 'optionalAccess', _642 => _642.className])
33494
+ _optionalChain([config, 'optionalAccess', _645 => _645.className])
33428
33495
  ),
33429
33496
  children: [
33430
33497
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
33431
- isAdminHeader && _optionalChain([config, 'optionalAccess', _643 => _643.actions, 'optionalAccess', _644 => _644.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" }) }),
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" }) }),
33432
33499
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
33433
33500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
33434
33501
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -33436,8 +33503,8 @@ function HeaderSkeleton({ config }) {
33436
33503
  ] }),
33437
33504
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
33438
33505
  "hidden md:flex items-center gap-2",
33439
- _optionalChain([config, 'optionalAccess', _645 => _645.navigation, 'optionalAccess', _646 => _646.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
33440
- _optionalChain([config, 'optionalAccess', _647 => _647.navigation, 'optionalAccess', _648 => _648.position]) === "right" && "ml-auto mr-4"
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"
33441
33508
  ), children: [
33442
33509
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
33443
33510
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -33485,7 +33552,7 @@ function MobileNavPanel({ isOpen, config }) {
33485
33552
  _react.useEffect.call(void 0, () => {
33486
33553
  const handleKeyDown = (e) => {
33487
33554
  if (e.key === "Escape" && isOpen) {
33488
- _optionalChain([config, 'access', _649 => _649.onClose, 'optionalCall', _650 => _650()]);
33555
+ _optionalChain([config, 'access', _652 => _652.onClose, 'optionalCall', _653 => _653()]);
33489
33556
  }
33490
33557
  };
33491
33558
  if (isOpen) {
@@ -33502,7 +33569,7 @@ function MobileNavPanel({ isOpen, config }) {
33502
33569
  if (item.onClick) {
33503
33570
  item.onClick();
33504
33571
  }
33505
- _optionalChain([config, 'access', _651 => _651.onClose, 'optionalCall', _652 => _652()]);
33572
+ _optionalChain([config, 'access', _654 => _654.onClose, 'optionalCall', _655 => _655()]);
33506
33573
  };
33507
33574
  if (item.href) {
33508
33575
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33672,7 +33739,7 @@ function SlidingSidebar({ config }) {
33672
33739
  variant: "transparent",
33673
33740
  size: "default",
33674
33741
  onClick: () => {
33675
- _optionalChain([item, 'access', _653 => _653.onClick, 'optionalCall', _654 => _654()]);
33742
+ _optionalChain([item, 'access', _656 => _656.onClick, 'optionalCall', _657 => _657()]);
33676
33743
  config.onClose();
33677
33744
  },
33678
33745
  leftIcon: item.icon,
@@ -33695,7 +33762,7 @@ function SlidingSidebar({ config }) {
33695
33762
  variant: "transparent",
33696
33763
  size: "default",
33697
33764
  onClick: () => {
33698
- _optionalChain([item, 'access', _655 => _655.onClick, 'optionalCall', _656 => _656()]);
33765
+ _optionalChain([item, 'access', _658 => _658.onClick, 'optionalCall', _659 => _659()]);
33699
33766
  config.onClose();
33700
33767
  },
33701
33768
  leftIcon: item.icon,
@@ -33822,7 +33889,7 @@ function StickySectionNav({
33822
33889
  ] });
33823
33890
  }
33824
33891
  function useSectionNavigation(sections, options) {
33825
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _657 => _657[0], 'optionalAccess', _658 => _658.id]) || "");
33892
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _660 => _660[0], 'optionalAccess', _661 => _661.id]) || "");
33826
33893
  const isScrollingFromClick = _react.useRef.call(void 0, false);
33827
33894
  const { offset: offset2 = 100 } = options || {};
33828
33895
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -33846,7 +33913,7 @@ function useSectionNavigation(sections, options) {
33846
33913
  const handleScroll = () => {
33847
33914
  if (isScrollingFromClick.current) return;
33848
33915
  const scrollPosition = window.scrollY + offset2 + 50;
33849
- let currentSection = _optionalChain([sections, 'access', _659 => _659[0], 'optionalAccess', _660 => _660.id]) || "";
33916
+ let currentSection = _optionalChain([sections, 'access', _662 => _662[0], 'optionalAccess', _663 => _663.id]) || "";
33850
33917
  for (let i = sections.length - 1; i >= 0; i--) {
33851
33918
  const element = document.getElementById(sections[i].id);
33852
33919
  if (element && scrollPosition >= element.offsetTop) {
@@ -34047,7 +34114,7 @@ function NavigationSidebar({ config, disabled = false }) {
34047
34114
  } else {
34048
34115
  setDesktopMinimized((prev) => !prev);
34049
34116
  }
34050
- _optionalChain([config, 'access', _661 => _661.onToggleMinimized, 'optionalCall', _662 => _662()]);
34117
+ _optionalChain([config, 'access', _664 => _664.onToggleMinimized, 'optionalCall', _665 => _665()]);
34051
34118
  }, [isTablet, setDesktopMinimized, config]);
34052
34119
  const closeOverlay = _react.useCallback.call(void 0, () => {
34053
34120
  setTabletMinimized(true);
@@ -34061,11 +34128,11 @@ function NavigationSidebar({ config, disabled = false }) {
34061
34128
  return () => document.removeEventListener("keydown", handleKeyDown);
34062
34129
  }, [isOverlayOpen, closeOverlay]);
34063
34130
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
34064
- _optionalChain([event, 'optionalAccess', _663 => _663.stopPropagation, 'call', _664 => _664()]);
34131
+ _optionalChain([event, 'optionalAccess', _666 => _666.stopPropagation, 'call', _667 => _667()]);
34065
34132
  if (item.onClick) {
34066
34133
  item.onClick();
34067
34134
  } else if (item.path) {
34068
- _optionalChain([config, 'access', _665 => _665.onNavigate, 'optionalCall', _666 => _666(item.path)]);
34135
+ _optionalChain([config, 'access', _668 => _668.onNavigate, 'optionalCall', _669 => _669(item.path)]);
34069
34136
  }
34070
34137
  if (isTablet) setTabletMinimized(true);
34071
34138
  }, [config, isTablet]);
@@ -34185,11 +34252,11 @@ function HeaderGlobalSearch({
34185
34252
  };
34186
34253
  const handleSubmit = (e) => {
34187
34254
  e.preventDefault();
34188
- _optionalChain([onSubmit, 'optionalCall', _667 => _667(currentValue)]);
34255
+ _optionalChain([onSubmit, 'optionalCall', _670 => _670(currentValue)]);
34189
34256
  };
34190
34257
  const handleKeyDown = (e) => {
34191
34258
  if (e.key === "Enter") {
34192
- _optionalChain([onSubmit, 'optionalCall', _668 => _668(currentValue)]);
34259
+ _optionalChain([onSubmit, 'optionalCall', _671 => _671(currentValue)]);
34193
34260
  }
34194
34261
  };
34195
34262
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -34283,8 +34350,8 @@ function HeaderOrganizationFilter({
34283
34350
  className
34284
34351
  }) {
34285
34352
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
34286
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _669 => _669.name]) || "All Organizations";
34287
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _670 => _670.deviceCount]), () => ( totalDeviceCount));
34353
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _672 => _672.name]) || "All Organizations";
34354
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _673 => _673.deviceCount]), () => ( totalDeviceCount));
34288
34355
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenu, { children: [
34289
34356
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34290
34357
  "button",
@@ -34309,11 +34376,11 @@ function HeaderOrganizationFilter({
34309
34376
  }
34310
34377
  ) }),
34311
34378
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
34312
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _671 => _671("")]), children: "All Organizations" }),
34379
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNYIZVI4Icjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _674 => _674("")]), children: "All Organizations" }),
34313
34380
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34314
34381
  _chunkNYIZVI4Icjs.DropdownMenuItem,
34315
34382
  {
34316
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _672 => _672(org.id)]),
34383
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _675 => _675(org.id)]),
34317
34384
  children: org.name
34318
34385
  },
34319
34386
  org.id
@@ -34503,9 +34570,9 @@ function NotificationsHeaderButton({
34503
34570
  dimmedClass
34504
34571
  }) {
34505
34572
  const ctx = useOptionalNotifications();
34506
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _673 => _673.unreadCount]), () => ( fallbackUnreadCount))) > 0;
34507
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _674 => _674.isOpen]), () => ( false));
34508
- const onClick = _optionalChain([ctx, 'optionalAccess', _675 => _675.toggle]);
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]);
34509
34576
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34510
34577
  HeaderButton,
34511
34578
  {
@@ -34569,7 +34636,7 @@ var MobileBurgerMenu = React118.default.memo(function MobileBurgerMenu2({
34569
34636
  if (item.onClick) {
34570
34637
  item.onClick();
34571
34638
  } else if (item.path) {
34572
- _optionalChain([config, 'access', _676 => _676.onNavigate, 'optionalCall', _677 => _677(item.path)]);
34639
+ _optionalChain([config, 'access', _679 => _679.onNavigate, 'optionalCall', _680 => _680(item.path)]);
34573
34640
  }
34574
34641
  onClose();
34575
34642
  }, [config, onClose]);
@@ -34830,7 +34897,7 @@ var AppLayoutDrawerRoot = ({
34830
34897
  const handleOpenChange = React111.useCallback(
34831
34898
  (next) => {
34832
34899
  if (!isControlled) setInternalOpen(next);
34833
- _optionalChain([onOpenChange, 'optionalCall', _678 => _678(next)]);
34900
+ _optionalChain([onOpenChange, 'optionalCall', _681 => _681(next)]);
34834
34901
  },
34835
34902
  [isControlled, onOpenChange]
34836
34903
  );
@@ -34840,10 +34907,10 @@ var AppLayoutDrawerRoot = ({
34840
34907
  const handleOpenChangeRef = React111.useRef(handleOpenChange);
34841
34908
  handleOpenChangeRef.current = handleOpenChange;
34842
34909
  React111.useEffect(() => {
34843
- if (open) _optionalChain([coordination, 'optionalAccess', _679 => _679.notifyDrawerDidOpen, 'call', _680 => _680()]);
34910
+ if (open) _optionalChain([coordination, 'optionalAccess', _682 => _682.notifyDrawerDidOpen, 'call', _683 => _683()]);
34844
34911
  }, [open, coordination]);
34845
34912
  React111.useEffect(() => {
34846
- return _optionalChain([coordination, 'optionalAccess', _681 => _681.registerDrawer, 'call', _682 => _682({
34913
+ return _optionalChain([coordination, 'optionalAccess', _684 => _684.registerDrawer, 'call', _685 => _685({
34847
34914
  close: () => {
34848
34915
  if (openRef.current) handleOpenChangeRef.current(false);
34849
34916
  }
@@ -34964,7 +35031,7 @@ function useContainedResizableSize({
34964
35031
  const parsed = parseFloat(raw);
34965
35032
  if (!Number.isFinite(parsed)) return defaultSize;
34966
35033
  return parsed;
34967
- } catch (e34) {
35034
+ } catch (e33) {
34968
35035
  return defaultSize;
34969
35036
  }
34970
35037
  }, [enabled, storageKey, defaultSize]);
@@ -34977,7 +35044,7 @@ function useContainedResizableSize({
34977
35044
  if (!enabled || !storageKey || typeof window === "undefined") return;
34978
35045
  try {
34979
35046
  window.localStorage.setItem(storageKey, String(Math.round(size2)));
34980
- } catch (e35) {
35047
+ } catch (e34) {
34981
35048
  }
34982
35049
  }, [enabled, size2, storageKey]);
34983
35050
  React111.useEffect(() => {
@@ -35016,7 +35083,7 @@ function AppLayoutDrawerResizeHandle({
35016
35083
  startRef.current = null;
35017
35084
  try {
35018
35085
  e.currentTarget.releasePointerCapture(e.pointerId);
35019
- } catch (e36) {
35086
+ } catch (e35) {
35020
35087
  }
35021
35088
  document.body.style.cursor = "";
35022
35089
  document.body.style.userSelect = "";
@@ -35227,10 +35294,10 @@ var AppLayoutDrawerContent = React111.forwardRef(
35227
35294
  ),
35228
35295
  style,
35229
35296
  onInteractOutside: (event) => {
35230
- _optionalChain([onInteractOutside, 'optionalCall', _683 => _683(event)]);
35297
+ _optionalChain([onInteractOutside, 'optionalCall', _686 => _686(event)]);
35231
35298
  if (event.defaultPrevented) return;
35232
35299
  const target = event.target;
35233
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _684 => _684.contains, 'call', _685 => _685(target)]);
35300
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _687 => _687.contains, 'call', _688 => _688(target)]);
35234
35301
  if (!isInsideContainer) {
35235
35302
  event.preventDefault();
35236
35303
  return;
@@ -35643,7 +35710,7 @@ var ShellTypeBadge = ({
35643
35710
  className,
35644
35711
  iconClassName
35645
35712
  }) => {
35646
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _686 => _686.toUpperCase, 'call', _687 => _687()]);
35713
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _689 => _689.toUpperCase, 'call', _690 => _690()]);
35647
35714
  const label = getShellLabel(normalizedType);
35648
35715
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
35649
35716
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -36030,12 +36097,12 @@ function OnboardingWalkthrough({
36030
36097
  }
36031
36098
  }, [state.completedSteps, markComplete]);
36032
36099
  const handleStepSkip = (step) => {
36033
- _optionalChain([step, 'access', _688 => _688.onSkip, 'optionalCall', _689 => _689()]);
36100
+ _optionalChain([step, 'access', _691 => _691.onSkip, 'optionalCall', _692 => _692()]);
36034
36101
  markSkipped(step.id);
36035
36102
  };
36036
36103
  const handleDismiss = () => {
36037
36104
  dismissOnboarding();
36038
- _optionalChain([onDismiss, 'optionalCall', _690 => _690()]);
36105
+ _optionalChain([onDismiss, 'optionalCall', _693 => _693()]);
36039
36106
  };
36040
36107
  if (state.dismissed) {
36041
36108
  return null;
@@ -36165,7 +36232,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
36165
36232
  onKeyDown: (e) => {
36166
36233
  if (e.key === "Enter" || e.key === " ") {
36167
36234
  e.preventDefault();
36168
- _optionalChain([onClick, 'optionalCall', _691 => _691()]);
36235
+ _optionalChain([onClick, 'optionalCall', _694 => _694()]);
36169
36236
  }
36170
36237
  },
36171
36238
  children: [
@@ -36266,7 +36333,7 @@ var LogsList = React115.forwardRef(({
36266
36333
  log,
36267
36334
  isLast: index === logs.length - 1,
36268
36335
  showConnector,
36269
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _692 => _692(log)])
36336
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _695 => _695(log)])
36270
36337
  },
36271
36338
  log.id
36272
36339
  ))
@@ -36367,7 +36434,7 @@ var Slider = React117.forwardRef(
36367
36434
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
36368
36435
  const handleChange = (e) => {
36369
36436
  const newValue = [Number(e.target.value)];
36370
- _optionalChain([onValueChange, 'optionalCall', _693 => _693(newValue)]);
36437
+ _optionalChain([onValueChange, 'optionalCall', _696 => _696(newValue)]);
36371
36438
  };
36372
36439
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36373
36440
  "input",
@@ -36801,7 +36868,7 @@ function CursorPaginationSimple({
36801
36868
  {
36802
36869
  variant: "transparent",
36803
36870
  size: "icon",
36804
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _694 => _694("")]),
36871
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _697 => _697("")]),
36805
36872
  disabled: !hasPreviousPage || loading,
36806
36873
  className: "h-8 w-8",
36807
36874
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -36813,7 +36880,7 @@ function CursorPaginationSimple({
36813
36880
  {
36814
36881
  variant: "transparent",
36815
36882
  size: "icon",
36816
- onClick: () => _optionalChain([onNext, 'optionalCall', _695 => _695("")]),
36883
+ onClick: () => _optionalChain([onNext, 'optionalCall', _698 => _698("")]),
36817
36884
  disabled: !hasNextPage || loading,
36818
36885
  className: "h-8 w-8",
36819
36886
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -36833,8 +36900,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
36833
36900
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
36834
36901
  title: _nullishCoalesce(message2, () => ( "No results found")),
36835
36902
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
36836
- buttonLabel: _optionalChain([action, 'optionalAccess', _696 => _696.label]),
36837
- onButtonClick: _optionalChain([action, 'optionalAccess', _697 => _697.onClick]),
36903
+ buttonLabel: _optionalChain([action, 'optionalAccess', _699 => _699.label]),
36904
+ onButtonClick: _optionalChain([action, 'optionalAccess', _700 => _700.onClick]),
36838
36905
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
36839
36906
  }
36840
36907
  );
@@ -36855,7 +36922,7 @@ function TableColumnFilterDropdown({
36855
36922
  placement = "bottom-start",
36856
36923
  dropdownClassName = "min-w-[240px]"
36857
36924
  }) {
36858
- const activeCount = _optionalChain([filters, 'optionalAccess', _698 => _698[columnKey], 'optionalAccess', _699 => _699.length]) || 0;
36925
+ const activeCount = _optionalChain([filters, 'optionalAccess', _701 => _701[columnKey], 'optionalAccess', _702 => _702.length]) || 0;
36859
36926
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36860
36927
  FiltersDropdown,
36861
36928
  {
@@ -36898,7 +36965,7 @@ function TableColumnFilterDropdown({
36898
36965
  delete newFilters[columnKey];
36899
36966
  onFilterChange(newFilters);
36900
36967
  },
36901
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _700 => _700[columnKey]]) || [] },
36968
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _703 => _703[columnKey]]) || [] },
36902
36969
  placement,
36903
36970
  dropdownClassName
36904
36971
  }
@@ -37108,7 +37175,7 @@ function TableCardSkeleton({
37108
37175
  className,
37109
37176
  rowClassName
37110
37177
  }) {
37111
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _701 => _701.key]);
37178
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _704 => _704.key]);
37112
37179
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37113
37180
  "div",
37114
37181
  {
@@ -37201,7 +37268,7 @@ function TableRow({
37201
37268
  const keys = column.key.split(".");
37202
37269
  let value = item;
37203
37270
  for (const key of keys) {
37204
- value = _optionalChain([value, 'optionalAccess', _702 => _702[key]]);
37271
+ value = _optionalChain([value, 'optionalAccess', _705 => _705[key]]);
37205
37272
  }
37206
37273
  if (value === null || value === void 0) {
37207
37274
  return "-";
@@ -37290,7 +37357,7 @@ function useTableMotion(enabled) {
37290
37357
  // src/components/ui/table/table.tsx
37291
37358
 
37292
37359
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
37293
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _703 => _703.length])) || Boolean(renderRowActions);
37360
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _706 => _706.length])) || Boolean(renderRowActions);
37294
37361
  const result = [...columns];
37295
37362
  if (hasActions) {
37296
37363
  const actionsColumn = {
@@ -37386,7 +37453,7 @@ function Table({
37386
37453
  return rowKey(item);
37387
37454
  }
37388
37455
  const key = item[rowKey];
37389
- return _optionalChain([key, 'optionalAccess', _704 => _704.toString, 'call', _705 => _705()]) || index.toString();
37456
+ return _optionalChain([key, 'optionalAccess', _707 => _707.toString, 'call', _708 => _708()]) || index.toString();
37390
37457
  };
37391
37458
  const getRowClassName = (item, index) => {
37392
37459
  if (typeof rowClassName === "function") {
@@ -37420,23 +37487,23 @@ function Table({
37420
37487
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
37421
37488
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
37422
37489
  const sentinelRef = _react.useRef.call(void 0, null);
37423
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _706 => _706.onLoadMore]));
37424
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _707 => _707.onLoadMore]);
37490
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _709 => _709.onLoadMore]));
37491
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _710 => _710.onLoadMore]);
37425
37492
  _react.useEffect.call(void 0, () => {
37426
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _708 => _708.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
37493
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _711 => _711.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
37427
37494
  const sentinel = sentinelRef.current;
37428
37495
  if (!sentinel) return;
37429
37496
  const observer = new IntersectionObserver(
37430
37497
  (entries) => {
37431
- if (_optionalChain([entries, 'access', _709 => _709[0], 'optionalAccess', _710 => _710.isIntersecting])) {
37432
- _optionalChain([onLoadMoreRef, 'access', _711 => _711.current, 'optionalCall', _712 => _712()]);
37498
+ if (_optionalChain([entries, 'access', _712 => _712[0], 'optionalAccess', _713 => _713.isIntersecting])) {
37499
+ _optionalChain([onLoadMoreRef, 'access', _714 => _714.current, 'optionalCall', _715 => _715()]);
37433
37500
  }
37434
37501
  },
37435
37502
  { rootMargin: "200px" }
37436
37503
  );
37437
37504
  observer.observe(sentinel);
37438
37505
  return () => observer.disconnect();
37439
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _713 => _713.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _714 => _714.isFetchingNextPage])]);
37506
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _716 => _716.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _717 => _717.isFetchingNextPage])]);
37440
37507
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
37441
37508
  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: [
37442
37509
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -37506,14 +37573,14 @@ function Table({
37506
37573
  selected: isRowSelected(item),
37507
37574
  onSelect: handleSelectRow,
37508
37575
  animateRowReorder,
37509
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _715 => _715.motionDiv])
37576
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _718 => _718.motionDiv])
37510
37577
  },
37511
37578
  getRowKey(item, index)
37512
37579
  ));
37513
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _716 => _716.LayoutGroup]);
37580
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _719 => _719.LayoutGroup]);
37514
37581
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
37515
37582
  })(),
37516
- _optionalChain([infiniteScroll, 'optionalAccess', _717 => _717.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37583
+ _optionalChain([infiniteScroll, 'optionalAccess', _720 => _720.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37517
37584
  TableCardSkeleton,
37518
37585
  {
37519
37586
  columns,
@@ -37522,7 +37589,7 @@ function Table({
37522
37589
  hasChevron: Boolean(rowHref)
37523
37590
  }
37524
37591
  ),
37525
- _optionalChain([infiniteScroll, 'optionalAccess', _718 => _718.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
37592
+ _optionalChain([infiniteScroll, 'optionalAccess', _721 => _721.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
37526
37593
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37527
37594
  "div",
37528
37595
  {
@@ -37880,7 +37947,7 @@ function QueryReportTable({
37880
37947
  );
37881
37948
  const handleExport = () => {
37882
37949
  exportToCSV(data, columns, exportFilename);
37883
- _optionalChain([onExport, 'optionalCall', _719 => _719()]);
37950
+ _optionalChain([onExport, 'optionalCall', _722 => _722()]);
37884
37951
  };
37885
37952
  const tableMinWidth = columns.length * (columnWidth + 16);
37886
37953
  const {
@@ -38053,7 +38120,7 @@ function DataTableColumnFilter({
38053
38120
  align = "left"
38054
38121
  }) {
38055
38122
  const currentValue = column.getFilterValue();
38056
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _720 => _720.length]), () => ( 0));
38123
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _723 => _723.length]), () => ( 0));
38057
38124
  const sections = _react.useMemo.call(void 0,
38058
38125
  () => [
38059
38126
  {
@@ -38133,7 +38200,7 @@ function DataTableHeader({
38133
38200
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
38134
38201
  if (header.isPlaceholder) return false;
38135
38202
  if (isLgUp) return true;
38136
- return Boolean(_optionalChain([header, 'access', _721 => _721.column, 'access', _722 => _722.columnDef, 'access', _723 => _723.meta, 'optionalAccess', _724 => _724.filter]));
38203
+ return Boolean(_optionalChain([header, 'access', _724 => _724.column, 'access', _725 => _725.columnDef, 'access', _726 => _726.meta, 'optionalAccess', _727 => _727.filter]));
38137
38204
  });
38138
38205
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38139
38206
  "div",
@@ -38163,20 +38230,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
38163
38230
  if (header.isPlaceholder) return null;
38164
38231
  const column = header.column;
38165
38232
  const meta = column.columnDef.meta;
38166
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _725 => _725.filter]));
38167
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _726 => _726.align]), () => ( "left"));
38168
- const canSort = _optionalChain([meta, 'optionalAccess', _727 => _727.sortable]) === true;
38169
- const sortDir = _optionalChain([sort, 'optionalAccess', _728 => _728.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
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;
38170
38237
  if (!isLgUp && !hasFilter) return null;
38171
38238
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38172
38239
  "div",
38173
38240
  {
38174
38241
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38175
38242
  "flex items-stretch",
38176
- isLgUp && (_optionalChain([meta, 'optionalAccess', _729 => _729.width]) || "flex-1 min-w-0"),
38177
- _optionalChain([meta, 'optionalAccess', _730 => _730.headerClassName]),
38243
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _732 => _732.width]) || "flex-1 min-w-0"),
38244
+ _optionalChain([meta, 'optionalAccess', _733 => _733.headerClassName]),
38178
38245
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
38179
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _731 => _731.hideAt]))
38246
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _734 => _734.hideAt]))
38180
38247
  ),
38181
38248
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38182
38249
  DataTableColumnFilter,
@@ -38195,7 +38262,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
38195
38262
  isLgUp && alignJustify(align),
38196
38263
  canSort && "group cursor-pointer"
38197
38264
  ),
38198
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _732 => _732(column.id)]) : void 0,
38265
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _735 => _735(column.id)]) : void 0,
38199
38266
  children: [
38200
38267
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
38201
38268
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -38260,7 +38327,7 @@ function DataTableSkeleton({
38260
38327
  }) {
38261
38328
  const table = useDataTableContext();
38262
38329
  const columns = table.getVisibleFlatColumns();
38263
- const firstColumnId = _optionalChain([columns, 'access', _733 => _733[0], 'optionalAccess', _734 => _734.id]);
38330
+ const firstColumnId = _optionalChain([columns, 'access', _736 => _736[0], 'optionalAccess', _737 => _737.id]);
38264
38331
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38265
38332
  "div",
38266
38333
  {
@@ -38284,7 +38351,7 @@ function DataTableSkeleton({
38284
38351
  {
38285
38352
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38286
38353
  "flex flex-col justify-center shrink-0",
38287
- _optionalChain([meta, 'optionalAccess', _735 => _735.width]) || "flex-1"
38354
+ _optionalChain([meta, 'optionalAccess', _738 => _738.width]) || "flex-1"
38288
38355
  ),
38289
38356
  children: [
38290
38357
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -38333,7 +38400,7 @@ function DataTableRowImpl({
38333
38400
  const handleClick = _react.useCallback.call(void 0,
38334
38401
  (e) => {
38335
38402
  const target = e.target;
38336
- if (!_optionalChain([containerRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.contains, 'call', _738 => _738(target)])) {
38403
+ if (!_optionalChain([containerRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.contains, 'call', _741 => _741(target)])) {
38337
38404
  if (isLinkMode) e.preventDefault();
38338
38405
  return;
38339
38406
  }
@@ -38341,7 +38408,7 @@ function DataTableRowImpl({
38341
38408
  if (isLinkMode) e.preventDefault();
38342
38409
  return;
38343
38410
  }
38344
- _optionalChain([onClick, 'optionalCall', _739 => _739(row.original)]);
38411
+ _optionalChain([onClick, 'optionalCall', _742 => _742(row.original)]);
38345
38412
  },
38346
38413
  [onClick, row.original, isLinkMode]
38347
38414
  );
@@ -38366,10 +38433,10 @@ function DataTableRowImpl({
38366
38433
  {
38367
38434
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
38368
38435
  "flex flex-col overflow-hidden",
38369
- alignJustify(_optionalChain([meta, 'optionalAccess', _740 => _740.align])),
38370
- _optionalChain([meta, 'optionalAccess', _741 => _741.width]) || "flex-1 min-w-0",
38371
- _optionalChain([meta, 'optionalAccess', _742 => _742.cellClassName]),
38372
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _743 => _743.hideAt]))
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]))
38373
38440
  ),
38374
38441
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
38375
38442
  },
@@ -38448,7 +38515,7 @@ function DataTableBody({
38448
38515
  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: [
38449
38516
  rows.map((row, index) => {
38450
38517
  const item = row.original;
38451
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _744 => _744(item)]), () => ( void 0));
38518
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _747 => _747(item)]), () => ( void 0));
38452
38519
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
38453
38520
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38454
38521
  DataTableRow,
@@ -38458,7 +38525,7 @@ function DataTableBody({
38458
38525
  href,
38459
38526
  compact,
38460
38527
  className: cls,
38461
- subRow: _optionalChain([renderSubRow, 'optionalCall', _745 => _745(item)])
38528
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _748 => _748(item)])
38462
38529
  },
38463
38530
  row.id
38464
38531
  );
@@ -38513,7 +38580,7 @@ function DataTableInfiniteFooter({
38513
38580
  if (!sentinel) return;
38514
38581
  const observer = new IntersectionObserver(
38515
38582
  (entries) => {
38516
- if (_optionalChain([entries, 'access', _746 => _746[0], 'optionalAccess', _747 => _747.isIntersecting])) onLoadMoreRef.current();
38583
+ if (_optionalChain([entries, 'access', _749 => _749[0], 'optionalAccess', _750 => _750.isIntersecting])) onLoadMoreRef.current();
38517
38584
  },
38518
38585
  { rootMargin }
38519
38586
  );
@@ -38561,7 +38628,7 @@ function DataTableRowCount({
38561
38628
  const table = useDataTableContext();
38562
38629
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
38563
38630
  if (hideWhenEmpty && count === 0) return null;
38564
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _748 => _748(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
38631
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _751 => _751(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
38565
38632
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38566
38633
  "span",
38567
38634
  {
@@ -38720,7 +38787,7 @@ function SearchInput({
38720
38787
  if (!showHiddenTags) return;
38721
38788
  const handleClick = (e) => {
38722
38789
  const target = e.target;
38723
- if (!_optionalChain([hiddenTagsRef, 'access', _749 => _749.current, 'optionalAccess', _750 => _750.contains, 'call', _751 => _751(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _752 => _752.current, 'optionalAccess', _753 => _753.contains, 'call', _754 => _754(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)])) {
38724
38791
  setShowHiddenTags(false);
38725
38792
  }
38726
38793
  };
@@ -38768,10 +38835,10 @@ function SearchInput({
38768
38835
  } else {
38769
38836
  setInternalValue("");
38770
38837
  }
38771
- _optionalChain([inputRef, 'access', _755 => _755.current, 'optionalAccess', _756 => _756.focus, 'call', _757 => _757()]);
38838
+ _optionalChain([inputRef, 'access', _758 => _758.current, 'optionalAccess', _759 => _759.focus, 'call', _760 => _760()]);
38772
38839
  };
38773
38840
  const handleResultClick = (result, e) => {
38774
- _optionalChain([onResultSelect, 'optionalCall', _758 => _758(
38841
+ _optionalChain([onResultSelect, 'optionalCall', _761 => _761(
38775
38842
  result,
38776
38843
  e ? {
38777
38844
  metaKey: e.metaKey,
@@ -38803,7 +38870,7 @@ function SearchInput({
38803
38870
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
38804
38871
  handleResultClick(flatResults[highlightedIndex]);
38805
38872
  } else {
38806
- _optionalChain([onSubmit, 'optionalCall', _759 => _759(currentValue)]);
38873
+ _optionalChain([onSubmit, 'optionalCall', _762 => _762(currentValue)]);
38807
38874
  }
38808
38875
  break;
38809
38876
  case "Escape":
@@ -38881,7 +38948,7 @@ function SearchInput({
38881
38948
  dropdownVisible && "!border-ods-accent"
38882
38949
  ),
38883
38950
  onClick: () => {
38884
- _optionalChain([inputRef, 'access', _760 => _760.current, 'optionalAccess', _761 => _761.focus, 'call', _762 => _762()]);
38951
+ _optionalChain([inputRef, 'access', _763 => _763.current, 'optionalAccess', _764 => _764.focus, 'call', _765 => _765()]);
38885
38952
  setIsOpen(true);
38886
38953
  },
38887
38954
  children: [
@@ -38965,10 +39032,10 @@ function SearchInput({
38965
39032
  align: "start",
38966
39033
  onOpenAutoFocus: (e) => {
38967
39034
  e.preventDefault();
38968
- _optionalChain([inputRef, 'access', _763 => _763.current, 'optionalAccess', _764 => _764.focus, 'call', _765 => _765()]);
39035
+ _optionalChain([inputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.focus, 'call', _768 => _768()]);
38969
39036
  },
38970
39037
  onInteractOutside: (e) => {
38971
- if (_optionalChain([containerRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.contains, 'call', _768 => _768(e.target)])) {
39038
+ if (_optionalChain([containerRef, 'access', _769 => _769.current, 'optionalAccess', _770 => _770.contains, 'call', _771 => _771(e.target)])) {
38972
39039
  e.preventDefault();
38973
39040
  }
38974
39041
  },
@@ -38985,10 +39052,10 @@ function SearchInput({
38985
39052
  ref: hiddenTagsPopupRef,
38986
39053
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
38987
39054
  style: {
38988
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _769 => _769.current, 'optionalAccess', _770 => _770.getBoundingClientRect, 'call', _771 => _771(), 'access', _772 => _772.left]), () => ( 0))) : 0
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
38989
39056
  },
38990
39057
  onRemove: (value2) => {
38991
- _optionalChain([onFilterRemove, 'optionalCall', _773 => _773(value2)]);
39058
+ _optionalChain([onFilterRemove, 'optionalCall', _776 => _776(value2)]);
38992
39059
  if (hiddenCount <= 1) setShowHiddenTags(false);
38993
39060
  }
38994
39061
  }
@@ -39039,7 +39106,7 @@ function FilterListItem({
39039
39106
  }) {
39040
39107
  const handleToggle = () => {
39041
39108
  if (disabled) return;
39042
- _optionalChain([onToggle, 'optionalCall', _774 => _774(!selected)]);
39109
+ _optionalChain([onToggle, 'optionalCall', _777 => _777(!selected)]);
39043
39110
  };
39044
39111
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39045
39112
  "div",
@@ -39086,7 +39153,7 @@ function FilterListItem({
39086
39153
  CheckboxPrimitive4.Root,
39087
39154
  {
39088
39155
  checked: selected,
39089
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _775 => _775(c === true)]),
39156
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _778 => _778(c === true)]),
39090
39157
  onClick: (e) => e.stopPropagation(),
39091
39158
  disabled,
39092
39159
  "aria-label": title,
@@ -39185,7 +39252,7 @@ function TagSearchInput({
39185
39252
  if (!showHiddenTags) return;
39186
39253
  const handleClick = (e) => {
39187
39254
  const target = e.target;
39188
- if (!_optionalChain([hiddenTagsRef, 'access', _776 => _776.current, 'optionalAccess', _777 => _777.contains, 'call', _778 => _778(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.contains, 'call', _781 => _781(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)])) {
39189
39256
  setShowHiddenTags(false);
39190
39257
  }
39191
39258
  };
@@ -39201,13 +39268,13 @@ function TagSearchInput({
39201
39268
  e.preventDefault();
39202
39269
  onSubmit(searchValue);
39203
39270
  }
39204
- _optionalChain([onKeyDown, 'optionalCall', _782 => _782(e)]);
39271
+ _optionalChain([onKeyDown, 'optionalCall', _785 => _785(e)]);
39205
39272
  };
39206
39273
  const handleClearAll = (e) => {
39207
39274
  e.stopPropagation();
39208
39275
  e.preventDefault();
39209
- _optionalChain([onClearAll, 'optionalCall', _783 => _783()]);
39210
- _optionalChain([inputRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.focus, 'call', _786 => _786()]);
39276
+ _optionalChain([onClearAll, 'optionalCall', _786 => _786()]);
39277
+ _optionalChain([inputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.focus, 'call', _789 => _789()]);
39211
39278
  };
39212
39279
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
39213
39280
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -39224,7 +39291,7 @@ function TagSearchInput({
39224
39291
  className
39225
39292
  ),
39226
39293
  onClick: () => {
39227
- if (!disabled) _optionalChain([inputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.focus, 'call', _789 => _789()]);
39294
+ if (!disabled) _optionalChain([inputRef, 'access', _790 => _790.current, 'optionalAccess', _791 => _791.focus, 'call', _792 => _792()]);
39228
39295
  },
39229
39296
  children: [
39230
39297
  /* @__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" }) }),
@@ -39296,7 +39363,7 @@ function TagSearchInput({
39296
39363
  items: hiddenTags,
39297
39364
  disabled,
39298
39365
  style: {
39299
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _790 => _790.current, 'optionalAccess', _791 => _791.getBoundingClientRect, 'call', _792 => _792(), 'access', _793 => _793.left]), () => ( 0))) : 0
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
39300
39367
  },
39301
39368
  onRemove: (value) => {
39302
39369
  onTagRemove(value);
@@ -39397,7 +39464,7 @@ function MarkdownEditor({
39397
39464
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
39398
39465
  _react.useEffect.call(void 0, () => {
39399
39466
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
39400
- if (_optionalChain([mod, 'access', _794 => _794.commands, 'optionalAccess', _795 => _795.getExtraCommands])) {
39467
+ if (_optionalChain([mod, 'access', _797 => _797.commands, 'optionalAccess', _798 => _798.getExtraCommands])) {
39401
39468
  setDefaultExtraCommands(mod.commands.getExtraCommands());
39402
39469
  }
39403
39470
  });
@@ -39431,7 +39498,7 @@ function MarkdownEditor({
39431
39498
  const isImage = file.type.startsWith("image/");
39432
39499
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
39433
39500
  insertTextAtCursor(markdown);
39434
- _optionalChain([onFileUploaded, 'optionalCall', _796 => _796(url, file.name)]);
39501
+ _optionalChain([onFileUploaded, 'optionalCall', _799 => _799(url, file.name)]);
39435
39502
  } catch (error) {
39436
39503
  console.error("File upload failed:", error);
39437
39504
  setUploadProgress("Upload failed. Please try again.");
@@ -39444,7 +39511,7 @@ function MarkdownEditor({
39444
39511
  );
39445
39512
  const handleFileInputChange = _react.useCallback.call(void 0,
39446
39513
  (e) => {
39447
- const file = _optionalChain([e, 'access', _797 => _797.target, 'access', _798 => _798.files, 'optionalAccess', _799 => _799[0]]);
39514
+ const file = _optionalChain([e, 'access', _800 => _800.target, 'access', _801 => _801.files, 'optionalAccess', _802 => _802[0]]);
39448
39515
  if (file) {
39449
39516
  handleFileUpload(file);
39450
39517
  e.target.value = "";
@@ -39455,7 +39522,7 @@ function MarkdownEditor({
39455
39522
  const handlePaste = _react.useCallback.call(void 0,
39456
39523
  (e) => {
39457
39524
  if (!onUploadFile) return;
39458
- const items = _optionalChain([e, 'access', _800 => _800.clipboardData, 'optionalAccess', _801 => _801.items]);
39525
+ const items = _optionalChain([e, 'access', _803 => _803.clipboardData, 'optionalAccess', _804 => _804.items]);
39459
39526
  if (!items) return;
39460
39527
  for (const item of items) {
39461
39528
  if (item.type.startsWith("image/")) {
@@ -39480,7 +39547,7 @@ function MarkdownEditor({
39480
39547
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
39481
39548
  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" }),
39482
39549
  execute: () => {
39483
- _optionalChain([fileInputRef, 'access', _802 => _802.current, 'optionalAccess', _803 => _803.click, 'call', _804 => _804()]);
39550
+ _optionalChain([fileInputRef, 'access', _805 => _805.current, 'optionalAccess', _806 => _806.click, 'call', _807 => _807()]);
39484
39551
  }
39485
39552
  } : null;
39486
39553
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -39492,7 +39559,7 @@ function MarkdownEditor({
39492
39559
  const EDGE_ZONE = 60;
39493
39560
  const MAX_SCROLL_SPEED = 15;
39494
39561
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
39495
- let node = _optionalChain([el, 'optionalAccess', _805 => _805.parentElement]);
39562
+ let node = _optionalChain([el, 'optionalAccess', _808 => _808.parentElement]);
39496
39563
  while (node && node !== document.documentElement) {
39497
39564
  const { overflowY } = window.getComputedStyle(node);
39498
39565
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -39635,7 +39702,7 @@ function matchesAccept(file, accept) {
39635
39702
  });
39636
39703
  }
39637
39704
  function dragHasFiles(e) {
39638
- const types = _optionalChain([e, 'access', _806 => _806.dataTransfer, 'optionalAccess', _807 => _807.types]);
39705
+ const types = _optionalChain([e, 'access', _809 => _809.dataTransfer, 'optionalAccess', _810 => _810.types]);
39639
39706
  if (!types) return false;
39640
39707
  for (let i = 0; i < types.length; i++) {
39641
39708
  if (types[i] === "Files") return true;
@@ -39731,7 +39798,7 @@ function FileUpload({
39731
39798
  e.stopPropagation();
39732
39799
  setDragActive(false);
39733
39800
  if (disabled) return;
39734
- if (_optionalChain([e, 'access', _808 => _808.dataTransfer, 'access', _809 => _809.files, 'optionalAccess', _810 => _810.length])) {
39801
+ if (_optionalChain([e, 'access', _811 => _811.dataTransfer, 'access', _812 => _812.files, 'optionalAccess', _813 => _813.length])) {
39735
39802
  handleFiles(e.dataTransfer.files);
39736
39803
  }
39737
39804
  };
@@ -39759,7 +39826,7 @@ function FileUpload({
39759
39826
  e.preventDefault();
39760
39827
  dragCounter = 0;
39761
39828
  setDragActive(false);
39762
- if (_optionalChain([e, 'access', _811 => _811.dataTransfer, 'optionalAccess', _812 => _812.files, 'optionalAccess', _813 => _813.length])) {
39829
+ if (_optionalChain([e, 'access', _814 => _814.dataTransfer, 'optionalAccess', _815 => _815.files, 'optionalAccess', _816 => _816.length])) {
39763
39830
  handleFilesRef.current(e.dataTransfer.files);
39764
39831
  }
39765
39832
  };
@@ -39781,7 +39848,7 @@ function FileUpload({
39781
39848
  };
39782
39849
  }, [acceptWindowDrops, disabled]);
39783
39850
  const handleFileSelect = (e) => {
39784
- if (_optionalChain([e, 'access', _814 => _814.target, 'access', _815 => _815.files, 'optionalAccess', _816 => _816.length])) {
39851
+ if (_optionalChain([e, 'access', _817 => _817.target, 'access', _818 => _818.files, 'optionalAccess', _819 => _819.length])) {
39785
39852
  handleFiles(e.target.files);
39786
39853
  }
39787
39854
  };
@@ -39798,7 +39865,7 @@ function FileUpload({
39798
39865
  };
39799
39866
  const openDialog = async () => {
39800
39867
  if (disabled) return;
39801
- _optionalChain([fileInputRef, 'access', _817 => _817.current, 'optionalAccess', _818 => _818.click, 'call', _819 => _819()]);
39868
+ _optionalChain([fileInputRef, 'access', _820 => _820.current, 'optionalAccess', _821 => _821.click, 'call', _822 => _822()]);
39802
39869
  };
39803
39870
  const displayError = error || validationError || void 0;
39804
39871
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -39860,7 +39927,7 @@ function FileUpload({
39860
39927
  "button",
39861
39928
  {
39862
39929
  type: "button",
39863
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _820 => _820(entry.id)]),
39930
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _823 => _823(entry.id)]),
39864
39931
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
39865
39932
  "aria-label": `Remove ${entry.fileName}`,
39866
39933
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -39991,7 +40058,7 @@ function ImageUploader({
39991
40058
  onChange(file);
39992
40059
  };
39993
40060
  const handleFileSelect = (e) => {
39994
- validateAndEmit(_optionalChain([e, 'access', _821 => _821.target, 'access', _822 => _822.files, 'optionalAccess', _823 => _823[0]]));
40061
+ validateAndEmit(_optionalChain([e, 'access', _824 => _824.target, 'access', _825 => _825.files, 'optionalAccess', _826 => _826[0]]));
39995
40062
  if (inputRef.current) inputRef.current.value = "";
39996
40063
  };
39997
40064
  const handleDrag = (e) => {
@@ -40006,11 +40073,11 @@ function ImageUploader({
40006
40073
  e.stopPropagation();
40007
40074
  setDragActive(false);
40008
40075
  if (!interactive) return;
40009
- validateAndEmit(_optionalChain([e, 'access', _824 => _824.dataTransfer, 'access', _825 => _825.files, 'optionalAccess', _826 => _826[0]]));
40076
+ validateAndEmit(_optionalChain([e, 'access', _827 => _827.dataTransfer, 'access', _828 => _828.files, 'optionalAccess', _829 => _829[0]]));
40010
40077
  };
40011
40078
  const openDialog = () => {
40012
40079
  if (!interactive) return;
40013
- _optionalChain([inputRef, 'access', _827 => _827.current, 'optionalAccess', _828 => _828.click, 'call', _829 => _829()]);
40080
+ _optionalChain([inputRef, 'access', _830 => _830.current, 'optionalAccess', _831 => _831.click, 'call', _832 => _832()]);
40014
40081
  };
40015
40082
  const handleRootKeyDown = (e) => {
40016
40083
  if (hasImage || !interactive) return;
@@ -40201,8 +40268,8 @@ function ColorPresetSelect({
40201
40268
  }) {
40202
40269
  const selectedPreset = presets.find((p) => p.key === presetKey);
40203
40270
  const isCustom = !selectedPreset;
40204
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _830 => _830.label]), () => ( "Custom"));
40205
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _831 => _831.color]), () => ( value));
40271
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _833 => _833.label]), () => ( "Custom"));
40272
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _834 => _834.color]), () => ( value));
40206
40273
  const groups = [
40207
40274
  {
40208
40275
  items: [
@@ -40492,7 +40559,7 @@ function TicketStatusConfigRow({
40492
40559
  _chunkNYIZVI4Icjs.Input,
40493
40560
  {
40494
40561
  value: name,
40495
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _832 => _832(e.target.value)]),
40562
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _835 => _835(e.target.value)]),
40496
40563
  disabled: isSystem,
40497
40564
  readOnly: isSystem,
40498
40565
  "aria-label": "Status name",
@@ -40865,14 +40932,14 @@ function TicketInfoSection({
40865
40932
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40866
40933
  SquareAvatar,
40867
40934
  {
40868
- src: _optionalChain([organization, 'optionalAccess', _833 => _833.imageSrc]),
40869
- alt: _optionalChain([organization, 'optionalAccess', _834 => _834.name]),
40870
- fallback: _optionalChain([organization, 'optionalAccess', _835 => _835.name]) || "Org",
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",
40871
40938
  size: "md",
40872
40939
  className: "shrink-0"
40873
40940
  }
40874
40941
  ),
40875
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _836 => _836.name]) || "Unassigned", label: "Organization" })
40942
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _839 => _839.name]) || "Unassigned", label: "Organization" })
40876
40943
  ] }),
40877
40944
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40878
40945
  AssigneeDropdown,
@@ -40893,10 +40960,10 @@ function TicketInfoSection({
40893
40960
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40894
40961
  InfoCell2,
40895
40962
  {
40896
- value: _optionalChain([device, 'optionalAccess', _837 => _837.name]) || "Unassigned",
40963
+ value: _optionalChain([device, 'optionalAccess', _840 => _840.name]) || "Unassigned",
40897
40964
  label: "Device",
40898
- icon: _optionalChain([device, 'optionalAccess', _838 => _838.icon]),
40899
- onClick: _optionalChain([device, 'optionalAccess', _839 => _839.onClick])
40965
+ icon: _optionalChain([device, 'optionalAccess', _841 => _841.icon]),
40966
+ onClick: _optionalChain([device, 'optionalAccess', _842 => _842.onClick])
40900
40967
  }
40901
40968
  ),
40902
40969
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -41226,7 +41293,7 @@ function RoadmapCard({
41226
41293
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
41227
41294
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
41228
41295
  const hasFigma = !!item.figmaUrl;
41229
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _840 => _840.screenshots, 'optionalAccess', _841 => _841.length]), () => ( 0))) > 0;
41296
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _843 => _843.screenshots, 'optionalAccess', _844 => _844.length]), () => ( 0))) > 0;
41230
41297
  const typeLabel = getTaskTypeLabel(item.customItemId);
41231
41298
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
41232
41299
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -41245,7 +41312,7 @@ function RoadmapCard({
41245
41312
  unoptimized: true,
41246
41313
  className: "h-8 w-8 object-contain"
41247
41314
  }
41248
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _842 => _842.title, 'optionalAccess', _843 => _843.substring, 'call', _844 => _844(0, 2)]) || "??" })
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)]) || "??" })
41249
41316
  }
41250
41317
  ),
41251
41318
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41320,7 +41387,7 @@ function RoadmapCard({
41320
41387
  unoptimized: true,
41321
41388
  className: "object-contain p-1"
41322
41389
  }
41323
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _845 => _845.title, 'optionalAccess', _846 => _846.substring, 'call', _847 => _847(0, 2)]) || "??" }) }),
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)]) || "??" }) }),
41324
41391
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
41325
41392
  /* @__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 }) }),
41326
41393
  /* @__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: [
@@ -41429,7 +41496,7 @@ function parseRepoFromUrl(url) {
41429
41496
  if (u.host !== "github.com") return null;
41430
41497
  const parts = u.pathname.split("/").filter(Boolean);
41431
41498
  if (parts.length >= 2) return `${parts[0]}/${parts[1]}`;
41432
- } catch (e37) {
41499
+ } catch (e36) {
41433
41500
  }
41434
41501
  return null;
41435
41502
  }
@@ -41617,7 +41684,7 @@ function parseChannelFromUrl(url) {
41617
41684
  const parts = u.pathname.split("/").filter(Boolean);
41618
41685
  const archivesIdx = parts.indexOf("archives");
41619
41686
  if (archivesIdx !== -1 && parts.length > archivesIdx + 1) return parts[archivesIdx + 1];
41620
- } catch (e38) {
41687
+ } catch (e37) {
41621
41688
  }
41622
41689
  return null;
41623
41690
  }
@@ -41830,7 +41897,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
41830
41897
  ] }) : null,
41831
41898
  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
41832
41899
  ] }),
41833
- _optionalChain([anchorProps, 'optionalAccess', _848 => _848.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
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
41834
41901
  ] });
41835
41902
  if (!anchorProps) {
41836
41903
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -41900,7 +41967,7 @@ function getDefaultOptions() {
41900
41967
  // node_modules/date-fns/startOfWeek.mjs
41901
41968
  function startOfWeek(date, options) {
41902
41969
  const defaultOptions2 = getDefaultOptions();
41903
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _849 => _849.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _850 => _850.locale, 'optionalAccess', _851 => _851.options, 'optionalAccess', _852 => _852.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _853 => _853.locale, 'optionalAccess', _854 => _854.options, 'optionalAccess', _855 => _855.weekStartsOn]))), () => ( 0));
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));
41904
41971
  const _date = toDate(date);
41905
41972
  const day = _date.getDay();
41906
41973
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -42075,7 +42142,7 @@ var formatDistance = (token, count, options) => {
42075
42142
  } else {
42076
42143
  result = tokenValue.other.replace("{{count}}", count.toString());
42077
42144
  }
42078
- if (_optionalChain([options, 'optionalAccess', _856 => _856.addSuffix])) {
42145
+ if (_optionalChain([options, 'optionalAccess', _859 => _859.addSuffix])) {
42079
42146
  if (options.comparison && options.comparison > 0) {
42080
42147
  return "in " + result;
42081
42148
  } else {
@@ -42142,15 +42209,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
42142
42209
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
42143
42210
  function buildLocalizeFn(args) {
42144
42211
  return (value, options) => {
42145
- const context = _optionalChain([options, 'optionalAccess', _857 => _857.context]) ? String(options.context) : "standalone";
42212
+ const context = _optionalChain([options, 'optionalAccess', _860 => _860.context]) ? String(options.context) : "standalone";
42146
42213
  let valuesArray;
42147
42214
  if (context === "formatting" && args.formattingValues) {
42148
42215
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
42149
- const width = _optionalChain([options, 'optionalAccess', _858 => _858.width]) ? String(options.width) : defaultWidth;
42216
+ const width = _optionalChain([options, 'optionalAccess', _861 => _861.width]) ? String(options.width) : defaultWidth;
42150
42217
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
42151
42218
  } else {
42152
42219
  const defaultWidth = args.defaultWidth;
42153
- const width = _optionalChain([options, 'optionalAccess', _859 => _859.width]) ? String(options.width) : args.defaultWidth;
42220
+ const width = _optionalChain([options, 'optionalAccess', _862 => _862.width]) ? String(options.width) : args.defaultWidth;
42154
42221
  valuesArray = args.values[width] || args.values[defaultWidth];
42155
42222
  }
42156
42223
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -42530,7 +42597,7 @@ function getWeekYear(date, options) {
42530
42597
  const _date = toDate(date);
42531
42598
  const year = _date.getFullYear();
42532
42599
  const defaultOptions2 = getDefaultOptions();
42533
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _860 => _860.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _861 => _861.locale, 'optionalAccess', _862 => _862.options, 'optionalAccess', _863 => _863.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _864 => _864.locale, 'optionalAccess', _865 => _865.options, 'optionalAccess', _866 => _866.firstWeekContainsDate]))), () => ( 1));
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));
42534
42601
  const firstWeekOfNextYear = constructFrom(date, 0);
42535
42602
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
42536
42603
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -42551,7 +42618,7 @@ function getWeekYear(date, options) {
42551
42618
  // node_modules/date-fns/startOfWeekYear.mjs
42552
42619
  function startOfWeekYear(date, options) {
42553
42620
  const defaultOptions2 = getDefaultOptions();
42554
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _867 => _867.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _868 => _868.locale, 'optionalAccess', _869 => _869.options, 'optionalAccess', _870 => _870.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _871 => _871.locale, 'optionalAccess', _872 => _872.options, 'optionalAccess', _873 => _873.firstWeekContainsDate]))), () => ( 1));
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));
42555
42622
  const year = getWeekYear(date, options);
42556
42623
  const firstWeek = constructFrom(date, 0);
42557
42624
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -43366,9 +43433,9 @@ var doubleQuoteRegExp = /''/g;
43366
43433
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
43367
43434
  function format(date, formatStr, options) {
43368
43435
  const defaultOptions2 = getDefaultOptions();
43369
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _874 => _874.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
43370
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _875 => _875.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _876 => _876.locale, 'optionalAccess', _877 => _877.options, 'optionalAccess', _878 => _878.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _879 => _879.locale, 'optionalAccess', _880 => _880.options, 'optionalAccess', _881 => _881.firstWeekContainsDate]))), () => ( 1));
43371
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _882 => _882.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _883 => _883.locale, 'optionalAccess', _884 => _884.options, 'optionalAccess', _885 => _885.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _886 => _886.locale, 'optionalAccess', _887 => _887.options, 'optionalAccess', _888 => _888.weekStartsOn]))), () => ( 0));
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));
43372
43439
  const originalDate = toDate(date);
43373
43440
  if (!isValid(originalDate)) {
43374
43441
  throw new RangeError("Invalid time value");
@@ -43409,7 +43476,7 @@ function format(date, formatStr, options) {
43409
43476
  return parts.map((part) => {
43410
43477
  if (!part.isToken) return part.value;
43411
43478
  const token = part.value;
43412
- if (!_optionalChain([options, 'optionalAccess', _889 => _889.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _890 => _890.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
43479
+ if (!_optionalChain([options, 'optionalAccess', _892 => _892.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _893 => _893.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
43413
43480
  warnOrThrowProtectedError(token, formatStr, String(date));
43414
43481
  }
43415
43482
  const formatter = formatters[token[0]];
@@ -43572,7 +43639,7 @@ function ProgramCard({
43572
43639
  const itemDate2 = (() => {
43573
43640
  try {
43574
43641
  return formatUtc(new Date(item.date), "MMM d, yyyy");
43575
- } catch (e39) {
43642
+ } catch (e38) {
43576
43643
  return "";
43577
43644
  }
43578
43645
  })();
@@ -43590,7 +43657,7 @@ function ProgramCard({
43590
43657
  const dur = formatDurationFromRange(w.start_at, w.end_at);
43591
43658
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
43592
43659
  }
43593
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _891 => _891.labels, 'optionalAccess', _892 => _892.singular])].filter(
43660
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _894 => _894.labels, 'optionalAccess', _895 => _895.singular])].filter(
43594
43661
  (s) => typeof s === "string" && s.length > 0
43595
43662
  );
43596
43663
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -43747,7 +43814,7 @@ function ProgramCard({
43747
43814
 
43748
43815
 
43749
43816
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
43750
- const goalsCount = _optionalChain([campaign, 'access', _893 => _893.goals, 'optionalAccess', _894 => _894.length]) || 0;
43817
+ const goalsCount = _optionalChain([campaign, 'access', _896 => _896.goals, 'optionalAccess', _897 => _897.length]) || 0;
43751
43818
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
43752
43819
  /* @__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" }) }),
43753
43820
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -43909,7 +43976,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
43909
43976
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
43910
43977
  const safePath = sanitizePath(row.path);
43911
43978
  if (safePath) {
43912
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _895 => _895.docPlatformTargets, 'optionalAccess', _896 => _896[row.documentType]]) : void 0;
43979
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _898 => _898.docPlatformTargets, 'optionalAccess', _899 => _899[row.documentType]]) : void 0;
43913
43980
  if (docTarget) {
43914
43981
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
43915
43982
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -44124,8 +44191,8 @@ function cardMenuGroups(href, discuss, openDetails) {
44124
44191
  if (href) {
44125
44192
  items.push({
44126
44193
  id: "open-details",
44127
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _897 => _897.label]), () => ( "Open Details")),
44128
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _898 => _898.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
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 }))),
44129
44196
  // Main row → open the entity (same tab, soft Link nav).
44130
44197
  href,
44131
44198
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -44155,8 +44222,8 @@ function HubspotTicketChatCard({
44155
44222
  isNewTab,
44156
44223
  discuss
44157
44224
  }) {
44158
- const status = typeof _optionalChain([chatRef, 'access', _899 => _899.metadata, 'optionalAccess', _900 => _900.status]) === "string" ? chatRef.metadata.status : void 0;
44159
- const statusLabel = typeof _optionalChain([chatRef, 'access', _901 => _901.metadata, 'optionalAccess', _902 => _902.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
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;
44160
44227
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
44161
44228
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44162
44229
  MingoInfoCard,
@@ -44179,7 +44246,7 @@ function FaqChatCard({
44179
44246
  isNewTab,
44180
44247
  discuss
44181
44248
  }) {
44182
- const section = typeof _optionalChain([chatRef, 'access', _903 => _903.metadata, 'optionalAccess', _904 => _904.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
44249
+ const section = typeof _optionalChain([chatRef, 'access', _906 => _906.metadata, 'optionalAccess', _907 => _907.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
44183
44250
  const statusLabel = section && section.length > 0 ? section : "FAQ";
44184
44251
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44185
44252
  MingoInfoCard,
@@ -44199,7 +44266,7 @@ function SlackChatCard({
44199
44266
  isNewTab,
44200
44267
  discuss
44201
44268
  }) {
44202
- const channelName = typeof _optionalChain([chatRef, 'access', _905 => _905.metadata, 'optionalAccess', _906 => _906.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
44269
+ const channelName = typeof _optionalChain([chatRef, 'access', _908 => _908.metadata, 'optionalAccess', _909 => _909.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
44203
44270
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
44204
44271
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
44205
44272
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -44239,7 +44306,7 @@ function GenericFinancialChatCard({
44239
44306
  isNewTab,
44240
44307
  discuss
44241
44308
  }) {
44242
- const subtitle = typeof _optionalChain([chatRef, 'access', _907 => _907.metadata, 'optionalAccess', _908 => _908.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
44309
+ const subtitle = typeof _optionalChain([chatRef, 'access', _910 => _910.metadata, 'optionalAccess', _911 => _911.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
44243
44310
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44244
44311
  MingoInfoCard,
44245
44312
  {
@@ -44308,12 +44375,12 @@ function ProductReleaseChatCard({
44308
44375
  discuss
44309
44376
  }) {
44310
44377
  const releaseProps = buildProps(item);
44311
- const status = _optionalChain([item, 'optionalAccess', _909 => _909.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
44378
+ const status = _optionalChain([item, 'optionalAccess', _912 => _912.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
44312
44379
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44313
44380
  EntityMingoCard,
44314
44381
  {
44315
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _910 => _910.title]), () => ( "")),
44316
- description: _optionalChain([item, 'optionalAccess', _911 => _911.summary]) || releaseProps.formattedDate || void 0,
44382
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _913 => _913.title]), () => ( "")),
44383
+ description: _optionalChain([item, 'optionalAccess', _914 => _914.summary]) || releaseProps.formattedDate || void 0,
44317
44384
  cover: releaseProps.coverImage || void 0,
44318
44385
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
44319
44386
  status,
@@ -44330,17 +44397,17 @@ function CampaignChatCard({
44330
44397
  isNewTab,
44331
44398
  discuss
44332
44399
  }) {
44333
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _912 => _912.goals])) ? item.goals.length : 0;
44400
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _915 => _915.goals])) ? item.goals.length : 0;
44334
44401
  const meta = [
44335
- _optionalChain([item, 'optionalAccess', _913 => _913.start_date]) ? formatDateShort(item.start_date) : null,
44402
+ _optionalChain([item, 'optionalAccess', _916 => _916.start_date]) ? formatDateShort(item.start_date) : null,
44336
44403
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
44337
44404
  "Marketing campaign"
44338
44405
  ].filter(Boolean).join(" \xB7 ");
44339
44406
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44340
44407
  EntityMingoCard,
44341
44408
  {
44342
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _914 => _914.name]), () => ( "")),
44343
- description: meta || _optionalChain([item, 'optionalAccess', _915 => _915.description]) || void 0,
44409
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.name]), () => ( "")),
44410
+ description: meta || _optionalChain([item, 'optionalAccess', _918 => _918.description]) || void 0,
44344
44411
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
44345
44412
  chatRef,
44346
44413
  isNewTab,
@@ -44393,14 +44460,14 @@ function BlogChatCard({
44393
44460
  hasEmbeddedVideo,
44394
44461
  discuss
44395
44462
  }) {
44396
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _916 => _916.categories])) ? _optionalChain([item, 'access', _917 => _917.categories, 'access', _918 => _918.find, 'call', _919 => _919((c) => c && c.name), 'optionalAccess', _920 => _920.name]) : void 0;
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;
44397
44464
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
44398
44465
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44399
44466
  EntityMingoCard,
44400
44467
  {
44401
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _921 => _921.title]), () => ( "")),
44402
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.summary]), () => ( void 0)),
44403
- cover: entityCover(_optionalChain([item, 'optionalAccess', _923 => _923.featured_image]), ogPlaceholder),
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),
44404
44471
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
44405
44472
  status,
44406
44473
  chatRef,
@@ -44417,13 +44484,13 @@ function CaseStudyChatCard({
44417
44484
  ogPlaceholder,
44418
44485
  discuss
44419
44486
  }) {
44420
- const meta = [_optionalChain([item, 'optionalAccess', _924 => _924.msp, 'optionalAccess', _925 => _925.name]), _optionalChain([item, 'optionalAccess', _926 => _926.user, 'optionalAccess', _927 => _927.full_name])].filter(Boolean).join(" \xB7 ");
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 ");
44421
44488
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44422
44489
  EntityMingoCard,
44423
44490
  {
44424
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")),
44425
- description: _optionalChain([item, 'optionalAccess', _929 => _929.summary]) || meta || void 0,
44426
- cover: entityCover(_optionalChain([item, 'optionalAccess', _930 => _930.featured_image]), ogPlaceholder),
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),
44427
44494
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
44428
44495
  status: { label: "Case study", variant: "grey" },
44429
44496
  chatRef,
@@ -44440,13 +44507,13 @@ function CustomerInterviewChatCard({
44440
44507
  ogPlaceholder,
44441
44508
  discuss
44442
44509
  }) {
44443
- const meta = [_optionalChain([item, 'optionalAccess', _931 => _931.user, 'optionalAccess', _932 => _932.full_name]), _optionalChain([item, 'optionalAccess', _933 => _933.msp, 'optionalAccess', _934 => _934.name])].filter(Boolean).join(" \xB7 ");
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 ");
44444
44511
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44445
44512
  EntityMingoCard,
44446
44513
  {
44447
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _935 => _935.title]), () => ( "")),
44448
- description: _optionalChain([item, 'optionalAccess', _936 => _936.video_summary]) || meta || void 0,
44449
- cover: entityCover(_optionalChain([item, 'optionalAccess', _937 => _937.featured_image]), ogPlaceholder),
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),
44450
44517
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
44451
44518
  status: { label: "Interview", variant: "grey" },
44452
44519
  chatRef,
@@ -44463,13 +44530,13 @@ function InvestorUpdateChatCard({
44463
44530
  ogPlaceholder,
44464
44531
  discuss
44465
44532
  }) {
44466
- const title = _optionalChain([item, 'optionalAccess', _938 => _938.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _939 => _939.update_number]), () => ( "?"))}`;
44533
+ const title = _optionalChain([item, 'optionalAccess', _941 => _941.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.update_number]), () => ( "?"))}`;
44467
44534
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44468
44535
  EntityMingoCard,
44469
44536
  {
44470
44537
  title,
44471
- description: _optionalChain([item, 'optionalAccess', _940 => _940.strategic_update]) || _optionalChain([item, 'optionalAccess', _941 => _941.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _942 => _942.period_start]), _optionalChain([item, 'optionalAccess', _943 => _943.period_end])) || void 0,
44472
- cover: entityCover(_optionalChain([item, 'optionalAccess', _944 => _944.featured_image]), ogPlaceholder),
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),
44473
44540
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
44474
44541
  status: { label: "Investor update", variant: "grey" },
44475
44542
  chatRef,
@@ -44486,12 +44553,12 @@ function OnboardingGuideChatCard({
44486
44553
  ogPlaceholder,
44487
44554
  discuss
44488
44555
  }) {
44489
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _945 => _945.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _946 => _946.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _947 => _947.og_image_url]), ogPlaceholder)));
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)));
44490
44557
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44491
44558
  EntityMingoCard,
44492
44559
  {
44493
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")),
44494
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _949 => _949.summary]), () => ( _optionalChain([item, 'optionalAccess', _950 => _950.description]))), () => ( void 0)),
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)),
44495
44562
  cover,
44496
44563
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
44497
44564
  status: { label: "Guide", variant: "grey" },
@@ -44512,25 +44579,25 @@ function ProgramChatCard({
44512
44579
  discuss
44513
44580
  }) {
44514
44581
  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 });
44515
- const isScheduled = _optionalChain([item, 'optionalAccess', _951 => _951.status]) === "scheduled";
44582
+ const isScheduled = _optionalChain([item, 'optionalAccess', _954 => _954.status]) === "scheduled";
44516
44583
  let typeMeta;
44517
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _952 => _952.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
44584
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _955 => _955.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
44518
44585
  typeMeta = formatDurationCompact(item.duration_seconds);
44519
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _953 => _953.location_name]) === "string" && item.location_name.trim().length > 0) {
44586
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _956 => _956.location_name]) === "string" && item.location_name.trim().length > 0) {
44520
44587
  typeMeta = item.location_name;
44521
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _954 => _954.start_at])) {
44588
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _957 => _957.start_at])) {
44522
44589
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
44523
44590
  const dur = formatDurationFromRange(item.start_at, item.end_at);
44524
44591
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
44525
44592
  }
44526
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _955 => _955.date]), () => ( null)), { fallback: "", timezone: "local" });
44593
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _958 => _958.date]), () => ( null)), { fallback: "", timezone: "local" });
44527
44594
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
44528
44595
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44529
44596
  EntityMingoCard,
44530
44597
  {
44531
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _956 => _956.title]), () => ( "")),
44532
- description: meta || _optionalChain([item, 'optionalAccess', _957 => _957.description]) || void 0,
44533
- cover: entityCover(_optionalChain([item, 'optionalAccess', _958 => _958.cover_url]), ogPlaceholder),
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),
44534
44601
  fallbackIcon: icon,
44535
44602
  status: { label, variant: "grey" },
44536
44603
  chatRef,
@@ -44547,10 +44614,10 @@ function RoadmapChatCard({
44547
44614
  cardType,
44548
44615
  discuss
44549
44616
  }) {
44550
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _959 => _959.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
44551
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _960 => _960.customItemId]) != null;
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;
44552
44619
  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 });
44553
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _961 => _961.customItemId]), className: "size-6" }) : logoUrl ? (
44620
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _964 => _964.customItemId]), className: "size-6" }) : logoUrl ? (
44554
44621
  // Contained (not full-bleed) so the integration logo keeps its aspect
44555
44622
  // ratio inside the bordered icon box — matches RoadmapCard.
44556
44623
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -44558,10 +44625,10 @@ function RoadmapChatCard({
44558
44625
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44559
44626
  EntityMingoCard,
44560
44627
  {
44561
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _962 => _962.title]), () => ( "")),
44562
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _963 => _963.description]), () => ( void 0)),
44628
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _965 => _965.title]), () => ( "")),
44629
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _966 => _966.description]), () => ( void 0)),
44563
44630
  fallbackIcon: icon,
44564
- status: statusPill(_optionalChain([item, 'optionalAccess', _964 => _964.status])),
44631
+ status: statusPill(_optionalChain([item, 'optionalAccess', _967 => _967.status])),
44565
44632
  chatRef,
44566
44633
  isNewTab,
44567
44634
  discuss,
@@ -44647,7 +44714,7 @@ function programRegistryEntries() {
44647
44714
  discuss: opts.discuss,
44648
44715
  configKey: cfg.configKey,
44649
44716
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
44650
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _965 => _965.extras, 'optionalAccess', _966 => _966.buildOgPlaceholderUrl, 'optionalCall', _967 => _967(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _968 => _968.title]), () => ( "")))]), () => ( null))
44717
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _968 => _968.extras, 'optionalAccess', _969 => _969.buildOgPlaceholderUrl, 'optionalCall', _970 => _970(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _971 => _971.title]), () => ( "")))]), () => ( null))
44651
44718
  }
44652
44719
  )
44653
44720
  };
@@ -44799,8 +44866,8 @@ var CHAT_CARD_REGISTRY = {
44799
44866
  chatRef,
44800
44867
  isNewTab: opts.isNewTab,
44801
44868
  discuss: opts.discuss,
44802
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _969 => _969.extras, 'optionalAccess', _970 => _970.buildOgPlaceholderUrl, 'optionalCall', _971 => _971(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _972 => _972.title]), () => ( "")))]), () => ( null)),
44803
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _973 => _973.metadata, 'optionalAccess', _974 => _974.hasEmbeddedVideo]) === true
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
44804
44871
  }
44805
44872
  )
44806
44873
  },
@@ -44817,7 +44884,7 @@ var CHAT_CARD_REGISTRY = {
44817
44884
  chatRef,
44818
44885
  isNewTab: opts.isNewTab,
44819
44886
  discuss: opts.discuss,
44820
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _975 => _975.extras, 'optionalAccess', _976 => _976.buildOgPlaceholderUrl, 'optionalCall', _977 => _977(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _978 => _978.title]), () => ( "")))]), () => ( null))
44887
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _978 => _978.extras, 'optionalAccess', _979 => _979.buildOgPlaceholderUrl, 'optionalCall', _980 => _980(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _981 => _981.title]), () => ( "")))]), () => ( null))
44821
44888
  }
44822
44889
  )
44823
44890
  },
@@ -44834,7 +44901,7 @@ var CHAT_CARD_REGISTRY = {
44834
44901
  chatRef,
44835
44902
  isNewTab: opts.isNewTab,
44836
44903
  discuss: opts.discuss,
44837
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _979 => _979.extras, 'optionalAccess', _980 => _980.buildOgPlaceholderUrl, 'optionalCall', _981 => _981(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _982 => _982.title]), () => ( "")))]), () => ( null))
44904
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _982 => _982.extras, 'optionalAccess', _983 => _983.buildOgPlaceholderUrl, 'optionalCall', _984 => _984(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _985 => _985.title]), () => ( "")))]), () => ( null))
44838
44905
  }
44839
44906
  )
44840
44907
  },
@@ -44845,7 +44912,7 @@ var CHAT_CARD_REGISTRY = {
44845
44912
  bareInline: true,
44846
44913
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
44847
44914
  render: (item, chatRef, opts) => {
44848
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _983 => _983.extras, 'optionalAccess', _984 => _984.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
44915
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _986 => _986.extras, 'optionalAccess', _987 => _987.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
44849
44916
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44850
44917
  ProductReleaseChatCard,
44851
44918
  {
@@ -44872,7 +44939,7 @@ var CHAT_CARD_REGISTRY = {
44872
44939
  chatRef,
44873
44940
  isNewTab: opts.isNewTab,
44874
44941
  discuss: opts.discuss,
44875
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _985 => _985.extras, 'optionalAccess', _986 => _986.buildOgPlaceholderUrl, 'optionalCall', _987 => _987(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _988 => _988.title]), () => ( "")))]), () => ( null))
44942
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _988 => _988.extras, 'optionalAccess', _989 => _989.buildOgPlaceholderUrl, 'optionalCall', _990 => _990(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _991 => _991.title]), () => ( "")))]), () => ( null))
44876
44943
  }
44877
44944
  )
44878
44945
  },
@@ -44891,7 +44958,7 @@ var CHAT_CARD_REGISTRY = {
44891
44958
  chatRef,
44892
44959
  isNewTab: opts.isNewTab,
44893
44960
  discuss: opts.discuss,
44894
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _989 => _989.extras, 'optionalAccess', _990 => _990.buildOgPlaceholderUrl, 'optionalCall', _991 => _991(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _992 => _992.title]), () => ( "")))]), () => ( null))
44961
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _992 => _992.extras, 'optionalAccess', _993 => _993.buildOgPlaceholderUrl, 'optionalCall', _994 => _994(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _995 => _995.title]), () => ( "")))]), () => ( null))
44895
44962
  }
44896
44963
  )
44897
44964
  },
@@ -44903,7 +44970,7 @@ var CHAT_CARD_REGISTRY = {
44903
44970
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
44904
44971
  // No public viewer — synthesize the hub-internal admin URL post-fetch
44905
44972
  // so the wrapper + isNewTab computation see the actual destination.
44906
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _993 => _993.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
44973
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _996 => _996.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
44907
44974
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44908
44975
  CampaignChatCard,
44909
44976
  {
@@ -44929,12 +44996,12 @@ function ChatCardNavWrap({
44929
44996
  const onClickCapture = (e) => {
44930
44997
  if (!href) return;
44931
44998
  const targetEl = e.target;
44932
- if (_optionalChain([targetEl, 'optionalAccess', _994 => _994.closest, 'optionalCall', _995 => _995("button")])) return;
44933
- if (!_optionalChain([targetEl, 'optionalAccess', _996 => _996.closest, 'optionalCall', _997 => _997("a")])) return;
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;
44934
45001
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
44935
45002
  if (!handled) return;
44936
45003
  e.stopPropagation();
44937
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _998 => _998.closeChat])) panel.closeChat();
45004
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1001 => _1001.closeChat])) panel.closeChat();
44938
45005
  };
44939
45006
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
44940
45007
  }
@@ -44956,7 +45023,7 @@ function ChatCardLoader({
44956
45023
  title: chatRef.title,
44957
45024
  externalUrl: chatRef.url,
44958
45025
  targetPlatform: chatRef.targetPlatform,
44959
- path: typeof _optionalChain([chatRef, 'access', _999 => _999.metadata, 'optionalAccess', _1000 => _1000.path]) === "string" ? chatRef.metadata.path : null
45026
+ path: typeof _optionalChain([chatRef, 'access', _1002 => _1002.metadata, 'optionalAccess', _1003 => _1003.path]) === "string" ? chatRef.metadata.path : null
44960
45027
  },
44961
45028
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
44962
45029
  );
@@ -44970,7 +45037,7 @@ function ChatCardLoader({
44970
45037
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
44971
45038
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
44972
45039
  const { item, isLoading } = useChatCardItem(
44973
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1001 => _1001.contentRefType]), () => ( "")),
45040
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1004 => _1004.contentRefType]), () => ( "")),
44974
45041
  fetchEntry ? resolvedChatRef.id : ""
44975
45042
  );
44976
45043
  if (!entry) return null;
@@ -45001,7 +45068,7 @@ function ChatCardLoader({
45001
45068
  isNewTab,
45002
45069
  discuss
45003
45070
  };
45004
- const path = typeof _optionalChain([finalChatRef, 'access', _1002 => _1002.metadata, 'optionalAccess', _1003 => _1003.path]) === "string" ? finalChatRef.metadata.path : null;
45071
+ const path = typeof _optionalChain([finalChatRef, 'access', _1005 => _1005.metadata, 'optionalAccess', _1006 => _1006.path]) === "string" ? finalChatRef.metadata.path : null;
45005
45072
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45006
45073
  ChatCardNavWrap,
45007
45074
  {
@@ -45379,7 +45446,7 @@ function useJetStreamDialogSubscription({
45379
45446
  if (subscriptionRef.current) {
45380
45447
  try {
45381
45448
  subscriptionRef.current.unsubscribe();
45382
- } catch (e40) {
45449
+ } catch (e39) {
45383
45450
  }
45384
45451
  subscriptionRef.current = null;
45385
45452
  }
@@ -45387,7 +45454,7 @@ function useJetStreamDialogSubscription({
45387
45454
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
45388
45455
  conn: sharedConn,
45389
45456
  wsUrl,
45390
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1004 => _1004.current, 'optionalCall', _1005 => _1005()]),
45457
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1007 => _1007.current, 'optionalCall', _1008 => _1008()]),
45391
45458
  backoff: reconnectionBackoffRef.current,
45392
45459
  getFreshUrl: () => getNatsWsUrlRef.current(),
45393
45460
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -45402,7 +45469,7 @@ function useJetStreamDialogSubscription({
45402
45469
  setReconnectionCount((c) => c + 1);
45403
45470
  }
45404
45471
  hadConnectionBeforeRef.current = true;
45405
- _optionalChain([onConnectRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007()]);
45472
+ _optionalChain([onConnectRef, 'access', _1009 => _1009.current, 'optionalCall', _1010 => _1010()]);
45406
45473
  }
45407
45474
  if (status === "error") {
45408
45475
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -45412,7 +45479,7 @@ function useJetStreamDialogSubscription({
45412
45479
  setIsConnected(false);
45413
45480
  setIsSubscribed(false);
45414
45481
  tearDownSubscription();
45415
- _optionalChain([onDisconnectRef, 'access', _1008 => _1008.current, 'optionalCall', _1009 => _1009()]);
45482
+ _optionalChain([onDisconnectRef, 'access', _1011 => _1011.current, 'optionalCall', _1012 => _1012()]);
45416
45483
  }
45417
45484
  }
45418
45485
  });
@@ -45433,7 +45500,7 @@ function useJetStreamDialogSubscription({
45433
45500
  if (subscriptionRef.current) {
45434
45501
  try {
45435
45502
  subscriptionRef.current.unsubscribe();
45436
- } catch (e41) {
45503
+ } catch (e40) {
45437
45504
  }
45438
45505
  subscriptionRef.current = null;
45439
45506
  }
@@ -45470,7 +45537,7 @@ function useJetStreamDialogSubscription({
45470
45537
  parsed.streamSeq = streamSeq;
45471
45538
  }
45472
45539
  cb(parsed, topic);
45473
- } catch (e42) {
45540
+ } catch (e41) {
45474
45541
  }
45475
45542
  },
45476
45543
  {
@@ -45485,14 +45552,14 @@ function useJetStreamDialogSubscription({
45485
45552
  if (cancelled) {
45486
45553
  try {
45487
45554
  handle.unsubscribe();
45488
- } catch (e43) {
45555
+ } catch (e42) {
45489
45556
  }
45490
45557
  return;
45491
45558
  }
45492
45559
  subscriptionRef.current = handle;
45493
45560
  setIsSubscribed(true);
45494
- _optionalChain([onSubscribedRef, 'access', _1010 => _1010.current, 'optionalCall', _1011 => _1011()]);
45495
- } catch (e44) {
45561
+ _optionalChain([onSubscribedRef, 'access', _1013 => _1013.current, 'optionalCall', _1014 => _1014()]);
45562
+ } catch (e43) {
45496
45563
  if (!cancelled) {
45497
45564
  setIsSubscribed(false);
45498
45565
  }
@@ -45504,7 +45571,7 @@ function useJetStreamDialogSubscription({
45504
45571
  if (subscriptionRef.current) {
45505
45572
  try {
45506
45573
  subscriptionRef.current.unsubscribe();
45507
- } catch (e45) {
45574
+ } catch (e44) {
45508
45575
  }
45509
45576
  subscriptionRef.current = null;
45510
45577
  }
@@ -45604,20 +45671,20 @@ function useNatsDialogSubscription({
45604
45671
  const tearDownSubscriptions = () => {
45605
45672
  subscriptionRefs.current.forEach((sub) => {
45606
45673
  try {
45607
- _optionalChain([sub, 'optionalAccess', _1012 => _1012.unsubscribe, 'call', _1013 => _1013()]);
45608
- } catch (e46) {
45674
+ _optionalChain([sub, 'optionalAccess', _1015 => _1015.unsubscribe, 'call', _1016 => _1016()]);
45675
+ } catch (e45) {
45609
45676
  }
45610
45677
  });
45611
45678
  subscriptionRefs.current.clear();
45612
45679
  lastSubscribedDialogIdRef.current = null;
45613
- _optionalChain([abortControllerRef, 'access', _1014 => _1014.current, 'optionalAccess', _1015 => _1015.abort, 'call', _1016 => _1016()]);
45680
+ _optionalChain([abortControllerRef, 'access', _1017 => _1017.current, 'optionalAccess', _1018 => _1018.abort, 'call', _1019 => _1019()]);
45614
45681
  abortControllerRef.current = null;
45615
45682
  };
45616
45683
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
45617
45684
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
45618
45685
  conn: sharedConn,
45619
45686
  wsUrl,
45620
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1017 => _1017.current, 'optionalCall', _1018 => _1018()]),
45687
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1020 => _1020.current, 'optionalCall', _1021 => _1021()]),
45621
45688
  backoff: reconnectionBackoffRef.current,
45622
45689
  getFreshUrl: () => getNatsWsUrlRef.current(),
45623
45690
  shouldRetryOn: isDisconnectStatus,
@@ -45628,7 +45695,7 @@ function useNatsDialogSubscription({
45628
45695
  setReconnectionCount((c) => c + 1);
45629
45696
  }
45630
45697
  hadConnectionBeforeRef.current = true;
45631
- _optionalChain([onConnectRef, 'access', _1019 => _1019.current, 'optionalCall', _1020 => _1020()]);
45698
+ _optionalChain([onConnectRef, 'access', _1022 => _1022.current, 'optionalCall', _1023 => _1023()]);
45632
45699
  }
45633
45700
  if (status === "error") {
45634
45701
  console.warn("[NATS] protocol error:", evt.data);
@@ -45638,7 +45705,7 @@ function useNatsDialogSubscription({
45638
45705
  setIsConnected(false);
45639
45706
  setIsSubscribed(false);
45640
45707
  tearDownSubscriptions();
45641
- _optionalChain([onDisconnectRef, 'access', _1021 => _1021.current, 'optionalCall', _1022 => _1022()]);
45708
+ _optionalChain([onDisconnectRef, 'access', _1024 => _1024.current, 'optionalCall', _1025 => _1025()]);
45642
45709
  }
45643
45710
  }
45644
45711
  });
@@ -45669,13 +45736,13 @@ function useNatsDialogSubscription({
45669
45736
  setIsSubscribed(false);
45670
45737
  subscriptionRefs.current.forEach((sub) => {
45671
45738
  try {
45672
- _optionalChain([sub, 'optionalAccess', _1023 => _1023.unsubscribe, 'call', _1024 => _1024()]);
45673
- } catch (e47) {
45739
+ _optionalChain([sub, 'optionalAccess', _1026 => _1026.unsubscribe, 'call', _1027 => _1027()]);
45740
+ } catch (e46) {
45674
45741
  }
45675
45742
  });
45676
45743
  subscriptionRefs.current.clear();
45677
45744
  lastSubscribedDialogIdRef.current = null;
45678
- _optionalChain([abortControllerRef, 'access', _1025 => _1025.current, 'optionalAccess', _1026 => _1026.abort, 'call', _1027 => _1027()]);
45745
+ _optionalChain([abortControllerRef, 'access', _1028 => _1028.current, 'optionalAccess', _1029 => _1029.abort, 'call', _1030 => _1030()]);
45679
45746
  abortControllerRef.current = null;
45680
45747
  }
45681
45748
  return;
@@ -45687,12 +45754,12 @@ function useNatsDialogSubscription({
45687
45754
  if (subscriptionRefs.current.size > 0) {
45688
45755
  subscriptionRefs.current.forEach((sub) => {
45689
45756
  try {
45690
- _optionalChain([sub, 'optionalAccess', _1028 => _1028.unsubscribe, 'call', _1029 => _1029()]);
45691
- } catch (e48) {
45757
+ _optionalChain([sub, 'optionalAccess', _1031 => _1031.unsubscribe, 'call', _1032 => _1032()]);
45758
+ } catch (e47) {
45692
45759
  }
45693
45760
  });
45694
45761
  subscriptionRefs.current.clear();
45695
- _optionalChain([abortControllerRef, 'access', _1030 => _1030.current, 'optionalAccess', _1031 => _1031.abort, 'call', _1032 => _1032()]);
45762
+ _optionalChain([abortControllerRef, 'access', _1033 => _1033.current, 'optionalAccess', _1034 => _1034.abort, 'call', _1035 => _1035()]);
45696
45763
  }
45697
45764
  abortControllerRef.current = new AbortController();
45698
45765
  const abort = abortControllerRef.current;
@@ -45711,7 +45778,7 @@ function useNatsDialogSubscription({
45711
45778
  const dataStr = decoder.decode(msg.data);
45712
45779
  const parsed = JSON.parse(dataStr);
45713
45780
  onEventRef.current(parsed, messageType);
45714
- } catch (e49) {
45781
+ } catch (e48) {
45715
45782
  }
45716
45783
  };
45717
45784
  topics.forEach((topic) => {
@@ -45724,7 +45791,7 @@ function useNatsDialogSubscription({
45724
45791
  });
45725
45792
  lastSubscribedDialogIdRef.current = dialogId;
45726
45793
  setIsSubscribed(true);
45727
- _optionalChain([onSubscribedRef, 'access', _1033 => _1033.current, 'optionalCall', _1034 => _1034()]);
45794
+ _optionalChain([onSubscribedRef, 'access', _1036 => _1036.current, 'optionalCall', _1037 => _1037()]);
45728
45795
  };
45729
45796
  if (isConnectedRef.current) {
45730
45797
  createSubscriptions();
@@ -45734,8 +45801,8 @@ function useNatsDialogSubscription({
45734
45801
  abort.abort();
45735
45802
  subscriptionRefs.current.forEach((sub) => {
45736
45803
  try {
45737
- _optionalChain([sub, 'optionalAccess', _1035 => _1035.unsubscribe, 'call', _1036 => _1036()]);
45738
- } catch (e50) {
45804
+ _optionalChain([sub, 'optionalAccess', _1038 => _1038.unsubscribe, 'call', _1039 => _1039()]);
45805
+ } catch (e49) {
45739
45806
  }
45740
45807
  });
45741
45808
  subscriptionRefs.current.clear();
@@ -45762,7 +45829,7 @@ function useNatsDialogSubscription({
45762
45829
  const dataStr = decoder.decode(msg.data);
45763
45830
  const parsed = JSON.parse(dataStr);
45764
45831
  onEventRef.current(parsed, messageType);
45765
- } catch (e51) {
45832
+ } catch (e50) {
45766
45833
  }
45767
45834
  };
45768
45835
  topics.forEach((topic) => {
@@ -45775,7 +45842,7 @@ function useNatsDialogSubscription({
45775
45842
  });
45776
45843
  lastSubscribedDialogIdRef.current = dialogId2;
45777
45844
  setIsSubscribed(true);
45778
- _optionalChain([onSubscribedRef, 'access', _1037 => _1037.current, 'optionalCall', _1038 => _1038()]);
45845
+ _optionalChain([onSubscribedRef, 'access', _1040 => _1040.current, 'optionalCall', _1041 => _1041()]);
45779
45846
  } else if (subscriptionRefs.current.size > 0) {
45780
45847
  setIsSubscribed(true);
45781
45848
  }
@@ -45783,10 +45850,10 @@ function useNatsDialogSubscription({
45783
45850
  return { isConnected, isSubscribed, reconnectionCount };
45784
45851
  }
45785
45852
  function buildNatsWsUrl(apiBaseUrl, options) {
45786
- const path = _optionalChain([options, 'optionalAccess', _1039 => _1039.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
45853
+ const path = _optionalChain([options, 'optionalAccess', _1042 => _1042.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
45787
45854
  const u = new URL(path, apiBaseUrl);
45788
45855
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
45789
- if (_optionalChain([options, 'optionalAccess', _1040 => _1040.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1041 => _1041.token])) {
45856
+ if (_optionalChain([options, 'optionalAccess', _1043 => _1043.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1044 => _1044.token])) {
45790
45857
  u.searchParams.set("authorization", options.token);
45791
45858
  }
45792
45859
  return u.toString();
@@ -45922,7 +45989,7 @@ function parseChunkToAction(chunk) {
45922
45989
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
45923
45990
  // historical path in `process-historical-messages.ts`) — keeps both
45924
45991
  // message sources producing an identical shape.
45925
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1042 => _1042.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1043 => _1043.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
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
45926
45993
  };
45927
45994
  case MESSAGE_TYPE.TOKEN_USAGE:
45928
45995
  return {
@@ -46114,8 +46181,8 @@ var MessageSegmentAccumulator = class {
46114
46181
  type: "tool_execution",
46115
46182
  data: {
46116
46183
  ...toolData,
46117
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1044 => _1044.data, 'access', _1045 => _1045.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1046 => _1046.toolTitle]))),
46118
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1047 => _1047.parameters])
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])
46119
46186
  }
46120
46187
  };
46121
46188
  if (existingIndex !== -1) {
@@ -46139,8 +46206,8 @@ var MessageSegmentAccumulator = class {
46139
46206
  if (seg.type !== "approval_batch") return seg;
46140
46207
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
46141
46208
  if (!hasCall) return seg;
46142
- const prev = _optionalChain([seg, 'access', _1048 => _1048.data, 'access', _1049 => _1049.executions, 'optionalAccess', _1050 => _1050[execId]]);
46143
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1051 => _1051.result]), success: _optionalChain([prev, 'optionalAccess', _1052 => _1052.success]) };
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]) };
46144
46211
  matched = true;
46145
46212
  return {
46146
46213
  ...seg,
@@ -46262,10 +46329,10 @@ var MessageSegmentAccumulator = class {
46262
46329
  const segment = {
46263
46330
  type: "approval_request",
46264
46331
  data: {
46265
- command: _optionalChain([pendingApproval, 'optionalAccess', _1053 => _1053.command]) || "",
46266
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1054 => _1054.explanation]),
46332
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1056 => _1056.command]) || "",
46333
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1057 => _1057.explanation]),
46267
46334
  requestId,
46268
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1055 => _1055.approvalType]) || approvalType
46335
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1058 => _1058.approvalType]) || approvalType
46269
46336
  },
46270
46337
  status,
46271
46338
  onApprove: this.callbacks.onApprove,
@@ -46457,7 +46524,7 @@ function useRealtimeChunkProcessor(options) {
46457
46524
  if (initialState.escalatedApprovals) {
46458
46525
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
46459
46526
  initialState.escalatedApprovals.forEach((data, requestId) => {
46460
- _optionalChain([callbacks, 'access', _1056 => _1056.onEscalatedApproval, 'optionalCall', _1057 => _1057(requestId, data)]);
46527
+ _optionalChain([callbacks, 'access', _1059 => _1059.onEscalatedApproval, 'optionalCall', _1060 => _1060(requestId, data)]);
46461
46528
  });
46462
46529
  }
46463
46530
  hasEverStreamedRef.current = true;
@@ -46478,12 +46545,12 @@ function useRealtimeChunkProcessor(options) {
46478
46545
  if (!action) return;
46479
46546
  const accumulator = accumulatorRef.current;
46480
46547
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
46481
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1058 => _1058.onSegmentsUpdate, 'optionalCall', _1059 => _1059(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
46548
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1061 => _1061.onSegmentsUpdate, 'optionalCall', _1062 => _1062(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
46482
46549
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
46483
46550
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
46484
46551
  if (isInStreamRef.current) {
46485
46552
  isInStreamRef.current = false;
46486
- _optionalChain([callbacks, 'access', _1060 => _1060.onStreamEnd, 'optionalCall', _1061 => _1061()]);
46553
+ _optionalChain([callbacks, 'access', _1063 => _1063.onStreamEnd, 'optionalCall', _1064 => _1064()]);
46487
46554
  accumulator.resetSegments();
46488
46555
  }
46489
46556
  return;
@@ -46492,16 +46559,16 @@ function useRealtimeChunkProcessor(options) {
46492
46559
  case "message_start":
46493
46560
  isInStreamRef.current = true;
46494
46561
  hasEverStreamedRef.current = true;
46495
- _optionalChain([callbacks, 'access', _1062 => _1062.onStreamStart, 'optionalCall', _1063 => _1063()]);
46562
+ _optionalChain([callbacks, 'access', _1065 => _1065.onStreamStart, 'optionalCall', _1066 => _1066()]);
46496
46563
  accumulator.resetSegments();
46497
46564
  break;
46498
46565
  case "message_end":
46499
46566
  isInStreamRef.current = false;
46500
- _optionalChain([callbacks, 'access', _1064 => _1064.onStreamEnd, 'optionalCall', _1065 => _1065()]);
46567
+ _optionalChain([callbacks, 'access', _1067 => _1067.onStreamEnd, 'optionalCall', _1068 => _1068()]);
46501
46568
  accumulator.resetSegments();
46502
46569
  break;
46503
46570
  case "metadata":
46504
- _optionalChain([callbacks, 'access', _1066 => _1066.onMetadata, 'optionalCall', _1067 => _1067(action)]);
46571
+ _optionalChain([callbacks, 'access', _1069 => _1069.onMetadata, 'optionalCall', _1070 => _1070(action)]);
46505
46572
  break;
46506
46573
  case "text": {
46507
46574
  const segments = accumulator.appendText(action.text);
@@ -46544,7 +46611,7 @@ function useRealtimeChunkProcessor(options) {
46544
46611
  emitSegments(segments);
46545
46612
  } else {
46546
46613
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
46547
- _optionalChain([callbacks, 'access', _1068 => _1068.onEscalatedApproval, 'optionalCall', _1069 => _1069(requestId, { command, explanation, approvalType })]);
46614
+ _optionalChain([callbacks, 'access', _1071 => _1071.onEscalatedApproval, 'optionalCall', _1072 => _1072(requestId, { command, explanation, approvalType })]);
46548
46615
  }
46549
46616
  break;
46550
46617
  }
@@ -46556,13 +46623,13 @@ function useRealtimeChunkProcessor(options) {
46556
46623
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
46557
46624
  pendingEscalatedRef.current.set(requestId, {
46558
46625
  command: summary,
46559
- explanation: _optionalChain([required, 'optionalAccess', _1070 => _1070.toolExplanation]),
46626
+ explanation: _optionalChain([required, 'optionalAccess', _1073 => _1073.toolExplanation]),
46560
46627
  approvalType,
46561
46628
  toolCalls
46562
46629
  });
46563
- _optionalChain([callbacks, 'access', _1071 => _1071.onEscalatedApproval, 'optionalCall', _1072 => _1072(requestId, {
46630
+ _optionalChain([callbacks, 'access', _1074 => _1074.onEscalatedApproval, 'optionalCall', _1075 => _1075(requestId, {
46564
46631
  command: summary,
46565
- explanation: _optionalChain([required, 'optionalAccess', _1073 => _1073.toolExplanation]),
46632
+ explanation: _optionalChain([required, 'optionalAccess', _1076 => _1076.toolExplanation]),
46566
46633
  approvalType
46567
46634
  })]);
46568
46635
  break;
@@ -46592,7 +46659,7 @@ function useRealtimeChunkProcessor(options) {
46592
46659
  const status = approved ? "approved" : "rejected";
46593
46660
  if (escalatedData) {
46594
46661
  pendingEscalatedRef.current.delete(requestId);
46595
- _optionalChain([callbacks, 'access', _1074 => _1074.onEscalatedApprovalResult, 'optionalCall', _1075 => _1075(requestId, approved, {
46662
+ _optionalChain([callbacks, 'access', _1077 => _1077.onEscalatedApprovalResult, 'optionalCall', _1078 => _1078(requestId, approved, {
46596
46663
  command: escalatedData.command,
46597
46664
  explanation: escalatedData.explanation,
46598
46665
  approvalType: escalatedData.approvalType
@@ -46638,29 +46705,29 @@ function useRealtimeChunkProcessor(options) {
46638
46705
  emitSegments(accumulator.getSegments());
46639
46706
  }
46640
46707
  }
46641
- _optionalChain([callbacks, 'access', _1076 => _1076.onApprovalResolved, 'optionalCall', _1077 => _1077(requestId, status, approvalType, resolvedByName)]);
46708
+ _optionalChain([callbacks, 'access', _1079 => _1079.onApprovalResolved, 'optionalCall', _1080 => _1080(requestId, status, approvalType, resolvedByName)]);
46642
46709
  break;
46643
46710
  }
46644
46711
  case "error": {
46645
46712
  let message2;
46646
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1078 => _1078.details])) {
46713
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1081 => _1081.details])) {
46647
46714
  try {
46648
- message2 = _optionalChain([JSON, 'access', _1079 => _1079.parse, 'call', _1080 => _1080(action.details), 'optionalAccess', _1081 => _1081.error, 'optionalAccess', _1082 => _1082.message]);
46649
- } catch (e52) {
46715
+ message2 = _optionalChain([JSON, 'access', _1082 => _1082.parse, 'call', _1083 => _1083(action.details), 'optionalAccess', _1084 => _1084.error, 'optionalAccess', _1085 => _1085.message]);
46716
+ } catch (e51) {
46650
46717
  message2 = action.details;
46651
46718
  }
46652
46719
  }
46653
46720
  const segments = accumulator.addError(action.error, message2);
46654
46721
  emitSegments(segments);
46655
- _optionalChain([callbacks, 'access', _1083 => _1083.onError, 'optionalCall', _1084 => _1084(action.error, message2)]);
46722
+ _optionalChain([callbacks, 'access', _1086 => _1086.onError, 'optionalCall', _1087 => _1087(action.error, message2)]);
46656
46723
  break;
46657
46724
  }
46658
46725
  case "system": {
46659
- _optionalChain([callbacks, 'access', _1085 => _1085.onSystemMessage, 'optionalCall', _1086 => _1086(action.text, { streamSeq })]);
46726
+ _optionalChain([callbacks, 'access', _1088 => _1088.onSystemMessage, 'optionalCall', _1089 => _1089(action.text, { streamSeq })]);
46660
46727
  break;
46661
46728
  }
46662
46729
  case "direct_message": {
46663
- _optionalChain([callbacks, 'access', _1087 => _1087.onDirectMessage, 'optionalCall', _1088 => _1088(action.text, {
46730
+ _optionalChain([callbacks, 'access', _1090 => _1090.onDirectMessage, 'optionalCall', _1091 => _1091(action.text, {
46664
46731
  ownerType: action.ownerType,
46665
46732
  displayName: action.displayName,
46666
46733
  userId: action.userId,
@@ -46669,7 +46736,7 @@ function useRealtimeChunkProcessor(options) {
46669
46736
  break;
46670
46737
  }
46671
46738
  case "message_request":
46672
- _optionalChain([callbacks, 'access', _1089 => _1089.onUserMessage, 'optionalCall', _1090 => _1090(action.text, {
46739
+ _optionalChain([callbacks, 'access', _1092 => _1092.onUserMessage, 'optionalCall', _1093 => _1093(action.text, {
46673
46740
  ownerType: action.ownerType,
46674
46741
  displayName: action.displayName,
46675
46742
  userId: action.userId,
@@ -46678,7 +46745,7 @@ function useRealtimeChunkProcessor(options) {
46678
46745
  })]);
46679
46746
  break;
46680
46747
  case "token_usage":
46681
- _optionalChain([callbacks, 'access', _1091 => _1091.onTokenUsage, 'optionalCall', _1092 => _1092(action.data)]);
46748
+ _optionalChain([callbacks, 'access', _1094 => _1094.onTokenUsage, 'optionalCall', _1095 => _1095(action.data)]);
46682
46749
  break;
46683
46750
  case "context_compaction_start": {
46684
46751
  const standalone = !isInStreamRef.current;
@@ -46693,7 +46760,7 @@ function useRealtimeChunkProcessor(options) {
46693
46760
  break;
46694
46761
  }
46695
46762
  case "dialog_closed":
46696
- _optionalChain([callbacks, 'access', _1093 => _1093.onDialogClosed, 'optionalCall', _1094 => _1094()]);
46763
+ _optionalChain([callbacks, 'access', _1096 => _1096.onDialogClosed, 'optionalCall', _1097 => _1097()]);
46697
46764
  break;
46698
46765
  default:
46699
46766
  break;
@@ -46740,7 +46807,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
46740
46807
  const data = await res.json();
46741
46808
  return _nullishCoalesce(data.commands, () => ( []));
46742
46809
  } catch (err) {
46743
- if (_optionalChain([err, 'optionalAccess', _1095 => _1095.name]) === "AbortError") throw err;
46810
+ if (_optionalChain([err, 'optionalAccess', _1098 => _1098.name]) === "AbortError") throw err;
46744
46811
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
46745
46812
  return [];
46746
46813
  }
@@ -46761,7 +46828,7 @@ function useSlashCommands(prefix, commandsUrl) {
46761
46828
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
46762
46829
  if (!cancelled) setCommands(next);
46763
46830
  } catch (err) {
46764
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1096 => _1096.name]) !== "AbortError") {
46831
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1099 => _1099.name]) !== "AbortError") {
46765
46832
  console.warn("[use-slash-commands] fetch failed:", err);
46766
46833
  }
46767
46834
  } finally {
@@ -46780,7 +46847,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
46780
46847
  const query = _reactquery.useQuery.call(void 0, {
46781
46848
  queryKey: ["chat-slash-commands", commandsUrl],
46782
46849
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
46783
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1097 => _1097.enabled]), () => ( true)),
46850
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.enabled]), () => ( true)),
46784
46851
  staleTime: Infinity,
46785
46852
  gcTime: Infinity,
46786
46853
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -46819,21 +46886,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
46819
46886
  }
46820
46887
  const data = await res.json();
46821
46888
  return {
46822
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1098 => _1098.name]), () => ( null)),
46823
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1099 => _1099.icon]), () => ( null)),
46824
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1100 => _1100.greeting]), () => ( null)),
46825
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1101 => _1101.enabledRagTableIds]), () => ( [])),
46826
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1102 => _1102.quickActions]), () => ( [])),
46827
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1103 => _1103.suggestedQueries]), () => ( []))
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]), () => ( []))
46828
46895
  };
46829
46896
  } catch (err) {
46830
- if (_optionalChain([err, 'optionalAccess', _1104 => _1104.name]) === "AbortError") throw err;
46897
+ if (_optionalChain([err, 'optionalAccess', _1107 => _1107.name]) === "AbortError") throw err;
46831
46898
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
46832
46899
  return EMPTY_STATE_FALLBACK;
46833
46900
  }
46834
46901
  }
46835
46902
  function useEmptyStateConfig(emptyStateUrl, options) {
46836
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1105 => _1105.enabled]), () => ( true))) && !!emptyStateUrl;
46903
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1108 => _1108.enabled]), () => ( true))) && !!emptyStateUrl;
46837
46904
  const query = _reactquery.useQuery.call(void 0, {
46838
46905
  queryKey: ["chat-empty-state", emptyStateUrl],
46839
46906
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -46862,7 +46929,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
46862
46929
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
46863
46930
  function uploadWithProgress(url, file, token, onProgress, signal) {
46864
46931
  return new Promise((resolve, reject) => {
46865
- if (_optionalChain([signal, 'optionalAccess', _1106 => _1106.aborted])) {
46932
+ if (_optionalChain([signal, 'optionalAccess', _1109 => _1109.aborted])) {
46866
46933
  reject(new Error("Upload cancelled"));
46867
46934
  return;
46868
46935
  }
@@ -46876,7 +46943,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
46876
46943
  xhr.removeEventListener("error", handleError);
46877
46944
  xhr.removeEventListener("abort", handleAbort);
46878
46945
  xhr.removeEventListener("timeout", handleTimeout);
46879
- _optionalChain([signal, 'optionalAccess', _1107 => _1107.removeEventListener, 'call', _1108 => _1108("abort", handleSignalAbort)]);
46946
+ _optionalChain([signal, 'optionalAccess', _1110 => _1110.removeEventListener, 'call', _1111 => _1111("abort", handleSignalAbort)]);
46880
46947
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
46881
46948
  };
46882
46949
  const handleProgress = (event) => {
@@ -46912,7 +46979,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
46912
46979
  const handleSignalAbort = () => {
46913
46980
  xhr.abort();
46914
46981
  };
46915
- _optionalChain([signal, 'optionalAccess', _1109 => _1109.addEventListener, 'call', _1110 => _1110("abort", handleSignalAbort, { once: true })]);
46982
+ _optionalChain([signal, 'optionalAccess', _1112 => _1112.addEventListener, 'call', _1113 => _1113("abort", handleSignalAbort, { once: true })]);
46916
46983
  xhr.upload.addEventListener("progress", handleProgress);
46917
46984
  xhr.addEventListener("load", handleLoad);
46918
46985
  xhr.addEventListener("error", handleError);
@@ -46956,12 +47023,12 @@ function useChatAttachments() {
46956
47023
  try {
46957
47024
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
46958
47025
  } catch (err) {
46959
- if (_optionalChain([ctrl, 'optionalAccess', _1111 => _1111.signal, 'access', _1112 => _1112.aborted])) return;
47026
+ if (_optionalChain([ctrl, 'optionalAccess', _1114 => _1114.signal, 'access', _1115 => _1115.aborted])) return;
46960
47027
  throw new Error(
46961
47028
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
46962
47029
  );
46963
47030
  }
46964
- if (_optionalChain([ctrl, 'optionalAccess', _1113 => _1113.signal, 'access', _1114 => _1114.aborted])) return;
47031
+ if (_optionalChain([ctrl, 'optionalAccess', _1116 => _1116.signal, 'access', _1117 => _1117.aborted])) return;
46965
47032
  if (!sniffed) {
46966
47033
  throw new Error("Unrecognized file format");
46967
47034
  }
@@ -46975,7 +47042,7 @@ function useChatAttachments() {
46975
47042
  const urlResp = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
46976
47043
  method: "POST",
46977
47044
  headers: { "Content-Type": "application/json" },
46978
- signal: _optionalChain([ctrl, 'optionalAccess', _1115 => _1115.signal]),
47045
+ signal: _optionalChain([ctrl, 'optionalAccess', _1118 => _1118.signal]),
46979
47046
  body: JSON.stringify({
46980
47047
  fileName: att.file.name,
46981
47048
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -47001,9 +47068,9 @@ function useChatAttachments() {
47001
47068
  (pct) => {
47002
47069
  updateOne(att.id, { progress: pct });
47003
47070
  },
47004
- _optionalChain([ctrl, 'optionalAccess', _1116 => _1116.signal])
47071
+ _optionalChain([ctrl, 'optionalAccess', _1119 => _1119.signal])
47005
47072
  );
47006
- if (_optionalChain([ctrl, 'optionalAccess', _1117 => _1117.signal, 'access', _1118 => _1118.aborted])) return;
47073
+ if (_optionalChain([ctrl, 'optionalAccess', _1120 => _1120.signal, 'access', _1121 => _1121.aborted])) return;
47007
47074
  updateOne(att.id, {
47008
47075
  status: "ready",
47009
47076
  progress: 100,
@@ -47011,7 +47078,7 @@ function useChatAttachments() {
47011
47078
  viewToken: mintData.viewToken
47012
47079
  });
47013
47080
  } catch (err) {
47014
- if (_optionalChain([ctrl, 'optionalAccess', _1119 => _1119.signal, 'access', _1120 => _1120.aborted])) return;
47081
+ if (_optionalChain([ctrl, 'optionalAccess', _1122 => _1122.signal, 'access', _1123 => _1123.aborted])) return;
47015
47082
  const message2 = err instanceof Error ? err.message : String(err);
47016
47083
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
47017
47084
  } finally {
@@ -47162,7 +47229,7 @@ var ANON_DEFAULTS = {
47162
47229
  function useResolveChatIdentity(enabled) {
47163
47230
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
47164
47231
  const url = runtime.endpoints.identityUrl;
47165
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1121 => _1121.email]), () => ( null));
47232
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1124 => _1124.email]), () => ( null));
47166
47233
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
47167
47234
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
47168
47235
  _react.useEffect.call(void 0, () => {
@@ -47253,7 +47320,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
47253
47320
  yield chunk;
47254
47321
  }
47255
47322
  } catch (err) {
47256
- if (_optionalChain([err, 'optionalAccess', _1122 => _1122.name]) === "AbortError" || ctrl.signal.aborted) {
47323
+ if (_optionalChain([err, 'optionalAccess', _1125 => _1125.name]) === "AbortError" || ctrl.signal.aborted) {
47257
47324
  return;
47258
47325
  }
47259
47326
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -47304,7 +47371,7 @@ function useChat({
47304
47371
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
47305
47372
  onMessagesChangeRef.current = onMessagesChange;
47306
47373
  _react.useEffect.call(void 0, () => {
47307
- _optionalChain([onMessagesChangeRef, 'access', _1123 => _1123.current, 'optionalCall', _1124 => _1124(messages)]);
47374
+ _optionalChain([onMessagesChangeRef, 'access', _1126 => _1126.current, 'optionalCall', _1127 => _1127(messages)]);
47308
47375
  }, [messages]);
47309
47376
  const {
47310
47377
  streamMessage,
@@ -47341,7 +47408,7 @@ function useChat({
47341
47408
  name: "You",
47342
47409
  content: text,
47343
47410
  timestamp: /* @__PURE__ */ new Date(),
47344
- ..._optionalChain([options, 'optionalAccess', _1125 => _1125.hidden]) ? { hidden: true } : {}
47411
+ ..._optionalChain([options, 'optionalAccess', _1128 => _1128.hidden]) ? { hidden: true } : {}
47345
47412
  };
47346
47413
  addMessage(userMessage);
47347
47414
  setIsTyping(true);
@@ -47403,7 +47470,7 @@ function useChat({
47403
47470
  currentTextSegment = "";
47404
47471
  }
47405
47472
  const seg = segment;
47406
- const proposalId = _optionalChain([seg, 'access', _1126 => _1126.data, 'optionalAccess', _1127 => _1127.requestId]);
47473
+ const proposalId = _optionalChain([seg, 'access', _1129 => _1129.data, 'optionalAccess', _1130 => _1130.requestId]);
47407
47474
  const updateApprovalMessage = (transform) => {
47408
47475
  setMessages((prev) => {
47409
47476
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -47412,7 +47479,7 @@ function useChat({
47412
47479
  if (!Array.isArray(m.content)) continue;
47413
47480
  const segments = m.content;
47414
47481
  const hasMatch = segments.some(
47415
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1128 => _1128.data, 'optionalAccess', _1129 => _1129.requestId]) === proposalId
47482
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1131 => _1131.data, 'optionalAccess', _1132 => _1132.requestId]) === proposalId
47416
47483
  );
47417
47484
  if (!hasMatch) continue;
47418
47485
  const next = [...prev];
@@ -47454,11 +47521,11 @@ function useChat({
47454
47521
  if (!Array.isArray(m.content)) continue;
47455
47522
  const segments = m.content;
47456
47523
  const hasMatch = segments.some(
47457
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1130 => _1130.data, 'optionalAccess', _1131 => _1131.requestId]) === decision.proposalId
47524
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1133 => _1133.data, 'optionalAccess', _1134 => _1134.requestId]) === decision.proposalId
47458
47525
  );
47459
47526
  if (!hasMatch) continue;
47460
47527
  const flipped = segments.map(
47461
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1132 => _1132.data, 'optionalAccess', _1133 => _1133.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
47528
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1135 => _1135.data, 'optionalAccess', _1136 => _1136.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
47462
47529
  );
47463
47530
  const next = [...prev];
47464
47531
  next[i] = { ...m, content: flipped };
@@ -47620,8 +47687,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47620
47687
  })),
47621
47688
  { role: "user", content: message2 }
47622
47689
  ];
47623
- const targetPath = _optionalChain([extra, 'optionalAccess', _1134 => _1134.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
47624
- const requestBody = _optionalChain([extra, 'optionalAccess', _1135 => _1135.approvalAction]) ? {
47690
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1137 => _1137.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
47691
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1138 => _1138.approvalAction]) ? {
47625
47692
  proposal_id: extra.approvalAction.proposalId,
47626
47693
  action: extra.approvalAction.action,
47627
47694
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -47630,8 +47697,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47630
47697
  }))
47631
47698
  } : {
47632
47699
  messages: apiMessages,
47633
- ..._optionalChain([extra, 'optionalAccess', _1136 => _1136.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
47634
- ..._optionalChain([extra, 'optionalAccess', _1137 => _1137.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
47700
+ ..._optionalChain([extra, 'optionalAccess', _1139 => _1139.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
47701
+ ..._optionalChain([extra, 'optionalAccess', _1140 => _1140.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
47635
47702
  };
47636
47703
  const response = await _chunk743FCO64cjs.embedAuthedFetch.call(void 0, targetPath, {
47637
47704
  method: "POST",
@@ -47641,7 +47708,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47641
47708
  if (!response.ok) {
47642
47709
  throw new Error(`Chat request failed: ${response.status}`);
47643
47710
  }
47644
- const reader = _optionalChain([response, 'access', _1138 => _1138.body, 'optionalAccess', _1139 => _1139.getReader, 'call', _1140 => _1140()]);
47711
+ const reader = _optionalChain([response, 'access', _1141 => _1141.body, 'optionalAccess', _1142 => _1142.getReader, 'call', _1143 => _1143()]);
47645
47712
  if (!reader) throw new Error("No response body");
47646
47713
  const decoder = new TextDecoder();
47647
47714
  let buffer = "";
@@ -47693,7 +47760,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47693
47760
  let meta;
47694
47761
  try {
47695
47762
  meta = JSON.parse(metaStr);
47696
- } catch (e53) {
47763
+ } catch (e52) {
47697
47764
  inText = true;
47698
47765
  setStreamingPhase("streaming");
47699
47766
  if (buffer.length > 0) {
@@ -47724,7 +47791,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47724
47791
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
47725
47792
  const result = _nullishCoalesce(meta.result, () => ( null));
47726
47793
  const card = _nullishCoalesce(meta.card, () => ( null));
47727
- if (_optionalChain([card, 'optionalAccess', _1141 => _1141.ref, 'optionalAccess', _1142 => _1142.id]) && _optionalChain([card, 'optionalAccess', _1143 => _1143.type])) {
47794
+ if (_optionalChain([card, 'optionalAccess', _1144 => _1144.ref, 'optionalAccess', _1145 => _1145.id]) && _optionalChain([card, 'optionalAccess', _1146 => _1146.type])) {
47728
47795
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
47729
47796
  const key = buildChatRefKey(card.type, card.ref.id);
47730
47797
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -47737,8 +47804,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47737
47804
  willAutoContinue: meta.willAutoContinue === true,
47738
47805
  ...toolName ? { toolName } : {},
47739
47806
  ...result ? { result } : {},
47740
- ..._optionalChain([card, 'optionalAccess', _1144 => _1144.marker]) ? { marker: card.marker } : {},
47741
- ..._optionalChain([card, 'optionalAccess', _1145 => _1145.ref]) ? { cardRef: card.ref } : {},
47807
+ ..._optionalChain([card, 'optionalAccess', _1147 => _1147.marker]) ? { marker: card.marker } : {},
47808
+ ..._optionalChain([card, 'optionalAccess', _1148 => _1148.ref]) ? { cardRef: card.ref } : {},
47742
47809
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
47743
47810
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
47744
47811
  };
@@ -47840,7 +47907,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
47840
47907
  });
47841
47908
  bumpMetaTick();
47842
47909
  }
47843
- } catch (e54) {
47910
+ } catch (e53) {
47844
47911
  }
47845
47912
  }
47846
47913
  };
@@ -47857,7 +47924,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
47857
47924
  var chatStorageKey = (source) => {
47858
47925
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
47859
47926
  const auth = _chunk743FCO64cjs.getEmbedProxyAuth.call(void 0, );
47860
- if (_optionalChain([auth, 'optionalAccess', _1146 => _1146.email])) {
47927
+ if (_optionalChain([auth, 'optionalAccess', _1149 => _1149.email])) {
47861
47928
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
47862
47929
  }
47863
47930
  return base;
@@ -47880,7 +47947,7 @@ function pruneStaleChatStorage(source) {
47880
47947
  for (const k of toRemove) {
47881
47948
  window.localStorage.removeItem(k);
47882
47949
  }
47883
- } catch (e55) {
47950
+ } catch (e54) {
47884
47951
  }
47885
47952
  }
47886
47953
  function loadPersistedChat(source) {
@@ -47897,7 +47964,7 @@ function loadPersistedChat(source) {
47897
47964
  }
47898
47965
  }
47899
47966
  return parsed;
47900
- } catch (e56) {
47967
+ } catch (e55) {
47901
47968
  return null;
47902
47969
  }
47903
47970
  }
@@ -47905,14 +47972,14 @@ function savePersistedChat(source, state) {
47905
47972
  if (typeof window === "undefined") return;
47906
47973
  try {
47907
47974
  window.localStorage.setItem(chatStorageKey(source), JSON.stringify(state));
47908
- } catch (e57) {
47975
+ } catch (e56) {
47909
47976
  }
47910
47977
  }
47911
47978
  function useSseChatAdapter(options, runtimeOptions = {}) {
47912
47979
  const { active = true } = runtimeOptions;
47913
47980
  const runtime = _chunk3KEBI6TPcjs.useRequiredChatRuntime.call(void 0, );
47914
47981
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
47915
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1147 => _1147.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
47982
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1150 => _1150.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
47916
47983
  const persistedRef = _react.useRef.call(void 0, null);
47917
47984
  if (persistedRef.current === null) {
47918
47985
  pruneStaleChatStorage(source);
@@ -48017,7 +48084,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48017
48084
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
48018
48085
  sources = sourcesMapRef.current.get(lookupIdx);
48019
48086
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
48020
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1148 => _1148.current, 'access', _1149 => _1149.get, 'call', _1150 => _1150(lookupIdx), 'optionalAccess', _1151 => _1151.scrollAnchor]), () => ( void 0));
48087
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1151 => _1151.current, 'access', _1152 => _1152.get, 'call', _1153 => _1153(lookupIdx), 'optionalAccess', _1154 => _1154.scrollAnchor]), () => ( void 0));
48021
48088
  }
48022
48089
  return {
48023
48090
  id: m.id,
@@ -48065,7 +48132,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48065
48132
  );
48066
48133
  return;
48067
48134
  }
48068
- const refSlug = typeof _optionalChain([reference, 'access', _1152 => _1152.metadata, 'optionalAccess', _1153 => _1153.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
48135
+ const refSlug = typeof _optionalChain([reference, 'access', _1155 => _1155.metadata, 'optionalAccess', _1156 => _1156.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
48069
48136
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
48070
48137
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
48071
48138
  const text = `/${cmdId} display "${escaped}"`;
@@ -48112,7 +48179,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48112
48179
  if (typeof window !== "undefined") {
48113
48180
  try {
48114
48181
  window.localStorage.removeItem(chatStorageKey(source));
48115
- } catch (e58) {
48182
+ } catch (e57) {
48116
48183
  }
48117
48184
  }
48118
48185
  }, [chatClearMessages, source, bumpMetaTick]);
@@ -48137,18 +48204,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
48137
48204
  clearMessages,
48138
48205
  streamingPhase,
48139
48206
  /** Provider key for the lib's `<ModelDisplay>` icon. */
48140
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1154 => _1154.provider]), () => ( null)),
48141
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1155 => _1155.modelLabel]), () => ( null)),
48142
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1156 => _1156.contextWindowMaxTokens]), () => ( null)),
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)),
48143
48210
  /** Input tokens (known after server's message_start frame; null until). */
48144
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1157 => _1157.inputTokens]), () => ( null)),
48211
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1160 => _1160.inputTokens]), () => ( null)),
48145
48212
  /** Output tokens (known only after server's trailing usage frame). */
48146
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1158 => _1158.outputTokens]), () => ( null)),
48213
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1161 => _1161.outputTokens]), () => ( null)),
48147
48214
  /** Cache hit % (read / total-input × 100). null during streaming. */
48148
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1159 => _1159.cacheHitRatePct]), () => ( null)),
48215
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1162 => _1162.cacheHitRatePct]), () => ( null)),
48149
48216
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
48150
48217
  * token counts). null until the trailing usage frame lands. */
48151
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1160 => _1160.breakdown]), () => ( null)),
48218
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1163 => _1163.breakdown]), () => ( null)),
48152
48219
  // ─── Dialog management — stubs for v1 ────────────────────────────────
48153
48220
  // Guide mode currently keeps its history in `localStorage` opaquely
48154
48221
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -48206,15 +48273,15 @@ var noopRejectRequest = async (_id, _reason) => {
48206
48273
 
48207
48274
  // src/components/chat/utils/process-historical-messages.ts
48208
48275
  function getOwnerDisplayName(owner) {
48209
- if (_optionalChain([owner, 'optionalAccess', _1161 => _1161.type]) === OWNER_TYPE.ADMIN && owner.user) {
48276
+ if (_optionalChain([owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN && owner.user) {
48210
48277
  const { firstName, lastName } = owner.user;
48211
48278
  const name = [firstName, lastName].filter(Boolean).join(" ");
48212
48279
  if (name) return name;
48213
48280
  }
48214
- return _optionalChain([owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
48281
+ return _optionalChain([owner, 'optionalAccess', _1165 => _1165.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
48215
48282
  }
48216
48283
  function getOwnerAvatar(owner) {
48217
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1163 => _1163.user, 'optionalAccess', _1164 => _1164.image, 'optionalAccess', _1165 => _1165.imageUrl]), () => ( void 0));
48284
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1166 => _1166.user, 'optionalAccess', _1167 => _1167.image, 'optionalAccess', _1168 => _1168.imageUrl]), () => ( void 0));
48218
48285
  }
48219
48286
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
48220
48287
  messageDataArray.forEach((data) => {
@@ -48277,14 +48344,14 @@ function processHistoricalMessages(messages, options = {}) {
48277
48344
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
48278
48345
  return;
48279
48346
  }
48280
- const isUserMessage = _optionalChain([msg, 'access', _1166 => _1166.owner, 'optionalAccess', _1167 => _1167.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1168 => _1168.owner, 'optionalAccess', _1169 => _1169.type]) === OWNER_TYPE.ADMIN;
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;
48281
48348
  if (isUserMessage) {
48282
48349
  flushAssistantMessage();
48283
- const userAuthorType = _optionalChain([msg, 'access', _1170 => _1170.owner, 'optionalAccess', _1171 => _1171.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48350
+ const userAuthorType = _optionalChain([msg, 'access', _1173 => _1173.owner, 'optionalAccess', _1174 => _1174.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48284
48351
  messageDataArray.forEach((data) => {
48285
48352
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
48286
48353
  const rawContext = data.contextItems;
48287
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1172 => _1172.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1173 => _1173.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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;
48288
48355
  processedMessages.push({
48289
48356
  id: msg.id,
48290
48357
  role: "user",
@@ -48308,7 +48375,7 @@ function processHistoricalMessages(messages, options = {}) {
48308
48375
  });
48309
48376
  const nextMsg = messages[index + 1];
48310
48377
  const isLastMessage = index === messages.length - 1;
48311
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1174 => _1174.owner, 'optionalAccess', _1175 => _1175.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1176 => _1176.owner, 'optionalAccess', _1177 => _1177.type]) === OWNER_TYPE.ADMIN);
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);
48312
48379
  if (isLastMessage || nextIsFromUser) {
48313
48380
  flushAssistantMessage();
48314
48381
  }
@@ -48418,7 +48485,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48418
48485
  }
48419
48486
  }
48420
48487
  } else {
48421
- _optionalChain([escalatedApprovals, 'optionalAccess', _1178 => _1178.set, 'call', _1179 => _1179(data.approvalRequestId, {
48488
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1181 => _1181.set, 'call', _1182 => _1182(data.approvalRequestId, {
48422
48489
  command: data.command || "",
48423
48490
  explanation: data.explanation,
48424
48491
  approvalType,
@@ -48432,8 +48499,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48432
48499
  const existingStatus = approvalStatuses[data.approvalRequestId];
48433
48500
  const status = existingStatus || (data.approved ? "approved" : "rejected");
48434
48501
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
48435
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1180 => _1180.get, 'call', _1181 => _1181(data.approvalRequestId)]);
48436
- if (_optionalChain([escalatedData, 'optionalAccess', _1182 => _1182.toolCalls]) && escalatedData.toolCalls.length > 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) {
48437
48504
  if (batchApprovalsEnabled) {
48438
48505
  accumulator.addApprovalBatch(
48439
48506
  data.approvalRequestId,
@@ -48455,7 +48522,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48455
48522
  );
48456
48523
  }
48457
48524
  }
48458
- _optionalChain([escalatedApprovals, 'optionalAccess', _1183 => _1183.delete, 'call', _1184 => _1184(data.approvalRequestId)]);
48525
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1186 => _1186.delete, 'call', _1187 => _1187(data.approvalRequestId)]);
48459
48526
  break;
48460
48527
  }
48461
48528
  if (escalatedData) {
@@ -48464,7 +48531,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48464
48531
  explanation: escalatedData.explanation,
48465
48532
  approvalType: escalatedData.approvalType
48466
48533
  });
48467
- _optionalChain([escalatedApprovals, 'optionalAccess', _1185 => _1185.delete, 'call', _1186 => _1186(data.approvalRequestId)]);
48534
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1188 => _1188.delete, 'call', _1189 => _1189(data.approvalRequestId)]);
48468
48535
  }
48469
48536
  const before = accumulator.getSegments();
48470
48537
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -48480,10 +48547,10 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
48480
48547
  case MESSAGE_TYPE.ERROR:
48481
48548
  if ("error" in data) {
48482
48549
  let message2;
48483
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1187 => _1187.details])) {
48550
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1190 => _1190.details])) {
48484
48551
  try {
48485
- message2 = _optionalChain([JSON, 'access', _1188 => _1188.parse, 'call', _1189 => _1189(data.details), 'optionalAccess', _1190 => _1190.error, 'optionalAccess', _1191 => _1191.message]);
48486
- } catch (e59) {
48552
+ message2 = _optionalChain([JSON, 'access', _1191 => _1191.parse, 'call', _1192 => _1192(data.details), 'optionalAccess', _1193 => _1193.error, 'optionalAccess', _1194 => _1194.message]);
48553
+ } catch (e58) {
48487
48554
  message2 = data.details;
48488
48555
  }
48489
48556
  }
@@ -48565,14 +48632,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
48565
48632
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
48566
48633
  return;
48567
48634
  }
48568
- const isUserMessage = _optionalChain([msg, 'access', _1192 => _1192.owner, 'optionalAccess', _1193 => _1193.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1194 => _1194.owner, 'optionalAccess', _1195 => _1195.type]) === OWNER_TYPE.ADMIN;
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;
48569
48636
  if (isUserMessage) {
48570
48637
  flushAssistantMessage();
48571
- const userAuthorType = _optionalChain([msg, 'access', _1196 => _1196.owner, 'optionalAccess', _1197 => _1197.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48638
+ const userAuthorType = _optionalChain([msg, 'access', _1199 => _1199.owner, 'optionalAccess', _1200 => _1200.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
48572
48639
  messageDataArray.forEach((data) => {
48573
48640
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
48574
48641
  const rawContext = data.contextItems;
48575
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1198 => _1198.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1199 => _1199.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
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;
48576
48643
  processedMessages.push({
48577
48644
  id: msg.id,
48578
48645
  role: "user",
@@ -48596,7 +48663,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
48596
48663
  });
48597
48664
  const nextMsg = messages[index + 1];
48598
48665
  const isLastMessage = index === messages.length - 1;
48599
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1200 => _1200.owner, 'optionalAccess', _1201 => _1201.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1202 => _1202.owner, 'optionalAccess', _1203 => _1203.type]) === OWNER_TYPE.ADMIN);
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);
48600
48667
  if (isLastMessage || nextIsFromUser) {
48601
48668
  flushAssistantMessage();
48602
48669
  }
@@ -48932,7 +48999,7 @@ function useNatsChatAdapter(config, options = {}) {
48932
48999
  }, [active, fetchDialogs, loadDialogsPage]);
48933
49000
  const sendMessage = _react.useCallback.call(void 0,
48934
49001
  async (text, sendOptions) => {
48935
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1204 => _1204.hidden]), () => ( false));
49002
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1207 => _1207.hidden]), () => ( false));
48936
49003
  setMessages((prev) => [
48937
49004
  ...prev,
48938
49005
  {
@@ -49096,11 +49163,11 @@ function useNatsChatAdapter(config, options = {}) {
49096
49163
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
49097
49164
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
49098
49165
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
49099
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1205 => _1205.provider]), () => ( modelProvider)), () => ( null)),
49100
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1206 => _1206.modelLabel]), () => ( modelLabel)), () => ( null)),
49101
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1207 => _1207.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1208 => _1208.contextWindowMaxTokens]))), () => ( null)),
49102
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1209 => _1209.inputTokensSize]), () => ( null)),
49103
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1210 => _1210.outputTokensSize]), () => ( 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)),
49104
49171
  currentCacheHitRatePct: null,
49105
49172
  currentUsageBreakdown: null,
49106
49173
  // Dialog management
@@ -49348,7 +49415,7 @@ function extractIncompleteMessageState(lastMessage) {
49348
49415
  break;
49349
49416
  case "approval_batch": {
49350
49417
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
49351
- (c) => _optionalChain([segment, 'access', _1211 => _1211.data, 'access', _1212 => _1212.executions, 'optionalAccess', _1213 => _1213[c.toolExecutionRequestId], 'optionalAccess', _1214 => _1214.status]) === "done"
49418
+ (c) => _optionalChain([segment, 'access', _1214 => _1214.data, 'access', _1215 => _1215.executions, 'optionalAccess', _1216 => _1216[c.toolExecutionRequestId], 'optionalAccess', _1217 => _1217.status]) === "done"
49352
49419
  );
49353
49420
  if (segment.status !== "rejected" && !allDone) {
49354
49421
  hasIncompleteState = true;
@@ -49416,20 +49483,20 @@ function mergeHistoryWithRealtime(input) {
49416
49483
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
49417
49484
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
49418
49485
  const trailing = processedHistory[processedHistory.length - 1];
49419
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1215 => _1215.role]) === "assistant" ? trailing : null;
49420
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1216 => _1216.content, 'access', _1217 => _1217.find, 'call', _1218 => _1218((s) => s.type === "approval_batch"), 'optionalAccess', _1219 => _1219.data, 'optionalAccess', _1220 => _1220.approvalRequestId]), () => ( null)) : null;
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;
49421
49488
  let processedToUse = processedHistory;
49422
49489
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
49423
49490
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
49424
49491
  if (historyBatchId) {
49425
49492
  const batchTwins = existingMessages.filter(
49426
49493
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
49427
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1221 => _1221.data, 'optionalAccess', _1222 => _1222.approvalRequestId]) === historyBatchId
49494
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1224 => _1224.data, 'optionalAccess', _1225 => _1225.approvalRequestId]) === historyBatchId
49428
49495
  )
49429
49496
  );
49430
49497
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
49431
49498
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
49432
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1223 => _1223.content])) ? historyTrailingAssistant.content.length : 0;
49499
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1226 => _1226.content])) ? historyTrailingAssistant.content.length : 0;
49433
49500
  const realtimeSize = existingWithSameBatch.content.length;
49434
49501
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
49435
49502
  processedToUse = processedHistory.slice(0, -1);
@@ -49445,16 +49512,16 @@ function mergeHistoryWithRealtime(input) {
49445
49512
  if (pinnedSyntheticIds.has(m.id)) return true;
49446
49513
  if (droppedSyntheticIds.has(m.id)) return false;
49447
49514
  if (processedIds.has(m.id)) return false;
49448
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1224 => _1224.has, 'call', _1225 => _1225(m.id)])) return false;
49515
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1227 => _1227.has, 'call', _1228 => _1228(m.id)])) return false;
49449
49516
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
49450
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1226 => _1226.timestamp, 'optionalAccess', _1227 => _1227.getTime, 'call', _1228 => _1228()]), () => ( 0))) <= historyFetchedAt;
49517
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1229 => _1229.timestamp, 'optionalAccess', _1230 => _1230.getTime, 'call', _1231 => _1231()]), () => ( 0))) <= historyFetchedAt;
49451
49518
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
49452
49519
  }
49453
49520
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
49454
49521
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
49455
49522
  return false;
49456
49523
  }
49457
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1229 => _1229.timestamp, 'optionalAccess', _1230 => _1230.getTime, 'call', _1231 => _1231()]), () => ( 0))) <= historyFetchedAt;
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;
49458
49525
  if (covered) return false;
49459
49526
  }
49460
49527
  return true;
@@ -49674,7 +49741,7 @@ function useChatDialogManager({
49674
49741
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
49675
49742
  if (restoreTarget) {
49676
49743
  try {
49677
- await _optionalChain([unarchiveDialog, 'optionalCall', _1232 => _1232(restoreTarget.id)]);
49744
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1235 => _1235(restoreTarget.id)]);
49678
49745
  } catch (err) {
49679
49746
  console.error("[useChatDialogManager] unarchive failed:", err);
49680
49747
  return;
@@ -50091,7 +50158,7 @@ function EmbeddableChatInner({
50091
50158
  }),
50092
50159
  [commandsUrl]
50093
50160
  );
50094
- const userName = _optionalChain([identityUser, 'optionalAccess', _1233 => _1233.firstName, 'optionalAccess', _1234 => _1234.trim, 'call', _1235 => _1235()]) || _optionalChain([identityUser, 'optionalAccess', _1236 => _1236.name, 'optionalAccess', _1237 => _1237.split, 'call', _1238 => _1238(" "), 'access', _1239 => _1239[0], 'optionalAccess', _1240 => _1240.trim, 'call', _1241 => _1241()]) || void 0;
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;
50095
50162
  const effectiveModes = _react.useMemo.call(void 0, () => {
50096
50163
  if (modes) return modes;
50097
50164
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -50100,19 +50167,19 @@ function EmbeddableChatInner({
50100
50167
  const mingoCaps = _react.useMemo.call(void 0, () => {
50101
50168
  if (mingoState) {
50102
50169
  return {
50103
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1242 => _1242.canRename]), () => ( false)),
50104
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1243 => _1243.canArchive]), () => ( false)),
50105
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1244 => _1244.fetchArchivedDialogs]),
50106
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1245 => _1245.unarchiveDialog]),
50107
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1246 => _1246.searchQuery]),
50108
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1247 => _1247.onSearchChange])
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])
50109
50176
  };
50110
50177
  }
50111
50178
  return {
50112
- canRename: !!_optionalChain([effectiveModes, 'access', _1248 => _1248.mingo, 'optionalAccess', _1249 => _1249.renameDialog]),
50113
- canArchive: !!_optionalChain([effectiveModes, 'access', _1250 => _1250.mingo, 'optionalAccess', _1251 => _1251.archiveDialog]),
50114
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1252 => _1252.mingo, 'optionalAccess', _1253 => _1253.fetchArchivedDialogs]),
50115
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1254 => _1254.mingo, 'optionalAccess', _1255 => _1255.unarchiveDialog]),
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]),
50116
50183
  searchQuery: void 0,
50117
50184
  onSearchChange: void 0
50118
50185
  };
@@ -50126,7 +50193,7 @@ function EmbeddableChatInner({
50126
50193
  if (controlledActiveMode === void 0) {
50127
50194
  setUncontrolledActiveMode(next);
50128
50195
  }
50129
- _optionalChain([onActiveModeChange, 'optionalCall', _1256 => _1256(next)]);
50196
+ _optionalChain([onActiveModeChange, 'optionalCall', _1259 => _1259(next)]);
50130
50197
  },
50131
50198
  [controlledActiveMode, onActiveModeChange]
50132
50199
  );
@@ -50148,7 +50215,7 @@ function EmbeddableChatInner({
50148
50215
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
50149
50216
  const effectiveAssistantName = emptyStateConfig.name;
50150
50217
  const effectiveAssistantIcon = emptyStateConfig.icon;
50151
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1257 => _1257.title]) === "string" ? guideWelcome.title : null)));
50218
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1260 => _1260.title]) === "string" ? guideWelcome.title : null)));
50152
50219
  const {
50153
50220
  messages: rawMessages,
50154
50221
  isLoading: chatLoading,
@@ -50188,7 +50255,7 @@ function EmbeddableChatInner({
50188
50255
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
50189
50256
  guidePromptSentRef.current = true;
50190
50257
  void sendMessage(guidePendingPrompt);
50191
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1258 => _1258()]);
50258
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1261 => _1261()]);
50192
50259
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
50193
50260
  const {
50194
50261
  attachments: stagedAttachments,
@@ -50199,7 +50266,7 @@ function EmbeddableChatInner({
50199
50266
  clear: clearAttachments
50200
50267
  } = useChatAttachments();
50201
50268
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
50202
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1259 => _1259.maxItems]), () => ( 10));
50269
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1262 => _1262.maxItems]), () => ( 10));
50203
50270
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
50204
50271
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
50205
50272
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -50216,10 +50283,10 @@ function EmbeddableChatInner({
50216
50283
  }, [activeDialogId, activeMode]);
50217
50284
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
50218
50285
  const m = /* @__PURE__ */ new Map();
50219
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1260 => _1260.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
50286
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1263 => _1263.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
50220
50287
  return m;
50221
- }, [_optionalChain([contextPicker, 'optionalAccess', _1261 => _1261.entityTypes])]);
50222
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1262 => _1262.entityTypes]);
50288
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1264 => _1264.entityTypes])]);
50289
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1265 => _1265.entityTypes]);
50223
50290
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
50224
50291
  const byType = /* @__PURE__ */ new Map();
50225
50292
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -50231,7 +50298,7 @@ function EmbeddableChatInner({
50231
50298
  if (mentionActiveRef.current) {
50232
50299
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
50233
50300
  if (contextItems.length >= contextMaxItems) return;
50234
- _optionalChain([chatInputRef, 'access', _1263 => _1263.current, 'optionalAccess', _1264 => _1264.commitMention, 'call', _1265 => _1265(mentionTokenOf(key, mentionMarkerByType), {
50301
+ _optionalChain([chatInputRef, 'access', _1266 => _1266.current, 'optionalAccess', _1267 => _1267.commitMention, 'call', _1268 => _1268(mentionTokenOf(key, mentionMarkerByType), {
50235
50302
  label: item.label,
50236
50303
  icon: resolveContextIcon(item)
50237
50304
  })]);
@@ -50253,9 +50320,9 @@ function EmbeddableChatInner({
50253
50320
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
50254
50321
  if (mentionKeysRef.current.has(key)) {
50255
50322
  mentionKeysRef.current.delete(key);
50256
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1266 => _1266.current, 'optionalAccess', _1267 => _1267.getValue, 'call', _1268 => _1268()]), () => ( ""));
50323
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1269 => _1269.current, 'optionalAccess', _1270 => _1270.getValue, 'call', _1271 => _1271()]), () => ( ""));
50257
50324
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
50258
- _optionalChain([chatInputRef, 'access', _1269 => _1269.current, 'optionalAccess', _1270 => _1270.setValue, 'call', _1271 => _1271(next)]);
50325
+ _optionalChain([chatInputRef, 'access', _1272 => _1272.current, 'optionalAccess', _1273 => _1273.setValue, 'call', _1274 => _1274(next)]);
50259
50326
  }
50260
50327
  }, [mentionMarkerByType]);
50261
50328
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -50272,7 +50339,7 @@ function EmbeddableChatInner({
50272
50339
  }, []);
50273
50340
  const closeContextPicker = _react.useCallback.call(void 0, () => {
50274
50341
  if (mentionActiveRef.current) {
50275
- _optionalChain([chatInputRef, 'access', _1272 => _1272.current, 'optionalAccess', _1273 => _1273.removeMentionTrigger, 'call', _1274 => _1274()]);
50342
+ _optionalChain([chatInputRef, 'access', _1275 => _1275.current, 'optionalAccess', _1276 => _1276.removeMentionTrigger, 'call', _1277 => _1277()]);
50276
50343
  }
50277
50344
  setContextPickerOpen(false);
50278
50345
  setMentionQuery(null);
@@ -50306,8 +50373,8 @@ function EmbeddableChatInner({
50306
50373
  []
50307
50374
  );
50308
50375
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
50309
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1275 => _1275.firstName]), _optionalChain([identityUser, 'optionalAccess', _1276 => _1276.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1277 => _1277.name, 'optionalAccess', _1278 => _1278.trim, 'call', _1279 => _1279()]) || void 0 : void 0;
50310
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1280 => _1280.avatarUrl, 'optionalAccess', _1281 => _1281.trim, 'call', _1282 => _1282()]) || void 0 : void 0;
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;
50311
50378
  const messages = _react.useMemo.call(void 0, () => {
50312
50379
  const cache = timestampCacheRef.current;
50313
50380
  const seenIds = /* @__PURE__ */ new Set();
@@ -50476,9 +50543,9 @@ function EmbeddableChatInner({
50476
50543
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
50477
50544
  const lastSources = _react.useMemo.call(void 0, () => {
50478
50545
  if (chatLoading) return void 0;
50479
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1283 => _1283.sources]);
50546
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1286 => _1286.sources]);
50480
50547
  if (!sources || sources.length === 0) return void 0;
50481
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1284 => _1284.content]) || "";
50548
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1287 => _1287.content]) || "";
50482
50549
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
50483
50550
  (m) => parseInt(m[1], 10)
50484
50551
  );
@@ -50525,7 +50592,7 @@ function EmbeddableChatInner({
50525
50592
  ChatPanelHeader,
50526
50593
  {
50527
50594
  showBack: hasConversation || guideCanReturnToMingo,
50528
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1285 => _1285.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
50595
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1288 => _1288.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
50529
50596
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
50530
50597
  isArchivedView: isViewingArchived,
50531
50598
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -50646,9 +50713,9 @@ function EmbeddableChatInner({
50646
50713
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
50647
50714
  subtitleLoading: emptyStateLoading,
50648
50715
  ...guideWelcome,
50649
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1286 => _1286.title]))),
50650
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1287 => _1287.icon]))),
50651
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1288 => _1288.quickActions]), () => ( guideSuggestedActions)),
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)),
50652
50719
  onQuickAction: (action) => {
50653
50720
  setQuickActionPreview(null);
50654
50721
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -51757,5 +51824,6 @@ function EmbeddableChatInner({
51757
51824
 
51758
51825
 
51759
51826
 
51760
- 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.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;
51761
- //# sourceMappingURL=chunk-SZSBHBXE.cjs.map
51827
+
51828
+ 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