@flamingo-stack/openframe-frontend-core 0.0.433 → 0.0.434-snapshot.20260716100758

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 (92) hide show
  1. package/dist/{chunk-G53TY623.cjs → chunk-2QJNX32P.cjs} +5 -5
  2. package/dist/{chunk-G53TY623.cjs.map → chunk-2QJNX32P.cjs.map} +1 -1
  3. package/dist/{chunk-WQBF24EU.js → chunk-2WXQFYNC.js} +2 -2
  4. package/dist/{chunk-ZCYIAYXE.js → chunk-32BSKGEI.js} +2 -2
  5. package/dist/{chunk-FWWVCUKD.cjs → chunk-32V2VHPE.cjs} +26 -26
  6. package/dist/{chunk-FWWVCUKD.cjs.map → chunk-32V2VHPE.cjs.map} +1 -1
  7. package/dist/{chunk-3IOTHPLN.js → chunk-3OPSNUPJ.js} +2 -2
  8. package/dist/{chunk-ZI2KYDF5.cjs → chunk-3V5UQ5TU.cjs} +519 -541
  9. package/dist/chunk-3V5UQ5TU.cjs.map +1 -0
  10. package/dist/{chunk-VKPUQEUK.cjs → chunk-AUSUEKXY.cjs} +31 -31
  11. package/dist/{chunk-VKPUQEUK.cjs.map → chunk-AUSUEKXY.cjs.map} +1 -1
  12. package/dist/{chunk-U7SA4IBV.js → chunk-BMEA5NPX.js} +4 -4
  13. package/dist/{chunk-R3ECKOB3.js → chunk-DVYA3BDU.js} +4 -4
  14. package/dist/{chunk-CRKDP2KR.cjs → chunk-E6NRV33G.cjs} +11 -11
  15. package/dist/{chunk-CRKDP2KR.cjs.map → chunk-E6NRV33G.cjs.map} +1 -1
  16. package/dist/{chunk-JHO5NUNE.js → chunk-E77Z2P3K.js} +4 -4
  17. package/dist/{chunk-ZLU2M77D.js → chunk-FSOKLOXF.js} +2 -2
  18. package/dist/{chunk-QKOPQQNJ.js → chunk-GQHXJ37C.js} +2 -2
  19. package/dist/{chunk-4NB5H467.cjs → chunk-IWYRSGJU.cjs} +9 -9
  20. package/dist/{chunk-4NB5H467.cjs.map → chunk-IWYRSGJU.cjs.map} +1 -1
  21. package/dist/{chunk-A2UVRFQZ.cjs → chunk-KVXB3FOB.cjs} +62 -62
  22. package/dist/{chunk-A2UVRFQZ.cjs.map → chunk-KVXB3FOB.cjs.map} +1 -1
  23. package/dist/{chunk-KTRF5DFM.js → chunk-LYK6D7GU.js} +2 -2
  24. package/dist/{chunk-M4HLBLNW.js → chunk-MWIYAVFT.js} +4 -4
  25. package/dist/{chunk-ER7ASTNL.js → chunk-NFU37EP6.js} +2 -2
  26. package/dist/{chunk-UUHMFRQR.cjs → chunk-NGBO5Z5O.cjs} +15 -15
  27. package/dist/{chunk-UUHMFRQR.cjs.map → chunk-NGBO5Z5O.cjs.map} +1 -1
  28. package/dist/{chunk-IZ6K6WKG.cjs → chunk-NRIJNBRG.cjs} +26 -26
  29. package/dist/{chunk-IZ6K6WKG.cjs.map → chunk-NRIJNBRG.cjs.map} +1 -1
  30. package/dist/{chunk-RIZ3HXA3.cjs → chunk-P5EN67AU.cjs} +59 -59
  31. package/dist/{chunk-RIZ3HXA3.cjs.map → chunk-P5EN67AU.cjs.map} +1 -1
  32. package/dist/{chunk-M7V5SDPD.cjs → chunk-PXTDEKAY.cjs} +7 -7
  33. package/dist/{chunk-M7V5SDPD.cjs.map → chunk-PXTDEKAY.cjs.map} +1 -1
  34. package/dist/{chunk-5OIHDVUB.cjs → chunk-WXNE2BF4.cjs} +37 -37
  35. package/dist/{chunk-5OIHDVUB.cjs.map → chunk-WXNE2BF4.cjs.map} +1 -1
  36. package/dist/{chunk-7GBV6QVN.js → chunk-ZH2OEMQJ.js} +135 -157
  37. package/dist/chunk-ZH2OEMQJ.js.map +1 -0
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/auth/create-organization-form.d.ts +8 -4
  51. package/dist/components/features/auth/create-organization-form.d.ts.map +1 -1
  52. package/dist/components/features/auth/login-form.d.ts +18 -14
  53. package/dist/components/features/auth/login-form.d.ts.map +1 -1
  54. package/dist/components/features/auth/sso-providers.d.ts +7 -1
  55. package/dist/components/features/auth/sso-providers.d.ts.map +1 -1
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  59. package/dist/components/help-center-pages/index.cjs +20 -20
  60. package/dist/components/help-center-pages/index.js +11 -11
  61. package/dist/components/index.cjs +128 -128
  62. package/dist/components/index.js +9 -9
  63. package/dist/components/navigation/index.cjs +2 -2
  64. package/dist/components/navigation/index.js +1 -1
  65. package/dist/components/onboarding-guides/index.cjs +5 -5
  66. package/dist/components/onboarding-guides/index.js +4 -4
  67. package/dist/components/related-content/index.cjs +3 -3
  68. package/dist/components/related-content/index.js +2 -2
  69. package/dist/components/tickets/index.cjs +5 -5
  70. package/dist/components/tickets/index.js +4 -4
  71. package/dist/components/ui/index.cjs +2 -2
  72. package/dist/components/ui/index.js +1 -1
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.js +1 -1
  75. package/package.json +1 -1
  76. package/src/components/features/auth/create-organization-form.tsx +37 -28
  77. package/src/components/features/auth/login-form.tsx +29 -60
  78. package/src/components/features/auth/sso-providers.tsx +8 -1
  79. package/src/components/features/video-bites-strip.tsx +6 -0
  80. package/dist/chunk-7GBV6QVN.js.map +0 -1
  81. package/dist/chunk-ZI2KYDF5.cjs.map +0 -1
  82. /package/dist/{chunk-WQBF24EU.js.map → chunk-2WXQFYNC.js.map} +0 -0
  83. /package/dist/{chunk-ZCYIAYXE.js.map → chunk-32BSKGEI.js.map} +0 -0
  84. /package/dist/{chunk-3IOTHPLN.js.map → chunk-3OPSNUPJ.js.map} +0 -0
  85. /package/dist/{chunk-U7SA4IBV.js.map → chunk-BMEA5NPX.js.map} +0 -0
  86. /package/dist/{chunk-R3ECKOB3.js.map → chunk-DVYA3BDU.js.map} +0 -0
  87. /package/dist/{chunk-JHO5NUNE.js.map → chunk-E77Z2P3K.js.map} +0 -0
  88. /package/dist/{chunk-ZLU2M77D.js.map → chunk-FSOKLOXF.js.map} +0 -0
  89. /package/dist/{chunk-QKOPQQNJ.js.map → chunk-GQHXJ37C.js.map} +0 -0
  90. /package/dist/{chunk-KTRF5DFM.js.map → chunk-LYK6D7GU.js.map} +0 -0
  91. /package/dist/{chunk-M4HLBLNW.js.map → chunk-MWIYAVFT.js.map} +0 -0
  92. /package/dist/{chunk-ER7ASTNL.js.map → chunk-NFU37EP6.js.map} +0 -0
@@ -11351,6 +11351,7 @@ function VideoBiteCard({
11351
11351
  src: posterSrc,
11352
11352
  alt: "",
11353
11353
  fill: true,
11354
+ sizes: "234px",
11354
11355
  unoptimized: true,
11355
11356
  onError: onPosterError,
11356
11357
  className: "object-cover"
@@ -26013,7 +26014,8 @@ function SsoProviderButtons({
26013
26014
  providers,
26014
26015
  onSsoClick,
26015
26016
  actionLabel = "Continue with",
26016
- disabled = false
26017
+ disabled = false,
26018
+ enabledProviders
26017
26019
  }) {
26018
26020
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-l)]", children: providers.map((provider) => {
26019
26021
  const meta = PROVIDER_META[provider];
@@ -26024,7 +26026,7 @@ function SsoProviderButtons({
26024
26026
  type: "button",
26025
26027
  variant: "outline",
26026
26028
  fullWidth: true,
26027
- disabled,
26029
+ disabled: disabled || (enabledProviders ? !enabledProviders.includes(provider) : false),
26028
26030
  className: "disabled:bg-ods-bg",
26029
26031
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon2, { className: "h-5 w-5" }),
26030
26032
  onClick: () => _optionalChain([onSsoClick, 'optionalCall', _517 => _517(provider)]),
@@ -26251,11 +26253,13 @@ function CreateOrganizationForm({
26251
26253
  domainSlot,
26252
26254
  ssoProviders,
26253
26255
  onSsoClick,
26256
+ ssoDisabled = false,
26254
26257
  ssoActionLabel = "Continue with",
26258
+ dividerLabel = "or continue with",
26255
26259
  className
26256
26260
  }) {
26257
- const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26258
- const fieldsDisabled = disabled || loading || isSsoMode;
26261
+ const hasSso = !!ssoProviders && ssoProviders.length > 0;
26262
+ const fieldsDisabled = disabled || loading;
26259
26263
  const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
26260
26264
  const orgNameErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
26261
26265
  const domainErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
@@ -26334,27 +26338,31 @@ function CreateOrganizationForm({
26334
26338
  onCheckedChange: onAgreedToTermsChange
26335
26339
  }
26336
26340
  ),
26337
- isSsoMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26338
- SsoProviderButtons,
26341
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26342
+ _chunkIMK6RUECcjs.Button,
26339
26343
  {
26340
- providers: ssoProviders,
26341
- onSsoClick,
26342
- actionLabel: ssoActionLabel,
26343
- disabled: disabled || loading
26344
+ type: "button",
26345
+ variant: "accent",
26346
+ fullWidth: true,
26347
+ loading,
26348
+ disabled: disabled || submitDisabled,
26349
+ onClick: onSubmit,
26350
+ children: submitLabel
26344
26351
  }
26345
- ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-l)]", children: [
26346
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
26352
+ ),
26353
+ hasSso && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
26354
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
26355
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-border" }),
26356
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 text-ods-text-secondary", children: dividerLabel }),
26357
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-px flex-1 bg-ods-border" })
26358
+ ] }),
26347
26359
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26348
- _chunkIMK6RUECcjs.Button,
26360
+ SsoProviderButtons,
26349
26361
  {
26350
- type: "button",
26351
- variant: "accent",
26352
- fullWidth: true,
26353
- className: "md:flex-1",
26354
- loading,
26355
- disabled: disabled || submitDisabled,
26356
- onClick: onSubmit,
26357
- children: submitLabel
26362
+ providers: ssoProviders,
26363
+ onSsoClick,
26364
+ actionLabel: ssoActionLabel,
26365
+ disabled: disabled || loading || ssoDisabled
26358
26366
  }
26359
26367
  )
26360
26368
  ] })
@@ -26390,31 +26398,28 @@ function InviteLinkInvalidModal({
26390
26398
 
26391
26399
  // src/components/features/auth/login-form.tsx
26392
26400
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
26393
- _chunkIMK6RUECcjs.init_button2.call(void 0, );
26394
26401
 
26395
26402
  function LoginForm({
26396
26403
  email,
26397
26404
  onEmailChange,
26398
26405
  onSubmit,
26399
- onForgotPassword,
26400
26406
  emailPlaceholder = "username@mail.com",
26401
- submitLabel = "Continue",
26402
- forgotPasswordLabel = "Forgot Password?",
26403
- submitDisabled = false,
26404
26407
  loading = false,
26405
26408
  disabled = false,
26406
26409
  errors,
26410
+ emailStatus,
26407
26411
  ssoProviders,
26408
26412
  onSsoClick,
26413
+ ssoDisabled = false,
26414
+ ssoEnabledProviders,
26409
26415
  ssoActionLabel = "Continue with",
26410
26416
  className
26411
26417
  }) {
26412
- const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26413
- const fieldDisabled = disabled || loading || isSsoMode;
26418
+ const fieldDisabled = disabled || loading;
26414
26419
  const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
26415
26420
  const handleKeyDown = (event) => {
26416
26421
  if (event.key === "Enter" && !fieldDisabled) {
26417
- onSubmit();
26422
+ _optionalChain([onSubmit, 'optionalCall', _531 => _531()]);
26418
26423
  }
26419
26424
  };
26420
26425
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26436,51 +26441,24 @@ function LoginForm({
26436
26441
  label: "Email",
26437
26442
  placeholder: emailPlaceholder,
26438
26443
  value: email,
26439
- error: emailErr.error,
26444
+ error: _nullishCoalesce(emailErr.error, () => ( _optionalChain([emailStatus, 'optionalAccess', _532 => _532.message]))),
26445
+ errorVariant: emailErr.error ? "error" : _optionalChain([emailStatus, 'optionalAccess', _533 => _533.variant]),
26440
26446
  disabled: fieldDisabled,
26441
26447
  onBlur: emailErr.onBlur,
26442
26448
  onChange: (event) => onEmailChange(event.target.value),
26443
26449
  onKeyDown: handleKeyDown
26444
26450
  }
26445
26451
  ),
26446
- isSsoMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26452
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26447
26453
  SsoProviderButtons,
26448
26454
  {
26449
26455
  providers: ssoProviders,
26450
26456
  onSsoClick,
26451
26457
  actionLabel: ssoActionLabel,
26452
- disabled: disabled || loading
26458
+ disabled: disabled || loading || ssoDisabled,
26459
+ enabledProviders: ssoEnabledProviders
26453
26460
  }
26454
- ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-l)]", children: [
26455
- onForgotPassword ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26456
- _chunkIMK6RUECcjs.Button,
26457
- {
26458
- type: "button",
26459
- variant: "transparent",
26460
- fullWidth: true,
26461
- className: "flex-1",
26462
- disabled: disabled || loading,
26463
- onClick: onForgotPassword,
26464
- children: forgotPasswordLabel
26465
- }
26466
- ) : (
26467
- // Spacer keeps the button on the right half, matching the design
26468
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" })
26469
- ),
26470
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26471
- _chunkIMK6RUECcjs.Button,
26472
- {
26473
- type: "button",
26474
- variant: "accent",
26475
- fullWidth: true,
26476
- className: onForgotPassword ? "flex-1" : "md:flex-1",
26477
- loading,
26478
- disabled: disabled || submitDisabled,
26479
- onClick: onSubmit,
26480
- children: submitLabel
26481
- }
26482
- )
26483
- ] })
26461
+ )
26484
26462
  ]
26485
26463
  }
26486
26464
  );
@@ -26512,8 +26490,8 @@ function OpenFrameSsoLoginForm({
26512
26490
  className
26513
26491
  }) {
26514
26492
  const fieldsDisabled = disabled || loading;
26515
- const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
26516
- const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
26493
+ const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.email]), email);
26494
+ const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.password]), password);
26517
26495
  const handleKeyDown = (event) => {
26518
26496
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26519
26497
  onSubmit();
@@ -26620,11 +26598,11 @@ function OpenFrameSsoSignUpForm({
26620
26598
  className
26621
26599
  }) {
26622
26600
  const fieldsDisabled = disabled || loading;
26623
- const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26624
- const firstNameErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
26625
- const lastNameErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
26626
- const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
26627
- const confirmErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
26601
+ const emailErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.email]), email);
26602
+ const firstNameErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.firstName]), firstName);
26603
+ const lastNameErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.lastName]), lastName);
26604
+ const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.password]), password);
26605
+ const confirmErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _540 => _540.confirmPassword]), confirmPassword);
26628
26606
  const handleKeyDown = (event) => {
26629
26607
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26630
26608
  onSubmit();
@@ -26767,8 +26745,8 @@ function PasswordResetForm({
26767
26745
  className
26768
26746
  }) {
26769
26747
  const fieldsDisabled = disabled || loading;
26770
- const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26771
- const confirmErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
26748
+ const passwordErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _541 => _541.password]), password);
26749
+ const confirmErr = _chunkN2TJ3HAMcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _542 => _542.confirmPassword]), confirmPassword);
26772
26750
  const handleKeyDown = (event) => {
26773
26751
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26774
26752
  onSubmit();
@@ -27471,10 +27449,10 @@ var getContentDimensions = (config) => {
27471
27449
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
27472
27450
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
27473
27451
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
27474
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _540 => _540.mobileContentDimensions, 'optionalAccess', _541 => _541.width]))), () => ( defaultMobile.width));
27475
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _542 => _542.mobileContentDimensions, 'optionalAccess', _543 => _543.height]))), () => ( defaultMobile.height));
27476
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _544 => _544.desktopContentDimensions, 'optionalAccess', _545 => _545.width]))), () => ( defaultDesktop.width));
27477
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _546 => _546.desktopContentDimensions, 'optionalAccess', _547 => _547.height]))), () => ( defaultDesktop.height));
27452
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _543 => _543.mobileContentDimensions, 'optionalAccess', _544 => _544.width]))), () => ( defaultMobile.width));
27453
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _545 => _545.mobileContentDimensions, 'optionalAccess', _546 => _546.height]))), () => ( defaultMobile.height));
27454
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _547 => _547.desktopContentDimensions, 'optionalAccess', _548 => _548.width]))), () => ( defaultDesktop.width));
27455
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _549 => _549.desktopContentDimensions, 'optionalAccess', _550 => _550.height]))), () => ( defaultDesktop.height));
27478
27456
  return {
27479
27457
  mobile: { width: mobileWidth, height: mobileHeight },
27480
27458
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -27608,7 +27586,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
27608
27586
  const contentDimensions = getContentDimensions(config);
27609
27587
  const mobileHeight = contentDimensions.mobile.height;
27610
27588
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
27611
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _548 => _548.innerHeight]) * 0.85 || 650)}px`;
27589
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _551 => _551.innerHeight]) * 0.85 || 650)}px`;
27612
27590
  })(),
27613
27591
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
27614
27592
  const contentDimensions = getContentDimensions(config);
@@ -27713,7 +27691,7 @@ var FigmaPrototypeViewer = ({
27713
27691
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
27714
27692
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
27715
27693
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
27716
- config.defaultSectionId || _optionalChain([config, 'access', _549 => _549.sections, 'access', _550 => _550[0], 'optionalAccess', _551 => _551.id]) || ""
27694
+ config.defaultSectionId || _optionalChain([config, 'access', _552 => _552.sections, 'access', _553 => _553[0], 'optionalAccess', _554 => _554.id]) || ""
27717
27695
  );
27718
27696
  const activeSection = externalActiveSection || internalActiveSection;
27719
27697
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -27803,7 +27781,7 @@ var FigmaPrototypeViewer = ({
27803
27781
  const handleMessage = (event) => {
27804
27782
  if (event.origin !== "https://www.figma.com") return;
27805
27783
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
27806
- if (_optionalChain([event, 'access', _552 => _552.data, 'optionalAccess', _553 => _553.type]) && validEvents.includes(event.data.type)) {
27784
+ if (_optionalChain([event, 'access', _555 => _555.data, 'optionalAccess', _556 => _556.type]) && validEvents.includes(event.data.type)) {
27807
27785
  const figmaEvent = event.data;
27808
27786
  console.log("[Figma Event]", figmaEvent.type, viewMode);
27809
27787
  switch (figmaEvent.type) {
@@ -27813,19 +27791,19 @@ var FigmaPrototypeViewer = ({
27813
27791
  setIframeState("READY");
27814
27792
  break;
27815
27793
  case "PRESENTED_NODE_CHANGED":
27816
- if (_optionalChain([figmaEvent, 'access', _554 => _554.data, 'optionalAccess', _555 => _555.presentedNodeId])) {
27794
+ if (_optionalChain([figmaEvent, 'access', _557 => _557.data, 'optionalAccess', _558 => _558.presentedNodeId])) {
27817
27795
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
27818
27796
  if (!isNavigating) {
27819
27797
  const matchingSection = config.sections.find((s) => {
27820
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _556 => _556.data, 'optionalAccess', _557 => _557.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _558 => _558.data, 'optionalAccess', _559 => _559.presentedNodeId]);
27821
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _560 => _560.data, 'optionalAccess', _561 => _561.presentedNodeId]) || _optionalChain([s, 'access', _562 => _562.mobileStartingNodeId, 'optionalAccess', _563 => _563.replace, 'call', _564 => _564(":", "-")]) === _optionalChain([figmaEvent, 'access', _565 => _565.data, 'optionalAccess', _566 => _566.presentedNodeId]);
27798
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _559 => _559.data, 'optionalAccess', _560 => _560.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _561 => _561.data, 'optionalAccess', _562 => _562.presentedNodeId]);
27799
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _563 => _563.data, 'optionalAccess', _564 => _564.presentedNodeId]) || _optionalChain([s, 'access', _565 => _565.mobileStartingNodeId, 'optionalAccess', _566 => _566.replace, 'call', _567 => _567(":", "-")]) === _optionalChain([figmaEvent, 'access', _568 => _568.data, 'optionalAccess', _569 => _569.presentedNodeId]);
27822
27800
  return desktopMatch || mobileMatch;
27823
27801
  });
27824
27802
  if (matchingSection && matchingSection.id !== activeSection) {
27825
27803
  if (!externalActiveSection) {
27826
27804
  setInternalActiveSection(matchingSection.id);
27827
27805
  }
27828
- _optionalChain([config, 'access', _567 => _567.onSectionChange, 'optionalCall', _568 => _568(matchingSection.id)]);
27806
+ _optionalChain([config, 'access', _570 => _570.onSectionChange, 'optionalCall', _571 => _571(matchingSection.id)]);
27829
27807
  }
27830
27808
  }
27831
27809
  }
@@ -27838,7 +27816,7 @@ var FigmaPrototypeViewer = ({
27838
27816
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
27839
27817
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
27840
27818
  const section = config.sections.find((s) => s.id === sectionId);
27841
- if (!section || !_optionalChain([iframeRef, 'access', _569 => _569.current, 'optionalAccess', _570 => _570.contentWindow]) || !isInitialized) {
27819
+ if (!section || !_optionalChain([iframeRef, 'access', _572 => _572.current, 'optionalAccess', _573 => _573.contentWindow]) || !isInitialized) {
27842
27820
  return;
27843
27821
  }
27844
27822
  setIsNavigating(true);
@@ -27846,7 +27824,7 @@ var FigmaPrototypeViewer = ({
27846
27824
  if (!externalActiveSection) {
27847
27825
  setInternalActiveSection(sectionId);
27848
27826
  }
27849
- _optionalChain([config, 'access', _571 => _571.onSectionChange, 'optionalCall', _572 => _572(sectionId)]);
27827
+ _optionalChain([config, 'access', _574 => _574.onSectionChange, 'optionalCall', _575 => _575(sectionId)]);
27850
27828
  const command = {
27851
27829
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
27852
27830
  data: { nodeId }
@@ -28166,7 +28144,7 @@ var FiltersDropdown = ({
28166
28144
  defaults[section.id] = section.defaultSelected || [];
28167
28145
  });
28168
28146
  setSelectedFilters(defaults);
28169
- _optionalChain([onReset, 'optionalCall', _573 => _573()]);
28147
+ _optionalChain([onReset, 'optionalCall', _576 => _576()]);
28170
28148
  setIsOpen(false);
28171
28149
  };
28172
28150
  const handleApply = () => {
@@ -28459,7 +28437,7 @@ function MediaGalleryManager({
28459
28437
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
28460
28438
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
28461
28439
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
28462
- const file = _optionalChain([event, 'access', _574 => _574.target, 'access', _575 => _575.files, 'optionalAccess', _576 => _576[0]]);
28440
+ const file = _optionalChain([event, 'access', _577 => _577.target, 'access', _578 => _578.files, 'optionalAccess', _579 => _579[0]]);
28463
28441
  if (!file) return;
28464
28442
  let mediaType;
28465
28443
  if (file.type.startsWith("image/")) {
@@ -28574,7 +28552,7 @@ function MediaGalleryManager({
28574
28552
  {
28575
28553
  type: "button",
28576
28554
  variant: "outline",
28577
- onClick: () => _optionalChain([fileInputRef, 'access', _577 => _577.current, 'optionalAccess', _578 => _578.click, 'call', _579 => _579()]),
28555
+ onClick: () => _optionalChain([fileInputRef, 'access', _580 => _580.current, 'optionalAccess', _581 => _581.click, 'call', _582 => _582()]),
28578
28556
  disabled: isUploading,
28579
28557
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
28580
28558
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29238,7 +29216,7 @@ function ReleaseMediaManager({
29238
29216
  const fileInputRef = _react.useRef.call(void 0, null);
29239
29217
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
29240
29218
  const handleFileSelect = async (event) => {
29241
- const file = _optionalChain([event, 'access', _580 => _580.target, 'access', _581 => _581.files, 'optionalAccess', _582 => _582[0]]);
29219
+ const file = _optionalChain([event, 'access', _583 => _583.target, 'access', _584 => _584.files, 'optionalAccess', _585 => _585[0]]);
29242
29220
  if (!file) return;
29243
29221
  let mediaType;
29244
29222
  if (file.type.startsWith("image/")) {
@@ -29318,7 +29296,7 @@ function ReleaseMediaManager({
29318
29296
  {
29319
29297
  type: "button",
29320
29298
  variant: "outline",
29321
- onClick: () => _optionalChain([fileInputRef, 'access', _583 => _583.current, 'optionalAccess', _584 => _584.click, 'call', _585 => _585()]),
29299
+ onClick: () => _optionalChain([fileInputRef, 'access', _586 => _586.current, 'optionalAccess', _587 => _587.click, 'call', _588 => _588()]),
29322
29300
  disabled: uploadingIndex !== null,
29323
29301
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
29324
29302
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29535,7 +29513,7 @@ function SEOEditorPreview({
29535
29513
  const displayImage = hasOgImage || hasFeaturedImage;
29536
29514
  const handleImageUpload = async (event) => {
29537
29515
  if (!onOgImageUpload) return;
29538
- const file = _optionalChain([event, 'access', _586 => _586.target, 'access', _587 => _587.files, 'optionalAccess', _588 => _588[0]]);
29516
+ const file = _optionalChain([event, 'access', _589 => _589.target, 'access', _590 => _590.files, 'optionalAccess', _591 => _591[0]]);
29539
29517
  if (!file) return;
29540
29518
  setIsUploading(true);
29541
29519
  try {
@@ -29695,7 +29673,7 @@ function SEOEditorPreview({
29695
29673
  type: "button",
29696
29674
  variant: "outline",
29697
29675
  size: "icon",
29698
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _589 => _589.click, 'call', _590 => _590()]),
29676
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _592 => _592.click, 'call', _593 => _593()]),
29699
29677
  disabled: disabled || isUploading,
29700
29678
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
29701
29679
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -29718,7 +29696,7 @@ function SEOEditorPreview({
29718
29696
  "div",
29719
29697
  {
29720
29698
  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",
29721
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _591 => _591.click, 'call', _592 => _592()]),
29699
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _594 => _594.click, 'call', _595 => _595()]),
29722
29700
  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: [
29723
29701
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
29724
29702
  /* @__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" })
@@ -29805,7 +29783,7 @@ function SocialLinksManager({
29805
29783
  className = ""
29806
29784
  }) {
29807
29785
  const addLink = () => {
29808
- const firstPlatform = _optionalChain([platforms, 'access', _593 => _593[0], 'optionalAccess', _594 => _594.name]) || "website";
29786
+ const firstPlatform = _optionalChain([platforms, 'access', _596 => _596[0], 'optionalAccess', _597 => _597.name]) || "website";
29809
29787
  onChange([...links, { platform: firstPlatform, url: "" }]);
29810
29788
  };
29811
29789
  const removeLink = (index) => {
@@ -29817,7 +29795,7 @@ function SocialLinksManager({
29817
29795
  onChange(updated);
29818
29796
  };
29819
29797
  const getIcon = (link, platform) => {
29820
- const iconKey = _optionalChain([platform, 'optionalAccess', _595 => _595.icon_name]) || link.platform;
29798
+ const iconKey = _optionalChain([platform, 'optionalAccess', _598 => _598.icon_name]) || link.platform;
29821
29799
  const IconComponent = iconMap[iconKey];
29822
29800
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
29823
29801
  };
@@ -29842,7 +29820,7 @@ function SocialLinksManager({
29842
29820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29843
29821
  _chunkIMK6RUECcjs.Input,
29844
29822
  {
29845
- placeholder: _optionalChain([platform, 'optionalAccess', _596 => _596.placeholder]) || "Profile URL",
29823
+ placeholder: _optionalChain([platform, 'optionalAccess', _599 => _599.placeholder]) || "Profile URL",
29846
29824
  value: link.url,
29847
29825
  onChange: (e) => updateLink(index, "url", e.target.value),
29848
29826
  onKeyDown: (e) => {
@@ -30286,7 +30264,7 @@ function VideoSourceSelector({
30286
30264
  input.accept = "video/*";
30287
30265
  input.onchange = async (e) => {
30288
30266
  const target = e.target;
30289
- const file = _optionalChain([target, 'access', _597 => _597.files, 'optionalAccess', _598 => _598[0]]);
30267
+ const file = _optionalChain([target, 'access', _600 => _600.files, 'optionalAccess', _601 => _601[0]]);
30290
30268
  if (!file) return;
30291
30269
  setIsUploading(true);
30292
30270
  setUploadProgress(0);
@@ -30635,7 +30613,7 @@ function TranscriptSummaryEditor({
30635
30613
  {
30636
30614
  id: "subtitles",
30637
30615
  value: subtitles || "",
30638
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _599 => _599(e.target.value)]),
30616
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _602 => _602(e.target.value)]),
30639
30617
  placeholder: subtitlesPlaceholder,
30640
30618
  disabled: disabled || !onSubtitlesChange,
30641
30619
  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",
@@ -30788,7 +30766,7 @@ var AIEnrichSection = ({
30788
30766
  }) => {
30789
30767
  const hasResults = status === "success" || status === "error";
30790
30768
  const shouldDisable = disabled || !canEnrich;
30791
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _600 => _600.filter, 'call', _601 => _601((f) => !f.isFilled)]) || [];
30769
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _603 => _603.filter, 'call', _604 => _604((f) => !f.isFilled)]) || [];
30792
30770
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30793
30771
  "div",
30794
30772
  {
@@ -30826,7 +30804,7 @@ var AIEnrichSection = ({
30826
30804
  {
30827
30805
  id: "ai-enrich-custom-instructions",
30828
30806
  value: _nullishCoalesce(customInstructions, () => ( "")),
30829
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _602 => _602(e.target.value)]),
30807
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _605 => _605(e.target.value)]),
30830
30808
  placeholder: customInstructionsPlaceholder,
30831
30809
  disabled: loading,
30832
30810
  maxLength: customInstructionsMaxLength,
@@ -30955,7 +30933,7 @@ function HighlightVideoSection({
30955
30933
  input.accept = "video/*";
30956
30934
  input.onchange = async (e) => {
30957
30935
  const target = e.target;
30958
- const file = _optionalChain([target, 'access', _603 => _603.files, 'optionalAccess', _604 => _604[0]]);
30936
+ const file = _optionalChain([target, 'access', _606 => _606.files, 'optionalAccess', _607 => _607[0]]);
30959
30937
  if (!file) return;
30960
30938
  setUploadError(null);
30961
30939
  try {
@@ -31450,7 +31428,7 @@ function HighlightVideoPreview({
31450
31428
  input.accept = "video/*";
31451
31429
  input.onchange = async (e) => {
31452
31430
  const target = e.target;
31453
- const file = _optionalChain([target, 'access', _605 => _605.files, 'optionalAccess', _606 => _606[0]]);
31431
+ const file = _optionalChain([target, 'access', _608 => _608.files, 'optionalAccess', _609 => _609[0]]);
31454
31432
  if (!file) return;
31455
31433
  await onUpload(file);
31456
31434
  };
@@ -31634,7 +31612,7 @@ function HighlightVideoCombinedSection({
31634
31612
  input.accept = "video/*";
31635
31613
  input.onchange = async (e) => {
31636
31614
  const target = e.target;
31637
- const file = _optionalChain([target, 'access', _607 => _607.files, 'optionalAccess', _608 => _608[0]]);
31615
+ const file = _optionalChain([target, 'access', _610 => _610.files, 'optionalAccess', _611 => _611[0]]);
31638
31616
  if (!file) return;
31639
31617
  await onUpload(file);
31640
31618
  };
@@ -31928,7 +31906,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
31928
31906
  return editMode ? "Set Global Permission" : "";
31929
31907
  }
31930
31908
  const option = approvalLevelOptions.find((opt) => opt.value === level);
31931
- return _optionalChain([option, 'optionalAccess', _609 => _609.label]) || level;
31909
+ return _optionalChain([option, 'optionalAccess', _612 => _612.label]) || level;
31932
31910
  };
31933
31911
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
31934
31912
  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: [
@@ -32142,12 +32120,12 @@ function PhoneInput({
32142
32120
  const runValidation = _react.useCallback.call(void 0, (phone) => {
32143
32121
  if (!phone || digitCount(phone) === 0) {
32144
32122
  setIsInvalid(false);
32145
- _optionalChain([onValidationChange, 'optionalCall', _610 => _610(false)]);
32123
+ _optionalChain([onValidationChange, 'optionalCall', _613 => _613(false)]);
32146
32124
  return;
32147
32125
  }
32148
32126
  const invalid = !validatePhoneNumber(phone, countryCode);
32149
32127
  setIsInvalid(invalid);
32150
- _optionalChain([onValidationChange, 'optionalCall', _611 => _611(invalid)]);
32128
+ _optionalChain([onValidationChange, 'optionalCall', _614 => _614(invalid)]);
32151
32129
  }, [countryCode, digitCount, onValidationChange]);
32152
32130
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
32153
32131
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -32196,7 +32174,7 @@ function PhoneInput({
32196
32174
  debouncedValidation(val);
32197
32175
  } else if (digitCount(val) === 0) {
32198
32176
  setIsInvalid(false);
32199
- _optionalChain([onValidationChange, 'optionalCall', _612 => _612(false)]);
32177
+ _optionalChain([onValidationChange, 'optionalCall', _615 => _615(false)]);
32200
32178
  }
32201
32179
  }
32202
32180
  },
@@ -32537,19 +32515,19 @@ function NotificationsProvider({
32537
32515
  }, []);
32538
32516
  const markRead = React99.useCallback((id) => {
32539
32517
  dispatch({ type: "markRead", id });
32540
- void _optionalChain([actionsRef, 'access', _613 => _613.current, 'optionalAccess', _614 => _614.onMarkRead, 'optionalCall', _615 => _615(id)]);
32518
+ void _optionalChain([actionsRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.onMarkRead, 'optionalCall', _618 => _618(id)]);
32541
32519
  }, []);
32542
32520
  const markAllRead = React99.useCallback(() => {
32543
32521
  dispatch({ type: "markAllRead" });
32544
- void _optionalChain([actionsRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.onMarkAllRead, 'optionalCall', _618 => _618()]);
32522
+ void _optionalChain([actionsRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.onMarkAllRead, 'optionalCall', _621 => _621()]);
32545
32523
  }, []);
32546
32524
  const markSettled = React99.useCallback((id) => {
32547
32525
  dispatch({ type: "markSettled", id });
32548
- void _optionalChain([actionsRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.onMarkSettled, 'optionalCall', _621 => _621(id)]);
32526
+ void _optionalChain([actionsRef, 'access', _622 => _622.current, 'optionalAccess', _623 => _623.onMarkSettled, 'optionalCall', _624 => _624(id)]);
32549
32527
  }, []);
32550
32528
  const remove = React99.useCallback((id) => {
32551
32529
  dispatch({ type: "remove", id });
32552
- void _optionalChain([actionsRef, 'access', _622 => _622.current, 'optionalAccess', _623 => _623.onRemove, 'optionalCall', _624 => _624(id)]);
32530
+ void _optionalChain([actionsRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.onRemove, 'optionalCall', _627 => _627(id)]);
32553
32531
  }, []);
32554
32532
  const clear = React99.useCallback(() => dispatch({ type: "clear" }), []);
32555
32533
  const open = React99.useCallback(() => setIsOpen(true), []);
@@ -32558,14 +32536,14 @@ function NotificationsProvider({
32558
32536
  const setShowPopups = React99.useCallback(
32559
32537
  (value2) => {
32560
32538
  setShowPopupsState(value2);
32561
- _optionalChain([onShowPopupsChange, 'optionalCall', _625 => _625(value2)]);
32539
+ _optionalChain([onShowPopupsChange, 'optionalCall', _628 => _628(value2)]);
32562
32540
  },
32563
32541
  [onShowPopupsChange]
32564
32542
  );
32565
32543
  const setShowDesktopPopups = React99.useCallback(
32566
32544
  (value2) => {
32567
32545
  setShowDesktopPopupsState(value2);
32568
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _626 => _626(value2)]);
32546
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _629 => _629(value2)]);
32569
32547
  },
32570
32548
  [onShowDesktopPopupsChange]
32571
32549
  );
@@ -32677,7 +32655,7 @@ var AppLayoutDrawerRoot = ({
32677
32655
  const handleOpenChange = React100.useCallback(
32678
32656
  (next) => {
32679
32657
  if (!isControlled) setInternalOpen(next);
32680
- _optionalChain([onOpenChange, 'optionalCall', _627 => _627(next)]);
32658
+ _optionalChain([onOpenChange, 'optionalCall', _630 => _630(next)]);
32681
32659
  },
32682
32660
  [isControlled, onOpenChange]
32683
32661
  );
@@ -32695,11 +32673,11 @@ var AppLayoutDrawerRoot = ({
32695
32673
  };
32696
32674
  }
32697
32675
  React100.useEffect(() => {
32698
- if (open) _optionalChain([coordination, 'optionalAccess', _628 => _628.notifyDrawerDidOpen, 'call', _629 => _629(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
32676
+ if (open) _optionalChain([coordination, 'optionalAccess', _631 => _631.notifyDrawerDidOpen, 'call', _632 => _632(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
32699
32677
  }, [open, coordination]);
32700
32678
  React100.useEffect(() => {
32701
32679
  if (!selfHandleRef.current) return;
32702
- return _optionalChain([coordination, 'optionalAccess', _630 => _630.registerDrawer, 'call', _631 => _631(selfHandleRef.current)]);
32680
+ return _optionalChain([coordination, 'optionalAccess', _633 => _633.registerDrawer, 'call', _634 => _634(selfHandleRef.current)]);
32703
32681
  }, [coordination]);
32704
32682
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32705
32683
  DialogPrimitive3.Root,
@@ -33079,10 +33057,10 @@ var AppLayoutDrawerContent = React100.forwardRef(
33079
33057
  ),
33080
33058
  style,
33081
33059
  onInteractOutside: (event) => {
33082
- _optionalChain([onInteractOutside, 'optionalCall', _632 => _632(event)]);
33060
+ _optionalChain([onInteractOutside, 'optionalCall', _635 => _635(event)]);
33083
33061
  if (event.defaultPrevented) return;
33084
33062
  const target = event.target;
33085
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _633 => _633.contains, 'call', _634 => _634(target)]);
33063
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _636 => _636.contains, 'call', _637 => _637(target)]);
33086
33064
  if (!isInsideContainer) {
33087
33065
  event.preventDefault();
33088
33066
  return;
@@ -33190,7 +33168,7 @@ function NotificationTile({
33190
33168
  if (!counting) return;
33191
33169
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
33192
33170
  const timer = window.setTimeout(() => {
33193
- _optionalChain([onSettle, 'optionalCall', _635 => _635(id)]);
33171
+ _optionalChain([onSettle, 'optionalCall', _638 => _638(id)]);
33194
33172
  }, remaining);
33195
33173
  return () => window.clearTimeout(timer);
33196
33174
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -33246,7 +33224,7 @@ function NotificationTile({
33246
33224
  }
33247
33225
  ) : null,
33248
33226
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative size-4 shrink-0", children: [
33249
- { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _636 => _636(id)]) },
33227
+ { active: isLive, label: "Dismiss notification", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { size: 16 }), onClick: () => _optionalChain([onSettle, 'optionalCall', _639 => _639(id)]) },
33250
33228
  { active: !isLive, label: "Mark notification complete", icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckCircleIcon, { size: 16 }), onClick: () => onComplete(id) }
33251
33229
  ].map(({ active, label, icon: icon2, onClick }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33252
33230
  "button",
@@ -33422,7 +33400,7 @@ function DrawerScrollList({
33422
33400
  if (!sentinel || !root) return;
33423
33401
  const observer = new IntersectionObserver(
33424
33402
  (entries) => {
33425
- if (_optionalChain([entries, 'access', _637 => _637[0], 'optionalAccess', _638 => _638.isIntersecting])) _optionalChain([loadMoreRef, 'access', _639 => _639.current, 'optionalCall', _640 => _640()]);
33403
+ if (_optionalChain([entries, 'access', _640 => _640[0], 'optionalAccess', _641 => _641.isIntersecting])) _optionalChain([loadMoreRef, 'access', _642 => _642.current, 'optionalCall', _643 => _643()]);
33426
33404
  },
33427
33405
  { root, rootMargin: loadMoreRootMargin }
33428
33406
  );
@@ -33437,7 +33415,7 @@ function DrawerScrollList({
33437
33415
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
33438
33416
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
33439
33417
  unreadNotifications.map((n) => {
33440
- const custom = _optionalChain([renderTile, 'optionalCall', _641 => _641(n, { onComplete, onSettle, liveDurationMs })]);
33418
+ const custom = _optionalChain([renderTile, 'optionalCall', _644 => _644(n, { onComplete, onSettle, liveDurationMs })]);
33441
33419
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
33442
33420
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33443
33421
  NotificationTile,
@@ -33601,7 +33579,7 @@ function NotificationPopups({
33601
33579
  className
33602
33580
  ),
33603
33581
  children: live.map((n) => {
33604
- const custom = _optionalChain([renderTile, 'optionalCall', _642 => _642(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
33582
+ const custom = _optionalChain([renderTile, 'optionalCall', _645 => _645(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
33605
33583
  if (custom) {
33606
33584
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
33607
33585
  }
@@ -33714,7 +33692,7 @@ function programItemToStripProfile(item) {
33714
33692
  const fromAuthor = toStripProfile(item.author);
33715
33693
  if (fromAuthor) return fromAuthor;
33716
33694
  const host = Array.isArray(item.hosts) ? item.hosts[0] : null;
33717
- if (!_optionalChain([host, 'optionalAccess', _643 => _643.name])) return null;
33695
+ if (!_optionalChain([host, 'optionalAccess', _646 => _646.name])) return null;
33718
33696
  return toStripProfile({ full_name: host.name, avatar_url: _nullishCoalesce(host.avatar_url, () => ( null)) });
33719
33697
  }
33720
33698
  function transformEventToProgram(event) {
@@ -33792,21 +33770,21 @@ function transformWebinarToProgram(webinar) {
33792
33770
  // src/components/features/notifications/types.ts
33793
33771
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
33794
33772
  function isApprovalNotification(notification) {
33795
- return _optionalChain([notification, 'access', _644 => _644.meta, 'optionalAccess', _645 => _645.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
33773
+ return _optionalChain([notification, 'access', _647 => _647.meta, 'optionalAccess', _648 => _648.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
33796
33774
  }
33797
33775
  function getApprovalMeta(notification) {
33798
33776
  if (!isApprovalNotification(notification)) return null;
33799
33777
  const meta = notification.meta;
33800
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _646 => _646.approvalRequestId]);
33801
- const toolCalls = _optionalChain([meta, 'optionalAccess', _647 => _647.toolCalls]);
33778
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _649 => _649.approvalRequestId]);
33779
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _650 => _650.toolCalls]);
33802
33780
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
33803
33781
  return {
33804
33782
  approvalRequestId,
33805
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _648 => _648.dialogId]), () => ( null)),
33806
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _649 => _649.ticketId]), () => ( null)),
33807
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _650 => _650.approvalType]), () => ( null)),
33808
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _651 => _651.resolution]), () => ( null)),
33809
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _652 => _652.resolvedByName]), () => ( null)),
33783
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _651 => _651.dialogId]), () => ( null)),
33784
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _652 => _652.ticketId]), () => ( null)),
33785
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _653 => _653.approvalType]), () => ( null)),
33786
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _654 => _654.resolution]), () => ( null)),
33787
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _655 => _655.resolvedByName]), () => ( null)),
33810
33788
  toolCalls
33811
33789
  };
33812
33790
  }
@@ -33856,7 +33834,7 @@ function ApprovalRequestNotificationTile({
33856
33834
  const [processing, setProcessing] = _react.useState.call(void 0, false);
33857
33835
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
33858
33836
  const approval = getApprovalMeta(notification);
33859
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _653 => _653.resolution]));
33837
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _656 => _656.resolution]));
33860
33838
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
33861
33839
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
33862
33840
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -34160,7 +34138,7 @@ function TimeTrackerPanel({
34160
34138
  error: showFieldError ? "Required if no notes added" : void 0,
34161
34139
  disableClientFilter: !!onTicketSearch,
34162
34140
  onInputChange: (value, reason) => {
34163
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _654 => _654(value)]);
34141
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _657 => _657(value)]);
34164
34142
  }
34165
34143
  }
34166
34144
  ),
@@ -34175,7 +34153,7 @@ function TimeTrackerPanel({
34175
34153
  disabled: customerLocked,
34176
34154
  disableClientFilter: !!onCustomerSearch,
34177
34155
  onInputChange: (value, reason) => {
34178
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _655 => _655(value)]);
34156
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _658 => _658(value)]);
34179
34157
  },
34180
34158
  startAdornment: customerStartAdornment,
34181
34159
  renderOption: renderCustomerOption
@@ -34269,7 +34247,7 @@ function LastEntryRow({ entry, onClick }) {
34269
34247
  {
34270
34248
  variant: "outline",
34271
34249
  size: "icon",
34272
- onClick: () => _optionalChain([onClick, 'optionalCall', _656 => _656(entry)]),
34250
+ onClick: () => _optionalChain([onClick, 'optionalCall', _659 => _659(entry)]),
34273
34251
  disabled: !onClick,
34274
34252
  "aria-label": `Open entry: ${entry.title}`,
34275
34253
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -34314,31 +34292,31 @@ function HeaderButton({
34314
34292
  function TimeTrackerHeaderButton({ className, disabled }) {
34315
34293
  const ctx = useOptionalTimeTracker();
34316
34294
  const elapsedLabel = useTrackerClock({
34317
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _657 => _657.status]), () => ( "ready")),
34318
- runningSince: _optionalChain([ctx, 'optionalAccess', _658 => _658.runningSince]),
34319
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _659 => _659.accumulatedMs])
34295
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _660 => _660.status]), () => ( "ready")),
34296
+ runningSince: _optionalChain([ctx, 'optionalAccess', _661 => _661.runningSince]),
34297
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _662 => _662.accumulatedMs])
34320
34298
  });
34321
34299
  const layoutContainer = useAppLayoutDrawerContainer();
34322
34300
  const coordination = useAppLayoutDrawerCoordination();
34323
- const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _660 => _660.isOpen]), () => ( false));
34301
+ const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _663 => _663.isOpen]), () => ( false));
34324
34302
  const isOpenRef = _react.useRef.call(void 0, isOpen);
34325
34303
  isOpenRef.current = isOpen;
34326
- const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _661 => _661.close]));
34327
- closeRef.current = _optionalChain([ctx, 'optionalAccess', _662 => _662.close]);
34304
+ const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _664 => _664.close]));
34305
+ closeRef.current = _optionalChain([ctx, 'optionalAccess', _665 => _665.close]);
34328
34306
  const selfHandleRef = _react.useRef.call(void 0, null);
34329
34307
  if (!selfHandleRef.current) {
34330
34308
  selfHandleRef.current = {
34331
34309
  close: () => {
34332
- if (isOpenRef.current) _optionalChain([closeRef, 'access', _663 => _663.current, 'optionalCall', _664 => _664()]);
34310
+ if (isOpenRef.current) _optionalChain([closeRef, 'access', _666 => _666.current, 'optionalCall', _667 => _667()]);
34333
34311
  }
34334
34312
  };
34335
34313
  }
34336
34314
  _react.useEffect.call(void 0, () => {
34337
- if (isOpen) _optionalChain([coordination, 'optionalAccess', _665 => _665.notifyDrawerDidOpen, 'call', _666 => _666(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
34315
+ if (isOpen) _optionalChain([coordination, 'optionalAccess', _668 => _668.notifyDrawerDidOpen, 'call', _669 => _669(_nullishCoalesce(selfHandleRef.current, () => ( void 0)))]);
34338
34316
  }, [isOpen, coordination]);
34339
34317
  _react.useEffect.call(void 0, () => {
34340
34318
  if (!selfHandleRef.current) return;
34341
- return _optionalChain([coordination, 'optionalAccess', _667 => _667.registerDrawer, 'call', _668 => _668(selfHandleRef.current)]);
34319
+ return _optionalChain([coordination, 'optionalAccess', _670 => _670.registerDrawer, 'call', _671 => _671(selfHandleRef.current)]);
34342
34320
  }, [coordination]);
34343
34321
  if (!ctx) return null;
34344
34322
  const { open, close, status } = ctx;
@@ -34611,9 +34589,9 @@ var TICKET_CARD_SHELL = "relative flex flex-col gap-[var(--spacing-system-sf)] r
34611
34589
  function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onReject }) {
34612
34590
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
34613
34591
  const newMessageTextColor = columnColor ? getReadableTextColor(columnColor) : void 0;
34614
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _669 => _669.deviceHostnames, 'optionalAccess', _670 => _670.length]) || ticket.organizationName);
34615
- const deviceText = [_optionalChain([ticket, 'access', _671 => _671.deviceHostnames, 'optionalAccess', _672 => _672.join, 'call', _673 => _673(", ")]), ticket.organizationName].filter(Boolean).join(", ");
34616
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _674 => _674.assignees, 'optionalAccess', _675 => _675.length]) || renderAssignSlot);
34592
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _672 => _672.deviceHostnames, 'optionalAccess', _673 => _673.length]) || ticket.organizationName);
34593
+ const deviceText = [_optionalChain([ticket, 'access', _674 => _674.deviceHostnames, 'optionalAccess', _675 => _675.join, 'call', _676 => _676(", ")]), ticket.organizationName].filter(Boolean).join(", ");
34594
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _677 => _677.assignees, 'optionalAccess', _678 => _678.length]) || renderAssignSlot);
34617
34595
  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: [
34618
34596
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34619
34597
  _chunkBGD345ZVcjs.Flag02Icon,
@@ -34622,7 +34600,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
34622
34600
  "aria-label": `Priority: ${ticket.priority}`
34623
34601
  }
34624
34602
  ),
34625
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _676 => _676.assignees, 'optionalAccess', _677 => _677.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
34603
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _679 => _679.assignees, 'optionalAccess', _680 => _680.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
34626
34604
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34627
34605
  SquareAvatar,
34628
34606
  {
@@ -34653,7 +34631,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
34653
34631
  ] }),
34654
34632
  rightSection
34655
34633
  ] }),
34656
- _optionalChain([ticket, 'access', _678 => _678.tags, 'optionalAccess', _679 => _679.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
34634
+ _optionalChain([ticket, 'access', _681 => _681.tags, 'optionalAccess', _682 => _682.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
34657
34635
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
34658
34636
  /* @__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 }) }),
34659
34637
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -34891,7 +34869,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
34891
34869
  const observer = new IntersectionObserver(
34892
34870
  (entries) => {
34893
34871
  if (entries.some((e) => e.isIntersecting)) {
34894
- _optionalChain([loadMoreRef, 'access', _680 => _680.current, 'optionalCall', _681 => _681(columnIdRef.current)]);
34872
+ _optionalChain([loadMoreRef, 'access', _683 => _683.current, 'optionalCall', _684 => _684(columnIdRef.current)]);
34895
34873
  }
34896
34874
  },
34897
34875
  { root, rootMargin: loadMoreRootMargin }
@@ -34921,7 +34899,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
34921
34899
  ticket: t,
34922
34900
  columnId: column.id,
34923
34901
  columnColor: column.color,
34924
- href: _optionalChain([getTicketHref, 'optionalCall', _682 => _682(t.id)]),
34902
+ href: _optionalChain([getTicketHref, 'optionalCall', _685 => _685(t.id)]),
34925
34903
  renderAssignSlot,
34926
34904
  onApprove,
34927
34905
  onReject,
@@ -35021,17 +34999,17 @@ function Board({
35021
34999
  const pointer = _core.pointerWithin.call(void 0, args);
35022
35000
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
35023
35001
  const ticketHit = intersections.find(
35024
- (c) => _optionalChain([c, 'access', _683 => _683.data, 'optionalAccess', _684 => _684.droppableContainer, 'optionalAccess', _685 => _685.data, 'optionalAccess', _686 => _686.current, 'optionalAccess', _687 => _687.type]) === "ticket"
35002
+ (c) => _optionalChain([c, 'access', _686 => _686.data, 'optionalAccess', _687 => _687.droppableContainer, 'optionalAccess', _688 => _688.data, 'optionalAccess', _689 => _689.current, 'optionalAccess', _690 => _690.type]) === "ticket"
35025
35003
  );
35026
35004
  if (ticketHit) return [ticketHit];
35027
35005
  const columnHit = intersections.find(
35028
- (c) => _optionalChain([c, 'access', _688 => _688.data, 'optionalAccess', _689 => _689.droppableContainer, 'optionalAccess', _690 => _690.data, 'optionalAccess', _691 => _691.current, 'optionalAccess', _692 => _692.type]) === "column"
35006
+ (c) => _optionalChain([c, 'access', _691 => _691.data, 'optionalAccess', _692 => _692.droppableContainer, 'optionalAccess', _693 => _693.data, 'optionalAccess', _694 => _694.current, 'optionalAccess', _695 => _695.type]) === "column"
35029
35007
  );
35030
35008
  if (columnHit) {
35031
- const columnId = _optionalChain([columnHit, 'access', _693 => _693.data, 'optionalAccess', _694 => _694.droppableContainer, 'optionalAccess', _695 => _695.data, 'optionalAccess', _696 => _696.current, 'optionalAccess', _697 => _697.columnId]);
35009
+ const columnId = _optionalChain([columnHit, 'access', _696 => _696.data, 'optionalAccess', _697 => _697.droppableContainer, 'optionalAccess', _698 => _698.data, 'optionalAccess', _699 => _699.current, 'optionalAccess', _700 => _700.columnId]);
35032
35010
  const ticketsInColumn = args.droppableContainers.filter((c) => {
35033
35011
  const d = c.data.current;
35034
- return _optionalChain([d, 'optionalAccess', _698 => _698.type]) === "ticket" && d.columnId === columnId;
35012
+ return _optionalChain([d, 'optionalAccess', _701 => _701.type]) === "ticket" && d.columnId === columnId;
35035
35013
  });
35036
35014
  if (ticketsInColumn.length > 0) {
35037
35015
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -35056,20 +35034,20 @@ function Board({
35056
35034
  const overId = String(over.id);
35057
35035
  if (activeId === overId) return;
35058
35036
  const overData = over.data.current;
35059
- const fromColumnId = _optionalChain([locate, 'call', _699 => _699(items, activeId), 'optionalAccess', _700 => _700.columnId]);
35060
- const toColumnId = _optionalChain([overData, 'optionalAccess', _701 => _701.columnId]);
35037
+ const fromColumnId = _optionalChain([locate, 'call', _702 => _702(items, activeId), 'optionalAccess', _703 => _703.columnId]);
35038
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _704 => _704.columnId]);
35061
35039
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
35062
35040
  const origin = dragOriginRef.current;
35063
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _702 => _702.fromColumnId]) === toColumnId;
35041
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _705 => _705.fromColumnId]) === toColumnId;
35064
35042
  const targetCol = items.find((c) => c.id === toColumnId);
35065
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _703 => _703.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
35066
- if (_optionalChain([targetCol, 'optionalAccess', _704 => _704.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
35043
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _706 => _706.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
35044
+ if (_optionalChain([targetCol, 'optionalAccess', _707 => _707.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
35067
35045
  setItems((prev) => {
35068
35046
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
35069
35047
  const toCol = prev.find((c) => c.id === toColumnId);
35070
35048
  if (fromIndex < 0 || !toCol) return prev;
35071
35049
  let toIndex;
35072
- if (_optionalChain([overData, 'optionalAccess', _705 => _705.type]) === "column") {
35050
+ if (_optionalChain([overData, 'optionalAccess', _708 => _708.type]) === "column") {
35073
35051
  toIndex = toCol.tickets.length;
35074
35052
  } else {
35075
35053
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -35111,14 +35089,14 @@ function Board({
35111
35089
  const toColumnId = located.columnId;
35112
35090
  const isCrossColumn = origin.fromColumnId !== toColumnId;
35113
35091
  const targetCol = items.find((c) => c.id === toColumnId);
35114
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _706 => _706.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _707 => _707.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
35092
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _709 => _709.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _710 => _710.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
35115
35093
  setItems(columns);
35116
35094
  return;
35117
35095
  }
35118
35096
  let finalIndex = located.index;
35119
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _708 => _708.find, 'call', _709 => _709((c) => c.id === toColumnId), 'optionalAccess', _710 => _710.tickets]), () => ( []));
35097
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _711 => _711.find, 'call', _712 => _712((c) => c.id === toColumnId), 'optionalAccess', _713 => _713.tickets]), () => ( []));
35120
35098
  const overData = over.data.current;
35121
- if (_optionalChain([overData, 'optionalAccess', _711 => _711.type]) === "ticket") {
35099
+ if (_optionalChain([overData, 'optionalAccess', _714 => _714.type]) === "ticket") {
35122
35100
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
35123
35101
  if (overIndex >= 0 && overIndex !== located.index) {
35124
35102
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -35138,8 +35116,8 @@ function Board({
35138
35116
  ticketId: origin.ticketId,
35139
35117
  fromColumnId: origin.fromColumnId,
35140
35118
  toColumnId,
35141
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _712 => _712[finalIndex - 1], 'optionalAccess', _713 => _713.id]), () => ( null)),
35142
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _714 => _714[finalIndex + 1], 'optionalAccess', _715 => _715.id]), () => ( null))
35119
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _715 => _715[finalIndex - 1], 'optionalAccess', _716 => _716.id]), () => ( null)),
35120
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _717 => _717[finalIndex + 1], 'optionalAccess', _718 => _718.id]), () => ( null))
35143
35121
  });
35144
35122
  };
35145
35123
  const handleDragCancel = () => {
@@ -35168,8 +35146,8 @@ function Board({
35168
35146
  children: items.map((column, i) => {
35169
35147
  const prev = items[i - 1];
35170
35148
  const next = items[i + 1];
35171
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _716 => _716.system]));
35172
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _717 => _717.system]));
35149
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _719 => _719.system]));
35150
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _720 => _720.system]));
35173
35151
  const showGap = i > 0 && !joinLeft;
35174
35152
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React106.Fragment, { children: [
35175
35153
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -35222,7 +35200,7 @@ function Board({
35222
35200
  {
35223
35201
  ticket: activeTicket.ticket,
35224
35202
  columnId: activeTicket.columnId,
35225
- columnColor: _optionalChain([items, 'access', _718 => _718.find, 'call', _719 => _719((c) => c.id === activeTicket.columnId), 'optionalAccess', _720 => _720.color]),
35203
+ columnColor: _optionalChain([items, 'access', _721 => _721.find, 'call', _722 => _722((c) => c.id === activeTicket.columnId), 'optionalAccess', _723 => _723.color]),
35226
35204
  isOverlay: true
35227
35205
  }
35228
35206
  ) : null })
@@ -35238,7 +35216,7 @@ function locate(cols, ticketId) {
35238
35216
  return null;
35239
35217
  }
35240
35218
  function findIndexInColumn(cols, columnId, ticketId) {
35241
- return _nullishCoalesce(_optionalChain([cols, 'access', _721 => _721.find, 'call', _722 => _722((c) => c.id === columnId), 'optionalAccess', _723 => _723.tickets, 'access', _724 => _724.findIndex, 'call', _725 => _725((t) => t.id === ticketId)]), () => ( -1));
35219
+ return _nullishCoalesce(_optionalChain([cols, 'access', _724 => _724.find, 'call', _725 => _725((c) => c.id === columnId), 'optionalAccess', _726 => _726.tickets, 'access', _727 => _727.findIndex, 'call', _728 => _728((t) => t.id === ticketId)]), () => ( -1));
35242
35220
  }
35243
35221
 
35244
35222
  // src/components/features/board/types.ts
@@ -35374,7 +35352,7 @@ function MobileNavPanel({ isOpen, config }) {
35374
35352
  if (item.onClick) {
35375
35353
  item.onClick();
35376
35354
  }
35377
- _optionalChain([config, 'access', _726 => _726.onClose, 'optionalCall', _727 => _727()]);
35355
+ _optionalChain([config, 'access', _729 => _729.onClose, 'optionalCall', _730 => _730()]);
35378
35356
  };
35379
35357
  if (item.href) {
35380
35358
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35482,7 +35460,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
35482
35460
  "aria-label": label,
35483
35461
  onClick: (e) => {
35484
35462
  window.dispatchEvent(new CustomEvent("ask-ai:open", { detail: { source: _nullishCoalesce(source, () => ( "")) } }));
35485
- _optionalChain([onClick, 'optionalCall', _728 => _728(e)]);
35463
+ _optionalChain([onClick, 'optionalCall', _731 => _731(e)]);
35486
35464
  },
35487
35465
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35488
35466
  // `--spacing-system-l` is itself responsive (16px, 24px from 800px):
@@ -35651,7 +35629,7 @@ function Header2({ config, platform }) {
35651
35629
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35652
35630
  "flex justify-start w-full",
35653
35631
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
35654
- index < (_nullishCoalesce(_optionalChain([item, 'access', _729 => _729.children, 'optionalAccess', _730 => _730.length]), () => ( 0))) - 1 && "mb-1",
35632
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _732 => _732.children, 'optionalAccess', _733 => _733.length]), () => ( 0))) - 1 && "mb-1",
35655
35633
  "text-ods-text-primary",
35656
35634
  // All dropdown items use primary text color
35657
35635
  child.isActive && "bg-ods-bg-hover"
@@ -35738,7 +35716,7 @@ function Header2({ config, platform }) {
35738
35716
  "w-full h-[72px] flex items-center justify-between",
35739
35717
  "border-b border-ods-border backdrop-blur-sm",
35740
35718
  "pl-6",
35741
- !_optionalChain([config, 'access', _731 => _731.mingo, 'optionalAccess', _732 => _732.enabled]) && "pr-6",
35719
+ !_optionalChain([config, 'access', _734 => _734.mingo, 'optionalAccess', _735 => _735.enabled]) && "pr-6",
35742
35720
  // Background color (configurable via backgroundColor prop)
35743
35721
  config.backgroundColor || "bg-ods-card",
35744
35722
  config.className
@@ -35746,7 +35724,7 @@ function Header2({ config, platform }) {
35746
35724
  style: config.style,
35747
35725
  children: [
35748
35726
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35749
- _optionalChain([config, 'access', _733 => _733.actions, 'optionalAccess', _734 => _734.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35727
+ _optionalChain([config, 'access', _736 => _736.actions, 'optionalAccess', _737 => _737.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35750
35728
  /* @__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 })
35751
35729
  ] }),
35752
35730
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35763,8 +35741,8 @@ function Header2({ config, platform }) {
35763
35741
  }
35764
35742
  ),
35765
35743
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-3 flex-shrink-0 self-stretch", children: [
35766
- _optionalChain([config, 'access', _735 => _735.actions, 'optionalAccess', _736 => _736.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
35767
- _optionalChain([config, 'access', _737 => _737.actions, 'optionalAccess', _738 => _738.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent }),
35744
+ _optionalChain([config, 'access', _738 => _738.actions, 'optionalAccess', _739 => _739.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
35745
+ _optionalChain([config, 'access', _740 => _740.actions, 'optionalAccess', _741 => _741.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent }),
35768
35746
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35769
35747
  _chunkIMK6RUECcjs.Button,
35770
35748
  {
@@ -35772,15 +35750,15 @@ function Header2({ config, platform }) {
35772
35750
  size: "icon",
35773
35751
  className: "flex lg:hidden",
35774
35752
  onClick: () => {
35775
- _optionalChain([config, 'access', _739 => _739.mobile, 'optionalAccess', _740 => _740.onToggle, 'optionalCall', _741 => _741()]);
35753
+ _optionalChain([config, 'access', _742 => _742.mobile, 'optionalAccess', _743 => _743.onToggle, 'optionalCall', _744 => _744()]);
35776
35754
  },
35777
- "aria-label": _optionalChain([config, 'access', _742 => _742.mobile, 'optionalAccess', _743 => _743.isOpen]) ? "Close menu" : "Open menu",
35778
- "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _744 => _744.mobile, 'optionalAccess', _745 => _745.isOpen]), () => ( false)),
35779
- "aria-controls": _optionalChain([config, 'access', _746 => _746.mobile, 'optionalAccess', _747 => _747.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
35780
- leftIcon: _optionalChain([config, 'access', _748 => _748.mobile, 'optionalAccess', _749 => _749.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35755
+ "aria-label": _optionalChain([config, 'access', _745 => _745.mobile, 'optionalAccess', _746 => _746.isOpen]) ? "Close menu" : "Open menu",
35756
+ "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _747 => _747.mobile, 'optionalAccess', _748 => _748.isOpen]), () => ( false)),
35757
+ "aria-controls": _optionalChain([config, 'access', _749 => _749.mobile, 'optionalAccess', _750 => _750.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
35758
+ leftIcon: _optionalChain([config, 'access', _751 => _751.mobile, 'optionalAccess', _752 => _752.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35781
35759
  }
35782
35760
  ),
35783
- _optionalChain([config, 'access', _750 => _750.mingo, 'optionalAccess', _751 => _751.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { source: config.mingo.source, icon: config.mingo.icon, label: config.mingo.label, className: config.mingo.className })
35761
+ _optionalChain([config, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { source: config.mingo.source, icon: config.mingo.icon, label: config.mingo.label, className: config.mingo.className })
35784
35762
  ] })
35785
35763
  ]
35786
35764
  }
@@ -35795,10 +35773,10 @@ function Header2({ config, platform }) {
35795
35773
  // src/components/navigation/header-skeleton.tsx
35796
35774
 
35797
35775
  function HeaderSkeleton({ config }) {
35798
- const showNavigation = _optionalChain([config, 'optionalAccess', _752 => _752.navigation]) && config.navigation.items.length > 0;
35799
- const showActions = _optionalChain([config, 'optionalAccess', _753 => _753.actions, 'optionalAccess', _754 => _754.right]) && config.actions.right.length > 0;
35800
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _755 => _755.mobile, 'optionalAccess', _756 => _756.enabled]);
35801
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _757 => _757.className, 'optionalAccess', _758 => _758.includes, 'call', _759 => _759("admin")]);
35776
+ const showNavigation = _optionalChain([config, 'optionalAccess', _755 => _755.navigation]) && config.navigation.items.length > 0;
35777
+ const showActions = _optionalChain([config, 'optionalAccess', _756 => _756.actions, 'optionalAccess', _757 => _757.right]) && config.actions.right.length > 0;
35778
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _758 => _758.mobile, 'optionalAccess', _759 => _759.enabled]);
35779
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _760 => _760.className, 'optionalAccess', _761 => _761.includes, 'call', _762 => _762("admin")]);
35802
35780
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35803
35781
  "header",
35804
35782
  {
@@ -35807,11 +35785,11 @@ function HeaderSkeleton({ config }) {
35807
35785
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
35808
35786
  "px-6 py-3",
35809
35787
  "transition-opacity duration-300 ease-in-out",
35810
- _optionalChain([config, 'optionalAccess', _760 => _760.className])
35788
+ _optionalChain([config, 'optionalAccess', _763 => _763.className])
35811
35789
  ),
35812
35790
  children: [
35813
35791
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35814
- isAdminHeader && _optionalChain([config, 'optionalAccess', _761 => _761.actions, 'optionalAccess', _762 => _762.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" }) }),
35792
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _764 => _764.actions, 'optionalAccess', _765 => _765.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" }) }),
35815
35793
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
35816
35794
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
35817
35795
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -35819,8 +35797,8 @@ function HeaderSkeleton({ config }) {
35819
35797
  ] }),
35820
35798
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
35821
35799
  "hidden md:flex items-center gap-2",
35822
- _optionalChain([config, 'optionalAccess', _763 => _763.navigation, 'optionalAccess', _764 => _764.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35823
- _optionalChain([config, 'optionalAccess', _765 => _765.navigation, 'optionalAccess', _766 => _766.position]) === "right" && "ml-auto mr-4"
35800
+ _optionalChain([config, 'optionalAccess', _766 => _766.navigation, 'optionalAccess', _767 => _767.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35801
+ _optionalChain([config, 'optionalAccess', _768 => _768.navigation, 'optionalAccess', _769 => _769.position]) === "right" && "ml-auto mr-4"
35824
35802
  ), children: [
35825
35803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
35826
35804
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -35936,7 +35914,7 @@ function SlidingSidebar({ config }) {
35936
35914
  variant: "transparent",
35937
35915
  size: "default",
35938
35916
  onClick: () => {
35939
- _optionalChain([item, 'access', _767 => _767.onClick, 'optionalCall', _768 => _768()]);
35917
+ _optionalChain([item, 'access', _770 => _770.onClick, 'optionalCall', _771 => _771()]);
35940
35918
  config.onClose();
35941
35919
  },
35942
35920
  leftIcon: item.icon,
@@ -35959,7 +35937,7 @@ function SlidingSidebar({ config }) {
35959
35937
  variant: "transparent",
35960
35938
  size: "default",
35961
35939
  onClick: () => {
35962
- _optionalChain([item, 'access', _769 => _769.onClick, 'optionalCall', _770 => _770()]);
35940
+ _optionalChain([item, 'access', _772 => _772.onClick, 'optionalCall', _773 => _773()]);
35963
35941
  config.onClose();
35964
35942
  },
35965
35943
  leftIcon: item.icon,
@@ -36091,7 +36069,7 @@ function StickySectionNav({
36091
36069
  ] });
36092
36070
  }
36093
36071
  function useSectionNavigation(sections, options) {
36094
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _771 => _771[0], 'optionalAccess', _772 => _772.id]) || "");
36072
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _774 => _774[0], 'optionalAccess', _775 => _775.id]) || "");
36095
36073
  const isScrollingFromClick = _react.useRef.call(void 0, false);
36096
36074
  const { offset: offset2 = 100 } = options || {};
36097
36075
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -36115,7 +36093,7 @@ function useSectionNavigation(sections, options) {
36115
36093
  const handleScroll = () => {
36116
36094
  if (isScrollingFromClick.current) return;
36117
36095
  const scrollPosition = window.scrollY + offset2 + 50;
36118
- let currentSection = _optionalChain([sections, 'access', _773 => _773[0], 'optionalAccess', _774 => _774.id]) || "";
36096
+ let currentSection = _optionalChain([sections, 'access', _776 => _776[0], 'optionalAccess', _777 => _777.id]) || "";
36119
36097
  for (let i = sections.length - 1; i >= 0; i--) {
36120
36098
  const element = document.getElementById(sections[i].id);
36121
36099
  if (element && scrollPosition >= element.offsetTop) {
@@ -36306,7 +36284,7 @@ function NavigationSidebar({ config, disabled = false }) {
36306
36284
  } else {
36307
36285
  setDesktopMinimized((prev) => !prev);
36308
36286
  }
36309
- _optionalChain([config, 'access', _775 => _775.onToggleMinimized, 'optionalCall', _776 => _776()]);
36287
+ _optionalChain([config, 'access', _778 => _778.onToggleMinimized, 'optionalCall', _779 => _779()]);
36310
36288
  }, [isTablet, setDesktopMinimized, config]);
36311
36289
  const closeOverlay = _react.useCallback.call(void 0, () => {
36312
36290
  setTabletMinimized(true);
@@ -36320,11 +36298,11 @@ function NavigationSidebar({ config, disabled = false }) {
36320
36298
  return () => document.removeEventListener("keydown", handleKeyDown);
36321
36299
  }, [isOverlayOpen, closeOverlay]);
36322
36300
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
36323
- _optionalChain([event, 'optionalAccess', _777 => _777.stopPropagation, 'call', _778 => _778()]);
36301
+ _optionalChain([event, 'optionalAccess', _780 => _780.stopPropagation, 'call', _781 => _781()]);
36324
36302
  if (item.onClick) {
36325
36303
  item.onClick();
36326
36304
  } else if (item.path) {
36327
- _optionalChain([config, 'access', _779 => _779.onNavigate, 'optionalCall', _780 => _780(item.path)]);
36305
+ _optionalChain([config, 'access', _782 => _782.onNavigate, 'optionalCall', _783 => _783(item.path)]);
36328
36306
  }
36329
36307
  if (isTablet) setTabletMinimized(true);
36330
36308
  }, [config, isTablet]);
@@ -36449,11 +36427,11 @@ function HeaderGlobalSearch({
36449
36427
  };
36450
36428
  const handleSubmit = (e) => {
36451
36429
  e.preventDefault();
36452
- _optionalChain([onSubmit, 'optionalCall', _781 => _781(currentValue)]);
36430
+ _optionalChain([onSubmit, 'optionalCall', _784 => _784(currentValue)]);
36453
36431
  };
36454
36432
  const handleKeyDown = (e) => {
36455
36433
  if (e.key === "Enter") {
36456
- _optionalChain([onSubmit, 'optionalCall', _782 => _782(currentValue)]);
36434
+ _optionalChain([onSubmit, 'optionalCall', _785 => _785(currentValue)]);
36457
36435
  }
36458
36436
  };
36459
36437
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36547,8 +36525,8 @@ function HeaderOrganizationFilter({
36547
36525
  className
36548
36526
  }) {
36549
36527
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
36550
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _783 => _783.name]) || "All Organizations";
36551
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _784 => _784.deviceCount]), () => ( totalDeviceCount));
36528
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _786 => _786.name]) || "All Organizations";
36529
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _787 => _787.deviceCount]), () => ( totalDeviceCount));
36552
36530
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIMK6RUECcjs.DropdownMenu, { children: [
36553
36531
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMK6RUECcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36554
36532
  "button",
@@ -36573,11 +36551,11 @@ function HeaderOrganizationFilter({
36573
36551
  }
36574
36552
  ) }),
36575
36553
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIMK6RUECcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
36576
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMK6RUECcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _785 => _785("")]), children: "All Organizations" }),
36554
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIMK6RUECcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _788 => _788("")]), children: "All Organizations" }),
36577
36555
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36578
36556
  _chunkIMK6RUECcjs.DropdownMenuItem,
36579
36557
  {
36580
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _786 => _786(org.id)]),
36558
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _789 => _789(org.id)]),
36581
36559
  children: org.name
36582
36560
  },
36583
36561
  org.id
@@ -36767,9 +36745,9 @@ function NotificationsHeaderButton({
36767
36745
  dimmedClass
36768
36746
  }) {
36769
36747
  const ctx = useOptionalNotifications();
36770
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _787 => _787.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36771
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _788 => _788.isOpen]), () => ( false));
36772
- const onClick = _optionalChain([ctx, 'optionalAccess', _789 => _789.toggle]);
36748
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _790 => _790.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36749
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _791 => _791.isOpen]), () => ( false));
36750
+ const onClick = _optionalChain([ctx, 'optionalAccess', _792 => _792.toggle]);
36773
36751
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36774
36752
  HeaderButton,
36775
36753
  {
@@ -36816,7 +36794,7 @@ var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36816
36794
  if (item.onClick) {
36817
36795
  item.onClick();
36818
36796
  } else if (item.path) {
36819
- _optionalChain([config, 'access', _790 => _790.onNavigate, 'optionalCall', _791 => _791(item.path)]);
36797
+ _optionalChain([config, 'access', _793 => _793.onNavigate, 'optionalCall', _794 => _794(item.path)]);
36820
36798
  }
36821
36799
  onClose();
36822
36800
  }, [config, onClose]);
@@ -37422,7 +37400,7 @@ var ShellTypeBadge = ({
37422
37400
  className,
37423
37401
  iconClassName
37424
37402
  }) => {
37425
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _792 => _792.toUpperCase, 'call', _793 => _793()]);
37403
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _795 => _795.toUpperCase, 'call', _796 => _796()]);
37426
37404
  const label = getShellLabel(normalizedType);
37427
37405
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
37428
37406
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -37809,12 +37787,12 @@ function OnboardingWalkthrough({
37809
37787
  }
37810
37788
  }, [state.completedSteps, markComplete]);
37811
37789
  const handleStepSkip = (step) => {
37812
- _optionalChain([step, 'access', _794 => _794.onSkip, 'optionalCall', _795 => _795()]);
37790
+ _optionalChain([step, 'access', _797 => _797.onSkip, 'optionalCall', _798 => _798()]);
37813
37791
  markSkipped(step.id);
37814
37792
  };
37815
37793
  const handleDismiss = () => {
37816
37794
  dismissOnboarding();
37817
- _optionalChain([onDismiss, 'optionalCall', _796 => _796()]);
37795
+ _optionalChain([onDismiss, 'optionalCall', _799 => _799()]);
37818
37796
  };
37819
37797
  if (state.dismissed) {
37820
37798
  return null;
@@ -37944,7 +37922,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37944
37922
  onKeyDown: (e) => {
37945
37923
  if (e.key === "Enter" || e.key === " ") {
37946
37924
  e.preventDefault();
37947
- _optionalChain([onClick, 'optionalCall', _797 => _797()]);
37925
+ _optionalChain([onClick, 'optionalCall', _800 => _800()]);
37948
37926
  }
37949
37927
  },
37950
37928
  children: [
@@ -38045,7 +38023,7 @@ var LogsList = React118.forwardRef(({
38045
38023
  log,
38046
38024
  isLast: index === logs.length - 1,
38047
38025
  showConnector,
38048
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _798 => _798(log)])
38026
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _801 => _801(log)])
38049
38027
  },
38050
38028
  log.id
38051
38029
  ))
@@ -38146,7 +38124,7 @@ var Slider = React120.forwardRef(
38146
38124
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
38147
38125
  const handleChange = (e) => {
38148
38126
  const newValue = [Number(e.target.value)];
38149
- _optionalChain([onValueChange, 'optionalCall', _799 => _799(newValue)]);
38127
+ _optionalChain([onValueChange, 'optionalCall', _802 => _802(newValue)]);
38150
38128
  };
38151
38129
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38152
38130
  "input",
@@ -38580,7 +38558,7 @@ function CursorPaginationSimple({
38580
38558
  {
38581
38559
  variant: "transparent",
38582
38560
  size: "icon",
38583
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _800 => _800("")]),
38561
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _803 => _803("")]),
38584
38562
  disabled: !hasPreviousPage || loading,
38585
38563
  className: "h-8 w-8",
38586
38564
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -38592,7 +38570,7 @@ function CursorPaginationSimple({
38592
38570
  {
38593
38571
  variant: "transparent",
38594
38572
  size: "icon",
38595
- onClick: () => _optionalChain([onNext, 'optionalCall', _801 => _801("")]),
38573
+ onClick: () => _optionalChain([onNext, 'optionalCall', _804 => _804("")]),
38596
38574
  disabled: !hasNextPage || loading,
38597
38575
  className: "h-8 w-8",
38598
38576
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -38612,8 +38590,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
38612
38590
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
38613
38591
  title: _nullishCoalesce(message2, () => ( "No results found")),
38614
38592
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
38615
- buttonLabel: _optionalChain([action, 'optionalAccess', _802 => _802.label]),
38616
- onButtonClick: _optionalChain([action, 'optionalAccess', _803 => _803.onClick]),
38593
+ buttonLabel: _optionalChain([action, 'optionalAccess', _805 => _805.label]),
38594
+ onButtonClick: _optionalChain([action, 'optionalAccess', _806 => _806.onClick]),
38617
38595
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
38618
38596
  }
38619
38597
  );
@@ -38634,7 +38612,7 @@ function TableColumnFilterDropdown({
38634
38612
  placement = "bottom-start",
38635
38613
  dropdownClassName = "min-w-[240px]"
38636
38614
  }) {
38637
- const activeCount = _optionalChain([filters, 'optionalAccess', _804 => _804[columnKey], 'optionalAccess', _805 => _805.length]) || 0;
38615
+ const activeCount = _optionalChain([filters, 'optionalAccess', _807 => _807[columnKey], 'optionalAccess', _808 => _808.length]) || 0;
38638
38616
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38639
38617
  FiltersDropdown,
38640
38618
  {
@@ -38677,7 +38655,7 @@ function TableColumnFilterDropdown({
38677
38655
  delete newFilters[columnKey];
38678
38656
  onFilterChange(newFilters);
38679
38657
  },
38680
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _806 => _806[columnKey]]) || [] },
38658
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _809 => _809[columnKey]]) || [] },
38681
38659
  placement,
38682
38660
  dropdownClassName
38683
38661
  }
@@ -38887,7 +38865,7 @@ function TableCardSkeleton({
38887
38865
  className,
38888
38866
  rowClassName
38889
38867
  }) {
38890
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _807 => _807.key]);
38868
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _810 => _810.key]);
38891
38869
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38892
38870
  "div",
38893
38871
  {
@@ -38980,7 +38958,7 @@ function TableRow({
38980
38958
  const keys = column.key.split(".");
38981
38959
  let value = item;
38982
38960
  for (const key of keys) {
38983
- value = _optionalChain([value, 'optionalAccess', _808 => _808[key]]);
38961
+ value = _optionalChain([value, 'optionalAccess', _811 => _811[key]]);
38984
38962
  }
38985
38963
  if (value === null || value === void 0) {
38986
38964
  return "-";
@@ -39069,7 +39047,7 @@ function useTableMotion(enabled) {
39069
39047
  // src/components/ui/table/table.tsx
39070
39048
 
39071
39049
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
39072
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _809 => _809.length])) || Boolean(renderRowActions);
39050
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _812 => _812.length])) || Boolean(renderRowActions);
39073
39051
  const result = [...columns];
39074
39052
  if (hasActions) {
39075
39053
  const actionsColumn = {
@@ -39165,7 +39143,7 @@ function Table({
39165
39143
  return rowKey(item);
39166
39144
  }
39167
39145
  const key = item[rowKey];
39168
- return _optionalChain([key, 'optionalAccess', _810 => _810.toString, 'call', _811 => _811()]) || index.toString();
39146
+ return _optionalChain([key, 'optionalAccess', _813 => _813.toString, 'call', _814 => _814()]) || index.toString();
39169
39147
  };
39170
39148
  const getRowClassName = (item, index) => {
39171
39149
  if (typeof rowClassName === "function") {
@@ -39199,23 +39177,23 @@ function Table({
39199
39177
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
39200
39178
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
39201
39179
  const sentinelRef = _react.useRef.call(void 0, null);
39202
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _812 => _812.onLoadMore]));
39203
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _813 => _813.onLoadMore]);
39180
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _815 => _815.onLoadMore]));
39181
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _816 => _816.onLoadMore]);
39204
39182
  _react.useEffect.call(void 0, () => {
39205
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _814 => _814.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39183
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _817 => _817.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39206
39184
  const sentinel = sentinelRef.current;
39207
39185
  if (!sentinel) return;
39208
39186
  const observer = new IntersectionObserver(
39209
39187
  (entries) => {
39210
- if (_optionalChain([entries, 'access', _815 => _815[0], 'optionalAccess', _816 => _816.isIntersecting])) {
39211
- _optionalChain([onLoadMoreRef, 'access', _817 => _817.current, 'optionalCall', _818 => _818()]);
39188
+ if (_optionalChain([entries, 'access', _818 => _818[0], 'optionalAccess', _819 => _819.isIntersecting])) {
39189
+ _optionalChain([onLoadMoreRef, 'access', _820 => _820.current, 'optionalCall', _821 => _821()]);
39212
39190
  }
39213
39191
  },
39214
39192
  { rootMargin: "200px" }
39215
39193
  );
39216
39194
  observer.observe(sentinel);
39217
39195
  return () => observer.disconnect();
39218
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _819 => _819.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _820 => _820.isFetchingNextPage])]);
39196
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _822 => _822.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _823 => _823.isFetchingNextPage])]);
39219
39197
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
39220
39198
  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: [
39221
39199
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -39285,14 +39263,14 @@ function Table({
39285
39263
  selected: isRowSelected(item),
39286
39264
  onSelect: handleSelectRow,
39287
39265
  animateRowReorder,
39288
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _821 => _821.motionDiv])
39266
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _824 => _824.motionDiv])
39289
39267
  },
39290
39268
  getRowKey(item, index)
39291
39269
  ));
39292
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _822 => _822.LayoutGroup]);
39270
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _825 => _825.LayoutGroup]);
39293
39271
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
39294
39272
  })(),
39295
- _optionalChain([infiniteScroll, 'optionalAccess', _823 => _823.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39273
+ _optionalChain([infiniteScroll, 'optionalAccess', _826 => _826.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39296
39274
  TableCardSkeleton,
39297
39275
  {
39298
39276
  columns,
@@ -39301,7 +39279,7 @@ function Table({
39301
39279
  hasChevron: Boolean(rowHref)
39302
39280
  }
39303
39281
  ),
39304
- _optionalChain([infiniteScroll, 'optionalAccess', _824 => _824.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39282
+ _optionalChain([infiniteScroll, 'optionalAccess', _827 => _827.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39305
39283
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39306
39284
  "div",
39307
39285
  {
@@ -39659,7 +39637,7 @@ function QueryReportTable({
39659
39637
  );
39660
39638
  const handleExport = () => {
39661
39639
  exportToCSV(data, columns, exportFilename);
39662
- _optionalChain([onExport, 'optionalCall', _825 => _825()]);
39640
+ _optionalChain([onExport, 'optionalCall', _828 => _828()]);
39663
39641
  };
39664
39642
  const tableMinWidth = columns.length * (columnWidth + 16);
39665
39643
  const {
@@ -39832,7 +39810,7 @@ function DataTableColumnFilter({
39832
39810
  align = "left"
39833
39811
  }) {
39834
39812
  const currentValue = column.getFilterValue();
39835
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _826 => _826.length]), () => ( 0));
39813
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _829 => _829.length]), () => ( 0));
39836
39814
  const sections = _react.useMemo.call(void 0,
39837
39815
  () => [
39838
39816
  {
@@ -39913,7 +39891,7 @@ function DataTableHeader({
39913
39891
  if (header.isPlaceholder) return false;
39914
39892
  if (isLgUp) return true;
39915
39893
  const meta = header.column.columnDef.meta;
39916
- return Boolean(_optionalChain([meta, 'optionalAccess', _827 => _827.filter])) || _optionalChain([meta, 'optionalAccess', _828 => _828.alwaysShowHeader]) === true;
39894
+ return Boolean(_optionalChain([meta, 'optionalAccess', _830 => _830.filter])) || _optionalChain([meta, 'optionalAccess', _831 => _831.alwaysShowHeader]) === true;
39917
39895
  });
39918
39896
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39919
39897
  "div",
@@ -39943,21 +39921,21 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
39943
39921
  if (header.isPlaceholder) return null;
39944
39922
  const column = header.column;
39945
39923
  const meta = column.columnDef.meta;
39946
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _829 => _829.filter]));
39947
- const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _830 => _830.alwaysShowHeader]) === true;
39948
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _831 => _831.align]), () => ( "left"));
39949
- const canSort = _optionalChain([meta, 'optionalAccess', _832 => _832.sortable]) === true;
39950
- const sortDir = _optionalChain([sort, 'optionalAccess', _833 => _833.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
39924
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _832 => _832.filter]));
39925
+ const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _833 => _833.alwaysShowHeader]) === true;
39926
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _834 => _834.align]), () => ( "left"));
39927
+ const canSort = _optionalChain([meta, 'optionalAccess', _835 => _835.sortable]) === true;
39928
+ const sortDir = _optionalChain([sort, 'optionalAccess', _836 => _836.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
39951
39929
  if (!isLgUp && !keepOnTablet) return null;
39952
39930
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39953
39931
  "div",
39954
39932
  {
39955
39933
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
39956
39934
  "flex items-stretch",
39957
- isLgUp && (_optionalChain([meta, 'optionalAccess', _834 => _834.width]) || "flex-1 min-w-0"),
39958
- _optionalChain([meta, 'optionalAccess', _835 => _835.headerClassName]),
39935
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _837 => _837.width]) || "flex-1 min-w-0"),
39936
+ _optionalChain([meta, 'optionalAccess', _838 => _838.headerClassName]),
39959
39937
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
39960
- !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _836 => _836.hideAt]))
39938
+ !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _839 => _839.hideAt]))
39961
39939
  ),
39962
39940
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39963
39941
  DataTableColumnFilter,
@@ -39976,7 +39954,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
39976
39954
  isLgUp && alignJustify(align),
39977
39955
  canSort && "group cursor-pointer"
39978
39956
  ),
39979
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _837 => _837(column.id)]) : void 0,
39957
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _840 => _840(column.id)]) : void 0,
39980
39958
  children: [
39981
39959
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
39982
39960
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -40041,7 +40019,7 @@ function DataTableSkeleton({
40041
40019
  }) {
40042
40020
  const table = useDataTableContext();
40043
40021
  const columns = table.getVisibleFlatColumns();
40044
- const firstColumnId = _optionalChain([columns, 'access', _838 => _838[0], 'optionalAccess', _839 => _839.id]);
40022
+ const firstColumnId = _optionalChain([columns, 'access', _841 => _841[0], 'optionalAccess', _842 => _842.id]);
40045
40023
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40046
40024
  "div",
40047
40025
  {
@@ -40065,7 +40043,7 @@ function DataTableSkeleton({
40065
40043
  {
40066
40044
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
40067
40045
  "flex flex-col justify-center shrink-0",
40068
- _optionalChain([meta, 'optionalAccess', _840 => _840.width]) || "flex-1"
40046
+ _optionalChain([meta, 'optionalAccess', _843 => _843.width]) || "flex-1"
40069
40047
  ),
40070
40048
  children: [
40071
40049
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -40115,7 +40093,7 @@ function DataTableRowImpl({
40115
40093
  const handleClick = _react.useCallback.call(void 0,
40116
40094
  (e) => {
40117
40095
  const target = e.target;
40118
- if (!_optionalChain([containerRef, 'access', _841 => _841.current, 'optionalAccess', _842 => _842.contains, 'call', _843 => _843(target)])) {
40096
+ if (!_optionalChain([containerRef, 'access', _844 => _844.current, 'optionalAccess', _845 => _845.contains, 'call', _846 => _846(target)])) {
40119
40097
  if (isLinkMode) e.preventDefault();
40120
40098
  return;
40121
40099
  }
@@ -40123,7 +40101,7 @@ function DataTableRowImpl({
40123
40101
  if (isLinkMode) e.preventDefault();
40124
40102
  return;
40125
40103
  }
40126
- _optionalChain([onClick, 'optionalCall', _844 => _844(row.original)]);
40104
+ _optionalChain([onClick, 'optionalCall', _847 => _847(row.original)]);
40127
40105
  },
40128
40106
  [onClick, row.original, isLinkMode]
40129
40107
  );
@@ -40148,10 +40126,10 @@ function DataTableRowImpl({
40148
40126
  {
40149
40127
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
40150
40128
  "flex flex-col overflow-hidden",
40151
- alignJustify(_optionalChain([meta, 'optionalAccess', _845 => _845.align])),
40152
- _optionalChain([meta, 'optionalAccess', _846 => _846.width]) || "flex-1 min-w-0",
40153
- _optionalChain([meta, 'optionalAccess', _847 => _847.cellClassName]),
40154
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _848 => _848.hideAt]))
40129
+ alignJustify(_optionalChain([meta, 'optionalAccess', _848 => _848.align])),
40130
+ _optionalChain([meta, 'optionalAccess', _849 => _849.width]) || "flex-1 min-w-0",
40131
+ _optionalChain([meta, 'optionalAccess', _850 => _850.cellClassName]),
40132
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _851 => _851.hideAt]))
40155
40133
  ),
40156
40134
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
40157
40135
  },
@@ -40231,7 +40209,7 @@ function DataTableBody({
40231
40209
  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: [
40232
40210
  rows.map((row, index) => {
40233
40211
  const item = row.original;
40234
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _849 => _849(item)]), () => ( void 0));
40212
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _852 => _852(item)]), () => ( void 0));
40235
40213
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
40236
40214
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40237
40215
  DataTableRow,
@@ -40242,7 +40220,7 @@ function DataTableBody({
40242
40220
  compact,
40243
40221
  autoHeight,
40244
40222
  className: cls,
40245
- subRow: _optionalChain([renderSubRow, 'optionalCall', _850 => _850(item)])
40223
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _853 => _853(item)])
40246
40224
  },
40247
40225
  row.id
40248
40226
  );
@@ -40297,7 +40275,7 @@ function DataTableInfiniteFooter({
40297
40275
  if (!sentinel) return;
40298
40276
  const observer = new IntersectionObserver(
40299
40277
  (entries) => {
40300
- if (_optionalChain([entries, 'access', _851 => _851[0], 'optionalAccess', _852 => _852.isIntersecting])) onLoadMoreRef.current();
40278
+ if (_optionalChain([entries, 'access', _854 => _854[0], 'optionalAccess', _855 => _855.isIntersecting])) onLoadMoreRef.current();
40301
40279
  },
40302
40280
  { rootMargin }
40303
40281
  );
@@ -40345,7 +40323,7 @@ function DataTableRowCount({
40345
40323
  const table = useDataTableContext();
40346
40324
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
40347
40325
  if (hideWhenEmpty && count === 0) return null;
40348
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _853 => _853(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40326
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _856 => _856(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40349
40327
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40350
40328
  "span",
40351
40329
  {
@@ -40504,7 +40482,7 @@ function SearchInput({
40504
40482
  if (!showHiddenTags) return;
40505
40483
  const handleClick = (e) => {
40506
40484
  const target = e.target;
40507
- if (!_optionalChain([hiddenTagsRef, 'access', _854 => _854.current, 'optionalAccess', _855 => _855.contains, 'call', _856 => _856(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _857 => _857.current, 'optionalAccess', _858 => _858.contains, 'call', _859 => _859(target)])) {
40485
+ if (!_optionalChain([hiddenTagsRef, 'access', _857 => _857.current, 'optionalAccess', _858 => _858.contains, 'call', _859 => _859(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _860 => _860.current, 'optionalAccess', _861 => _861.contains, 'call', _862 => _862(target)])) {
40508
40486
  setShowHiddenTags(false);
40509
40487
  }
40510
40488
  };
@@ -40552,10 +40530,10 @@ function SearchInput({
40552
40530
  } else {
40553
40531
  setInternalValue("");
40554
40532
  }
40555
- _optionalChain([inputRef, 'access', _860 => _860.current, 'optionalAccess', _861 => _861.focus, 'call', _862 => _862()]);
40533
+ _optionalChain([inputRef, 'access', _863 => _863.current, 'optionalAccess', _864 => _864.focus, 'call', _865 => _865()]);
40556
40534
  };
40557
40535
  const handleResultClick = (result, e) => {
40558
- _optionalChain([onResultSelect, 'optionalCall', _863 => _863(
40536
+ _optionalChain([onResultSelect, 'optionalCall', _866 => _866(
40559
40537
  result,
40560
40538
  e ? {
40561
40539
  metaKey: e.metaKey,
@@ -40587,7 +40565,7 @@ function SearchInput({
40587
40565
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
40588
40566
  handleResultClick(flatResults[highlightedIndex]);
40589
40567
  } else {
40590
- _optionalChain([onSubmit, 'optionalCall', _864 => _864(currentValue)]);
40568
+ _optionalChain([onSubmit, 'optionalCall', _867 => _867(currentValue)]);
40591
40569
  }
40592
40570
  break;
40593
40571
  case "Escape":
@@ -40665,7 +40643,7 @@ function SearchInput({
40665
40643
  dropdownVisible && "!border-ods-accent"
40666
40644
  ),
40667
40645
  onClick: () => {
40668
- _optionalChain([inputRef, 'access', _865 => _865.current, 'optionalAccess', _866 => _866.focus, 'call', _867 => _867()]);
40646
+ _optionalChain([inputRef, 'access', _868 => _868.current, 'optionalAccess', _869 => _869.focus, 'call', _870 => _870()]);
40669
40647
  setIsOpen(true);
40670
40648
  },
40671
40649
  children: [
@@ -40749,10 +40727,10 @@ function SearchInput({
40749
40727
  align: "start",
40750
40728
  onOpenAutoFocus: (e) => {
40751
40729
  e.preventDefault();
40752
- _optionalChain([inputRef, 'access', _868 => _868.current, 'optionalAccess', _869 => _869.focus, 'call', _870 => _870()]);
40730
+ _optionalChain([inputRef, 'access', _871 => _871.current, 'optionalAccess', _872 => _872.focus, 'call', _873 => _873()]);
40753
40731
  },
40754
40732
  onInteractOutside: (e) => {
40755
- if (_optionalChain([containerRef, 'access', _871 => _871.current, 'optionalAccess', _872 => _872.contains, 'call', _873 => _873(e.target)])) {
40733
+ if (_optionalChain([containerRef, 'access', _874 => _874.current, 'optionalAccess', _875 => _875.contains, 'call', _876 => _876(e.target)])) {
40756
40734
  e.preventDefault();
40757
40735
  }
40758
40736
  },
@@ -40769,10 +40747,10 @@ function SearchInput({
40769
40747
  ref: hiddenTagsPopupRef,
40770
40748
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
40771
40749
  style: {
40772
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _874 => _874.current, 'optionalAccess', _875 => _875.getBoundingClientRect, 'call', _876 => _876(), 'access', _877 => _877.left]), () => ( 0))) : 0
40750
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _877 => _877.current, 'optionalAccess', _878 => _878.getBoundingClientRect, 'call', _879 => _879(), 'access', _880 => _880.left]), () => ( 0))) : 0
40773
40751
  },
40774
40752
  onRemove: (value2) => {
40775
- _optionalChain([onFilterRemove, 'optionalCall', _878 => _878(value2)]);
40753
+ _optionalChain([onFilterRemove, 'optionalCall', _881 => _881(value2)]);
40776
40754
  if (hiddenCount <= 1) setShowHiddenTags(false);
40777
40755
  }
40778
40756
  }
@@ -40823,7 +40801,7 @@ function FilterListItem({
40823
40801
  }) {
40824
40802
  const handleToggle = () => {
40825
40803
  if (disabled) return;
40826
- _optionalChain([onToggle, 'optionalCall', _879 => _879(!selected)]);
40804
+ _optionalChain([onToggle, 'optionalCall', _882 => _882(!selected)]);
40827
40805
  };
40828
40806
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40829
40807
  "div",
@@ -40870,7 +40848,7 @@ function FilterListItem({
40870
40848
  CheckboxPrimitive4.Root,
40871
40849
  {
40872
40850
  checked: selected,
40873
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _880 => _880(c === true)]),
40851
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _883 => _883(c === true)]),
40874
40852
  onClick: (e) => e.stopPropagation(),
40875
40853
  disabled,
40876
40854
  "aria-label": title,
@@ -40969,7 +40947,7 @@ function TagSearchInput({
40969
40947
  if (!showHiddenTags) return;
40970
40948
  const handleClick = (e) => {
40971
40949
  const target = e.target;
40972
- if (!_optionalChain([hiddenTagsRef, 'access', _881 => _881.current, 'optionalAccess', _882 => _882.contains, 'call', _883 => _883(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _884 => _884.current, 'optionalAccess', _885 => _885.contains, 'call', _886 => _886(target)])) {
40950
+ if (!_optionalChain([hiddenTagsRef, 'access', _884 => _884.current, 'optionalAccess', _885 => _885.contains, 'call', _886 => _886(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _887 => _887.current, 'optionalAccess', _888 => _888.contains, 'call', _889 => _889(target)])) {
40973
40951
  setShowHiddenTags(false);
40974
40952
  }
40975
40953
  };
@@ -40985,13 +40963,13 @@ function TagSearchInput({
40985
40963
  e.preventDefault();
40986
40964
  onSubmit(searchValue);
40987
40965
  }
40988
- _optionalChain([onKeyDown, 'optionalCall', _887 => _887(e)]);
40966
+ _optionalChain([onKeyDown, 'optionalCall', _890 => _890(e)]);
40989
40967
  };
40990
40968
  const handleClearAll = (e) => {
40991
40969
  e.stopPropagation();
40992
40970
  e.preventDefault();
40993
- _optionalChain([onClearAll, 'optionalCall', _888 => _888()]);
40994
- _optionalChain([inputRef, 'access', _889 => _889.current, 'optionalAccess', _890 => _890.focus, 'call', _891 => _891()]);
40971
+ _optionalChain([onClearAll, 'optionalCall', _891 => _891()]);
40972
+ _optionalChain([inputRef, 'access', _892 => _892.current, 'optionalAccess', _893 => _893.focus, 'call', _894 => _894()]);
40995
40973
  };
40996
40974
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
40997
40975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -41008,7 +40986,7 @@ function TagSearchInput({
41008
40986
  className
41009
40987
  ),
41010
40988
  onClick: () => {
41011
- if (!disabled) _optionalChain([inputRef, 'access', _892 => _892.current, 'optionalAccess', _893 => _893.focus, 'call', _894 => _894()]);
40989
+ if (!disabled) _optionalChain([inputRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.focus, 'call', _897 => _897()]);
41012
40990
  },
41013
40991
  children: [
41014
40992
  /* @__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" }) }),
@@ -41080,7 +41058,7 @@ function TagSearchInput({
41080
41058
  items: hiddenTags,
41081
41059
  disabled,
41082
41060
  style: {
41083
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.getBoundingClientRect, 'call', _897 => _897(), 'access', _898 => _898.left]), () => ( 0))) : 0
41061
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _898 => _898.current, 'optionalAccess', _899 => _899.getBoundingClientRect, 'call', _900 => _900(), 'access', _901 => _901.left]), () => ( 0))) : 0
41084
41062
  },
41085
41063
  onRemove: (value) => {
41086
41064
  onTagRemove(value);
@@ -41181,7 +41159,7 @@ function MarkdownEditor({
41181
41159
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
41182
41160
  _react.useEffect.call(void 0, () => {
41183
41161
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
41184
- if (_optionalChain([mod, 'access', _899 => _899.commands, 'optionalAccess', _900 => _900.getExtraCommands])) {
41162
+ if (_optionalChain([mod, 'access', _902 => _902.commands, 'optionalAccess', _903 => _903.getExtraCommands])) {
41185
41163
  setDefaultExtraCommands(mod.commands.getExtraCommands());
41186
41164
  }
41187
41165
  });
@@ -41215,7 +41193,7 @@ function MarkdownEditor({
41215
41193
  const isImage = file.type.startsWith("image/");
41216
41194
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
41217
41195
  insertTextAtCursor(markdown);
41218
- _optionalChain([onFileUploaded, 'optionalCall', _901 => _901(url, file.name)]);
41196
+ _optionalChain([onFileUploaded, 'optionalCall', _904 => _904(url, file.name)]);
41219
41197
  } catch (error) {
41220
41198
  console.error("File upload failed:", error);
41221
41199
  setUploadProgress("Upload failed. Please try again.");
@@ -41228,7 +41206,7 @@ function MarkdownEditor({
41228
41206
  );
41229
41207
  const handleFileInputChange = _react.useCallback.call(void 0,
41230
41208
  (e) => {
41231
- const file = _optionalChain([e, 'access', _902 => _902.target, 'access', _903 => _903.files, 'optionalAccess', _904 => _904[0]]);
41209
+ const file = _optionalChain([e, 'access', _905 => _905.target, 'access', _906 => _906.files, 'optionalAccess', _907 => _907[0]]);
41232
41210
  if (file) {
41233
41211
  handleFileUpload(file);
41234
41212
  e.target.value = "";
@@ -41239,7 +41217,7 @@ function MarkdownEditor({
41239
41217
  const handlePaste = _react.useCallback.call(void 0,
41240
41218
  (e) => {
41241
41219
  if (!onUploadFile) return;
41242
- const items = _optionalChain([e, 'access', _905 => _905.clipboardData, 'optionalAccess', _906 => _906.items]);
41220
+ const items = _optionalChain([e, 'access', _908 => _908.clipboardData, 'optionalAccess', _909 => _909.items]);
41243
41221
  if (!items) return;
41244
41222
  for (const item of items) {
41245
41223
  if (item.type.startsWith("image/")) {
@@ -41264,7 +41242,7 @@ function MarkdownEditor({
41264
41242
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
41265
41243
  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" }),
41266
41244
  execute: () => {
41267
- _optionalChain([fileInputRef, 'access', _907 => _907.current, 'optionalAccess', _908 => _908.click, 'call', _909 => _909()]);
41245
+ _optionalChain([fileInputRef, 'access', _910 => _910.current, 'optionalAccess', _911 => _911.click, 'call', _912 => _912()]);
41268
41246
  }
41269
41247
  } : null;
41270
41248
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -41276,7 +41254,7 @@ function MarkdownEditor({
41276
41254
  const EDGE_ZONE = 60;
41277
41255
  const MAX_SCROLL_SPEED = 15;
41278
41256
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
41279
- let node = _optionalChain([el, 'optionalAccess', _910 => _910.parentElement]);
41257
+ let node = _optionalChain([el, 'optionalAccess', _913 => _913.parentElement]);
41280
41258
  while (node && node !== document.documentElement) {
41281
41259
  const { overflowY } = window.getComputedStyle(node);
41282
41260
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -41419,7 +41397,7 @@ function matchesAccept(file, accept) {
41419
41397
  });
41420
41398
  }
41421
41399
  function dragHasFiles(e) {
41422
- const types = _optionalChain([e, 'access', _911 => _911.dataTransfer, 'optionalAccess', _912 => _912.types]);
41400
+ const types = _optionalChain([e, 'access', _914 => _914.dataTransfer, 'optionalAccess', _915 => _915.types]);
41423
41401
  if (!types) return false;
41424
41402
  for (let i = 0; i < types.length; i++) {
41425
41403
  if (types[i] === "Files") return true;
@@ -41515,7 +41493,7 @@ function FileUpload({
41515
41493
  e.stopPropagation();
41516
41494
  setDragActive(false);
41517
41495
  if (disabled) return;
41518
- if (_optionalChain([e, 'access', _913 => _913.dataTransfer, 'access', _914 => _914.files, 'optionalAccess', _915 => _915.length])) {
41496
+ if (_optionalChain([e, 'access', _916 => _916.dataTransfer, 'access', _917 => _917.files, 'optionalAccess', _918 => _918.length])) {
41519
41497
  handleFiles(e.dataTransfer.files);
41520
41498
  }
41521
41499
  };
@@ -41543,7 +41521,7 @@ function FileUpload({
41543
41521
  e.preventDefault();
41544
41522
  dragCounter = 0;
41545
41523
  setDragActive(false);
41546
- if (_optionalChain([e, 'access', _916 => _916.dataTransfer, 'optionalAccess', _917 => _917.files, 'optionalAccess', _918 => _918.length])) {
41524
+ if (_optionalChain([e, 'access', _919 => _919.dataTransfer, 'optionalAccess', _920 => _920.files, 'optionalAccess', _921 => _921.length])) {
41547
41525
  handleFilesRef.current(e.dataTransfer.files);
41548
41526
  }
41549
41527
  };
@@ -41565,7 +41543,7 @@ function FileUpload({
41565
41543
  };
41566
41544
  }, [acceptWindowDrops, disabled]);
41567
41545
  const handleFileSelect = (e) => {
41568
- if (_optionalChain([e, 'access', _919 => _919.target, 'access', _920 => _920.files, 'optionalAccess', _921 => _921.length])) {
41546
+ if (_optionalChain([e, 'access', _922 => _922.target, 'access', _923 => _923.files, 'optionalAccess', _924 => _924.length])) {
41569
41547
  handleFiles(e.target.files);
41570
41548
  }
41571
41549
  };
@@ -41582,7 +41560,7 @@ function FileUpload({
41582
41560
  };
41583
41561
  const openDialog = async () => {
41584
41562
  if (disabled) return;
41585
- _optionalChain([fileInputRef, 'access', _922 => _922.current, 'optionalAccess', _923 => _923.click, 'call', _924 => _924()]);
41563
+ _optionalChain([fileInputRef, 'access', _925 => _925.current, 'optionalAccess', _926 => _926.click, 'call', _927 => _927()]);
41586
41564
  };
41587
41565
  const displayError = error || validationError || void 0;
41588
41566
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -41644,7 +41622,7 @@ function FileUpload({
41644
41622
  "button",
41645
41623
  {
41646
41624
  type: "button",
41647
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _925 => _925(entry.id)]),
41625
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _928 => _928(entry.id)]),
41648
41626
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
41649
41627
  "aria-label": `Remove ${entry.fileName}`,
41650
41628
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -41775,7 +41753,7 @@ function ImageUploader({
41775
41753
  onChange(file);
41776
41754
  };
41777
41755
  const handleFileSelect = (e) => {
41778
- validateAndEmit(_optionalChain([e, 'access', _926 => _926.target, 'access', _927 => _927.files, 'optionalAccess', _928 => _928[0]]));
41756
+ validateAndEmit(_optionalChain([e, 'access', _929 => _929.target, 'access', _930 => _930.files, 'optionalAccess', _931 => _931[0]]));
41779
41757
  if (inputRef.current) inputRef.current.value = "";
41780
41758
  };
41781
41759
  const handleDrag = (e) => {
@@ -41790,11 +41768,11 @@ function ImageUploader({
41790
41768
  e.stopPropagation();
41791
41769
  setDragActive(false);
41792
41770
  if (!interactive) return;
41793
- validateAndEmit(_optionalChain([e, 'access', _929 => _929.dataTransfer, 'access', _930 => _930.files, 'optionalAccess', _931 => _931[0]]));
41771
+ validateAndEmit(_optionalChain([e, 'access', _932 => _932.dataTransfer, 'access', _933 => _933.files, 'optionalAccess', _934 => _934[0]]));
41794
41772
  };
41795
41773
  const openDialog = () => {
41796
41774
  if (!interactive) return;
41797
- _optionalChain([inputRef, 'access', _932 => _932.current, 'optionalAccess', _933 => _933.click, 'call', _934 => _934()]);
41775
+ _optionalChain([inputRef, 'access', _935 => _935.current, 'optionalAccess', _936 => _936.click, 'call', _937 => _937()]);
41798
41776
  };
41799
41777
  const handleRootKeyDown = (e) => {
41800
41778
  if (hasImage || !interactive) return;
@@ -41985,8 +41963,8 @@ function ColorPresetSelect({
41985
41963
  }) {
41986
41964
  const selectedPreset = presets.find((p) => p.key === presetKey);
41987
41965
  const isCustom = !selectedPreset;
41988
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _935 => _935.label]), () => ( "Custom"));
41989
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _936 => _936.color]), () => ( value));
41966
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _938 => _938.label]), () => ( "Custom"));
41967
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _939 => _939.color]), () => ( value));
41990
41968
  const groups = [
41991
41969
  {
41992
41970
  items: [
@@ -42276,7 +42254,7 @@ function TicketStatusConfigRow({
42276
42254
  _chunkIMK6RUECcjs.Input,
42277
42255
  {
42278
42256
  value: name,
42279
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _937 => _937(e.target.value)]),
42257
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _940 => _940(e.target.value)]),
42280
42258
  disabled: isSystem,
42281
42259
  readOnly: isSystem,
42282
42260
  "aria-label": "Status name",
@@ -42649,14 +42627,14 @@ function TicketInfoSection({
42649
42627
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42650
42628
  SquareAvatar,
42651
42629
  {
42652
- src: _optionalChain([organization, 'optionalAccess', _938 => _938.imageSrc]),
42653
- alt: _optionalChain([organization, 'optionalAccess', _939 => _939.name]),
42654
- fallback: _optionalChain([organization, 'optionalAccess', _940 => _940.name]) || "Org",
42630
+ src: _optionalChain([organization, 'optionalAccess', _941 => _941.imageSrc]),
42631
+ alt: _optionalChain([organization, 'optionalAccess', _942 => _942.name]),
42632
+ fallback: _optionalChain([organization, 'optionalAccess', _943 => _943.name]) || "Org",
42655
42633
  size: "md",
42656
42634
  className: "shrink-0"
42657
42635
  }
42658
42636
  ),
42659
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _941 => _941.name]) || "Unassigned", label: "Organization" })
42637
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _944 => _944.name]) || "Unassigned", label: "Organization" })
42660
42638
  ] }),
42661
42639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42662
42640
  AssigneeDropdown,
@@ -42677,10 +42655,10 @@ function TicketInfoSection({
42677
42655
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42678
42656
  InfoCell2,
42679
42657
  {
42680
- value: _optionalChain([device, 'optionalAccess', _942 => _942.name]) || "Unassigned",
42658
+ value: _optionalChain([device, 'optionalAccess', _945 => _945.name]) || "Unassigned",
42681
42659
  label: "Device",
42682
- icon: _optionalChain([device, 'optionalAccess', _943 => _943.icon]),
42683
- onClick: _optionalChain([device, 'optionalAccess', _944 => _944.onClick])
42660
+ icon: _optionalChain([device, 'optionalAccess', _946 => _946.icon]),
42661
+ onClick: _optionalChain([device, 'optionalAccess', _947 => _947.onClick])
42684
42662
  }
42685
42663
  ),
42686
42664
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -43010,7 +42988,7 @@ function RoadmapCard({
43010
42988
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
43011
42989
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
43012
42990
  const hasFigma = !!item.figmaUrl;
43013
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _945 => _945.screenshots, 'optionalAccess', _946 => _946.length]), () => ( 0))) > 0;
42991
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _948 => _948.screenshots, 'optionalAccess', _949 => _949.length]), () => ( 0))) > 0;
43014
42992
  const typeLabel = getTaskTypeLabel(item.customItemId);
43015
42993
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
43016
42994
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -43029,7 +43007,7 @@ function RoadmapCard({
43029
43007
  unoptimized: true,
43030
43008
  className: "h-8 w-8 object-contain"
43031
43009
  }
43032
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _947 => _947.title, 'optionalAccess', _948 => _948.substring, 'call', _949 => _949(0, 2)]) || "??" })
43010
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _950 => _950.title, 'optionalAccess', _951 => _951.substring, 'call', _952 => _952(0, 2)]) || "??" })
43033
43011
  }
43034
43012
  ),
43035
43013
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -43104,7 +43082,7 @@ function RoadmapCard({
43104
43082
  unoptimized: true,
43105
43083
  className: "object-contain p-1"
43106
43084
  }
43107
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _950 => _950.title, 'optionalAccess', _951 => _951.substring, 'call', _952 => _952(0, 2)]) || "??" }) }),
43085
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _953 => _953.title, 'optionalAccess', _954 => _954.substring, 'call', _955 => _955(0, 2)]) || "??" }) }),
43108
43086
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
43109
43087
  /* @__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 }) }),
43110
43088
  /* @__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: [
@@ -43614,7 +43592,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
43614
43592
  ] }) : null,
43615
43593
  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
43616
43594
  ] }),
43617
- _optionalChain([anchorProps, 'optionalAccess', _953 => _953.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
43595
+ _optionalChain([anchorProps, 'optionalAccess', _956 => _956.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
43618
43596
  ] });
43619
43597
  if (!anchorProps) {
43620
43598
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -43684,7 +43662,7 @@ function getDefaultOptions() {
43684
43662
  // node_modules/date-fns/startOfWeek.mjs
43685
43663
  function startOfWeek(date, options) {
43686
43664
  const defaultOptions2 = getDefaultOptions();
43687
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _954 => _954.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _955 => _955.locale, 'optionalAccess', _956 => _956.options, 'optionalAccess', _957 => _957.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _958 => _958.locale, 'optionalAccess', _959 => _959.options, 'optionalAccess', _960 => _960.weekStartsOn]))), () => ( 0));
43665
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _957 => _957.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _958 => _958.locale, 'optionalAccess', _959 => _959.options, 'optionalAccess', _960 => _960.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _961 => _961.locale, 'optionalAccess', _962 => _962.options, 'optionalAccess', _963 => _963.weekStartsOn]))), () => ( 0));
43688
43666
  const _date = toDate2(date);
43689
43667
  const day = _date.getDay();
43690
43668
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -43859,7 +43837,7 @@ var formatDistance = (token, count, options) => {
43859
43837
  } else {
43860
43838
  result = tokenValue.other.replace("{{count}}", count.toString());
43861
43839
  }
43862
- if (_optionalChain([options, 'optionalAccess', _961 => _961.addSuffix])) {
43840
+ if (_optionalChain([options, 'optionalAccess', _964 => _964.addSuffix])) {
43863
43841
  if (options.comparison && options.comparison > 0) {
43864
43842
  return "in " + result;
43865
43843
  } else {
@@ -43926,15 +43904,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
43926
43904
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
43927
43905
  function buildLocalizeFn(args) {
43928
43906
  return (value, options) => {
43929
- const context = _optionalChain([options, 'optionalAccess', _962 => _962.context]) ? String(options.context) : "standalone";
43907
+ const context = _optionalChain([options, 'optionalAccess', _965 => _965.context]) ? String(options.context) : "standalone";
43930
43908
  let valuesArray;
43931
43909
  if (context === "formatting" && args.formattingValues) {
43932
43910
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
43933
- const width = _optionalChain([options, 'optionalAccess', _963 => _963.width]) ? String(options.width) : defaultWidth;
43911
+ const width = _optionalChain([options, 'optionalAccess', _966 => _966.width]) ? String(options.width) : defaultWidth;
43934
43912
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
43935
43913
  } else {
43936
43914
  const defaultWidth = args.defaultWidth;
43937
- const width = _optionalChain([options, 'optionalAccess', _964 => _964.width]) ? String(options.width) : args.defaultWidth;
43915
+ const width = _optionalChain([options, 'optionalAccess', _967 => _967.width]) ? String(options.width) : args.defaultWidth;
43938
43916
  valuesArray = args.values[width] || args.values[defaultWidth];
43939
43917
  }
43940
43918
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -44314,7 +44292,7 @@ function getWeekYear(date, options) {
44314
44292
  const _date = toDate2(date);
44315
44293
  const year = _date.getFullYear();
44316
44294
  const defaultOptions2 = getDefaultOptions();
44317
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _965 => _965.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _966 => _966.locale, 'optionalAccess', _967 => _967.options, 'optionalAccess', _968 => _968.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _969 => _969.locale, 'optionalAccess', _970 => _970.options, 'optionalAccess', _971 => _971.firstWeekContainsDate]))), () => ( 1));
44295
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _968 => _968.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _969 => _969.locale, 'optionalAccess', _970 => _970.options, 'optionalAccess', _971 => _971.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _972 => _972.locale, 'optionalAccess', _973 => _973.options, 'optionalAccess', _974 => _974.firstWeekContainsDate]))), () => ( 1));
44318
44296
  const firstWeekOfNextYear = constructFrom(date, 0);
44319
44297
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
44320
44298
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -44335,7 +44313,7 @@ function getWeekYear(date, options) {
44335
44313
  // node_modules/date-fns/startOfWeekYear.mjs
44336
44314
  function startOfWeekYear(date, options) {
44337
44315
  const defaultOptions2 = getDefaultOptions();
44338
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _972 => _972.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _973 => _973.locale, 'optionalAccess', _974 => _974.options, 'optionalAccess', _975 => _975.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _976 => _976.locale, 'optionalAccess', _977 => _977.options, 'optionalAccess', _978 => _978.firstWeekContainsDate]))), () => ( 1));
44316
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _975 => _975.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _976 => _976.locale, 'optionalAccess', _977 => _977.options, 'optionalAccess', _978 => _978.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _979 => _979.locale, 'optionalAccess', _980 => _980.options, 'optionalAccess', _981 => _981.firstWeekContainsDate]))), () => ( 1));
44339
44317
  const year = getWeekYear(date, options);
44340
44318
  const firstWeek = constructFrom(date, 0);
44341
44319
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -45150,9 +45128,9 @@ var doubleQuoteRegExp = /''/g;
45150
45128
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
45151
45129
  function format2(date, formatStr, options) {
45152
45130
  const defaultOptions2 = getDefaultOptions();
45153
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _979 => _979.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
45154
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _980 => _980.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _981 => _981.locale, 'optionalAccess', _982 => _982.options, 'optionalAccess', _983 => _983.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _984 => _984.locale, 'optionalAccess', _985 => _985.options, 'optionalAccess', _986 => _986.firstWeekContainsDate]))), () => ( 1));
45155
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _987 => _987.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _988 => _988.locale, 'optionalAccess', _989 => _989.options, 'optionalAccess', _990 => _990.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _991 => _991.locale, 'optionalAccess', _992 => _992.options, 'optionalAccess', _993 => _993.weekStartsOn]))), () => ( 0));
45131
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _982 => _982.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
45132
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _983 => _983.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _984 => _984.locale, 'optionalAccess', _985 => _985.options, 'optionalAccess', _986 => _986.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _987 => _987.locale, 'optionalAccess', _988 => _988.options, 'optionalAccess', _989 => _989.firstWeekContainsDate]))), () => ( 1));
45133
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _990 => _990.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _991 => _991.locale, 'optionalAccess', _992 => _992.options, 'optionalAccess', _993 => _993.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _994 => _994.locale, 'optionalAccess', _995 => _995.options, 'optionalAccess', _996 => _996.weekStartsOn]))), () => ( 0));
45156
45134
  const originalDate = toDate2(date);
45157
45135
  if (!isValid(originalDate)) {
45158
45136
  throw new RangeError("Invalid time value");
@@ -45193,7 +45171,7 @@ function format2(date, formatStr, options) {
45193
45171
  return parts.map((part) => {
45194
45172
  if (!part.isToken) return part.value;
45195
45173
  const token = part.value;
45196
- if (!_optionalChain([options, 'optionalAccess', _994 => _994.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _995 => _995.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45174
+ if (!_optionalChain([options, 'optionalAccess', _997 => _997.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _998 => _998.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45197
45175
  warnOrThrowProtectedError(token, formatStr, String(date));
45198
45176
  }
45199
45177
  const formatter = formatters[token[0]];
@@ -45399,7 +45377,7 @@ function ProgramCard({
45399
45377
  const itemDate2 = compactDate;
45400
45378
  const compactCover = coverImage || placeholderUrl || null;
45401
45379
  const typeMeta = compactTypeMeta();
45402
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _996 => _996.labels, 'optionalAccess', _997 => _997.singular])].filter(
45380
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _999 => _999.labels, 'optionalAccess', _1000 => _1000.singular])].filter(
45403
45381
  (s) => typeof s === "string" && s.length > 0
45404
45382
  );
45405
45383
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -45556,7 +45534,7 @@ function ProgramCard({
45556
45534
 
45557
45535
 
45558
45536
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
45559
- const goalsCount = _optionalChain([campaign, 'access', _998 => _998.goals, 'optionalAccess', _999 => _999.length]) || 0;
45537
+ const goalsCount = _optionalChain([campaign, 'access', _1001 => _1001.goals, 'optionalAccess', _1002 => _1002.length]) || 0;
45560
45538
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
45561
45539
  /* @__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" }) }),
45562
45540
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -45718,7 +45696,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
45718
45696
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
45719
45697
  const safePath = sanitizePath(row.path);
45720
45698
  if (safePath) {
45721
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1000 => _1000.docPlatformTargets, 'optionalAccess', _1001 => _1001[row.documentType]]) : void 0;
45699
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1003 => _1003.docPlatformTargets, 'optionalAccess', _1004 => _1004[row.documentType]]) : void 0;
45722
45700
  if (docTarget) {
45723
45701
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
45724
45702
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -45933,8 +45911,8 @@ function cardMenuGroups(href, discuss, openDetails) {
45933
45911
  if (href) {
45934
45912
  items.push({
45935
45913
  id: "open-details",
45936
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1002 => _1002.label]), () => ( "Open Details")),
45937
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1003 => _1003.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45914
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1005 => _1005.label]), () => ( "Open Details")),
45915
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1006 => _1006.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45938
45916
  // Main row → open the entity (same tab, soft Link nav).
45939
45917
  href,
45940
45918
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -45964,8 +45942,8 @@ function HubspotTicketChatCard({
45964
45942
  isNewTab,
45965
45943
  discuss
45966
45944
  }) {
45967
- const status = typeof _optionalChain([chatRef, 'access', _1004 => _1004.metadata, 'optionalAccess', _1005 => _1005.status]) === "string" ? chatRef.metadata.status : void 0;
45968
- const statusLabel = typeof _optionalChain([chatRef, 'access', _1006 => _1006.metadata, 'optionalAccess', _1007 => _1007.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
45945
+ const status = typeof _optionalChain([chatRef, 'access', _1007 => _1007.metadata, 'optionalAccess', _1008 => _1008.status]) === "string" ? chatRef.metadata.status : void 0;
45946
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _1009 => _1009.metadata, 'optionalAccess', _1010 => _1010.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
45969
45947
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
45970
45948
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45971
45949
  MingoInfoCard,
@@ -45988,7 +45966,7 @@ function FaqChatCard({
45988
45966
  isNewTab,
45989
45967
  discuss
45990
45968
  }) {
45991
- const section = typeof _optionalChain([chatRef, 'access', _1008 => _1008.metadata, 'optionalAccess', _1009 => _1009.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
45969
+ const section = typeof _optionalChain([chatRef, 'access', _1011 => _1011.metadata, 'optionalAccess', _1012 => _1012.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
45992
45970
  const statusLabel = section && section.length > 0 ? section : "FAQ";
45993
45971
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45994
45972
  MingoInfoCard,
@@ -46008,7 +45986,7 @@ function SlackChatCard({
46008
45986
  isNewTab,
46009
45987
  discuss
46010
45988
  }) {
46011
- const channelName = typeof _optionalChain([chatRef, 'access', _1010 => _1010.metadata, 'optionalAccess', _1011 => _1011.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
45989
+ const channelName = typeof _optionalChain([chatRef, 'access', _1013 => _1013.metadata, 'optionalAccess', _1014 => _1014.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
46012
45990
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
46013
45991
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
46014
45992
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -46048,7 +46026,7 @@ function GenericFinancialChatCard({
46048
46026
  isNewTab,
46049
46027
  discuss
46050
46028
  }) {
46051
- const subtitle = typeof _optionalChain([chatRef, 'access', _1012 => _1012.metadata, 'optionalAccess', _1013 => _1013.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
46029
+ const subtitle = typeof _optionalChain([chatRef, 'access', _1015 => _1015.metadata, 'optionalAccess', _1016 => _1016.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
46052
46030
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46053
46031
  MingoInfoCard,
46054
46032
  {
@@ -46117,12 +46095,12 @@ function ProductReleaseChatCard({
46117
46095
  discuss
46118
46096
  }) {
46119
46097
  const releaseProps = buildProps(item);
46120
- const status = _optionalChain([item, 'optionalAccess', _1014 => _1014.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
46098
+ const status = _optionalChain([item, 'optionalAccess', _1017 => _1017.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
46121
46099
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46122
46100
  EntityMingoCard,
46123
46101
  {
46124
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1015 => _1015.title]), () => ( "")),
46125
- description: _optionalChain([item, 'optionalAccess', _1016 => _1016.summary]) || releaseProps.formattedDate || void 0,
46102
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1018 => _1018.title]), () => ( "")),
46103
+ description: _optionalChain([item, 'optionalAccess', _1019 => _1019.summary]) || releaseProps.formattedDate || void 0,
46126
46104
  cover: releaseProps.coverImage || void 0,
46127
46105
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
46128
46106
  status,
@@ -46139,17 +46117,17 @@ function CampaignChatCard({
46139
46117
  isNewTab,
46140
46118
  discuss
46141
46119
  }) {
46142
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1017 => _1017.goals])) ? item.goals.length : 0;
46120
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1020 => _1020.goals])) ? item.goals.length : 0;
46143
46121
  const meta = [
46144
- _optionalChain([item, 'optionalAccess', _1018 => _1018.start_date]) ? formatDateShort(item.start_date) : null,
46122
+ _optionalChain([item, 'optionalAccess', _1021 => _1021.start_date]) ? formatDateShort(item.start_date) : null,
46145
46123
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
46146
46124
  "Marketing campaign"
46147
46125
  ].filter(Boolean).join(" \xB7 ");
46148
46126
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46149
46127
  EntityMingoCard,
46150
46128
  {
46151
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1019 => _1019.name]), () => ( "")),
46152
- description: meta || _optionalChain([item, 'optionalAccess', _1020 => _1020.description]) || void 0,
46129
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1022 => _1022.name]), () => ( "")),
46130
+ description: meta || _optionalChain([item, 'optionalAccess', _1023 => _1023.description]) || void 0,
46153
46131
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
46154
46132
  chatRef,
46155
46133
  isNewTab,
@@ -46202,14 +46180,14 @@ function BlogChatCard({
46202
46180
  hasEmbeddedVideo,
46203
46181
  discuss
46204
46182
  }) {
46205
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1021 => _1021.categories])) ? _optionalChain([item, 'access', _1022 => _1022.categories, 'access', _1023 => _1023.find, 'call', _1024 => _1024((c) => c && c.name), 'optionalAccess', _1025 => _1025.name]) : void 0;
46183
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1024 => _1024.categories])) ? _optionalChain([item, 'access', _1025 => _1025.categories, 'access', _1026 => _1026.find, 'call', _1027 => _1027((c) => c && c.name), 'optionalAccess', _1028 => _1028.name]) : void 0;
46206
46184
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
46207
46185
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46208
46186
  EntityMingoCard,
46209
46187
  {
46210
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1026 => _1026.title]), () => ( "")),
46211
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1027 => _1027.summary]), () => ( void 0)),
46212
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1028 => _1028.featured_image]), ogPlaceholder),
46188
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1029 => _1029.title]), () => ( "")),
46189
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1030 => _1030.summary]), () => ( void 0)),
46190
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1031 => _1031.featured_image]), ogPlaceholder),
46213
46191
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
46214
46192
  status,
46215
46193
  chatRef,
@@ -46226,13 +46204,13 @@ function CaseStudyChatCard({
46226
46204
  ogPlaceholder,
46227
46205
  discuss
46228
46206
  }) {
46229
- const meta = [_optionalChain([item, 'optionalAccess', _1029 => _1029.msp, 'optionalAccess', _1030 => _1030.name]), _optionalChain([item, 'optionalAccess', _1031 => _1031.user, 'optionalAccess', _1032 => _1032.full_name])].filter(Boolean).join(" \xB7 ");
46207
+ const meta = [_optionalChain([item, 'optionalAccess', _1032 => _1032.msp, 'optionalAccess', _1033 => _1033.name]), _optionalChain([item, 'optionalAccess', _1034 => _1034.user, 'optionalAccess', _1035 => _1035.full_name])].filter(Boolean).join(" \xB7 ");
46230
46208
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46231
46209
  EntityMingoCard,
46232
46210
  {
46233
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1033 => _1033.title]), () => ( "")),
46234
- description: _optionalChain([item, 'optionalAccess', _1034 => _1034.summary]) || meta || void 0,
46235
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1035 => _1035.featured_image]), ogPlaceholder),
46211
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1036 => _1036.title]), () => ( "")),
46212
+ description: _optionalChain([item, 'optionalAccess', _1037 => _1037.summary]) || meta || void 0,
46213
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1038 => _1038.featured_image]), ogPlaceholder),
46236
46214
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
46237
46215
  status: { label: "Case study", variant: "grey" },
46238
46216
  chatRef,
@@ -46249,13 +46227,13 @@ function CustomerInterviewChatCard({
46249
46227
  ogPlaceholder,
46250
46228
  discuss
46251
46229
  }) {
46252
- const meta = [_optionalChain([item, 'optionalAccess', _1036 => _1036.user, 'optionalAccess', _1037 => _1037.full_name]), _optionalChain([item, 'optionalAccess', _1038 => _1038.msp, 'optionalAccess', _1039 => _1039.name])].filter(Boolean).join(" \xB7 ");
46230
+ const meta = [_optionalChain([item, 'optionalAccess', _1039 => _1039.user, 'optionalAccess', _1040 => _1040.full_name]), _optionalChain([item, 'optionalAccess', _1041 => _1041.msp, 'optionalAccess', _1042 => _1042.name])].filter(Boolean).join(" \xB7 ");
46253
46231
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46254
46232
  EntityMingoCard,
46255
46233
  {
46256
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1040 => _1040.title]), () => ( "")),
46257
- description: _optionalChain([item, 'optionalAccess', _1041 => _1041.video_summary]) || meta || void 0,
46258
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1042 => _1042.featured_image]), ogPlaceholder),
46234
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1043 => _1043.title]), () => ( "")),
46235
+ description: _optionalChain([item, 'optionalAccess', _1044 => _1044.video_summary]) || meta || void 0,
46236
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1045 => _1045.featured_image]), ogPlaceholder),
46259
46237
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
46260
46238
  status: { label: "Interview", variant: "grey" },
46261
46239
  chatRef,
@@ -46272,13 +46250,13 @@ function InvestorUpdateChatCard({
46272
46250
  ogPlaceholder,
46273
46251
  discuss
46274
46252
  }) {
46275
- const title = _optionalChain([item, 'optionalAccess', _1043 => _1043.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1044 => _1044.update_number]), () => ( "?"))}`;
46253
+ const title = _optionalChain([item, 'optionalAccess', _1046 => _1046.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1047 => _1047.update_number]), () => ( "?"))}`;
46276
46254
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46277
46255
  EntityMingoCard,
46278
46256
  {
46279
46257
  title,
46280
- description: _optionalChain([item, 'optionalAccess', _1045 => _1045.strategic_update]) || _optionalChain([item, 'optionalAccess', _1046 => _1046.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1047 => _1047.period_start]), _optionalChain([item, 'optionalAccess', _1048 => _1048.period_end])) || void 0,
46281
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1049 => _1049.featured_image]), ogPlaceholder),
46258
+ description: _optionalChain([item, 'optionalAccess', _1048 => _1048.strategic_update]) || _optionalChain([item, 'optionalAccess', _1049 => _1049.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1050 => _1050.period_start]), _optionalChain([item, 'optionalAccess', _1051 => _1051.period_end])) || void 0,
46259
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1052 => _1052.featured_image]), ogPlaceholder),
46282
46260
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
46283
46261
  status: { label: "Investor update", variant: "grey" },
46284
46262
  chatRef,
@@ -46295,12 +46273,12 @@ function OnboardingGuideChatCard({
46295
46273
  ogPlaceholder,
46296
46274
  discuss
46297
46275
  }) {
46298
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1050 => _1050.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1051 => _1051.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1052 => _1052.og_image_url]), ogPlaceholder)));
46276
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1053 => _1053.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1054 => _1054.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1055 => _1055.og_image_url]), ogPlaceholder)));
46299
46277
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46300
46278
  EntityMingoCard,
46301
46279
  {
46302
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1053 => _1053.title]), () => ( "")),
46303
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1054 => _1054.summary]), () => ( _optionalChain([item, 'optionalAccess', _1055 => _1055.description]))), () => ( void 0)),
46280
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1056 => _1056.title]), () => ( "")),
46281
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1057 => _1057.summary]), () => ( _optionalChain([item, 'optionalAccess', _1058 => _1058.description]))), () => ( void 0)),
46304
46282
  cover,
46305
46283
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
46306
46284
  status: { label: "Guide", variant: "grey" },
@@ -46321,25 +46299,25 @@ function ProgramChatCard({
46321
46299
  discuss
46322
46300
  }) {
46323
46301
  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 });
46324
- const isScheduled = _optionalChain([item, 'optionalAccess', _1056 => _1056.status]) === "scheduled";
46302
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1059 => _1059.status]) === "scheduled";
46325
46303
  let typeMeta;
46326
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1057 => _1057.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46304
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1060 => _1060.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46327
46305
  typeMeta = formatDurationCompact(item.duration_seconds);
46328
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1058 => _1058.location_name]) === "string" && item.location_name.trim().length > 0) {
46306
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1061 => _1061.location_name]) === "string" && item.location_name.trim().length > 0) {
46329
46307
  typeMeta = item.location_name;
46330
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1059 => _1059.start_at])) {
46308
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1062 => _1062.start_at])) {
46331
46309
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
46332
46310
  const dur = formatDurationFromRange(item.start_at, item.end_at);
46333
46311
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
46334
46312
  }
46335
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1060 => _1060.date]), () => ( null)), { fallback: "", timezone: "local" });
46313
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1063 => _1063.date]), () => ( null)), { fallback: "", timezone: "local" });
46336
46314
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
46337
46315
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46338
46316
  EntityMingoCard,
46339
46317
  {
46340
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1061 => _1061.title]), () => ( "")),
46341
- description: meta || _optionalChain([item, 'optionalAccess', _1062 => _1062.description]) || void 0,
46342
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1063 => _1063.cover_url]), ogPlaceholder),
46318
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1064 => _1064.title]), () => ( "")),
46319
+ description: meta || _optionalChain([item, 'optionalAccess', _1065 => _1065.description]) || void 0,
46320
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1066 => _1066.cover_url]), ogPlaceholder),
46343
46321
  fallbackIcon: icon,
46344
46322
  status: { label, variant: "grey" },
46345
46323
  chatRef,
@@ -46356,10 +46334,10 @@ function RoadmapChatCard({
46356
46334
  cardType,
46357
46335
  discuss
46358
46336
  }) {
46359
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1064 => _1064.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46360
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1065 => _1065.customItemId]) != null;
46337
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1067 => _1067.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46338
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1068 => _1068.customItemId]) != null;
46361
46339
  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 });
46362
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1066 => _1066.customItemId]), className: "size-6" }) : logoUrl ? (
46340
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1069 => _1069.customItemId]), className: "size-6" }) : logoUrl ? (
46363
46341
  // Contained (not full-bleed) so the integration logo keeps its aspect
46364
46342
  // ratio inside the bordered icon box — matches RoadmapCard.
46365
46343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -46367,10 +46345,10 @@ function RoadmapChatCard({
46367
46345
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46368
46346
  EntityMingoCard,
46369
46347
  {
46370
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1067 => _1067.title]), () => ( "")),
46371
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1068 => _1068.description]), () => ( void 0)),
46348
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1070 => _1070.title]), () => ( "")),
46349
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1071 => _1071.description]), () => ( void 0)),
46372
46350
  fallbackIcon: icon,
46373
- status: statusPill(_optionalChain([item, 'optionalAccess', _1069 => _1069.status])),
46351
+ status: statusPill(_optionalChain([item, 'optionalAccess', _1072 => _1072.status])),
46374
46352
  chatRef,
46375
46353
  isNewTab,
46376
46354
  discuss,
@@ -46456,7 +46434,7 @@ function programRegistryEntries() {
46456
46434
  discuss: opts.discuss,
46457
46435
  configKey: cfg.configKey,
46458
46436
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
46459
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1070 => _1070.extras, 'optionalAccess', _1071 => _1071.buildOgPlaceholderUrl, 'optionalCall', _1072 => _1072(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1073 => _1073.title]), () => ( "")))]), () => ( null))
46437
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1073 => _1073.extras, 'optionalAccess', _1074 => _1074.buildOgPlaceholderUrl, 'optionalCall', _1075 => _1075(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1076 => _1076.title]), () => ( "")))]), () => ( null))
46460
46438
  }
46461
46439
  )
46462
46440
  };
@@ -46608,8 +46586,8 @@ var CHAT_CARD_REGISTRY = {
46608
46586
  chatRef,
46609
46587
  isNewTab: opts.isNewTab,
46610
46588
  discuss: opts.discuss,
46611
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1074 => _1074.extras, 'optionalAccess', _1075 => _1075.buildOgPlaceholderUrl, 'optionalCall', _1076 => _1076(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1077 => _1077.title]), () => ( "")))]), () => ( null)),
46612
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1078 => _1078.metadata, 'optionalAccess', _1079 => _1079.hasEmbeddedVideo]) === true
46589
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1077 => _1077.extras, 'optionalAccess', _1078 => _1078.buildOgPlaceholderUrl, 'optionalCall', _1079 => _1079(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1080 => _1080.title]), () => ( "")))]), () => ( null)),
46590
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1081 => _1081.metadata, 'optionalAccess', _1082 => _1082.hasEmbeddedVideo]) === true
46613
46591
  }
46614
46592
  )
46615
46593
  },
@@ -46626,7 +46604,7 @@ var CHAT_CARD_REGISTRY = {
46626
46604
  chatRef,
46627
46605
  isNewTab: opts.isNewTab,
46628
46606
  discuss: opts.discuss,
46629
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1080 => _1080.extras, 'optionalAccess', _1081 => _1081.buildOgPlaceholderUrl, 'optionalCall', _1082 => _1082(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1083 => _1083.title]), () => ( "")))]), () => ( null))
46607
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1083 => _1083.extras, 'optionalAccess', _1084 => _1084.buildOgPlaceholderUrl, 'optionalCall', _1085 => _1085(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1086 => _1086.title]), () => ( "")))]), () => ( null))
46630
46608
  }
46631
46609
  )
46632
46610
  },
@@ -46643,7 +46621,7 @@ var CHAT_CARD_REGISTRY = {
46643
46621
  chatRef,
46644
46622
  isNewTab: opts.isNewTab,
46645
46623
  discuss: opts.discuss,
46646
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1084 => _1084.extras, 'optionalAccess', _1085 => _1085.buildOgPlaceholderUrl, 'optionalCall', _1086 => _1086(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1087 => _1087.title]), () => ( "")))]), () => ( null))
46624
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1087 => _1087.extras, 'optionalAccess', _1088 => _1088.buildOgPlaceholderUrl, 'optionalCall', _1089 => _1089(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1090 => _1090.title]), () => ( "")))]), () => ( null))
46647
46625
  }
46648
46626
  )
46649
46627
  },
@@ -46654,7 +46632,7 @@ var CHAT_CARD_REGISTRY = {
46654
46632
  bareInline: true,
46655
46633
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
46656
46634
  render: (item, chatRef, opts) => {
46657
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1088 => _1088.extras, 'optionalAccess', _1089 => _1089.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46635
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1091 => _1091.extras, 'optionalAccess', _1092 => _1092.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46658
46636
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46659
46637
  ProductReleaseChatCard,
46660
46638
  {
@@ -46681,7 +46659,7 @@ var CHAT_CARD_REGISTRY = {
46681
46659
  chatRef,
46682
46660
  isNewTab: opts.isNewTab,
46683
46661
  discuss: opts.discuss,
46684
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1090 => _1090.extras, 'optionalAccess', _1091 => _1091.buildOgPlaceholderUrl, 'optionalCall', _1092 => _1092(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1093 => _1093.title]), () => ( "")))]), () => ( null))
46662
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1093 => _1093.extras, 'optionalAccess', _1094 => _1094.buildOgPlaceholderUrl, 'optionalCall', _1095 => _1095(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1096 => _1096.title]), () => ( "")))]), () => ( null))
46685
46663
  }
46686
46664
  )
46687
46665
  },
@@ -46700,7 +46678,7 @@ var CHAT_CARD_REGISTRY = {
46700
46678
  chatRef,
46701
46679
  isNewTab: opts.isNewTab,
46702
46680
  discuss: opts.discuss,
46703
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1094 => _1094.extras, 'optionalAccess', _1095 => _1095.buildOgPlaceholderUrl, 'optionalCall', _1096 => _1096(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1097 => _1097.title]), () => ( "")))]), () => ( null))
46681
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1097 => _1097.extras, 'optionalAccess', _1098 => _1098.buildOgPlaceholderUrl, 'optionalCall', _1099 => _1099(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1100 => _1100.title]), () => ( "")))]), () => ( null))
46704
46682
  }
46705
46683
  )
46706
46684
  },
@@ -46712,7 +46690,7 @@ var CHAT_CARD_REGISTRY = {
46712
46690
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
46713
46691
  // No public viewer — synthesize the hub-internal admin URL post-fetch
46714
46692
  // so the wrapper + isNewTab computation see the actual destination.
46715
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1098 => _1098.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46693
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1101 => _1101.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46716
46694
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46717
46695
  CampaignChatCard,
46718
46696
  {
@@ -46738,12 +46716,12 @@ function ChatCardNavWrap({
46738
46716
  const onClickCapture = (e) => {
46739
46717
  if (!href) return;
46740
46718
  const targetEl = e.target;
46741
- if (_optionalChain([targetEl, 'optionalAccess', _1099 => _1099.closest, 'optionalCall', _1100 => _1100("button")])) return;
46742
- if (!_optionalChain([targetEl, 'optionalAccess', _1101 => _1101.closest, 'optionalCall', _1102 => _1102("a")])) return;
46719
+ if (_optionalChain([targetEl, 'optionalAccess', _1102 => _1102.closest, 'optionalCall', _1103 => _1103("button")])) return;
46720
+ if (!_optionalChain([targetEl, 'optionalAccess', _1104 => _1104.closest, 'optionalCall', _1105 => _1105("a")])) return;
46743
46721
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
46744
46722
  if (!handled) return;
46745
46723
  e.stopPropagation();
46746
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1103 => _1103.closeChat])) panel.closeChat();
46724
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1106 => _1106.closeChat])) panel.closeChat();
46747
46725
  };
46748
46726
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
46749
46727
  }
@@ -46765,7 +46743,7 @@ function ChatCardLoader({
46765
46743
  title: chatRef.title,
46766
46744
  externalUrl: chatRef.url,
46767
46745
  targetPlatform: chatRef.targetPlatform,
46768
- path: typeof _optionalChain([chatRef, 'access', _1104 => _1104.metadata, 'optionalAccess', _1105 => _1105.path]) === "string" ? chatRef.metadata.path : null
46746
+ path: typeof _optionalChain([chatRef, 'access', _1107 => _1107.metadata, 'optionalAccess', _1108 => _1108.path]) === "string" ? chatRef.metadata.path : null
46769
46747
  },
46770
46748
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
46771
46749
  );
@@ -46779,7 +46757,7 @@ function ChatCardLoader({
46779
46757
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
46780
46758
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
46781
46759
  const { item, isLoading } = useChatCardItem(
46782
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1106 => _1106.contentRefType]), () => ( "")),
46760
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1109 => _1109.contentRefType]), () => ( "")),
46783
46761
  fetchEntry ? resolvedChatRef.id : ""
46784
46762
  );
46785
46763
  if (!entry) return null;
@@ -46810,7 +46788,7 @@ function ChatCardLoader({
46810
46788
  isNewTab,
46811
46789
  discuss
46812
46790
  };
46813
- const path = typeof _optionalChain([finalChatRef, 'access', _1107 => _1107.metadata, 'optionalAccess', _1108 => _1108.path]) === "string" ? finalChatRef.metadata.path : null;
46791
+ const path = typeof _optionalChain([finalChatRef, 'access', _1110 => _1110.metadata, 'optionalAccess', _1111 => _1111.path]) === "string" ? finalChatRef.metadata.path : null;
46814
46792
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46815
46793
  ChatCardNavWrap,
46816
46794
  {
@@ -47090,7 +47068,7 @@ function useChunkCatchup({
47090
47068
 
47091
47069
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
47092
47070
  function prefersReducedMotion() {
47093
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1109 => _1109.matchMedia, 'optionalCall', _1110 => _1110("(prefers-reduced-motion: reduce)"), 'access', _1111 => _1111.matches]) === true;
47071
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1112 => _1112.matchMedia, 'optionalCall', _1113 => _1113("(prefers-reduced-motion: reduce)"), 'access', _1114 => _1114.matches]) === true;
47094
47072
  }
47095
47073
  function useScriptedStream(frames, resetKey, enabled = true) {
47096
47074
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -47102,7 +47080,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
47102
47080
  }
47103
47081
  _react.useEffect.call(void 0, () => {
47104
47082
  setReducedMotion(prefersReducedMotion());
47105
- const mq = _optionalChain([window, 'access', _1112 => _1112.matchMedia, 'optionalCall', _1113 => _1113("(prefers-reduced-motion: reduce)")]);
47083
+ const mq = _optionalChain([window, 'access', _1115 => _1115.matchMedia, 'optionalCall', _1116 => _1116("(prefers-reduced-motion: reduce)")]);
47106
47084
  if (!mq) return;
47107
47085
  const onChange = () => setReducedMotion(mq.matches);
47108
47086
  mq.addEventListener("change", onChange);
@@ -47231,7 +47209,7 @@ function useJetStreamDialogSubscription({
47231
47209
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
47232
47210
  conn: sharedConn,
47233
47211
  wsUrl,
47234
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1114 => _1114.current, 'optionalCall', _1115 => _1115()]),
47212
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1117 => _1117.current, 'optionalCall', _1118 => _1118()]),
47235
47213
  backoff: reconnectionBackoffRef.current,
47236
47214
  getFreshUrl: () => getNatsWsUrlRef.current(),
47237
47215
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -47246,7 +47224,7 @@ function useJetStreamDialogSubscription({
47246
47224
  setReconnectionCount((c) => c + 1);
47247
47225
  }
47248
47226
  hadConnectionBeforeRef.current = true;
47249
- _optionalChain([onConnectRef, 'access', _1116 => _1116.current, 'optionalCall', _1117 => _1117()]);
47227
+ _optionalChain([onConnectRef, 'access', _1119 => _1119.current, 'optionalCall', _1120 => _1120()]);
47250
47228
  }
47251
47229
  if (status === "error") {
47252
47230
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -47256,7 +47234,7 @@ function useJetStreamDialogSubscription({
47256
47234
  setIsConnected(false);
47257
47235
  setIsSubscribed(false);
47258
47236
  tearDownSubscription();
47259
- _optionalChain([onDisconnectRef, 'access', _1118 => _1118.current, 'optionalCall', _1119 => _1119()]);
47237
+ _optionalChain([onDisconnectRef, 'access', _1121 => _1121.current, 'optionalCall', _1122 => _1122()]);
47260
47238
  }
47261
47239
  }
47262
47240
  });
@@ -47335,7 +47313,7 @@ function useJetStreamDialogSubscription({
47335
47313
  }
47336
47314
  subscriptionRef.current = handle;
47337
47315
  setIsSubscribed(true);
47338
- _optionalChain([onSubscribedRef, 'access', _1120 => _1120.current, 'optionalCall', _1121 => _1121()]);
47316
+ _optionalChain([onSubscribedRef, 'access', _1123 => _1123.current, 'optionalCall', _1124 => _1124()]);
47339
47317
  } catch (e52) {
47340
47318
  if (!cancelled) {
47341
47319
  setIsSubscribed(false);
@@ -47448,20 +47426,20 @@ function useNatsDialogSubscription({
47448
47426
  const tearDownSubscriptions = () => {
47449
47427
  subscriptionRefs.current.forEach((sub) => {
47450
47428
  try {
47451
- _optionalChain([sub, 'optionalAccess', _1122 => _1122.unsubscribe, 'call', _1123 => _1123()]);
47429
+ _optionalChain([sub, 'optionalAccess', _1125 => _1125.unsubscribe, 'call', _1126 => _1126()]);
47452
47430
  } catch (e54) {
47453
47431
  }
47454
47432
  });
47455
47433
  subscriptionRefs.current.clear();
47456
47434
  lastSubscribedDialogIdRef.current = null;
47457
- _optionalChain([abortControllerRef, 'access', _1124 => _1124.current, 'optionalAccess', _1125 => _1125.abort, 'call', _1126 => _1126()]);
47435
+ _optionalChain([abortControllerRef, 'access', _1127 => _1127.current, 'optionalAccess', _1128 => _1128.abort, 'call', _1129 => _1129()]);
47458
47436
  abortControllerRef.current = null;
47459
47437
  };
47460
47438
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
47461
47439
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
47462
47440
  conn: sharedConn,
47463
47441
  wsUrl,
47464
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1127 => _1127.current, 'optionalCall', _1128 => _1128()]),
47442
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1130 => _1130.current, 'optionalCall', _1131 => _1131()]),
47465
47443
  backoff: reconnectionBackoffRef.current,
47466
47444
  getFreshUrl: () => getNatsWsUrlRef.current(),
47467
47445
  shouldRetryOn: isDisconnectStatus,
@@ -47472,7 +47450,7 @@ function useNatsDialogSubscription({
47472
47450
  setReconnectionCount((c) => c + 1);
47473
47451
  }
47474
47452
  hadConnectionBeforeRef.current = true;
47475
- _optionalChain([onConnectRef, 'access', _1129 => _1129.current, 'optionalCall', _1130 => _1130()]);
47453
+ _optionalChain([onConnectRef, 'access', _1132 => _1132.current, 'optionalCall', _1133 => _1133()]);
47476
47454
  }
47477
47455
  if (status === "error") {
47478
47456
  console.warn("[NATS] protocol error:", evt.data);
@@ -47482,7 +47460,7 @@ function useNatsDialogSubscription({
47482
47460
  setIsConnected(false);
47483
47461
  setIsSubscribed(false);
47484
47462
  tearDownSubscriptions();
47485
- _optionalChain([onDisconnectRef, 'access', _1131 => _1131.current, 'optionalCall', _1132 => _1132()]);
47463
+ _optionalChain([onDisconnectRef, 'access', _1134 => _1134.current, 'optionalCall', _1135 => _1135()]);
47486
47464
  }
47487
47465
  }
47488
47466
  });
@@ -47513,13 +47491,13 @@ function useNatsDialogSubscription({
47513
47491
  setIsSubscribed(false);
47514
47492
  subscriptionRefs.current.forEach((sub) => {
47515
47493
  try {
47516
- _optionalChain([sub, 'optionalAccess', _1133 => _1133.unsubscribe, 'call', _1134 => _1134()]);
47494
+ _optionalChain([sub, 'optionalAccess', _1136 => _1136.unsubscribe, 'call', _1137 => _1137()]);
47517
47495
  } catch (e55) {
47518
47496
  }
47519
47497
  });
47520
47498
  subscriptionRefs.current.clear();
47521
47499
  lastSubscribedDialogIdRef.current = null;
47522
- _optionalChain([abortControllerRef, 'access', _1135 => _1135.current, 'optionalAccess', _1136 => _1136.abort, 'call', _1137 => _1137()]);
47500
+ _optionalChain([abortControllerRef, 'access', _1138 => _1138.current, 'optionalAccess', _1139 => _1139.abort, 'call', _1140 => _1140()]);
47523
47501
  abortControllerRef.current = null;
47524
47502
  }
47525
47503
  return;
@@ -47531,12 +47509,12 @@ function useNatsDialogSubscription({
47531
47509
  if (subscriptionRefs.current.size > 0) {
47532
47510
  subscriptionRefs.current.forEach((sub) => {
47533
47511
  try {
47534
- _optionalChain([sub, 'optionalAccess', _1138 => _1138.unsubscribe, 'call', _1139 => _1139()]);
47512
+ _optionalChain([sub, 'optionalAccess', _1141 => _1141.unsubscribe, 'call', _1142 => _1142()]);
47535
47513
  } catch (e56) {
47536
47514
  }
47537
47515
  });
47538
47516
  subscriptionRefs.current.clear();
47539
- _optionalChain([abortControllerRef, 'access', _1140 => _1140.current, 'optionalAccess', _1141 => _1141.abort, 'call', _1142 => _1142()]);
47517
+ _optionalChain([abortControllerRef, 'access', _1143 => _1143.current, 'optionalAccess', _1144 => _1144.abort, 'call', _1145 => _1145()]);
47540
47518
  }
47541
47519
  abortControllerRef.current = new AbortController();
47542
47520
  const abort = abortControllerRef.current;
@@ -47568,7 +47546,7 @@ function useNatsDialogSubscription({
47568
47546
  });
47569
47547
  lastSubscribedDialogIdRef.current = dialogId;
47570
47548
  setIsSubscribed(true);
47571
- _optionalChain([onSubscribedRef, 'access', _1143 => _1143.current, 'optionalCall', _1144 => _1144()]);
47549
+ _optionalChain([onSubscribedRef, 'access', _1146 => _1146.current, 'optionalCall', _1147 => _1147()]);
47572
47550
  };
47573
47551
  if (isConnectedRef.current) {
47574
47552
  createSubscriptions();
@@ -47578,7 +47556,7 @@ function useNatsDialogSubscription({
47578
47556
  abort.abort();
47579
47557
  subscriptionRefs.current.forEach((sub) => {
47580
47558
  try {
47581
- _optionalChain([sub, 'optionalAccess', _1145 => _1145.unsubscribe, 'call', _1146 => _1146()]);
47559
+ _optionalChain([sub, 'optionalAccess', _1148 => _1148.unsubscribe, 'call', _1149 => _1149()]);
47582
47560
  } catch (e58) {
47583
47561
  }
47584
47562
  });
@@ -47619,7 +47597,7 @@ function useNatsDialogSubscription({
47619
47597
  });
47620
47598
  lastSubscribedDialogIdRef.current = dialogId2;
47621
47599
  setIsSubscribed(true);
47622
- _optionalChain([onSubscribedRef, 'access', _1147 => _1147.current, 'optionalCall', _1148 => _1148()]);
47600
+ _optionalChain([onSubscribedRef, 'access', _1150 => _1150.current, 'optionalCall', _1151 => _1151()]);
47623
47601
  } else if (subscriptionRefs.current.size > 0) {
47624
47602
  setIsSubscribed(true);
47625
47603
  }
@@ -47627,10 +47605,10 @@ function useNatsDialogSubscription({
47627
47605
  return { isConnected, isSubscribed, reconnectionCount };
47628
47606
  }
47629
47607
  function buildNatsWsUrl(apiBaseUrl, options) {
47630
- const path = _optionalChain([options, 'optionalAccess', _1149 => _1149.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47608
+ const path = _optionalChain([options, 'optionalAccess', _1152 => _1152.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47631
47609
  const u = new URL(path, apiBaseUrl);
47632
47610
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
47633
- if (_optionalChain([options, 'optionalAccess', _1150 => _1150.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1151 => _1151.token])) {
47611
+ if (_optionalChain([options, 'optionalAccess', _1153 => _1153.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1154 => _1154.token])) {
47634
47612
  u.searchParams.set("authorization", options.token);
47635
47613
  }
47636
47614
  return u.toString();
@@ -47766,7 +47744,7 @@ function parseChunkToAction(chunk) {
47766
47744
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
47767
47745
  // historical path in `process-historical-messages.ts`) — keeps both
47768
47746
  // message sources producing an identical shape.
47769
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1152 => _1152.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1153 => _1153.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47747
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1155 => _1155.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1156 => _1156.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47770
47748
  };
47771
47749
  case MESSAGE_TYPE.TOKEN_USAGE:
47772
47750
  return {
@@ -47958,8 +47936,8 @@ var MessageSegmentAccumulator = class {
47958
47936
  type: "tool_execution",
47959
47937
  data: {
47960
47938
  ...toolData,
47961
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1154 => _1154.data, 'access', _1155 => _1155.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1156 => _1156.toolTitle]))),
47962
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1157 => _1157.parameters])
47939
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1157 => _1157.data, 'access', _1158 => _1158.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1159 => _1159.toolTitle]))),
47940
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1160 => _1160.parameters])
47963
47941
  }
47964
47942
  };
47965
47943
  if (existingIndex !== -1) {
@@ -47983,8 +47961,8 @@ var MessageSegmentAccumulator = class {
47983
47961
  if (seg.type !== "approval_batch") return seg;
47984
47962
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
47985
47963
  if (!hasCall) return seg;
47986
- const prev = _optionalChain([seg, 'access', _1158 => _1158.data, 'access', _1159 => _1159.executions, 'optionalAccess', _1160 => _1160[execId]]);
47987
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1161 => _1161.result]), success: _optionalChain([prev, 'optionalAccess', _1162 => _1162.success]) };
47964
+ const prev = _optionalChain([seg, 'access', _1161 => _1161.data, 'access', _1162 => _1162.executions, 'optionalAccess', _1163 => _1163[execId]]);
47965
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1164 => _1164.result]), success: _optionalChain([prev, 'optionalAccess', _1165 => _1165.success]) };
47988
47966
  matched = true;
47989
47967
  return {
47990
47968
  ...seg,
@@ -48106,10 +48084,10 @@ var MessageSegmentAccumulator = class {
48106
48084
  const segment = {
48107
48085
  type: "approval_request",
48108
48086
  data: {
48109
- command: _optionalChain([pendingApproval, 'optionalAccess', _1163 => _1163.command]) || "",
48110
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1164 => _1164.explanation]),
48087
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1166 => _1166.command]) || "",
48088
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1167 => _1167.explanation]),
48111
48089
  requestId,
48112
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1165 => _1165.approvalType]) || approvalType
48090
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1168 => _1168.approvalType]) || approvalType
48113
48091
  },
48114
48092
  status,
48115
48093
  onApprove: this.callbacks.onApprove,
@@ -48301,7 +48279,7 @@ function useRealtimeChunkProcessor(options) {
48301
48279
  if (initialState.escalatedApprovals) {
48302
48280
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
48303
48281
  initialState.escalatedApprovals.forEach((data, requestId) => {
48304
- _optionalChain([callbacks, 'access', _1166 => _1166.onEscalatedApproval, 'optionalCall', _1167 => _1167(requestId, data)]);
48282
+ _optionalChain([callbacks, 'access', _1169 => _1169.onEscalatedApproval, 'optionalCall', _1170 => _1170(requestId, data)]);
48305
48283
  });
48306
48284
  }
48307
48285
  hasEverStreamedRef.current = true;
@@ -48323,13 +48301,13 @@ function useRealtimeChunkProcessor(options) {
48323
48301
  if (!action) return;
48324
48302
  const accumulator = accumulatorRef.current;
48325
48303
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
48326
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1168 => _1168.onSegmentsUpdate, 'optionalCall', _1169 => _1169(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48304
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1171 => _1171.onSegmentsUpdate, 'optionalCall', _1172 => _1172(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48327
48305
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
48328
48306
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
48329
48307
  if (isInStreamRef.current || !directTeardownFiredRef.current) {
48330
48308
  isInStreamRef.current = false;
48331
48309
  directTeardownFiredRef.current = true;
48332
- _optionalChain([callbacks, 'access', _1170 => _1170.onStreamEnd, 'optionalCall', _1171 => _1171()]);
48310
+ _optionalChain([callbacks, 'access', _1173 => _1173.onStreamEnd, 'optionalCall', _1174 => _1174()]);
48333
48311
  accumulator.resetSegments();
48334
48312
  }
48335
48313
  return;
@@ -48338,16 +48316,16 @@ function useRealtimeChunkProcessor(options) {
48338
48316
  case "message_start":
48339
48317
  isInStreamRef.current = true;
48340
48318
  hasEverStreamedRef.current = true;
48341
- _optionalChain([callbacks, 'access', _1172 => _1172.onStreamStart, 'optionalCall', _1173 => _1173()]);
48319
+ _optionalChain([callbacks, 'access', _1175 => _1175.onStreamStart, 'optionalCall', _1176 => _1176()]);
48342
48320
  accumulator.resetSegments();
48343
48321
  break;
48344
48322
  case "message_end":
48345
48323
  isInStreamRef.current = false;
48346
- _optionalChain([callbacks, 'access', _1174 => _1174.onStreamEnd, 'optionalCall', _1175 => _1175()]);
48324
+ _optionalChain([callbacks, 'access', _1177 => _1177.onStreamEnd, 'optionalCall', _1178 => _1178()]);
48347
48325
  accumulator.resetSegments();
48348
48326
  break;
48349
48327
  case "metadata":
48350
- _optionalChain([callbacks, 'access', _1176 => _1176.onMetadata, 'optionalCall', _1177 => _1177(action)]);
48328
+ _optionalChain([callbacks, 'access', _1179 => _1179.onMetadata, 'optionalCall', _1180 => _1180(action)]);
48351
48329
  break;
48352
48330
  case "text": {
48353
48331
  const segments = accumulator.appendText(action.text);
@@ -48369,7 +48347,7 @@ function useRealtimeChunkProcessor(options) {
48369
48347
  }
48370
48348
  case "tool_execution": {
48371
48349
  if (action.segment.data.type === "EXECUTING_TOOL") {
48372
- _optionalChain([callbacks, 'access', _1178 => _1178.onAgentBusy, 'optionalCall', _1179 => _1179()]);
48350
+ _optionalChain([callbacks, 'access', _1181 => _1181.onAgentBusy, 'optionalCall', _1182 => _1182()]);
48373
48351
  }
48374
48352
  if (!isInStreamRef.current && callbacks.onToolExecuted) {
48375
48353
  callbacks.onToolExecuted(action.segment);
@@ -48393,7 +48371,7 @@ function useRealtimeChunkProcessor(options) {
48393
48371
  emitSegments(segments);
48394
48372
  } else {
48395
48373
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
48396
- _optionalChain([callbacks, 'access', _1180 => _1180.onEscalatedApproval, 'optionalCall', _1181 => _1181(requestId, { command, explanation, approvalType })]);
48374
+ _optionalChain([callbacks, 'access', _1183 => _1183.onEscalatedApproval, 'optionalCall', _1184 => _1184(requestId, { command, explanation, approvalType })]);
48397
48375
  }
48398
48376
  break;
48399
48377
  }
@@ -48405,13 +48383,13 @@ function useRealtimeChunkProcessor(options) {
48405
48383
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
48406
48384
  pendingEscalatedRef.current.set(requestId, {
48407
48385
  command: summary,
48408
- explanation: _optionalChain([required, 'optionalAccess', _1182 => _1182.toolExplanation]),
48386
+ explanation: _optionalChain([required, 'optionalAccess', _1185 => _1185.toolExplanation]),
48409
48387
  approvalType,
48410
48388
  toolCalls
48411
48389
  });
48412
- _optionalChain([callbacks, 'access', _1183 => _1183.onEscalatedApproval, 'optionalCall', _1184 => _1184(requestId, {
48390
+ _optionalChain([callbacks, 'access', _1186 => _1186.onEscalatedApproval, 'optionalCall', _1187 => _1187(requestId, {
48413
48391
  command: summary,
48414
- explanation: _optionalChain([required, 'optionalAccess', _1185 => _1185.toolExplanation]),
48392
+ explanation: _optionalChain([required, 'optionalAccess', _1188 => _1188.toolExplanation]),
48415
48393
  approvalType
48416
48394
  })]);
48417
48395
  break;
@@ -48437,12 +48415,12 @@ function useRealtimeChunkProcessor(options) {
48437
48415
  }
48438
48416
  case "approval_result": {
48439
48417
  const { requestId, approved, approvalType, resolvedByName } = action;
48440
- if (approved) _optionalChain([callbacks, 'access', _1186 => _1186.onAgentBusy, 'optionalCall', _1187 => _1187()]);
48418
+ if (approved) _optionalChain([callbacks, 'access', _1189 => _1189.onAgentBusy, 'optionalCall', _1190 => _1190()]);
48441
48419
  const escalatedData = pendingEscalatedRef.current.get(requestId);
48442
48420
  const status = approved ? "approved" : "rejected";
48443
48421
  if (escalatedData) {
48444
48422
  pendingEscalatedRef.current.delete(requestId);
48445
- _optionalChain([callbacks, 'access', _1188 => _1188.onEscalatedApprovalResult, 'optionalCall', _1189 => _1189(requestId, approved, {
48423
+ _optionalChain([callbacks, 'access', _1191 => _1191.onEscalatedApprovalResult, 'optionalCall', _1192 => _1192(requestId, approved, {
48446
48424
  command: escalatedData.command,
48447
48425
  explanation: escalatedData.explanation,
48448
48426
  approvalType: escalatedData.approvalType
@@ -48488,29 +48466,29 @@ function useRealtimeChunkProcessor(options) {
48488
48466
  emitSegments(accumulator.getSegments());
48489
48467
  }
48490
48468
  }
48491
- _optionalChain([callbacks, 'access', _1190 => _1190.onApprovalResolved, 'optionalCall', _1191 => _1191(requestId, status, approvalType, resolvedByName)]);
48469
+ _optionalChain([callbacks, 'access', _1193 => _1193.onApprovalResolved, 'optionalCall', _1194 => _1194(requestId, status, approvalType, resolvedByName)]);
48492
48470
  break;
48493
48471
  }
48494
48472
  case "error": {
48495
48473
  let message2;
48496
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1192 => _1192.details])) {
48474
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1195 => _1195.details])) {
48497
48475
  try {
48498
- message2 = _optionalChain([JSON, 'access', _1193 => _1193.parse, 'call', _1194 => _1194(action.details), 'optionalAccess', _1195 => _1195.error, 'optionalAccess', _1196 => _1196.message]);
48476
+ message2 = _optionalChain([JSON, 'access', _1196 => _1196.parse, 'call', _1197 => _1197(action.details), 'optionalAccess', _1198 => _1198.error, 'optionalAccess', _1199 => _1199.message]);
48499
48477
  } catch (e60) {
48500
48478
  message2 = action.details;
48501
48479
  }
48502
48480
  }
48503
48481
  const segments = accumulator.addError(action.error, message2);
48504
48482
  emitSegments(segments);
48505
- _optionalChain([callbacks, 'access', _1197 => _1197.onError, 'optionalCall', _1198 => _1198(action.error, message2)]);
48483
+ _optionalChain([callbacks, 'access', _1200 => _1200.onError, 'optionalCall', _1201 => _1201(action.error, message2)]);
48506
48484
  break;
48507
48485
  }
48508
48486
  case "system": {
48509
- _optionalChain([callbacks, 'access', _1199 => _1199.onSystemMessage, 'optionalCall', _1200 => _1200(action.text, { streamSeq })]);
48487
+ _optionalChain([callbacks, 'access', _1202 => _1202.onSystemMessage, 'optionalCall', _1203 => _1203(action.text, { streamSeq })]);
48510
48488
  break;
48511
48489
  }
48512
48490
  case "direct_message": {
48513
- _optionalChain([callbacks, 'access', _1201 => _1201.onDirectMessage, 'optionalCall', _1202 => _1202(action.text, {
48491
+ _optionalChain([callbacks, 'access', _1204 => _1204.onDirectMessage, 'optionalCall', _1205 => _1205(action.text, {
48514
48492
  ownerType: action.ownerType,
48515
48493
  displayName: action.displayName,
48516
48494
  userId: action.userId,
@@ -48519,7 +48497,7 @@ function useRealtimeChunkProcessor(options) {
48519
48497
  break;
48520
48498
  }
48521
48499
  case "message_request":
48522
- _optionalChain([callbacks, 'access', _1203 => _1203.onUserMessage, 'optionalCall', _1204 => _1204(action.text, {
48500
+ _optionalChain([callbacks, 'access', _1206 => _1206.onUserMessage, 'optionalCall', _1207 => _1207(action.text, {
48523
48501
  ownerType: action.ownerType,
48524
48502
  displayName: action.displayName,
48525
48503
  userId: action.userId,
@@ -48528,7 +48506,7 @@ function useRealtimeChunkProcessor(options) {
48528
48506
  })]);
48529
48507
  break;
48530
48508
  case "token_usage":
48531
- _optionalChain([callbacks, 'access', _1205 => _1205.onTokenUsage, 'optionalCall', _1206 => _1206(action.data)]);
48509
+ _optionalChain([callbacks, 'access', _1208 => _1208.onTokenUsage, 'optionalCall', _1209 => _1209(action.data)]);
48532
48510
  break;
48533
48511
  case "context_compaction_start": {
48534
48512
  const standalone = !isInStreamRef.current;
@@ -48543,7 +48521,7 @@ function useRealtimeChunkProcessor(options) {
48543
48521
  break;
48544
48522
  }
48545
48523
  case "dialog_closed":
48546
- _optionalChain([callbacks, 'access', _1207 => _1207.onDialogClosed, 'optionalCall', _1208 => _1208()]);
48524
+ _optionalChain([callbacks, 'access', _1210 => _1210.onDialogClosed, 'optionalCall', _1211 => _1211()]);
48547
48525
  break;
48548
48526
  default:
48549
48527
  break;
@@ -48591,7 +48569,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
48591
48569
  const data = await res.json();
48592
48570
  return _nullishCoalesce(data.commands, () => ( []));
48593
48571
  } catch (err) {
48594
- if (_optionalChain([err, 'optionalAccess', _1209 => _1209.name]) === "AbortError") throw err;
48572
+ if (_optionalChain([err, 'optionalAccess', _1212 => _1212.name]) === "AbortError") throw err;
48595
48573
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
48596
48574
  return [];
48597
48575
  }
@@ -48612,7 +48590,7 @@ function useSlashCommands(prefix, commandsUrl) {
48612
48590
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
48613
48591
  if (!cancelled) setCommands(next);
48614
48592
  } catch (err) {
48615
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1210 => _1210.name]) !== "AbortError") {
48593
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1213 => _1213.name]) !== "AbortError") {
48616
48594
  console.warn("[use-slash-commands] fetch failed:", err);
48617
48595
  }
48618
48596
  } finally {
@@ -48631,7 +48609,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
48631
48609
  const query = _reactquery.useQuery.call(void 0, {
48632
48610
  queryKey: ["chat-slash-commands", commandsUrl],
48633
48611
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
48634
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1211 => _1211.enabled]), () => ( true)),
48612
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1214 => _1214.enabled]), () => ( true)),
48635
48613
  staleTime: Infinity,
48636
48614
  gcTime: Infinity,
48637
48615
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -48670,21 +48648,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48670
48648
  }
48671
48649
  const data = await res.json();
48672
48650
  return {
48673
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1212 => _1212.name]), () => ( null)),
48674
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1213 => _1213.icon]), () => ( null)),
48675
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1214 => _1214.greeting]), () => ( null)),
48676
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1215 => _1215.enabledRagTableIds]), () => ( [])),
48677
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1216 => _1216.quickActions]), () => ( [])),
48678
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1217 => _1217.suggestedQueries]), () => ( []))
48651
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1215 => _1215.name]), () => ( null)),
48652
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1216 => _1216.icon]), () => ( null)),
48653
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1217 => _1217.greeting]), () => ( null)),
48654
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1218 => _1218.enabledRagTableIds]), () => ( [])),
48655
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1219 => _1219.quickActions]), () => ( [])),
48656
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1220 => _1220.suggestedQueries]), () => ( []))
48679
48657
  };
48680
48658
  } catch (err) {
48681
- if (_optionalChain([err, 'optionalAccess', _1218 => _1218.name]) === "AbortError") throw err;
48659
+ if (_optionalChain([err, 'optionalAccess', _1221 => _1221.name]) === "AbortError") throw err;
48682
48660
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
48683
48661
  return EMPTY_STATE_FALLBACK;
48684
48662
  }
48685
48663
  }
48686
48664
  function useEmptyStateConfig(emptyStateUrl, options) {
48687
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1219 => _1219.enabled]), () => ( true))) && !!emptyStateUrl;
48665
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1222 => _1222.enabled]), () => ( true))) && !!emptyStateUrl;
48688
48666
  const query = _reactquery.useQuery.call(void 0, {
48689
48667
  queryKey: ["chat-empty-state", emptyStateUrl],
48690
48668
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -48713,7 +48691,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
48713
48691
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
48714
48692
  function uploadWithProgress(url, file, token, onProgress, signal) {
48715
48693
  return new Promise((resolve, reject) => {
48716
- if (_optionalChain([signal, 'optionalAccess', _1220 => _1220.aborted])) {
48694
+ if (_optionalChain([signal, 'optionalAccess', _1223 => _1223.aborted])) {
48717
48695
  reject(new Error("Upload cancelled"));
48718
48696
  return;
48719
48697
  }
@@ -48727,7 +48705,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48727
48705
  xhr.removeEventListener("error", handleError);
48728
48706
  xhr.removeEventListener("abort", handleAbort);
48729
48707
  xhr.removeEventListener("timeout", handleTimeout);
48730
- _optionalChain([signal, 'optionalAccess', _1221 => _1221.removeEventListener, 'call', _1222 => _1222("abort", handleSignalAbort)]);
48708
+ _optionalChain([signal, 'optionalAccess', _1224 => _1224.removeEventListener, 'call', _1225 => _1225("abort", handleSignalAbort)]);
48731
48709
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
48732
48710
  };
48733
48711
  const handleProgress = (event) => {
@@ -48763,7 +48741,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48763
48741
  const handleSignalAbort = () => {
48764
48742
  xhr.abort();
48765
48743
  };
48766
- _optionalChain([signal, 'optionalAccess', _1223 => _1223.addEventListener, 'call', _1224 => _1224("abort", handleSignalAbort, { once: true })]);
48744
+ _optionalChain([signal, 'optionalAccess', _1226 => _1226.addEventListener, 'call', _1227 => _1227("abort", handleSignalAbort, { once: true })]);
48767
48745
  xhr.upload.addEventListener("progress", handleProgress);
48768
48746
  xhr.addEventListener("load", handleLoad);
48769
48747
  xhr.addEventListener("error", handleError);
@@ -48807,12 +48785,12 @@ function useChatAttachments() {
48807
48785
  try {
48808
48786
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
48809
48787
  } catch (err) {
48810
- if (_optionalChain([ctrl, 'optionalAccess', _1225 => _1225.signal, 'access', _1226 => _1226.aborted])) return;
48788
+ if (_optionalChain([ctrl, 'optionalAccess', _1228 => _1228.signal, 'access', _1229 => _1229.aborted])) return;
48811
48789
  throw new Error(
48812
48790
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
48813
48791
  );
48814
48792
  }
48815
- if (_optionalChain([ctrl, 'optionalAccess', _1227 => _1227.signal, 'access', _1228 => _1228.aborted])) return;
48793
+ if (_optionalChain([ctrl, 'optionalAccess', _1230 => _1230.signal, 'access', _1231 => _1231.aborted])) return;
48816
48794
  if (!sniffed) {
48817
48795
  throw new Error("Unrecognized file format");
48818
48796
  }
@@ -48826,7 +48804,7 @@ function useChatAttachments() {
48826
48804
  const urlResp = await _chunkN2TJ3HAMcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48827
48805
  method: "POST",
48828
48806
  headers: { "Content-Type": "application/json" },
48829
- signal: _optionalChain([ctrl, 'optionalAccess', _1229 => _1229.signal]),
48807
+ signal: _optionalChain([ctrl, 'optionalAccess', _1232 => _1232.signal]),
48830
48808
  body: JSON.stringify({
48831
48809
  fileName: att.file.name,
48832
48810
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -48852,9 +48830,9 @@ function useChatAttachments() {
48852
48830
  (pct) => {
48853
48831
  updateOne(att.id, { progress: pct });
48854
48832
  },
48855
- _optionalChain([ctrl, 'optionalAccess', _1230 => _1230.signal])
48833
+ _optionalChain([ctrl, 'optionalAccess', _1233 => _1233.signal])
48856
48834
  );
48857
- if (_optionalChain([ctrl, 'optionalAccess', _1231 => _1231.signal, 'access', _1232 => _1232.aborted])) return;
48835
+ if (_optionalChain([ctrl, 'optionalAccess', _1234 => _1234.signal, 'access', _1235 => _1235.aborted])) return;
48858
48836
  updateOne(att.id, {
48859
48837
  status: "ready",
48860
48838
  progress: 100,
@@ -48862,7 +48840,7 @@ function useChatAttachments() {
48862
48840
  viewToken: mintData.viewToken
48863
48841
  });
48864
48842
  } catch (err) {
48865
- if (_optionalChain([ctrl, 'optionalAccess', _1233 => _1233.signal, 'access', _1234 => _1234.aborted])) return;
48843
+ if (_optionalChain([ctrl, 'optionalAccess', _1236 => _1236.signal, 'access', _1237 => _1237.aborted])) return;
48866
48844
  const message2 = err instanceof Error ? err.message : String(err);
48867
48845
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
48868
48846
  } finally {
@@ -49013,7 +48991,7 @@ var ANON_DEFAULTS = {
49013
48991
  function useResolveChatIdentity(enabled) {
49014
48992
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49015
48993
  const url = runtime.endpoints.identityUrl;
49016
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1235 => _1235.email]), () => ( null));
48994
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1238 => _1238.email]), () => ( null));
49017
48995
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
49018
48996
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
49019
48997
  _react.useEffect.call(void 0, () => {
@@ -49104,7 +49082,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
49104
49082
  yield chunk;
49105
49083
  }
49106
49084
  } catch (err) {
49107
- if (_optionalChain([err, 'optionalAccess', _1236 => _1236.name]) === "AbortError" || ctrl.signal.aborted) {
49085
+ if (_optionalChain([err, 'optionalAccess', _1239 => _1239.name]) === "AbortError" || ctrl.signal.aborted) {
49108
49086
  return;
49109
49087
  }
49110
49088
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -49155,7 +49133,7 @@ function useChat({
49155
49133
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
49156
49134
  onMessagesChangeRef.current = onMessagesChange;
49157
49135
  _react.useEffect.call(void 0, () => {
49158
- _optionalChain([onMessagesChangeRef, 'access', _1237 => _1237.current, 'optionalCall', _1238 => _1238(messages)]);
49136
+ _optionalChain([onMessagesChangeRef, 'access', _1240 => _1240.current, 'optionalCall', _1241 => _1241(messages)]);
49159
49137
  }, [messages]);
49160
49138
  const {
49161
49139
  streamMessage,
@@ -49192,7 +49170,7 @@ function useChat({
49192
49170
  name: "You",
49193
49171
  content: text,
49194
49172
  timestamp: /* @__PURE__ */ new Date(),
49195
- ..._optionalChain([options, 'optionalAccess', _1239 => _1239.hidden]) ? { hidden: true } : {}
49173
+ ..._optionalChain([options, 'optionalAccess', _1242 => _1242.hidden]) ? { hidden: true } : {}
49196
49174
  };
49197
49175
  addMessage(userMessage);
49198
49176
  setIsTyping(true);
@@ -49254,7 +49232,7 @@ function useChat({
49254
49232
  currentTextSegment = "";
49255
49233
  }
49256
49234
  const seg = segment;
49257
- const proposalId = _optionalChain([seg, 'access', _1240 => _1240.data, 'optionalAccess', _1241 => _1241.requestId]);
49235
+ const proposalId = _optionalChain([seg, 'access', _1243 => _1243.data, 'optionalAccess', _1244 => _1244.requestId]);
49258
49236
  const updateApprovalMessage = (transform) => {
49259
49237
  setMessages((prev) => {
49260
49238
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -49263,7 +49241,7 @@ function useChat({
49263
49241
  if (!Array.isArray(m.content)) continue;
49264
49242
  const segments = m.content;
49265
49243
  const hasMatch = segments.some(
49266
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1242 => _1242.data, 'optionalAccess', _1243 => _1243.requestId]) === proposalId
49244
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1245 => _1245.data, 'optionalAccess', _1246 => _1246.requestId]) === proposalId
49267
49245
  );
49268
49246
  if (!hasMatch) continue;
49269
49247
  const next = [...prev];
@@ -49305,11 +49283,11 @@ function useChat({
49305
49283
  if (!Array.isArray(m.content)) continue;
49306
49284
  const segments = m.content;
49307
49285
  const hasMatch = segments.some(
49308
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1244 => _1244.data, 'optionalAccess', _1245 => _1245.requestId]) === decision.proposalId
49286
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1247 => _1247.data, 'optionalAccess', _1248 => _1248.requestId]) === decision.proposalId
49309
49287
  );
49310
49288
  if (!hasMatch) continue;
49311
49289
  const flipped = segments.map(
49312
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1246 => _1246.data, 'optionalAccess', _1247 => _1247.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49290
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1249 => _1249.data, 'optionalAccess', _1250 => _1250.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49313
49291
  );
49314
49292
  const next = [...prev];
49315
49293
  next[i] = { ...m, content: flipped };
@@ -49471,8 +49449,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49471
49449
  })),
49472
49450
  { role: "user", content: message2 }
49473
49451
  ];
49474
- const targetPath = _optionalChain([extra, 'optionalAccess', _1248 => _1248.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49475
- const requestBody = _optionalChain([extra, 'optionalAccess', _1249 => _1249.approvalAction]) ? {
49452
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1251 => _1251.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49453
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1252 => _1252.approvalAction]) ? {
49476
49454
  proposal_id: extra.approvalAction.proposalId,
49477
49455
  action: extra.approvalAction.action,
49478
49456
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -49481,8 +49459,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49481
49459
  }))
49482
49460
  } : {
49483
49461
  messages: apiMessages,
49484
- ..._optionalChain([extra, 'optionalAccess', _1250 => _1250.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49485
- ..._optionalChain([extra, 'optionalAccess', _1251 => _1251.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49462
+ ..._optionalChain([extra, 'optionalAccess', _1253 => _1253.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49463
+ ..._optionalChain([extra, 'optionalAccess', _1254 => _1254.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49486
49464
  };
49487
49465
  const response = await _chunkN2TJ3HAMcjs.embedAuthedFetch.call(void 0, targetPath, {
49488
49466
  method: "POST",
@@ -49492,7 +49470,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49492
49470
  if (!response.ok) {
49493
49471
  throw new Error(`Chat request failed: ${response.status}`);
49494
49472
  }
49495
- const reader = _optionalChain([response, 'access', _1252 => _1252.body, 'optionalAccess', _1253 => _1253.getReader, 'call', _1254 => _1254()]);
49473
+ const reader = _optionalChain([response, 'access', _1255 => _1255.body, 'optionalAccess', _1256 => _1256.getReader, 'call', _1257 => _1257()]);
49496
49474
  if (!reader) throw new Error("No response body");
49497
49475
  const decoder = new TextDecoder();
49498
49476
  let buffer = "";
@@ -49575,7 +49553,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49575
49553
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
49576
49554
  const result = _nullishCoalesce(meta.result, () => ( null));
49577
49555
  const card = _nullishCoalesce(meta.card, () => ( null));
49578
- if (_optionalChain([card, 'optionalAccess', _1255 => _1255.ref, 'optionalAccess', _1256 => _1256.id]) && _optionalChain([card, 'optionalAccess', _1257 => _1257.type])) {
49556
+ if (_optionalChain([card, 'optionalAccess', _1258 => _1258.ref, 'optionalAccess', _1259 => _1259.id]) && _optionalChain([card, 'optionalAccess', _1260 => _1260.type])) {
49579
49557
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
49580
49558
  const key = buildChatRefKey(card.type, card.ref.id);
49581
49559
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -49588,8 +49566,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49588
49566
  willAutoContinue: meta.willAutoContinue === true,
49589
49567
  ...toolName ? { toolName } : {},
49590
49568
  ...result ? { result } : {},
49591
- ..._optionalChain([card, 'optionalAccess', _1258 => _1258.marker]) ? { marker: card.marker } : {},
49592
- ..._optionalChain([card, 'optionalAccess', _1259 => _1259.ref]) ? { cardRef: card.ref } : {},
49569
+ ..._optionalChain([card, 'optionalAccess', _1261 => _1261.marker]) ? { marker: card.marker } : {},
49570
+ ..._optionalChain([card, 'optionalAccess', _1262 => _1262.ref]) ? { cardRef: card.ref } : {},
49593
49571
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
49594
49572
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
49595
49573
  };
@@ -49708,7 +49686,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
49708
49686
  var chatStorageKey = (source) => {
49709
49687
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
49710
49688
  const auth = _chunkN2TJ3HAMcjs.getEmbedProxyAuth.call(void 0, );
49711
- if (_optionalChain([auth, 'optionalAccess', _1260 => _1260.email])) {
49689
+ if (_optionalChain([auth, 'optionalAccess', _1263 => _1263.email])) {
49712
49690
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
49713
49691
  }
49714
49692
  return base;
@@ -49763,7 +49741,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49763
49741
  const { active = true } = runtimeOptions;
49764
49742
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49765
49743
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
49766
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1261 => _1261.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49744
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1264 => _1264.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49767
49745
  const persistedRef = _react.useRef.call(void 0, null);
49768
49746
  if (persistedRef.current === null) {
49769
49747
  pruneStaleChatStorage(source);
@@ -49868,7 +49846,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49868
49846
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
49869
49847
  sources = sourcesMapRef.current.get(lookupIdx);
49870
49848
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
49871
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1262 => _1262.current, 'access', _1263 => _1263.get, 'call', _1264 => _1264(lookupIdx), 'optionalAccess', _1265 => _1265.scrollAnchor]), () => ( void 0));
49849
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1265 => _1265.current, 'access', _1266 => _1266.get, 'call', _1267 => _1267(lookupIdx), 'optionalAccess', _1268 => _1268.scrollAnchor]), () => ( void 0));
49872
49850
  }
49873
49851
  return {
49874
49852
  id: m.id,
@@ -49916,7 +49894,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49916
49894
  );
49917
49895
  return;
49918
49896
  }
49919
- const refSlug = typeof _optionalChain([reference, 'access', _1266 => _1266.metadata, 'optionalAccess', _1267 => _1267.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
49897
+ const refSlug = typeof _optionalChain([reference, 'access', _1269 => _1269.metadata, 'optionalAccess', _1270 => _1270.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
49920
49898
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
49921
49899
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
49922
49900
  const text = `/${cmdId} display "${escaped}"`;
@@ -49988,18 +49966,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49988
49966
  clearMessages,
49989
49967
  streamingPhase,
49990
49968
  /** Provider key for the lib's `<ModelDisplay>` icon. */
49991
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1268 => _1268.provider]), () => ( null)),
49992
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1269 => _1269.modelLabel]), () => ( null)),
49993
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1270 => _1270.contextWindowMaxTokens]), () => ( null)),
49969
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1271 => _1271.provider]), () => ( null)),
49970
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1272 => _1272.modelLabel]), () => ( null)),
49971
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1273 => _1273.contextWindowMaxTokens]), () => ( null)),
49994
49972
  /** Input tokens (known after server's message_start frame; null until). */
49995
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1271 => _1271.inputTokens]), () => ( null)),
49973
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1274 => _1274.inputTokens]), () => ( null)),
49996
49974
  /** Output tokens (known only after server's trailing usage frame). */
49997
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1272 => _1272.outputTokens]), () => ( null)),
49975
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1275 => _1275.outputTokens]), () => ( null)),
49998
49976
  /** Cache hit % (read / total-input × 100). null during streaming. */
49999
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1273 => _1273.cacheHitRatePct]), () => ( null)),
49977
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1276 => _1276.cacheHitRatePct]), () => ( null)),
50000
49978
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
50001
49979
  * token counts). null until the trailing usage frame lands. */
50002
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1274 => _1274.breakdown]), () => ( null)),
49980
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1277 => _1277.breakdown]), () => ( null)),
50003
49981
  // ─── Dialog management — stubs for v1 ────────────────────────────────
50004
49982
  // Guide mode currently keeps its history in `localStorage` opaquely
50005
49983
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -50057,15 +50035,15 @@ var noopRejectRequest = async (_id, _reason) => {
50057
50035
 
50058
50036
  // src/components/chat/utils/process-historical-messages.ts
50059
50037
  function getOwnerDisplayName(owner) {
50060
- if (_optionalChain([owner, 'optionalAccess', _1275 => _1275.type]) === OWNER_TYPE.ADMIN && owner.user) {
50038
+ if (_optionalChain([owner, 'optionalAccess', _1278 => _1278.type]) === OWNER_TYPE.ADMIN && owner.user) {
50061
50039
  const { firstName, lastName } = owner.user;
50062
50040
  const name = [firstName, lastName].filter(Boolean).join(" ");
50063
50041
  if (name) return name;
50064
50042
  }
50065
- return _optionalChain([owner, 'optionalAccess', _1276 => _1276.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
50043
+ return _optionalChain([owner, 'optionalAccess', _1279 => _1279.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
50066
50044
  }
50067
50045
  function getOwnerAvatar(owner) {
50068
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1277 => _1277.user, 'optionalAccess', _1278 => _1278.image, 'optionalAccess', _1279 => _1279.imageUrl]), () => ( void 0));
50046
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1280 => _1280.user, 'optionalAccess', _1281 => _1281.image, 'optionalAccess', _1282 => _1282.imageUrl]), () => ( void 0));
50069
50047
  }
50070
50048
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
50071
50049
  messageDataArray.forEach((data) => {
@@ -50128,14 +50106,14 @@ function processHistoricalMessages(messages, options = {}) {
50128
50106
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
50129
50107
  return;
50130
50108
  }
50131
- const isUserMessage = _optionalChain([msg, 'access', _1280 => _1280.owner, 'optionalAccess', _1281 => _1281.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1282 => _1282.owner, 'optionalAccess', _1283 => _1283.type]) === OWNER_TYPE.ADMIN;
50109
+ const isUserMessage = _optionalChain([msg, 'access', _1283 => _1283.owner, 'optionalAccess', _1284 => _1284.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1285 => _1285.owner, 'optionalAccess', _1286 => _1286.type]) === OWNER_TYPE.ADMIN;
50132
50110
  if (isUserMessage) {
50133
50111
  flushAssistantMessage();
50134
- const userAuthorType = _optionalChain([msg, 'access', _1284 => _1284.owner, 'optionalAccess', _1285 => _1285.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50112
+ const userAuthorType = _optionalChain([msg, 'access', _1287 => _1287.owner, 'optionalAccess', _1288 => _1288.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50135
50113
  messageDataArray.forEach((data) => {
50136
50114
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
50137
50115
  const rawContext = data.contextItems;
50138
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1286 => _1286.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1287 => _1287.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50116
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1289 => _1289.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1290 => _1290.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50139
50117
  processedMessages.push({
50140
50118
  id: msg.id,
50141
50119
  role: "user",
@@ -50159,7 +50137,7 @@ function processHistoricalMessages(messages, options = {}) {
50159
50137
  });
50160
50138
  const nextMsg = messages[index + 1];
50161
50139
  const isLastMessage = index === messages.length - 1;
50162
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1288 => _1288.owner, 'optionalAccess', _1289 => _1289.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1290 => _1290.owner, 'optionalAccess', _1291 => _1291.type]) === OWNER_TYPE.ADMIN);
50140
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1291 => _1291.owner, 'optionalAccess', _1292 => _1292.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1293 => _1293.owner, 'optionalAccess', _1294 => _1294.type]) === OWNER_TYPE.ADMIN);
50163
50141
  if (isLastMessage || nextIsFromUser) {
50164
50142
  flushAssistantMessage();
50165
50143
  }
@@ -50269,7 +50247,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50269
50247
  }
50270
50248
  }
50271
50249
  } else {
50272
- _optionalChain([escalatedApprovals, 'optionalAccess', _1292 => _1292.set, 'call', _1293 => _1293(data.approvalRequestId, {
50250
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1295 => _1295.set, 'call', _1296 => _1296(data.approvalRequestId, {
50273
50251
  command: data.command || "",
50274
50252
  explanation: data.explanation,
50275
50253
  approvalType,
@@ -50283,8 +50261,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50283
50261
  const existingStatus = approvalStatuses[data.approvalRequestId];
50284
50262
  const status = existingStatus || (data.approved ? "approved" : "rejected");
50285
50263
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
50286
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1294 => _1294.get, 'call', _1295 => _1295(data.approvalRequestId)]);
50287
- if (_optionalChain([escalatedData, 'optionalAccess', _1296 => _1296.toolCalls]) && escalatedData.toolCalls.length > 0) {
50264
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1297 => _1297.get, 'call', _1298 => _1298(data.approvalRequestId)]);
50265
+ if (_optionalChain([escalatedData, 'optionalAccess', _1299 => _1299.toolCalls]) && escalatedData.toolCalls.length > 0) {
50288
50266
  if (batchApprovalsEnabled) {
50289
50267
  accumulator.addApprovalBatch(
50290
50268
  data.approvalRequestId,
@@ -50306,7 +50284,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50306
50284
  );
50307
50285
  }
50308
50286
  }
50309
- _optionalChain([escalatedApprovals, 'optionalAccess', _1297 => _1297.delete, 'call', _1298 => _1298(data.approvalRequestId)]);
50287
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1300 => _1300.delete, 'call', _1301 => _1301(data.approvalRequestId)]);
50310
50288
  break;
50311
50289
  }
50312
50290
  if (escalatedData) {
@@ -50315,7 +50293,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50315
50293
  explanation: escalatedData.explanation,
50316
50294
  approvalType: escalatedData.approvalType
50317
50295
  });
50318
- _optionalChain([escalatedApprovals, 'optionalAccess', _1299 => _1299.delete, 'call', _1300 => _1300(data.approvalRequestId)]);
50296
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1302 => _1302.delete, 'call', _1303 => _1303(data.approvalRequestId)]);
50319
50297
  }
50320
50298
  const before = accumulator.getSegments();
50321
50299
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -50331,9 +50309,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50331
50309
  case MESSAGE_TYPE.ERROR:
50332
50310
  if ("error" in data) {
50333
50311
  let message2;
50334
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1301 => _1301.details])) {
50312
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1304 => _1304.details])) {
50335
50313
  try {
50336
- message2 = _optionalChain([JSON, 'access', _1302 => _1302.parse, 'call', _1303 => _1303(data.details), 'optionalAccess', _1304 => _1304.error, 'optionalAccess', _1305 => _1305.message]);
50314
+ message2 = _optionalChain([JSON, 'access', _1305 => _1305.parse, 'call', _1306 => _1306(data.details), 'optionalAccess', _1307 => _1307.error, 'optionalAccess', _1308 => _1308.message]);
50337
50315
  } catch (e67) {
50338
50316
  message2 = data.details;
50339
50317
  }
@@ -50416,14 +50394,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50416
50394
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
50417
50395
  return;
50418
50396
  }
50419
- const isUserMessage = _optionalChain([msg, 'access', _1306 => _1306.owner, 'optionalAccess', _1307 => _1307.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1308 => _1308.owner, 'optionalAccess', _1309 => _1309.type]) === OWNER_TYPE.ADMIN;
50397
+ const isUserMessage = _optionalChain([msg, 'access', _1309 => _1309.owner, 'optionalAccess', _1310 => _1310.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1311 => _1311.owner, 'optionalAccess', _1312 => _1312.type]) === OWNER_TYPE.ADMIN;
50420
50398
  if (isUserMessage) {
50421
50399
  flushAssistantMessage();
50422
- const userAuthorType = _optionalChain([msg, 'access', _1310 => _1310.owner, 'optionalAccess', _1311 => _1311.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50400
+ const userAuthorType = _optionalChain([msg, 'access', _1313 => _1313.owner, 'optionalAccess', _1314 => _1314.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50423
50401
  messageDataArray.forEach((data) => {
50424
50402
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
50425
50403
  const rawContext = data.contextItems;
50426
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1312 => _1312.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1313 => _1313.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50404
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1315 => _1315.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1316 => _1316.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50427
50405
  processedMessages.push({
50428
50406
  id: msg.id,
50429
50407
  role: "user",
@@ -50447,7 +50425,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50447
50425
  });
50448
50426
  const nextMsg = messages[index + 1];
50449
50427
  const isLastMessage = index === messages.length - 1;
50450
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1314 => _1314.owner, 'optionalAccess', _1315 => _1315.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1316 => _1316.owner, 'optionalAccess', _1317 => _1317.type]) === OWNER_TYPE.ADMIN);
50428
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1317 => _1317.owner, 'optionalAccess', _1318 => _1318.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1319 => _1319.owner, 'optionalAccess', _1320 => _1320.type]) === OWNER_TYPE.ADMIN);
50451
50429
  if (isLastMessage || nextIsFromUser) {
50452
50430
  flushAssistantMessage();
50453
50431
  }
@@ -50816,7 +50794,7 @@ function useNatsChatAdapter(config, options = {}) {
50816
50794
  }, [active, fetchDialogs, loadDialogsPage]);
50817
50795
  const sendMessage = _react.useCallback.call(void 0,
50818
50796
  async (text, sendOptions) => {
50819
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1318 => _1318.hidden]), () => ( false));
50797
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1321 => _1321.hidden]), () => ( false));
50820
50798
  setMessages((prev) => [
50821
50799
  ...prev,
50822
50800
  {
@@ -50980,11 +50958,11 @@ function useNatsChatAdapter(config, options = {}) {
50980
50958
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
50981
50959
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
50982
50960
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
50983
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1319 => _1319.provider]), () => ( modelProvider)), () => ( null)),
50984
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1320 => _1320.modelLabel]), () => ( modelLabel)), () => ( null)),
50985
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1321 => _1321.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1322 => _1322.contextWindowMaxTokens]))), () => ( null)),
50986
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1323 => _1323.inputTokensSize]), () => ( null)),
50987
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1324 => _1324.outputTokensSize]), () => ( null)),
50961
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1322 => _1322.provider]), () => ( modelProvider)), () => ( null)),
50962
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1323 => _1323.modelLabel]), () => ( modelLabel)), () => ( null)),
50963
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1324 => _1324.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1325 => _1325.contextWindowMaxTokens]))), () => ( null)),
50964
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1326 => _1326.inputTokensSize]), () => ( null)),
50965
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1327 => _1327.outputTokensSize]), () => ( null)),
50988
50966
  currentCacheHitRatePct: null,
50989
50967
  currentUsageBreakdown: null,
50990
50968
  // Dialog management
@@ -51232,7 +51210,7 @@ function extractIncompleteMessageState(lastMessage) {
51232
51210
  break;
51233
51211
  case "approval_batch": {
51234
51212
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
51235
- (c) => _optionalChain([segment, 'access', _1325 => _1325.data, 'access', _1326 => _1326.executions, 'optionalAccess', _1327 => _1327[c.toolExecutionRequestId], 'optionalAccess', _1328 => _1328.status]) === "done"
51213
+ (c) => _optionalChain([segment, 'access', _1328 => _1328.data, 'access', _1329 => _1329.executions, 'optionalAccess', _1330 => _1330[c.toolExecutionRequestId], 'optionalAccess', _1331 => _1331.status]) === "done"
51236
51214
  );
51237
51215
  if (segment.status !== "rejected" && !allDone) {
51238
51216
  hasIncompleteState = true;
@@ -51300,20 +51278,20 @@ function mergeHistoryWithRealtime(input) {
51300
51278
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
51301
51279
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
51302
51280
  const trailing = processedHistory[processedHistory.length - 1];
51303
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1329 => _1329.role]) === "assistant" ? trailing : null;
51304
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1330 => _1330.content, 'access', _1331 => _1331.find, 'call', _1332 => _1332((s) => s.type === "approval_batch"), 'optionalAccess', _1333 => _1333.data, 'optionalAccess', _1334 => _1334.approvalRequestId]), () => ( null)) : null;
51281
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1332 => _1332.role]) === "assistant" ? trailing : null;
51282
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1333 => _1333.content, 'access', _1334 => _1334.find, 'call', _1335 => _1335((s) => s.type === "approval_batch"), 'optionalAccess', _1336 => _1336.data, 'optionalAccess', _1337 => _1337.approvalRequestId]), () => ( null)) : null;
51305
51283
  let processedToUse = processedHistory;
51306
51284
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
51307
51285
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
51308
51286
  if (historyBatchId) {
51309
51287
  const batchTwins = existingMessages.filter(
51310
51288
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
51311
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1335 => _1335.data, 'optionalAccess', _1336 => _1336.approvalRequestId]) === historyBatchId
51289
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1338 => _1338.data, 'optionalAccess', _1339 => _1339.approvalRequestId]) === historyBatchId
51312
51290
  )
51313
51291
  );
51314
51292
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
51315
51293
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
51316
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1337 => _1337.content])) ? historyTrailingAssistant.content.length : 0;
51294
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1340 => _1340.content])) ? historyTrailingAssistant.content.length : 0;
51317
51295
  const realtimeSize = existingWithSameBatch.content.length;
51318
51296
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
51319
51297
  processedToUse = processedHistory.slice(0, -1);
@@ -51329,16 +51307,16 @@ function mergeHistoryWithRealtime(input) {
51329
51307
  if (pinnedSyntheticIds.has(m.id)) return true;
51330
51308
  if (droppedSyntheticIds.has(m.id)) return false;
51331
51309
  if (processedIds.has(m.id)) return false;
51332
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1338 => _1338.has, 'call', _1339 => _1339(m.id)])) return false;
51310
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1341 => _1341.has, 'call', _1342 => _1342(m.id)])) return false;
51333
51311
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
51334
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1340 => _1340.timestamp, 'optionalAccess', _1341 => _1341.getTime, 'call', _1342 => _1342()]), () => ( 0))) <= historyFetchedAt;
51312
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1343 => _1343.timestamp, 'optionalAccess', _1344 => _1344.getTime, 'call', _1345 => _1345()]), () => ( 0))) <= historyFetchedAt;
51335
51313
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
51336
51314
  }
51337
51315
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
51338
51316
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
51339
51317
  return false;
51340
51318
  }
51341
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1343 => _1343.timestamp, 'optionalAccess', _1344 => _1344.getTime, 'call', _1345 => _1345()]), () => ( 0))) <= historyFetchedAt;
51319
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1346 => _1346.timestamp, 'optionalAccess', _1347 => _1347.getTime, 'call', _1348 => _1348()]), () => ( 0))) <= historyFetchedAt;
51342
51320
  if (covered) return false;
51343
51321
  }
51344
51322
  return true;
@@ -51393,7 +51371,7 @@ function normalizeHistoricalMessageData(md) {
51393
51371
  function isHistoricalUserTurn(m) {
51394
51372
  return !!m.owner;
51395
51373
  }
51396
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1346 => _1346.type]) === "TEXT" && typeof d.text === "string";
51374
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1349 => _1349.type]) === "TEXT" && typeof d.text === "string";
51397
51375
  var THINK_MS = 550;
51398
51376
  var TOKEN_MS = 55;
51399
51377
  var USER_MS = 480;
@@ -51616,7 +51594,7 @@ function useChatDialogManager({
51616
51594
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
51617
51595
  if (restoreTarget) {
51618
51596
  try {
51619
- await _optionalChain([unarchiveDialog, 'optionalCall', _1347 => _1347(restoreTarget.id)]);
51597
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1350 => _1350(restoreTarget.id)]);
51620
51598
  } catch (err) {
51621
51599
  console.error("[useChatDialogManager] unarchive failed:", err);
51622
51600
  return;
@@ -52034,7 +52012,7 @@ function EmbeddableChatInner({
52034
52012
  }),
52035
52013
  [commandsUrl]
52036
52014
  );
52037
- const userName = _optionalChain([identityUser, 'optionalAccess', _1348 => _1348.firstName, 'optionalAccess', _1349 => _1349.trim, 'call', _1350 => _1350()]) || _optionalChain([identityUser, 'optionalAccess', _1351 => _1351.name, 'optionalAccess', _1352 => _1352.split, 'call', _1353 => _1353(" "), 'access', _1354 => _1354[0], 'optionalAccess', _1355 => _1355.trim, 'call', _1356 => _1356()]) || void 0;
52015
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1351 => _1351.firstName, 'optionalAccess', _1352 => _1352.trim, 'call', _1353 => _1353()]) || _optionalChain([identityUser, 'optionalAccess', _1354 => _1354.name, 'optionalAccess', _1355 => _1355.split, 'call', _1356 => _1356(" "), 'access', _1357 => _1357[0], 'optionalAccess', _1358 => _1358.trim, 'call', _1359 => _1359()]) || void 0;
52038
52016
  const effectiveModes = _react.useMemo.call(void 0, () => {
52039
52017
  if (modes) return modes;
52040
52018
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -52043,19 +52021,19 @@ function EmbeddableChatInner({
52043
52021
  const mingoCaps = _react.useMemo.call(void 0, () => {
52044
52022
  if (mingoState) {
52045
52023
  return {
52046
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1357 => _1357.canRename]), () => ( false)),
52047
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1358 => _1358.canArchive]), () => ( false)),
52048
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1359 => _1359.fetchArchivedDialogs]),
52049
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1360 => _1360.unarchiveDialog]),
52050
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1361 => _1361.searchQuery]),
52051
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1362 => _1362.onSearchChange])
52024
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1360 => _1360.canRename]), () => ( false)),
52025
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1361 => _1361.canArchive]), () => ( false)),
52026
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1362 => _1362.fetchArchivedDialogs]),
52027
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1363 => _1363.unarchiveDialog]),
52028
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1364 => _1364.searchQuery]),
52029
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1365 => _1365.onSearchChange])
52052
52030
  };
52053
52031
  }
52054
52032
  return {
52055
- canRename: !!_optionalChain([effectiveModes, 'access', _1363 => _1363.mingo, 'optionalAccess', _1364 => _1364.renameDialog]),
52056
- canArchive: !!_optionalChain([effectiveModes, 'access', _1365 => _1365.mingo, 'optionalAccess', _1366 => _1366.archiveDialog]),
52057
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1367 => _1367.mingo, 'optionalAccess', _1368 => _1368.fetchArchivedDialogs]),
52058
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1369 => _1369.mingo, 'optionalAccess', _1370 => _1370.unarchiveDialog]),
52033
+ canRename: !!_optionalChain([effectiveModes, 'access', _1366 => _1366.mingo, 'optionalAccess', _1367 => _1367.renameDialog]),
52034
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1368 => _1368.mingo, 'optionalAccess', _1369 => _1369.archiveDialog]),
52035
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1370 => _1370.mingo, 'optionalAccess', _1371 => _1371.fetchArchivedDialogs]),
52036
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1372 => _1372.mingo, 'optionalAccess', _1373 => _1373.unarchiveDialog]),
52059
52037
  searchQuery: void 0,
52060
52038
  onSearchChange: void 0
52061
52039
  };
@@ -52069,7 +52047,7 @@ function EmbeddableChatInner({
52069
52047
  if (controlledActiveMode === void 0) {
52070
52048
  setUncontrolledActiveMode(next);
52071
52049
  }
52072
- _optionalChain([onActiveModeChange, 'optionalCall', _1371 => _1371(next)]);
52050
+ _optionalChain([onActiveModeChange, 'optionalCall', _1374 => _1374(next)]);
52073
52051
  },
52074
52052
  [controlledActiveMode, onActiveModeChange]
52075
52053
  );
@@ -52091,7 +52069,7 @@ function EmbeddableChatInner({
52091
52069
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
52092
52070
  const effectiveAssistantName = emptyStateConfig.name;
52093
52071
  const effectiveAssistantIcon = emptyStateConfig.icon;
52094
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1372 => _1372.title]) === "string" ? guideWelcome.title : null)));
52072
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1375 => _1375.title]) === "string" ? guideWelcome.title : null)));
52095
52073
  const {
52096
52074
  messages: rawMessages,
52097
52075
  isLoading: chatLoading,
@@ -52131,7 +52109,7 @@ function EmbeddableChatInner({
52131
52109
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
52132
52110
  guidePromptSentRef.current = true;
52133
52111
  void sendMessage(guidePendingPrompt);
52134
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1373 => _1373()]);
52112
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1376 => _1376()]);
52135
52113
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
52136
52114
  const {
52137
52115
  attachments: stagedAttachments,
@@ -52142,7 +52120,7 @@ function EmbeddableChatInner({
52142
52120
  clear: clearAttachments
52143
52121
  } = useChatAttachments();
52144
52122
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
52145
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1374 => _1374.maxItems]), () => ( 10));
52123
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1377 => _1377.maxItems]), () => ( 10));
52146
52124
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
52147
52125
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
52148
52126
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -52159,10 +52137,10 @@ function EmbeddableChatInner({
52159
52137
  }, [activeDialogId, activeMode]);
52160
52138
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
52161
52139
  const m = /* @__PURE__ */ new Map();
52162
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1375 => _1375.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
52140
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1378 => _1378.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
52163
52141
  return m;
52164
- }, [_optionalChain([contextPicker, 'optionalAccess', _1376 => _1376.entityTypes])]);
52165
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1377 => _1377.entityTypes]);
52142
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1379 => _1379.entityTypes])]);
52143
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1380 => _1380.entityTypes]);
52166
52144
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
52167
52145
  const byType = /* @__PURE__ */ new Map();
52168
52146
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -52174,7 +52152,7 @@ function EmbeddableChatInner({
52174
52152
  if (mentionActiveRef.current) {
52175
52153
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
52176
52154
  if (contextItems.length >= contextMaxItems) return;
52177
- _optionalChain([chatInputRef, 'access', _1378 => _1378.current, 'optionalAccess', _1379 => _1379.commitMention, 'call', _1380 => _1380(mentionTokenOf(key, mentionMarkerByType), {
52155
+ _optionalChain([chatInputRef, 'access', _1381 => _1381.current, 'optionalAccess', _1382 => _1382.commitMention, 'call', _1383 => _1383(mentionTokenOf(key, mentionMarkerByType), {
52178
52156
  label: item.label,
52179
52157
  icon: resolveContextIcon(item)
52180
52158
  })]);
@@ -52196,9 +52174,9 @@ function EmbeddableChatInner({
52196
52174
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
52197
52175
  if (mentionKeysRef.current.has(key)) {
52198
52176
  mentionKeysRef.current.delete(key);
52199
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1381 => _1381.current, 'optionalAccess', _1382 => _1382.getValue, 'call', _1383 => _1383()]), () => ( ""));
52177
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1384 => _1384.current, 'optionalAccess', _1385 => _1385.getValue, 'call', _1386 => _1386()]), () => ( ""));
52200
52178
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
52201
- _optionalChain([chatInputRef, 'access', _1384 => _1384.current, 'optionalAccess', _1385 => _1385.setValue, 'call', _1386 => _1386(next)]);
52179
+ _optionalChain([chatInputRef, 'access', _1387 => _1387.current, 'optionalAccess', _1388 => _1388.setValue, 'call', _1389 => _1389(next)]);
52202
52180
  }
52203
52181
  }, [mentionMarkerByType]);
52204
52182
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -52215,7 +52193,7 @@ function EmbeddableChatInner({
52215
52193
  }, []);
52216
52194
  const closeContextPicker = _react.useCallback.call(void 0, () => {
52217
52195
  if (mentionActiveRef.current) {
52218
- _optionalChain([chatInputRef, 'access', _1387 => _1387.current, 'optionalAccess', _1388 => _1388.removeMentionTrigger, 'call', _1389 => _1389()]);
52196
+ _optionalChain([chatInputRef, 'access', _1390 => _1390.current, 'optionalAccess', _1391 => _1391.removeMentionTrigger, 'call', _1392 => _1392()]);
52219
52197
  }
52220
52198
  setContextPickerOpen(false);
52221
52199
  setMentionQuery(null);
@@ -52249,8 +52227,8 @@ function EmbeddableChatInner({
52249
52227
  [effectiveAssistantIcon]
52250
52228
  );
52251
52229
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
52252
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1390 => _1390.firstName]), _optionalChain([identityUser, 'optionalAccess', _1391 => _1391.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1392 => _1392.name, 'optionalAccess', _1393 => _1393.trim, 'call', _1394 => _1394()]) || void 0 : void 0;
52253
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1395 => _1395.avatarUrl, 'optionalAccess', _1396 => _1396.trim, 'call', _1397 => _1397()]) || void 0 : void 0;
52230
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1393 => _1393.firstName]), _optionalChain([identityUser, 'optionalAccess', _1394 => _1394.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1395 => _1395.name, 'optionalAccess', _1396 => _1396.trim, 'call', _1397 => _1397()]) || void 0 : void 0;
52231
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1398 => _1398.avatarUrl, 'optionalAccess', _1399 => _1399.trim, 'call', _1400 => _1400()]) || void 0 : void 0;
52254
52232
  const messages = _react.useMemo.call(void 0, () => {
52255
52233
  const cache = timestampCacheRef.current;
52256
52234
  const seenIds = /* @__PURE__ */ new Set();
@@ -52428,9 +52406,9 @@ function EmbeddableChatInner({
52428
52406
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
52429
52407
  const lastSources = _react.useMemo.call(void 0, () => {
52430
52408
  if (chatLoading) return void 0;
52431
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1398 => _1398.sources]);
52409
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1401 => _1401.sources]);
52432
52410
  if (!sources || sources.length === 0) return void 0;
52433
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1399 => _1399.content]) || "";
52411
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1402 => _1402.content]) || "";
52434
52412
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
52435
52413
  (m) => parseInt(m[1], 10)
52436
52414
  );
@@ -52478,7 +52456,7 @@ function EmbeddableChatInner({
52478
52456
  {
52479
52457
  compact: previewMode,
52480
52458
  showBack: hasConversation || guideCanReturnToMingo,
52481
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1400 => _1400.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
52459
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1403 => _1403.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
52482
52460
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
52483
52461
  isArchivedView: isViewingArchived,
52484
52462
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -52606,9 +52584,9 @@ function EmbeddableChatInner({
52606
52584
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
52607
52585
  subtitleLoading: emptyStateLoading,
52608
52586
  ...guideWelcome,
52609
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1401 => _1401.title]))),
52610
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1402 => _1402.icon]))),
52611
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1403 => _1403.quickActions]), () => ( guideSuggestedActions)),
52587
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1404 => _1404.title]))),
52588
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1405 => _1405.icon]))),
52589
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1406 => _1406.quickActions]), () => ( guideSuggestedActions)),
52612
52590
  onQuickAction: (action) => {
52613
52591
  setQuickActionPreview(null);
52614
52592
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -53760,4 +53738,4 @@ function EmbeddableChatInner({
53760
53738
 
53761
53739
 
53762
53740
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.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.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.MingoAiButton = MingoAiButton; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
53763
- //# sourceMappingURL=chunk-ZI2KYDF5.cjs.map
53741
+ //# sourceMappingURL=chunk-3V5UQ5TU.cjs.map